From c40f8e3d2e08e108780091776437242528bf61d6 Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期三, 20 七月 2022 17:44:56 +0800
Subject: [PATCH] bug修改

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActColumnServiceImpl.java |  113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 112 insertions(+), 1 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActColumnServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActColumnServiceImpl.java
index 412e6e2..91462ba 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActColumnServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActColumnServiceImpl.java
@@ -1,5 +1,19 @@
 package com.panzhihua.service_community.service.impl;
 
+import static java.util.Objects.nonNull;
+import static org.apache.commons.lang3.StringUtils.isNotBlank;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import com.panzhihua.service_community.dao.ComActDAO;
+import com.panzhihua.service_community.model.dos.ComActDO;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -7,10 +21,13 @@
 import com.panzhihua.common.model.vos.R;
 import com.panzhihua.common.model.vos.community.ComActColumnVO;
 import com.panzhihua.service_community.dao.ComActAnnouncementDao;
+import com.panzhihua.service_community.dao.ComActColumnDao;
+import com.panzhihua.service_community.dao.ComActSocialWorkerDao;
 import com.panzhihua.service_community.entity.ComActAnnouncement;
 import com.panzhihua.service_community.entity.ComActColumn;
-import com.panzhihua.service_community.dao.ComActColumnDao;
+import com.panzhihua.service_community.entity.ComActSocialWorker;
 import com.panzhihua.service_community.service.ComActColumnService;
+
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
@@ -29,6 +46,10 @@
     private ComActColumnDao comActColumnDao;
     @Resource
     private ComActAnnouncementDao comActAnnouncementDao;
+    @Resource
+    private ComActSocialWorkerDao comActSocialWorkerDao;
+    @Resource
+    private ComActDAO comActDAO;
     @Override
     public R pageList(CommonPage commonPage) {
         return R.ok(this.comActColumnDao.pageList(new Page(commonPage.getPage(),commonPage.getSize()),commonPage));
@@ -39,12 +60,102 @@
         if(!comActAnnouncementDao.selectList(new QueryWrapper<ComActAnnouncement>().lambda().eq(ComActAnnouncement::getColumnId,id)).isEmpty()){
             return R.fail("当前类型无法删除,请先处理绑定数据");
         }
+        ComActColumn comActColumn = comActColumnDao.selectById(id);
+        if (nonNull(comActColumn) && comActColumn.getType().equals(2)) {
+            //社工技能
+            updateWorkerSkill(id);
+        }
         return R.ok(comActColumnDao.deleteById(id));
     }
 
     @Override
     public R queryLevel(ComActColumnVO comActColumnVO) {
+        Integer type = comActColumnVO.getType();
+        Long communityId = comActColumnVO.getCommunityId();
+        if (nonNull(type) && type.equals(4) && nonNull(communityId)) {
+            ComActDO comActDO = comActDAO.selectById(communityId);
+            if (nonNull(comActDO)) {
+                comActColumnVO.setStreetId(comActDO.getStreetId());
+            }
+        }
         return R.ok(this.comActColumnDao.queryLevel(comActColumnVO));
     }
 
+    /**
+     * 修改数据
+     *
+     * @param comActColumnVO 实体对象
+     * @return 修改结果
+     */
+    @Override
+    public R updateColumn(ComActColumnVO comActColumnVO) {
+        ComActColumn comActColumn = this.baseMapper.selectById(comActColumnVO.getId());
+        BeanUtils.copyProperties(comActColumnVO, comActColumn);
+        int result = this.baseMapper.updateById(comActColumn);
+        if (result > 0) {
+            if (comActColumn.getType().equals(2)) {
+                //社工技能
+                updateWorkerSkill(comActColumn.getId());
+            }
+            return R.ok();
+        }
+        return R.fail("操作失败,请重新尝试");
+    }
+
+    /**
+     * 新增数据
+     *
+     * @param comActColumnVO 实体对象
+     * @return 新增结果
+     */
+    @Override
+    public R addColumn(ComActColumnVO comActColumnVO) {
+        ComActColumn comActColumn = new ComActColumn();
+        BeanUtils.copyProperties(comActColumnVO, comActColumn);
+        Long communityId = comActColumnVO.getCommunityId();
+        if (nonNull(communityId)) {
+            ComActDO comActDO = comActDAO.selectById(communityId);
+            if (nonNull(comActDO)) {
+                comActColumn.setStreetId(comActDO.getStreetId());
+            }
+        }
+        int result = this.baseMapper.insert(comActColumn);
+        if (result > 0) {
+            return R.ok();
+        }
+        return R.fail("操作失败,请重新尝试");
+    }
+
+    private void updateWorkerSkill(Long id) {
+        List<ComActSocialWorker> workerList = comActSocialWorkerDao.selectIncludeSkillWorkerList(id);
+        if (!workerList.isEmpty()) {
+            workerList.forEach(e -> {
+                String skillType = e.getSkillType();
+                if (isNotBlank(skillType)) {
+                    List<String> skillList = Arrays.asList(skillType.split(","));
+                    List<String> list = new ArrayList<String>(skillList);
+                    list.remove(id.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());
+                        }
+                    }
+                    e.setSkillType(sb.toString());
+                    e.setSkillTypeName(sb1.toString());
+                    comActSocialWorkerDao.updateById(e);
+                }
+            });
+        }
+    }
+
 }

--
Gitblit v1.7.1