From c10d897c5d72fe80f271acbd909107e42dccff1c Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期一, 12 九月 2022 16:15:00 +0800 Subject: [PATCH] # --- src/main/java/com/zy/crm/manager/service/CstmrService.java | 4 + src/main/java/com/zy/crm/manager/controller/CstmrController.java | 9 +++- src/main/java/com/zy/crm/manager/service/impl/CstmrServiceImpl.java | 27 ++++++++++++- src/main/resources/mapper/CstmrMapper.xml | 16 +++++++ src/main/java/com/zy/crm/manager/mapper/CstmrMapper.java | 5 ++ 5 files changed, 53 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/zy/crm/manager/controller/CstmrController.java b/src/main/java/com/zy/crm/manager/controller/CstmrController.java index c28bbc8..41bd8d0 100644 --- a/src/main/java/com/zy/crm/manager/controller/CstmrController.java +++ b/src/main/java/com/zy/crm/manager/controller/CstmrController.java @@ -9,6 +9,7 @@ import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.R; +import com.core.exception.CoolException; import com.zy.crm.common.web.BaseController; import com.zy.crm.manager.entity.Cstmr; import com.zy.crm.manager.service.CstmrService; @@ -61,8 +62,12 @@ @RequestMapping(value = "/cstmr/add/auth") @ManagerAuth public R add(Cstmr cstmr) { - cstmr.setHostId(getHostId()); - cstmr.setUuid(cstmrService.getNextUuid()); // 瀹㈡埛浠e彿 + Long hostId = getHostId(); + if (cstmrService.selectByUuid(hostId, cstmr.getUuid()) != null) { + throw new CoolException("瀹㈡埛宸插瓨鍦�"); + } + cstmr.setHostId(hostId); + cstmr.setUuid(cstmrService.getNextUuid(hostId)); // 瀹㈡埛浠e彿 cstmr.setDeptId(getDeptId()); // 鎵�灞為儴闂� cstmr.setUserId(getUserId()); // 鎵�灞炰汉鍛� diff --git a/src/main/java/com/zy/crm/manager/mapper/CstmrMapper.java b/src/main/java/com/zy/crm/manager/mapper/CstmrMapper.java index 1c6dae2..7cd6702 100644 --- a/src/main/java/com/zy/crm/manager/mapper/CstmrMapper.java +++ b/src/main/java/com/zy/crm/manager/mapper/CstmrMapper.java @@ -3,12 +3,15 @@ import com.zy.crm.manager.entity.Cstmr; import com.baomidou.mybatisplus.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @Mapper @Repository public interface CstmrMapper extends BaseMapper<Cstmr> { - Cstmr selectCstmrByNewestUuid(); + Cstmr selectByUuid(@Param("hostId") Long hostId, @Param("uuid") String uuid); + + Cstmr selectCstmrByNewestUuid(Long hostId); } diff --git a/src/main/java/com/zy/crm/manager/service/CstmrService.java b/src/main/java/com/zy/crm/manager/service/CstmrService.java index 5c75aba..30a7584 100644 --- a/src/main/java/com/zy/crm/manager/service/CstmrService.java +++ b/src/main/java/com/zy/crm/manager/service/CstmrService.java @@ -5,6 +5,8 @@ public interface CstmrService extends IService<Cstmr> { - String getNextUuid(); + Cstmr selectByUuid(Long hostId, String uuid); + + String getNextUuid(Long hostId); } diff --git a/src/main/java/com/zy/crm/manager/service/impl/CstmrServiceImpl.java b/src/main/java/com/zy/crm/manager/service/impl/CstmrServiceImpl.java index 8af1c89..d0b29a8 100644 --- a/src/main/java/com/zy/crm/manager/service/impl/CstmrServiceImpl.java +++ b/src/main/java/com/zy/crm/manager/service/impl/CstmrServiceImpl.java @@ -10,11 +10,32 @@ public class CstmrServiceImpl extends ServiceImpl<CstmrMapper, Cstmr> implements CstmrService { @Override - public String getNextUuid() { - Cstmr cstmr = this.baseMapper.selectCstmrByNewestUuid(); + public Cstmr selectByUuid(Long hostId, String uuid) { + return this.baseMapper.selectByUuid(hostId, uuid); + } + + @Override + public String getNextUuid(Long hostId) { + Cstmr cstmr = this.baseMapper.selectCstmrByNewestUuid(hostId); if (cstmr == null) { return "0001"; } - return String.valueOf(Integer.parseInt(cstmr.getUuid()) + 1); + return zerofill(String.valueOf(Integer.parseInt(cstmr.getUuid()) + 1), 4); } + + + public static String zerofill(String msg, Integer count){ + if (msg.length() == count){ + return msg; + } else if (msg.length() > count){ + return msg.substring(0, 16); + } else { + StringBuilder msgBuilder = new StringBuilder(msg); + for (int i = 0; i<count-msg.length(); i++){ + msgBuilder.insert(0,"0"); + } + return msgBuilder.toString(); + } + } + } diff --git a/src/main/resources/mapper/CstmrMapper.xml b/src/main/resources/mapper/CstmrMapper.xml index 8279834..17f5dc6 100644 --- a/src/main/resources/mapper/CstmrMapper.xml +++ b/src/main/resources/mapper/CstmrMapper.xml @@ -33,8 +33,22 @@ </resultMap> + <select id="selectByUuid" resultMap="BaseResultMap"> + select * from man_cstmr + where 1=1 + and uuid = #{uuid} + <if test="hostId != null"> + and host_id = #{hostId} + </if> + </select> + <select id="selectCstmrByNewestUuid" resultMap="BaseResultMap"> - select * from man_cstmr where 1=1 order by uuid + 0 desc + select * from man_cstmr + where 1=1 + <if test="hostId != null"> + and host_id = #{hostId} + </if> + order by uuid + 0 desc </select> </mapper> -- Gitblit v1.9.1