Browse Source

根据签字注师2岗位调整对应的可签章次数;修改可签章次数时判断新增or更新

huangguoce 4 ngày trước cách đây
mục cha
commit
681b684059

+ 4 - 4
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/mapper/xml/UserMapper.xml

@@ -193,7 +193,7 @@
 
     <!-- 签字注师查询 -->
     <select id="findUserList" resultType="com.jeeplus.sys.service.dto.UserDTO">
-        SELECT
+        SELECT DISTINCT
         ssi.signature_count as signatureCount,
         post2.name AS post,
         <include refid="userColumns"/>
@@ -211,7 +211,7 @@
     </select>
     <!--签字注师2查询-->
     <select id="findUserList2" resultType="com.jeeplus.sys.service.dto.UserDTO">
-        SELECT
+        SELECT DISTINCT
         ssi.signature_count as signatureCount,
         <include refid="userColumns"/>
         FROM sys_user a
@@ -222,9 +222,9 @@
         <include refid="userJoins"/>
         ${ew.customSqlSegment}
     </select>
-    <!--签字注师2查询-->
+    <!--根据id查询签字注师可签章次数-->
     <select id="findCountById" resultType="com.jeeplus.sys.service.dto.UserDTO">
-        SELECT
+        SELECT DISTINCT
         ssi.signature_count as signatureCount,
         post2.name AS post,
         <include refid="userColumns"/>

+ 42 - 1
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/service/UserService.java

@@ -471,6 +471,7 @@ public class UserService extends ServiceImpl<UserMapper, User> {
             userDTO.getPostDTOList().forEach(postDTO -> {
                 baseMapper.insertUserPost(userDTO.getId(), postDTO.getId());
             });
+            syncUserSignatureTwoInfo(userDTO.getId());
         }
         UserUtils.deleteCache(userDTO);
         //判断redis中是否有这个key
@@ -701,13 +702,40 @@ public class UserService extends ServiceImpl<UserMapper, User> {
             userSignatureInfo.setSignatureCount("100");
             userSignatureInfo.setUserId(userId);
             userSignatureInfo.setCreateById("1");
-            userSignatureInfo.setCreateById("1");
+            userSignatureInfo.setUpdateById("1");
             userSignatureInfoMapper.insert(userSignatureInfo);
         }
     }
 
 
     /**
+     *同步签字注师2的签章信息
+     */
+    public void syncUserSignatureTwoInfo(String userId) {
+        UserDTO userDTO = baseMapper.findUserList(
+                new Page<>(1, 1),
+                new QueryWrapper<UserDTO>()
+                        .eq("a.del_flag", CommonConstants.NOT_DELETED)
+                        .eq("sc.type", "6")
+                        .eq("a.id", userId)
+        ).getRecords().stream().findFirst().orElse(null);
+
+        if (userDTO == null) {
+            return;
+        }
+        String post = userDTO.getPost();
+        String count = userDTO.getSignatureCount();
+        if ("签字注师2".equals(post) && !"9999".equals(count)) {
+            updateSignatureCount(userId, "9999");
+            return;
+        }
+        if (!"签字注师2".equals(post) && "9999".equals(count)) {
+            updateSignatureCount(userId, "100");
+        }
+    }
+
+
+    /**
      * 查询签字注师二信息集合
      *
      * @param dto
@@ -1019,11 +1047,24 @@ public class UserService extends ServiceImpl<UserMapper, User> {
      * 修改注会的可签章份数
      */
     public void updateSignatureCount(String id, String signatureCount) {
+        UserSignatureInfo info = userSignatureInfoMapper.findById(id);
+        if(info == null){
+            UserSignatureInfo userSignatureInfo = new UserSignatureInfo();
+            userSignatureInfo.setSignatureCount(signatureCount);
+            userSignatureInfo.setUserId(id);
+            userSignatureInfo.setCreateById("1");
+            userSignatureInfo.setUpdateById("1");
+            userSignatureInfoMapper.insert(userSignatureInfo);
+        }else{
             userSignatureInfoMapper.update(
                     null,
                     new UpdateWrapper<UserSignatureInfo>()
                             .set("signature_count", signatureCount)
                             .eq("user_id", id)
             );
+        }
+
+
+
     }
 }