From cea9df7a2004dcd4c7e007e085c1e358ae5bb374 Mon Sep 17 00:00:00 2001
From: mg <maokecheng@163.com>
Date: 星期三, 12 十月 2022 14:53:42 +0800
Subject: [PATCH] 添加机构用户查询,新增角色类类型字段

---
 ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java            |    2 
 ycl-common/src/main/java/com/ycl/service/user/UmsAdminService.java                        |    1 
 ycl-platform/src/main/java/com/ycl/controller/message/MessageColumnSetController.java     |   86 +++++++++++++++++
 ycl-common/src/main/java/com/ycl/entity/user/UmsRole.java                                 |    3 
 ycl-platform/src/main/java/com/ycl/service/message/IMessageColumnSetService.java          |   15 +++
 ycl-common/src/main/java/com/ycl/entity/depart/UmsDepart.java                             |    4 
 ycl-platform/src/main/java/com/ycl/mapper/message/MessageColumnSetMapper.java             |   15 +++
 ycl-platform/src/main/java/com/ycl/service/message/impl/IMessageServiceImpl.java          |   16 +++
 ycl-common/src/main/resources/mapper/depart/UmsDepartMapper.xml                           |   16 +++
 ycl-platform/src/main/java/com/ycl/entity/message/MessageColumnSet.java                   |   55 +++++++++++
 ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java               |   19 +++
 ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java         |    3 
 ycl-common/src/main/java/com/ycl/mapper/depart/UmsDepartMapper.java                       |    4 
 ycl-platform/src/main/java/com/ycl/service/message/factory/MailSender.java                |    3 
 ycl-common/src/main/java/com/ycl/dto/user/DepartUserDTO.java                              |   22 ++++
 ycl-platform/src/main/java/com/ycl/service/message/impl/IMessageColumnSetServiceImpl.java |   20 ++++
 16 files changed, 281 insertions(+), 3 deletions(-)

diff --git a/ycl-common/src/main/java/com/ycl/dto/user/DepartUserDTO.java b/ycl-common/src/main/java/com/ycl/dto/user/DepartUserDTO.java
new file mode 100644
index 0000000..c603394
--- /dev/null
+++ b/ycl-common/src/main/java/com/ycl/dto/user/DepartUserDTO.java
@@ -0,0 +1,22 @@
+package com.ycl.dto.user;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * <p>
+ * 绫昏鏄�
+ * </p>
+ *
+ * @author mg
+ * @since 2022-10-12
+ */
+@Data
+@ApiModel("璐熻矗浜轰俊鎭�")
+public class DepartUserDTO {
+    @ApiModelProperty(value = "鐢ㄦ埛Id")
+    private Long userId;
+    @ApiModelProperty(value = "鐢ㄦ埛鍚�")
+    private String username;
+}
diff --git a/ycl-common/src/main/java/com/ycl/entity/depart/UmsDepart.java b/ycl-common/src/main/java/com/ycl/entity/depart/UmsDepart.java
index 2963b90..a120182 100644
--- a/ycl-common/src/main/java/com/ycl/entity/depart/UmsDepart.java
+++ b/ycl-common/src/main/java/com/ycl/entity/depart/UmsDepart.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.*;
 import com.ycl.api.BaseEntity;
 import com.ycl.dto.user.AdminDepartDTO;
+import com.ycl.dto.user.DepartUserDTO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
@@ -60,4 +61,7 @@
     @TableField(exist = false)
     private List<AdminDepartDTO.UserInfoDTO> userInfoDTOS;
 
+    @TableField(exist = false)
+    private List<DepartUserDTO> departUserDTOS;
+
 }
diff --git a/ycl-common/src/main/java/com/ycl/entity/user/UmsRole.java b/ycl-common/src/main/java/com/ycl/entity/user/UmsRole.java
index c572cd8..504f5be 100644
--- a/ycl-common/src/main/java/com/ycl/entity/user/UmsRole.java
+++ b/ycl-common/src/main/java/com/ycl/entity/user/UmsRole.java
@@ -35,6 +35,9 @@
     @ApiModelProperty(value = "鍚嶇О")
     private String name;
 
+    @ApiModelProperty(value = "瑙掕壊绫诲瀷")
+    private String type;
+
     @ApiModelProperty(value = "鎻忚堪")
     private String description;
 
diff --git a/ycl-common/src/main/java/com/ycl/mapper/depart/UmsDepartMapper.java b/ycl-common/src/main/java/com/ycl/mapper/depart/UmsDepartMapper.java
index dc615c7..79d5849 100644
--- a/ycl-common/src/main/java/com/ycl/mapper/depart/UmsDepartMapper.java
+++ b/ycl-common/src/main/java/com/ycl/mapper/depart/UmsDepartMapper.java
@@ -3,6 +3,8 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ycl.entity.depart.UmsDepart;
 
+import java.util.List;
+
 /**
  * <p>
  * 閮ㄩ棬琛� Mapper 鎺ュ彛
@@ -13,4 +15,6 @@
  */
 public interface UmsDepartMapper extends BaseMapper<UmsDepart> {
 
+    List<UmsDepart> selectDepartList();
+
 }
diff --git a/ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java
index 0c51773..760c03b 100644
--- a/ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java
+++ b/ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java
@@ -122,7 +122,7 @@
     @Override
     public List<UmsDepart> tree() {
         // 1.鏌ュ嚭鎵�鏈夌綉鏍�
-        List<UmsDepart> list = list();
+        List<UmsDepart> list = baseMapper.selectDepartList();
 
         // 2.缁勮鎴愮埗瀛愮殑鏍戝瀷缁撴瀯
         // 2.1銆佹壘鍒版墍鏈夌殑涓�绾х綉鏍�:浣跨敤jdk8鐨剆tream娴佽繘琛岃繃婊�
diff --git a/ycl-common/src/main/java/com/ycl/service/user/UmsAdminService.java b/ycl-common/src/main/java/com/ycl/service/user/UmsAdminService.java
index 9386a8c..3e2cc03 100644
--- a/ycl-common/src/main/java/com/ycl/service/user/UmsAdminService.java
+++ b/ycl-common/src/main/java/com/ycl/service/user/UmsAdminService.java
@@ -111,4 +111,5 @@
 
 
     List<UmsAdmin> getDepartUser(Long departId);
+    String getTargetTo(String ids, String sendType);
 }
diff --git a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java
index ca8979a..4c6c5a6 100644
--- a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java
+++ b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java
@@ -12,6 +12,7 @@
 import com.ycl.dto.UpdateAdminPasswordParam;
 import com.ycl.entity.depart.UmsDepart;
 import com.ycl.entity.user.*;
+import com.ycl.exception.ApiException;
 import com.ycl.exception.Asserts;
 import com.ycl.mapper.user.*;
 import com.ycl.service.depart.UmsDepartService;
@@ -378,4 +379,22 @@
         List<UmsAdmin> adminList = baseMapper.selectList(wrapperUser);
         return adminList;
     }
+
+    @Override
+    public String getTargetTo(String ids, String sendType) {
+        String str = null;
+        String[] arr = ids.split(",");
+        QueryWrapper<UmsAdmin> wrapperUser = new QueryWrapper<>();
+        wrapperUser.in("id", arr);
+        List<UmsAdmin> adminList = baseMapper.selectList(wrapperUser);
+        if (adminList == null||adminList.isEmpty()) {
+            throw new ApiException("鏈煡璇㈠埌鐢ㄦ埛");
+        }
+        if ("02".equals(sendType)) {
+           str = adminList.stream().map(UmsAdmin::getEmail).collect(Collectors.joining(","));
+        } else {
+            str = adminList.stream().map(UmsAdmin::getMobile).collect(Collectors.joining(","));
+        }
+        return str;
+    }
 }
diff --git a/ycl-common/src/main/resources/mapper/depart/UmsDepartMapper.xml b/ycl-common/src/main/resources/mapper/depart/UmsDepartMapper.xml
index ebc2f28..b8ec297 100644
--- a/ycl-common/src/main/resources/mapper/depart/UmsDepartMapper.xml
+++ b/ycl-common/src/main/resources/mapper/depart/UmsDepartMapper.xml
@@ -14,5 +14,21 @@
         <result column="update_time" property="updateTime" />
         <result column="is_deleted" property="isDeleted" />
     </resultMap>
+    <resultMap type="com.ycl.entity.depart.UmsDepart" id="UserDepartResultMap" extends="BaseResultMap">
+        <collection property="userInfoDTOS" javaType="ArrayList" ofType="com.ycl.dto.user.DepartUserDTO">
+            <id column="user_id" property="userId" />
+            <result column="username" property="username" />
+        </collection>
+    </resultMap>
+
+    <select id="selectDepartList"  resultMap="UserDepartResultMap">
+        SELECT
+            ud.*,ua.id user_id,ua.username
+        FROM
+            ums_depart ud
+                LEFT JOIN ums_depart_manager udm ON ud.id = udm.depart_id
+                LEFT JOIN ums_admin ua ON udm.user_id = ua.id
+    </select>
+
 
 </mapper>
diff --git a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java
index fb982d9..794a558 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java
@@ -28,7 +28,6 @@
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
-import java.util.UUID;
 
 
 /**
@@ -259,4 +258,6 @@
         baseCaseService.endCase(caseId, result);
         return CommonResult.success("end case success~!");
     }
+
+
 }
\ No newline at end of file
diff --git a/ycl-platform/src/main/java/com/ycl/controller/message/MessageColumnSetController.java b/ycl-platform/src/main/java/com/ycl/controller/message/MessageColumnSetController.java
new file mode 100644
index 0000000..1f29c0d
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/controller/message/MessageColumnSetController.java
@@ -0,0 +1,86 @@
+package com.ycl.controller.message;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ycl.api.CommonResult;
+import com.ycl.entity.message.MessageColumnSet;
+import com.ycl.service.message.IMessageColumnSetService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * <p>
+ *   娑堟伅鏍忕洰璁剧疆  鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author mg
+ * @since 2022-10-08
+ */
+@RestController
+@RequestMapping("/message_column_set")
+@Api(tags = "鐢ㄦ埛娑堟伅鏍忕洰璁剧疆")
+public class MessageColumnSetController {
+
+    @Autowired
+    private IMessageColumnSetService iMessageColumnSetService;
+
+    @ApiOperation(value = "娣诲姞鏍忕洰璁剧疆")
+    @RequestMapping(value = "/addColumnSet", method = RequestMethod.POST)
+    @ResponseBody
+    public CommonResult addColumnSet(@Validated @RequestBody MessageColumnSet messageColumnSet) {
+        return CommonResult.success(iMessageColumnSetService.save(messageColumnSet));
+    }
+
+
+    @ApiOperation("鑾峰彇鎸囧畾鏍忕洰")
+    @RequestMapping(value = "/getColumnSet/{id}", method = RequestMethod.GET)
+    @ResponseBody
+    public CommonResult<MessageColumnSet> getMessage(@PathVariable Long id) {
+        MessageColumnSet columnSet = iMessageColumnSetService.getById(id);
+        return CommonResult.success(columnSet);
+    }
+    @ApiOperation("鑾峰彇鐢ㄦ埛鏍忕洰璁剧疆")
+    @RequestMapping(value = "/getUserColumnSet/{userId}", method = RequestMethod.GET)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "userId", value = "鐢ㄦ埛Id",required = true, dataType = "Long")
+    })
+    @ResponseBody
+    public CommonResult<List<MessageColumnSet>> getUserColumnSet(@PathVariable Long userId) {
+        QueryWrapper<MessageColumnSet> setQueryWrapper = new QueryWrapper<>();
+        setQueryWrapper.eq("user_id", userId);
+        List<MessageColumnSet> sets = iMessageColumnSetService.list(setQueryWrapper);
+        return CommonResult.success(sets);
+    }
+
+    @ApiOperation("淇敼鎸囧畾鏍忕洰")
+    @RequestMapping(value = "/update/{id}", method = RequestMethod.POST)
+    @ResponseBody
+    public CommonResult update(@PathVariable Long id, @RequestBody MessageColumnSet messageColumnSet) {
+        messageColumnSet.setId(id);
+        boolean success = iMessageColumnSetService.updateById(messageColumnSet);
+        if (success) {
+            return CommonResult.success(null);
+        }
+        return CommonResult.failed();
+    }
+
+    @ApiOperation("鎵归噺鍒犻櫎")
+    @RequestMapping(value = "/delete", method = RequestMethod.POST)
+    @ResponseBody
+    public CommonResult delete(@RequestParam("ids") List<Long> ids) {
+        boolean success = iMessageColumnSetService.removeBatchByIds(ids);
+        if (success) {
+            return CommonResult.success(null);
+        }
+        return CommonResult.failed();
+    }
+
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/entity/message/MessageColumnSet.java b/ycl-platform/src/main/java/com/ycl/entity/message/MessageColumnSet.java
new file mode 100644
index 0000000..bc9e291
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/entity/message/MessageColumnSet.java
@@ -0,0 +1,55 @@
+package com.ycl.entity.message;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * <p>
+ *  娑堟伅鏍忕洰鐢ㄦ埛璁剧疆  瀹炰綋绫�
+ * </p>
+ *
+ * @author mg
+ * @since 2022-10-10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("ums_message_column_set")
+@ApiModel(value = "娑堟伅鏍忕洰鐢ㄦ埛璁剧疆琛�")
+public class MessageColumnSet {
+    private static final long serialVersionUID = 1L;
+    /**
+     * 涓婚敭
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    @ApiModelProperty(value = "涓婚敭")
+    private Long id;
+    /**
+     * 鐢ㄦ埛Id
+     */
+    @TableField("user_id")
+    @ApiModelProperty(value = "鐢ㄦ埛Id", required = true)
+    private Long userId;
+    /**
+     *  娑堟伅鏍忕洰Id
+     */
+    @TableField("message_column_id")
+    @ApiModelProperty(value = "娑堟伅鏍忕洰Id", required = true)
+    @NotNull
+    private Long messageColumnId;
+    /**
+     * 鏄惁鎺ユ敹0-涓嶆帴鏀�1-鎺ユ敹
+     */
+    @TableField("is_receive")
+    @ApiModelProperty(value = "鏄惁鎺ユ敹0-涓嶆帴鏀�1-鎺ユ敹", required = true)
+    private Integer isReceive;
+
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/mapper/message/MessageColumnSetMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/message/MessageColumnSetMapper.java
new file mode 100644
index 0000000..170e623
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/mapper/message/MessageColumnSetMapper.java
@@ -0,0 +1,15 @@
+package com.ycl.mapper.message;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.entity.message.MessageColumnSet;
+
+/**
+ * <p>
+ * 娑堟伅鏍忕洰璁剧疆 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author mg
+ * @since 2022-10-12
+ */
+public interface MessageColumnSetMapper extends BaseMapper<MessageColumnSet> {
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/message/IMessageColumnSetService.java b/ycl-platform/src/main/java/com/ycl/service/message/IMessageColumnSetService.java
new file mode 100644
index 0000000..1ed8fcc
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/message/IMessageColumnSetService.java
@@ -0,0 +1,15 @@
+package com.ycl.service.message;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.entity.message.MessageColumnSet;
+
+/**
+ * <p>
+ *  娑堟伅鏍忕洰璁剧疆
+ * </p>
+ *
+ * @author mg
+ * @since 2022-10-12
+ */
+public interface IMessageColumnSetService extends IService<MessageColumnSet> {
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/message/factory/MailSender.java b/ycl-platform/src/main/java/com/ycl/service/message/factory/MailSender.java
index 0daacdf..d029e16 100644
--- a/ycl-platform/src/main/java/com/ycl/service/message/factory/MailSender.java
+++ b/ycl-platform/src/main/java/com/ycl/service/message/factory/MailSender.java
@@ -3,6 +3,7 @@
 import com.ycl.common.util.PropertyValueUtil;
 import com.ycl.dto.message.MessageParam;
 import com.ycl.entity.message.Message;
+import com.ycl.exception.ApiException;
 import com.ycl.service.message.Sender;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -59,10 +60,12 @@
         try {
             sender.send(messageList);
             logger.info("绠�鍗曢偖浠跺凡鍙戦��");
+
         }catch (Exception e){
             e.printStackTrace();
             logger.error("鍙戦�佺畝鍗曢偖浠舵椂鍙戠敓寮傚父锛�", e);
             e.printStackTrace();
+            throw new ApiException("鍙戦�佺畝鍗曢偖浠舵椂鍙戠敓寮傚父");
         }
         return message;
     }
diff --git a/ycl-platform/src/main/java/com/ycl/service/message/impl/IMessageColumnSetServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/message/impl/IMessageColumnSetServiceImpl.java
new file mode 100644
index 0000000..c9a120c
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/message/impl/IMessageColumnSetServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ycl.service.message.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.entity.message.MessageColumnSet;
+import com.ycl.mapper.message.MessageColumnSetMapper;
+import com.ycl.service.message.IMessageColumnSetService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 娑堟伅鏍忕洰璁剧疆 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author mg
+ * @since 2022-10-10
+ */
+@Service
+public class IMessageColumnSetServiceImpl extends ServiceImpl<MessageColumnSetMapper, MessageColumnSet> implements IMessageColumnSetService {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/message/impl/IMessageServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/message/impl/IMessageServiceImpl.java
index 79fb6e3..77a4d29 100644
--- a/ycl-platform/src/main/java/com/ycl/service/message/impl/IMessageServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/message/impl/IMessageServiceImpl.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ycl.dto.message.MessageParam;
 import com.ycl.entity.message.Message;
+import com.ycl.exception.ApiException;
 import com.ycl.mapper.message.MessageMapper;
 import com.ycl.service.message.IMessageService;
 import com.ycl.service.message.Provider;
@@ -13,6 +14,8 @@
 import com.ycl.service.message.factory.InnerFactory;
 import com.ycl.service.message.factory.MailFactory;
 import com.ycl.service.message.factory.SmsFactory;
+import com.ycl.service.user.UmsAdminService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -25,6 +28,10 @@
  */
 @Service
 public class IMessageServiceImpl extends ServiceImpl<MessageMapper, Message> implements IMessageService {
+
+    @Autowired
+    private UmsAdminService adminService;
+
     @Override
     public Message sendMessage(MessageParam messageParam) {
         Message message = null;
@@ -38,13 +45,20 @@
             //閭欢鍙戦��
             case "02":
                 provider = new MailFactory();
+                //id鎹㈡垚閭鍙�
+               String targetToMail = adminService.getTargetTo(messageParam.getTargetTo(), messageParam.getChannelCode());
+               messageParam.setTargetTo(targetToMail);
+
                 break;
              //鐭俊鍙戦��
             case "03":
                 provider = new SmsFactory();
+                //id鎹㈡垚鎵嬫満鍙�
+                String targetToPhone = adminService.getTargetTo(messageParam.getTargetTo(), messageParam.getChannelCode());
+                messageParam.setTargetTo(targetToPhone);
                 break;
             default:
-                System.out.println("鎶涘紓甯�");
+                throw new ApiException("鏈尮閰嶅埌璇ョ被鍨�");
         }
         Sender sender = provider.produce();
         sender.sendMessage(messageParam);

--
Gitblit v1.8.0