From 7bfa6a85ad6a6c537b0f7ddb9f6a8795c8e8c866 Mon Sep 17 00:00:00 2001
From: puhanshu <a9236326>
Date: 星期四, 09 六月 2022 16:44:24 +0800
Subject: [PATCH] 五社&社区企业&人大代表

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActSocialWorkerServiceImpl.java |   49 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 48 insertions(+), 1 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActSocialWorkerServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActSocialWorkerServiceImpl.java
index 5a36422..071de62 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActSocialWorkerServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActSocialWorkerServiceImpl.java
@@ -1,5 +1,6 @@
 package com.panzhihua.service_community.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -11,6 +12,7 @@
 import com.panzhihua.common.model.vos.civil.ComActSocialWorkerVO;
 import com.panzhihua.common.utlis.StringUtils;
 import com.panzhihua.service_community.dao.*;
+import com.panzhihua.service_community.entity.ComActColumn;
 import com.panzhihua.service_community.entity.ComActSocialOrg;
 import com.panzhihua.service_community.entity.ComActSocialWorker;
 import com.panzhihua.service_community.model.dos.ComActDO;
@@ -23,8 +25,12 @@
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
+
+import static java.util.Objects.nonNull;
+import static org.apache.commons.lang3.StringUtils.isNotBlank;
 
 /**
  * 社工(ComActSocialWorker)表服务实现类
@@ -45,6 +51,8 @@
     private ComActDAO comActDAO;
     @Resource
     private ComActActivityDAO comActActivityDAO;
+    @Resource
+    private ComActColumnDao comActColumnDao;
     /**
      * 新增社工
      * @param comActSocialWorkerAddDTO
@@ -52,6 +60,18 @@
      */
     @Override
     public R add(ComActSocialWorkerAddDTO comActSocialWorkerAddDTO){
+        ComActSocialWorker comActSocialWorker = comActSocialWorkerMapper.selectOne(new LambdaQueryWrapper<ComActSocialWorker>()
+                .eq(ComActSocialWorker::getTelephone, comActSocialWorkerAddDTO.getTelephone())
+                .eq(ComActSocialWorker::getCommunityId, comActSocialWorkerAddDTO.getCommunityId()));
+        if (nonNull(comActSocialWorker)) {
+            return R.fail("手机号已存在");
+        }
+        ComActSocialWorker comActSocialWorker1 = comActSocialWorkerMapper.selectOne(new LambdaQueryWrapper<ComActSocialWorker>()
+                .eq(ComActSocialWorker::getIdCard, comActSocialWorkerAddDTO.getIdCard())
+                .eq(ComActSocialWorker::getCommunityId, comActSocialWorkerAddDTO.getCommunityId()));
+        if (nonNull(comActSocialWorker1)) {
+            return R.fail("当前身份证号码已存在社工");
+        }
         ComActSocialWorker comActSocialWorkerDO = new ComActSocialWorker();
         BeanUtils.copyProperties(comActSocialWorkerAddDTO, comActSocialWorkerDO);
         comActSocialWorkerDO.setCreateBy(comActSocialWorkerAddDTO.getUserId());
@@ -72,10 +92,37 @@
         ComActSocialWorker comActSocialWorkerDO = new ComActSocialWorker();
         BeanUtils.copyProperties(comActSocialWorkerEditDTO, comActSocialWorkerDO);
         //comActSocialWorkerDO.setUpdateAt(new Date());
+        updateWorkerSkill(comActSocialWorkerDO);
         if(comActSocialWorkerMapper.updateById(comActSocialWorkerDO)>0){
             return R.ok();
         }
         return R.fail();
+    }
+
+    private void updateWorkerSkill(ComActSocialWorker socialWorker) {
+        String skillType = socialWorker.getSkillType();
+        if (isNotBlank(skillType)) {
+            List<String> skillList = Arrays.asList(skillType.split(","));
+            List<String> list = new ArrayList<String>(skillList);
+            list.remove(socialWorker.toString());
+            StringBuilder sb = new StringBuilder();
+            StringBuilder sb1 = new StringBuilder();
+            for (int i = 0; i < list.size(); i++) {
+                String skillId = list.get(i);
+                ComActColumn skillColumn = comActColumnDao.selectById(skillId);
+                if (i < list.size() - 1) {
+                    sb.append(skillId);
+                    sb.append(",");
+                    sb1.append(skillColumn.getName());
+                    sb1.append(",");
+                } else {
+                    sb.append(skillId);
+                    sb1.append(skillColumn.getName());
+                }
+            }
+            socialWorker.setSkillType(sb.toString());
+            socialWorker.setSkillTypeName(sb1.toString());
+        }
     }
 
     /**
@@ -168,6 +215,6 @@
 
     @Override
     public R activityList(CommonPage commonPage) {
-        return R.ok(comActActivityDAO.selectActivityBySocialWorker(new Page(commonPage.getPage(),commonPage.getSize()),commonPage.getParamId()));
+        return R.ok(comActActivityDAO.selectActivityBySocialWorker(new Page(commonPage.getPage(),commonPage.getSize()),commonPage));
     }
 }

--
Gitblit v1.7.1