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