|
@@ -2,13 +2,13 @@ package com.ruoyi.demo.service.impl;
|
|
|
|
|
|
import cn.hutool.core.lang.Dict;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.github.pagehelper.PageHelper;
|
|
|
+import com.github.pagehelper.PageInfo;
|
|
|
import com.ruoyi.demo.entity.*;
|
|
|
import com.ruoyi.demo.entity.bo.PlanAddBo;
|
|
|
import com.ruoyi.demo.entity.bo.PlanBo;
|
|
|
-import com.ruoyi.demo.entity.vo.PlanDetailVo;
|
|
|
-import com.ruoyi.demo.entity.vo.PlanItemVo;
|
|
|
-import com.ruoyi.demo.entity.vo.PlanListVo;
|
|
|
-import com.ruoyi.demo.entity.vo.PlanPushVo;
|
|
|
+import com.ruoyi.demo.entity.bo.PlanItemAddBo;
|
|
|
+import com.ruoyi.demo.entity.vo.*;
|
|
|
import com.ruoyi.demo.mapper.*;
|
|
|
import com.ruoyi.demo.service.PlanService;
|
|
|
import com.ruoyi.demo.utils.SignUtil;
|
|
@@ -37,12 +37,16 @@ public class PlanServiceImpl implements PlanService {
|
|
|
CommercialMapper commercialMapper;
|
|
|
@Autowired
|
|
|
SystemSetterMapper systemSetterMapper;
|
|
|
+ @Autowired
|
|
|
+ StoreMapper storeMapper;
|
|
|
+ @Autowired
|
|
|
+ PlanPushStatisticsMapper planPushStatisticsMapper;
|
|
|
|
|
|
@Override
|
|
|
public int addPlan(PlanAddBo bo) {
|
|
|
QueryWrapper<App> appQueryWrapper = new QueryWrapper<>();
|
|
|
appQueryWrapper.eq("appkey",bo.getAppkey());
|
|
|
- appQueryWrapper.eq("show_delete",0);
|
|
|
+ appQueryWrapper.eq("deleted","0");
|
|
|
App app = appMapper.selectOne(appQueryWrapper);
|
|
|
if (app == null)
|
|
|
return -1;
|
|
@@ -69,32 +73,25 @@ public class PlanServiceImpl implements PlanService {
|
|
|
if (!SignUtil.verify(params,app.getAppSecret()))
|
|
|
return -3;
|
|
|
// 插入广告计划
|
|
|
- Plan plan = new Plan();
|
|
|
- plan.setCommercialId(commercial.getCommercialId());
|
|
|
- plan.setCommercialName(commercial.getCommercialName());
|
|
|
- plan.setAppkey(app.getAppkey());
|
|
|
- plan.setAppName(app.getAppName());
|
|
|
- plan.setGoodsId(bo.getGoodsId());
|
|
|
- plan.setGoodsImg(bo.getGoodsImg());
|
|
|
- plan.setGoodsName(bo.getGoodsName());
|
|
|
- plan.setGoodsLogo(bo.getGoodsLogo());
|
|
|
- plan.setGoodsIntroduce(bo.getGoodsIntroduce());
|
|
|
- plan.setGoodsClassify(bo.getGoodsClassify());
|
|
|
- plan.setPlanCreateTime(bo.getPlanCreateTime());
|
|
|
- plan.setPlanStartTime(bo.getPlanStartTime());
|
|
|
- plan.setPlanEndTime(bo.getPlanEndTime());
|
|
|
- plan.setState(StateUtil.NOT_AUDITED);
|
|
|
+ Plan plan = new Plan(commercial,app,bo);
|
|
|
planMapper.insert(plan);
|
|
|
// 插入广告计划明细
|
|
|
- for (PlanItem item : bo.getItems()) {
|
|
|
- item.setPlanId(plan.getPlanId());
|
|
|
+ for (PlanItemAddBo itemAddBo : bo.getItems()) {
|
|
|
+ PlanItem item = new PlanItem(plan.getPlanId(), itemAddBo);
|
|
|
planItemMapper.insert(item);
|
|
|
}
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public int deletePlan(List<String> ids) {
|
|
|
+ public int deletePlan(String id) {
|
|
|
+ QueryWrapper<Plan> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("plan_id",id);
|
|
|
+ return planMapper.delete(queryWrapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int deletePlans(List<String> ids) {
|
|
|
int i = 0;
|
|
|
for (String id : ids){
|
|
|
QueryWrapper<Plan> queryWrapper = new QueryWrapper<>();
|
|
@@ -105,55 +102,45 @@ public class PlanServiceImpl implements PlanService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public int checkPlan(String planId, Integer state, String auditComment,String userId) {
|
|
|
+ public int checkPlan(PlanBo bo,String userId) {
|
|
|
QueryWrapper<Plan> planQueryWrapper = new QueryWrapper<>();
|
|
|
- planQueryWrapper.eq("plan_id",planId);
|
|
|
- planQueryWrapper.eq("show_delete",0);
|
|
|
+ planQueryWrapper.eq("plan_id",bo.getPlanId());
|
|
|
+ planQueryWrapper.eq("deleted","0");
|
|
|
Plan plan = planMapper.selectOne(planQueryWrapper);
|
|
|
if (plan == null)
|
|
|
return -1;
|
|
|
- plan.setState(state);
|
|
|
+ plan.setState(bo.getState());
|
|
|
int i = planMapper.updateById(plan);
|
|
|
if (i == 0)
|
|
|
return 0;
|
|
|
- PlanAudit audit = new PlanAudit();
|
|
|
- audit.setPlanId(planId);
|
|
|
- audit.setUserId(userId);
|
|
|
- audit.setState(state);
|
|
|
- audit.setAuditComment(auditComment);
|
|
|
- audit.setAuditTime(LocalDateTime.now());
|
|
|
+ PlanAudit audit = new PlanAudit(bo,userId);
|
|
|
planAuditMapper.insert(audit);
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<PlanListVo> getPlanList(PlanBo bo) {
|
|
|
+ public PageInfo<List<PlanListVo>> getPlanList(PlanBo bo) {
|
|
|
+ PageHelper.startPage(bo.getPageNum(), bo.getPageSize(),true);
|
|
|
QueryWrapper<Plan> planQueryWrapper = new QueryWrapper<>();
|
|
|
- if (bo.getState() != null)
|
|
|
- planQueryWrapper.eq("state",bo.getState());
|
|
|
- if (bo.getAppkey() != null)
|
|
|
- planQueryWrapper.like("appkey",bo.getAppkey());
|
|
|
- if (bo.getAppName() != null)
|
|
|
- planQueryWrapper.like("app_name",bo.getAppName());
|
|
|
- if (bo.getGoods() != null){
|
|
|
- planQueryWrapper.like("goods_name",bo.getGoods())
|
|
|
+ if (bo.getText() != null){
|
|
|
+ planQueryWrapper.like("plan_id",bo.getText())
|
|
|
.or()
|
|
|
- .like("goods_introduce",bo.getGoods());
|
|
|
+ .like("goods_name",bo.getText());
|
|
|
}
|
|
|
- planQueryWrapper.eq("show_delete",0);
|
|
|
+ planQueryWrapper.eq("deleted","0");
|
|
|
List<Plan> plans = planMapper.selectList(planQueryWrapper);
|
|
|
List<PlanListVo> vos = new ArrayList<>();
|
|
|
for (Plan plan : plans){
|
|
|
vos.add(new PlanListVo(plan));
|
|
|
}
|
|
|
- return vos;
|
|
|
+ return new PageInfo(vos);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public PlanDetailVo getPlanDetail(String planId) {
|
|
|
QueryWrapper<Plan> planQueryWrapper = new QueryWrapper<>();
|
|
|
planQueryWrapper.eq("plan_id",planId);
|
|
|
- planQueryWrapper.eq("show_delete",0);
|
|
|
+ planQueryWrapper.eq("deleted","0");
|
|
|
Plan plan = planMapper.selectOne(planQueryWrapper);
|
|
|
if (plan == null)
|
|
|
return null;
|
|
@@ -180,6 +167,7 @@ public class PlanServiceImpl implements PlanService {
|
|
|
planQueryWrapper.apply("DATE_FORMAT(plan_start_time,'%Y-%m-%d %H:%i:%s') <= DATE_FORMAT({0},'%Y-%m-%d %H:%i:%s')",LocalDateTime.now());
|
|
|
planQueryWrapper.apply("DATE_FORMAT(plan_end_time,'%Y-%m-%d %H:%i:%s') > DATE_FORMAT({0},'%Y-%m-%d %H:%i:%s')",LocalDateTime.now());
|
|
|
planQueryWrapper.eq("state",1);
|
|
|
+ planQueryWrapper.eq("deleted","0");
|
|
|
List<PlanPushVo> pushVos = new ArrayList<>();
|
|
|
for (Plan plan : planMapper.selectList(planQueryWrapper)) {
|
|
|
QueryWrapper<PlanItem> itemQueryWrapper = new QueryWrapper<>();
|
|
@@ -190,4 +178,127 @@ public class PlanServiceImpl implements PlanService {
|
|
|
}
|
|
|
return pushVos;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int planUpDown(String planId) {
|
|
|
+ QueryWrapper<Plan> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("plan_id",planId);
|
|
|
+ queryWrapper.eq("deleted","0");
|
|
|
+ Plan plan = planMapper.selectOne(queryWrapper);
|
|
|
+ if (plan == null)
|
|
|
+ return -1;
|
|
|
+ plan.setOnState(plan.getOnState()+1);
|
|
|
+ if (plan.getOnState() >= 2)
|
|
|
+ plan.setOnState(0);
|
|
|
+ return planMapper.updateById(plan);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PageInfo<List<PlanManageListVo>> getPlanManageList(PlanBo bo) {
|
|
|
+ PageHelper.startPage(bo.getPageNum(),bo.getPageSize(),true);
|
|
|
+ QueryWrapper<Plan> planQueryWrapper = new QueryWrapper<>();
|
|
|
+ planQueryWrapper.eq("state",bo.getState());
|
|
|
+ if (bo.getText() != null)
|
|
|
+ planQueryWrapper.like("plan_id",bo.getText())
|
|
|
+ .or()
|
|
|
+ .like("principal_name",bo.getText())
|
|
|
+ .or()
|
|
|
+ .like("principal_telephone",bo.getText());
|
|
|
+ if (bo.getStartTime() != null)
|
|
|
+ planQueryWrapper.apply("DATE_FORMAT(plan_start_time,'%Y-%m-%d %H:%i:%s') <= DATE_FORMAT({0},'%Y-%m-%d %H:%i:%s')",bo.getStartTime());
|
|
|
+ if (bo.getEndTime() != null)
|
|
|
+ planQueryWrapper.apply("DATE_FORMAT(plan_end_time,'%Y-%m-%d %H:%i:%s') > DATE_FORMAT({0},'%Y-%m-%d %H:%i:%s')",bo.getEndTime());
|
|
|
+ planQueryWrapper.eq("deleted","0");
|
|
|
+ List<Plan> plans = planMapper.selectList(planQueryWrapper);
|
|
|
+ List<PlanManageListVo> vos = new ArrayList<>();
|
|
|
+ for (Plan plan : plans){
|
|
|
+ PlanManageListVo vo = new PlanManageListVo(plan);
|
|
|
+ Integer count = planItemMapper.selectEquipmentCountByPlanId(plan.getPlanId());
|
|
|
+ vo.setEquipmentCount(count);
|
|
|
+ vos.add(vo);
|
|
|
+ }
|
|
|
+ return new PageInfo(vos);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PlanManageDetailVo getPlanManageDetail(String planId) {
|
|
|
+ QueryWrapper<Plan> planQueryWrapper = new QueryWrapper<>();
|
|
|
+ planQueryWrapper.eq("plan_id",planId);
|
|
|
+ planQueryWrapper.eq("deleted","0");
|
|
|
+ Plan plan = planMapper.selectOne(planQueryWrapper);
|
|
|
+ if (plan == null)
|
|
|
+ return null;
|
|
|
+ QueryWrapper<PlanItem> itemQueryWrapper = new QueryWrapper<>();
|
|
|
+ itemQueryWrapper.eq("plan_id",planId);
|
|
|
+ itemQueryWrapper.eq("deleted","0");
|
|
|
+ List<PlanItem> items = planItemMapper.selectList(itemQueryWrapper);
|
|
|
+ List<PlanManageItemVo> itemVos = new ArrayList<>();
|
|
|
+ for (PlanItem item : items){
|
|
|
+ PlanManageItemVo itemVo = new PlanManageItemVo(item);
|
|
|
+ Store store = storeMapper.selectById(item.getStoreId());
|
|
|
+ itemVo.setStoreName(store.getStoreName());
|
|
|
+ itemVos.add(itemVo);
|
|
|
+ }
|
|
|
+ PlanManageDetailVo vo = new PlanManageDetailVo(plan, itemVos);
|
|
|
+ return vo;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PageInfo<List<PlanPushListVo>> getPlanPushList(PlanBo bo) {
|
|
|
+ PageHelper.startPage(bo.getPageNum(),bo.getPageSize(),true);
|
|
|
+ QueryWrapper<Plan> planQueryWrapper = new QueryWrapper<>();
|
|
|
+ planQueryWrapper.eq("appkey",bo.getAppkey());
|
|
|
+ planQueryWrapper.eq("commercialId",bo.getCommercialId());
|
|
|
+ if (bo.getText() != null)
|
|
|
+ planQueryWrapper.like("plan_id",bo.getText())
|
|
|
+ .or()
|
|
|
+ .like("plan_name",bo.getText())
|
|
|
+ .or()
|
|
|
+ .like("principal_name",bo.getText())
|
|
|
+ .or()
|
|
|
+ .like("principal_telephone",bo.getText());
|
|
|
+ if (bo.getStartTime() != null)
|
|
|
+ planQueryWrapper.apply("DATE_FORMAT(plan_start_time,'%Y-%m-%d %H:%i:%s') <= DATE_FORMAT({0},'%Y-%m-%d %H:%i:%s')",bo.getStartTime());
|
|
|
+ if (bo.getEndTime() != null)
|
|
|
+ planQueryWrapper.apply("DATE_FORMAT(plan_end_time,'%Y-%m-%d %H:%i:%s') > DATE_FORMAT({0},'%Y-%m-%d %H:%i:%s')",bo.getEndTime());
|
|
|
+ planQueryWrapper.eq("deleted","0");
|
|
|
+ List<Plan> plans = planMapper.selectList(planQueryWrapper);
|
|
|
+ List<PlanPushListVo> vos = new ArrayList<>();
|
|
|
+ for (Plan plan : plans){
|
|
|
+ PlanPushListVo vo = new PlanPushListVo(plan);
|
|
|
+ Integer count = planItemMapper.selectEquipmentCountByPlanId(plan.getPlanId());
|
|
|
+ vo.setEquipmentCount(count);
|
|
|
+ vos.add(vo);
|
|
|
+ }
|
|
|
+ return new PageInfo(vos);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PageInfo<List<PlanPushStatisticsListVo>> getPlanPushStatisticsList(PlanBo bo) {
|
|
|
+ PageHelper.startPage(bo.getPageNum(),bo.getPageSize(),true);
|
|
|
+ QueryWrapper<PlanPushStatistics> statisticsQueryWrapper = new QueryWrapper<>();
|
|
|
+ if (bo.getText() != null)
|
|
|
+ statisticsQueryWrapper.like("plan_id",bo.getText())
|
|
|
+ .or()
|
|
|
+ .like("equipment_id",bo.getText())
|
|
|
+ .or()
|
|
|
+ .like("equipment_name",bo.getText());
|
|
|
+ if (bo.getStartTime() != null)
|
|
|
+ statisticsQueryWrapper.apply("DATE_FORMAT(plan_start_time,'%Y-%m-%d %H:%i:%s') <= DATE_FORMAT({0},'%Y-%m-%d %H:%i:%s')",bo.getStartTime());
|
|
|
+ if (bo.getEndTime() != null)
|
|
|
+ statisticsQueryWrapper.apply("DATE_FORMAT(plan_end_time,'%Y-%m-%d %H:%i:%s') > DATE_FORMAT({0},'%Y-%m-%d %H:%i:%s')",bo.getEndTime());
|
|
|
+ List<PlanPushStatistics> list = planPushStatisticsMapper.selectList(statisticsQueryWrapper);
|
|
|
+ List<PlanPushStatisticsListVo> vos = new ArrayList<>();
|
|
|
+ for (PlanPushStatistics statistics : list){
|
|
|
+ vos.add(new PlanPushStatisticsListVo(statistics));
|
|
|
+ }
|
|
|
+ return new PageInfo(vos);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PlanHomeVo getPlanTotal() {
|
|
|
+ PlanHomeVo vo = new PlanHomeVo();
|
|
|
+ vo.setTotal(planMapper.selectPlanTotal());
|
|
|
+ return vo;
|
|
|
+ }
|
|
|
}
|