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