From 91a9dd80b51af93c9305bb39b3757e6750f88008 Mon Sep 17 00:00:00 2001
From: Oliver <1070107765@qq.com>
Date: 星期三, 14 九月 2022 17:58:18 +0800
Subject: [PATCH] 积分相关接口

---
 ycl-common/src/main/java/com/ycl/service/depart/impl/SccgDepartServiceImpl.java |   65 ++++++++++++++++++++++++++++++--
 1 files changed, 60 insertions(+), 5 deletions(-)

diff --git a/ycl-common/src/main/java/com/ycl/service/depart/impl/SccgDepartServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/depart/impl/SccgDepartServiceImpl.java
index 7243c24..1cfee0f 100644
--- a/ycl-common/src/main/java/com/ycl/service/depart/impl/SccgDepartServiceImpl.java
+++ b/ycl-common/src/main/java/com/ycl/service/depart/impl/SccgDepartServiceImpl.java
@@ -1,21 +1,27 @@
 package com.ycl.service.depart.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ycl.api.CommonResult;
+import com.ycl.dto.user.AdminDepartDTO;
 import com.ycl.entity.depart.SccgDepart;
+import com.ycl.entity.user.UmsDepartManage;
 import com.ycl.enums.common.ResultCode;
 import com.ycl.exception.ApiException;
 import com.ycl.mapper.depart.SccgDepartMapper;
 import com.ycl.service.depart.SccgDepartService;
+import com.ycl.service.user.UmsDepartManageService;
+import com.ycl.service.user.UmsAdminService;
+import com.ycl.utils.common.PojoUtils;
 import com.ycl.vo.depart.DepartVO;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-import javax.xml.transform.Result;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -31,6 +37,10 @@
 public class SccgDepartServiceImpl extends ServiceImpl<SccgDepartMapper, SccgDepart> implements SccgDepartService {
     @Resource
     private SccgDepartMapper sccgDepartMapper;
+    @Resource
+    private UmsDepartManageService umsAdminDepartService;
+    @Resource
+    private UmsAdminService umsAdminService;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -62,17 +72,34 @@
         if (null != sccgDepart && sccgDepart.getId() != updateDepartVO.getId()) {
             throw new ApiException(ResultCode.RECORD_ALREADY_EXISTS);
         }
-        BeanUtils.copyProperties(updateDepartVO, sccgDepart);
-        if (sccgDepartMapper.updateById(sccgDepart) <= 0) {
+        SccgDepart depart = this.getById(updateDepartVO.getId());
+        BeanUtils.copyProperties(updateDepartVO, depart);
+        List<Long> userIds = updateDepartVO.getUserIds();
+        if (CollUtil.isNotEmpty(userIds)) {
+            Long departId = updateDepartVO.getId();
+            List<UmsDepartManage> departList = umsAdminDepartService.queryByDepartId(departId);
+            if (CollUtil.isNotEmpty(departList)) {
+                umsAdminDepartService.deletedByDepartId(departId);
+            }
+            userIds.forEach(e -> {
+                UmsDepartManage adminDepart = new UmsDepartManage();
+                adminDepart.setDepartId(departId);
+                adminDepart.setUserId(e);
+                umsAdminDepartService.save(adminDepart);
+            });
+        }
+        if (sccgDepartMapper.updateById(depart) <= 0) {
             throw new ApiException(ResultCode.RECORD_UPDATE_FAIL);
         }
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void delete(long id) {
         if (sccgDepartMapper.deleteById(id) <= 0) {
             throw new ApiException(ResultCode.RECORD_DELETE_FAIL);
         }
+        umsAdminDepartService.deletedByDepartId(id);
     }
 
     @Override
@@ -96,7 +123,33 @@
 
     @Override
     public IPage<SccgDepart> pageDepart(DepartVO.PageDepartVO params) {
-        return null;
+        Page<SccgDepart> page = new Page<>(params.getCurrent(), params.getPageSize());
+        LambdaQueryWrapper<SccgDepart> query = new LambdaQueryWrapper<>();
+        if (StringUtils.isNotBlank(params.getDepartName())) {
+            query.like(SccgDepart::getDepartName, params.getDepartName());
+        }
+        if (PojoUtils.Vo.isUsefulSearchParam(params.getDepartType())) {
+            query.like(SccgDepart::getDepartType, params.getDepartType());
+        }
+        query.orderByDesc(SccgDepart::getCreateTime);
+        Page<SccgDepart> departPage = sccgDepartMapper.selectPage(page, query);
+        List<SccgDepart> records = departPage.getRecords();
+        //璐熻矗浜�
+        if (CollUtil.isNotEmpty(records)) {
+            for (SccgDepart record : records) {
+                List<UmsDepartManage> umsAdminDeparts = umsAdminDepartService.queryByDepartId(record.getId());
+                if (CollUtil.isNotEmpty(umsAdminDeparts)) {
+                    List<AdminDepartDTO.UserInfoDTO> userInfoDTOS = umsAdminDeparts.stream().map(a -> {
+                        AdminDepartDTO.UserInfoDTO userInfoDTO = new AdminDepartDTO.UserInfoDTO();
+                        userInfoDTO.setUserId(a.getUserId());
+                        userInfoDTO.setUsername(umsAdminService.getById(a.getUserId()).getUsername());
+                        return userInfoDTO;
+                    }).collect(Collectors.toList());
+                    record.setUserInfoDTOS(userInfoDTOS);
+                }
+            }
+        }
+        return departPage;
     }
 
     @Override
@@ -107,6 +160,7 @@
             throw new ApiException(ResultCode.RECORD_UPDATE_FAIL);
         }
     }
+
 
     /**
      * 鍒╃敤閫掑綊灏嗘渶鍚庝竴绾х┖闆嗗悎鍙樹负null锛屽墠绔仈绾ч�夋嫨鍣ㄦ渶鍚庢墠涓嶄細鍑虹幇 鏆傛棤鏁版嵁鐨刡ug
@@ -156,4 +210,5 @@
         SccgDepart sccgDepart = this.sccgDepartMapper.selectOne(queryWrapper);
         return sccgDepart;
     }
+
 }

--
Gitblit v1.8.0