diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsChannelPointController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsChannelPointController.java index 73300653..4c523548 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsChannelPointController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsChannelPointController.java @@ -9,8 +9,12 @@ import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.PageUtil; import com.qs.serve.modules.bms.entity.BmsChannel; +import com.qs.serve.modules.bms.entity.BmsRegion; +import com.qs.serve.modules.bms.entity.BmsRegion2; import com.qs.serve.modules.bms.entity.bo.BmsChannelPointBo; import com.qs.serve.modules.bms.service.BmsChannelService; +import com.qs.serve.modules.bms.service.BmsRegion2Service; +import com.qs.serve.modules.bms.service.BmsRegionService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.access.prepost.PreAuthorize; @@ -86,11 +90,8 @@ public class BmsChannelPointController { @PostMapping("/updateById") @SysLog(module = SystemModule.BASE, title = "渠道站点", biz = BizType.UPDATE) @PreAuthorize("hasRole('bms:channelPoint:update')") - public R updateById(@RequestBody @Valid BmsChannelPointBo param){ - BmsChannelPoint channelPoint = CopierUtil.copy(param,new BmsChannelPoint()); - //todo 祖级树 - boolean result = bmsChannelPointService.updateById(channelPoint); - return R.isTrue(result); + public R updateById(@RequestBody BmsChannelPointBo param){ + return R.isTrue(bmsChannelPointService.modify(param)); } /** @@ -101,8 +102,8 @@ public class BmsChannelPointController { @PostMapping("/save") @SysLog(module = SystemModule.BASE, title = "渠道站点", biz = BizType.INSERT) @PreAuthorize("hasRole('bms:channelPoint:insert')") - public R save(@RequestBody @Valid BmsChannelPoint param){ - boolean result = bmsChannelPointService.save(param); + public R save(@RequestBody @Valid BmsChannelPointBo param){ + boolean result = bmsChannelPointService.modify(param); return R.isTrue(result); } diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java index 308cf4da..024ce3d3 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java @@ -1,6 +1,7 @@ package com.qs.serve.modules.bms.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.LimitSubmit; import com.qs.serve.common.model.annotation.SysLog; import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.R; @@ -141,6 +142,17 @@ public class BmsRegion2Controller { return R.isTrue(result); } + /** + * 【dev】测试接口,更新祖级数据 + * @return + */ + @LimitSubmit(interval = 15000) + @GetMapping("/updateLevelDev") + public R editBatch(){ + bmsRegion2Service.flushAllLevel(true); + return R.ok(); + } + /** * (批量)编辑(更新,只允许改名称) * @param regionBo @@ -163,7 +175,7 @@ public class BmsRegion2Controller { bmsRegion2Service.updateById(param); } } - bmsRegion2Service.flushAllLevel(); + bmsRegion2Service.flushAllLevel(false); return R.ok(); } diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java index b993d47f..c1b7efde 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java @@ -1,6 +1,7 @@ package com.qs.serve.modules.bms.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.LimitSubmit; import com.qs.serve.common.model.annotation.SysLog; import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.R; @@ -188,6 +189,7 @@ public class BmsRegionController { * 【dev】测试接口,更新祖级数据 * @return */ + @LimitSubmit(interval = 15000) @GetMapping("/updateLevelDev") public R editBatch(){ bmsRegionService.flushAllLevel(true); @@ -203,6 +205,7 @@ public class BmsRegionController { @SysLog(module = SystemModule.BASE, title = "区域档案", biz = BizType.DELETE) @PreAuthorize("hasRole('bms:region:delete')") public R deleteById(@PathVariable("id") String id){ + //todo 删除区域档案 if(bmsRegionService.listChild(id).size()>0){ return R.error("含有子区域无法删除"); } diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsChannelPoint.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsChannelPoint.java index c766acf6..1f1a2c95 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/BmsChannelPoint.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsChannelPoint.java @@ -56,6 +56,9 @@ public class BmsChannelPoint implements Serializable { @Length(max = 255,message = "站点等级(读取字典值)长度不能超过255字") private String pointLevel; + /** 站点类型(读取字典值) */ + private String pointType; + /** 详细地址 */ @Length(max = 255,message = "详细地址长度不能超过255字") private String address; diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsRegion2.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsRegion2.java index 0c553679..aa9d4a79 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/BmsRegion2.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsRegion2.java @@ -44,6 +44,12 @@ public class BmsRegion2 implements Serializable { /** 层级 */ private Integer level; + /** 祖级id */ + private String pathIds; + + /** 祖级id */ + private String pathNames; + /** 创建时间 */ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") diff --git a/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsChannelPointBo.java b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsChannelPointBo.java index d7fd5de4..efae7992 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsChannelPointBo.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsChannelPointBo.java @@ -46,6 +46,9 @@ public class BmsChannelPointBo { @Length(max = 255,message = "站点等级(读取字典值)长度不能超过255字") private String pointLevel; + /** 站点类型(读取字典值) */ + private String pointType; + /** 详细地址 */ @Length(max = 255,message = "详细地址长度不能超过255字") private String address; diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsChannelPointService.java b/src/main/java/com/qs/serve/modules/bms/service/BmsChannelPointService.java index b905d62b..80d71fab 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/BmsChannelPointService.java +++ b/src/main/java/com/qs/serve/modules/bms/service/BmsChannelPointService.java @@ -2,6 +2,7 @@ package com.qs.serve.modules.bms.service; import com.baomidou.mybatisplus.extension.service.IService; import com.qs.serve.modules.bms.entity.BmsChannelPoint; +import com.qs.serve.modules.bms.entity.bo.BmsChannelPointBo; /** * 渠道站点 服务接口 @@ -10,5 +11,7 @@ import com.qs.serve.modules.bms.entity.BmsChannelPoint; */ public interface BmsChannelPointService extends IService { + boolean modify(BmsChannelPointBo param); + } diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsRegion2Service.java b/src/main/java/com/qs/serve/modules/bms/service/BmsRegion2Service.java index 0758e6f2..c80bc412 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/BmsRegion2Service.java +++ b/src/main/java/com/qs/serve/modules/bms/service/BmsRegion2Service.java @@ -22,9 +22,7 @@ public interface BmsRegion2Service extends IService { void flushLevel(BmsRegion2 param); - void flushAllLevel(); - - void updateLevel(String id,Integer level); + void flushAllLevel(boolean batchUpdate); } diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsChannelPointServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsChannelPointServiceImpl.java index 9d642a1d..d4f0466f 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsChannelPointServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsChannelPointServiceImpl.java @@ -1,6 +1,12 @@ package com.qs.serve.modules.bms.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qs.serve.common.util.CopierUtil; +import com.qs.serve.modules.bms.entity.BmsRegion; +import com.qs.serve.modules.bms.entity.BmsRegion2; +import com.qs.serve.modules.bms.entity.bo.BmsChannelPointBo; +import com.qs.serve.modules.bms.service.BmsRegion2Service; +import com.qs.serve.modules.bms.service.BmsRegionService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -18,5 +24,22 @@ import com.qs.serve.modules.bms.mapper.BmsChannelPointMapper; @AllArgsConstructor public class BmsChannelPointServiceImpl extends ServiceImpl implements BmsChannelPointService { + private BmsRegionService bmsRegionService; + private BmsRegion2Service bmsRegion2Service; + + @Override + public boolean modify(BmsChannelPointBo param) { + BmsChannelPoint channelPoint = CopierUtil.copy(param,new BmsChannelPoint()); + if(param.getSaleRegionId()!=null){ + BmsRegion bmsRegion = bmsRegionService.getById(param.getSaleRegionId()); + channelPoint.setSaleRegionPath(bmsRegion.getPathNames()); + } + if(param.getBizRegionId()!=null){ + BmsRegion2 bmsRegion2 = bmsRegion2Service.getById(param.getBizRegionId()); + channelPoint.setBizRegionPath(bmsRegion2.getPathNames()); + } + return this.saveOrUpdate(channelPoint); + } + } diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegion2ServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegion2ServiceImpl.java index 6badb43c..4990528e 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegion2ServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegion2ServiceImpl.java @@ -101,31 +101,44 @@ public class BmsRegion2ServiceImpl extends ServiceImpl treeVoList = this.getTree(false); for (BmsRegionTreeVo firstTree : treeVoList) { - if(firstTree.getLevel()==null||firstTree.getLevel()!=1){ - this.updateLevel(firstTree.getId(),1); + if(firstTree.getLevel()==null||firstTree.getLevel()!=1||batchUpdate){ + String pathIds = firstTree.getId(); + String pathNames = firstTree.getName(); + this.updateLevel(firstTree.getId(),1,pathIds,pathNames); } if(CollectionUtil.isNotEmpty(firstTree.getChildren())){ for (TreeNode secondTreeNode : firstTree.getChildren()) { BmsRegionTreeVo secondTree = (BmsRegionTreeVo)secondTreeNode; - if(secondTree.getLevel()==null||secondTree.getLevel()!=2){ - this.updateLevel(secondTree.getId(),2); + if(secondTree.getLevel()==null||secondTree.getLevel()!=2||batchUpdate){ + String pathIds = firstTree.getId()+"_"+secondTree.getId(); + String pathNames = firstTree.getName()+"_"+secondTree.getName(); + this.updateLevel(secondTree.getId(),2,pathIds,pathNames); } if(CollectionUtil.isNotEmpty(secondTree.getChildren())){ for (TreeNode thirdTreeNode : secondTree.getChildren()) { BmsRegionTreeVo thirdTree = (BmsRegionTreeVo)thirdTreeNode; - if(thirdTree.getLevel()==null||thirdTree.getLevel()!=3){ - this.updateLevel(thirdTree.getId(),3); + if(thirdTree.getLevel()==null||thirdTree.getLevel()!=3||batchUpdate){ + String pathIds = firstTree.getId()+"_"+secondTree.getName()+"_"+thirdTree.getId(); + String pathNames = firstTree.getName()+"_"+secondTree.getName()+"_"+thirdTree.getName(); + this.updateLevel(thirdTree.getId(),3,pathIds,pathNames); } } } @@ -135,11 +148,12 @@ public class BmsRegion2ServiceImpl extends ServiceImpl for (TreeNode secondTreeNode : firstTree.getChildren()) { BmsRegionTreeVo secondTree = (BmsRegionTreeVo)secondTreeNode; if(secondTree.getLevel()==null||secondTree.getLevel()!=2||batchUpdate){ - String pathIds = firstTree.getId()+"_"+secondTree.getName(); + String pathIds = firstTree.getId()+"_"+secondTree.getId(); String pathNames = firstTree.getName()+"_"+secondTree.getName(); this.updateLevel(secondTree.getId(),2,pathIds,pathNames); }