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