Browse Source

日志调整

zouxuan 1 year ago
parent
commit
706cbfccc0

+ 27 - 4
mec-application/src/main/java/com/ym/mec/teacher/controller/SysMessageController.java

@@ -2,25 +2,28 @@ package com.ym.mec.teacher.controller;
 
 import com.alibaba.fastjson.JSON;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dto.SysMessageVo;
 import com.ym.mec.biz.dal.enums.MessageSendMode;
 import com.ym.mec.biz.dal.page.SysMessageQueryInfo;
 import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.exception.BizException;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 import com.ym.mec.util.validator.CommonValidator;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
 
 import java.io.IOException;
 import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 @RestController
 @Api(tags = "消息服务")
@@ -87,4 +90,24 @@ public class SysMessageController extends BaseController {
 		sysMessageService.sendMessage(messageSender, sysUser.getId(), "", content, receiver, null, readStatus, url, group,"TEACHER");
 		return succeed();
 	}
+
+	@ApiOperation(value = "查询分页", notes = "传入sysMessageSearch")
+	@PreAuthorize("@auditsvc.hasPermissions('sysMessage/page', {'BACKEND'})")
+	@PostMapping("/page")
+	public HttpResponseResult<PageInfo<SysMessageVo.SysMessageList>> page(@RequestBody SysMessageVo.SysMessageQuery query) {
+		// 数据类型转换
+		PageInfo<SysMessageVo.SysMessageList> records = sysMessageService.queryMessageCode(query);
+
+		Pattern pattern = Pattern.compile("验证码\\d+");
+		records.getRows().forEach(next -> {
+			String content = next.getContent();
+			if (StringUtils.isNotEmpty(content)) {
+				Matcher matcher = pattern.matcher(content);
+				if (matcher.find()) {
+					next.setVerityCode(matcher.group().replace("验证码",""));
+				}
+			}
+		});
+		return succeed(records);
+	}
 }

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysMessageDao.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.dal.dao;
 import java.util.List;
 import java.util.Map;
 
+import com.ym.mec.biz.dal.dto.SysMessageVo;
 import org.apache.ibatis.annotations.Param;
 
 import com.ym.mec.biz.dal.dto.Mapper;
@@ -52,4 +53,8 @@ public interface SysMessageDao extends BaseDAO<Long, SysMessage> {
 	 * 修改单个消息状态
 	 */
 	int updateOneStatus(@Param("id") Long id, @Param("status") int status);
+
+    int countMessageCode(Map<String, Object> params);
+
+	List<SysMessageVo.SysMessageList> queryMessageCode(Map<String, Object> params);
 }

+ 82 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/SysMessageVo.java

@@ -0,0 +1,82 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.microsvc.toolkit.common.response.paging.QueryInfo;
+import com.ym.mec.biz.dal.enums.ClientEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@ApiModel(value = "SysMessageVo对象", description = "系统消息表查询视图对象")
+public class SysMessageVo {
+
+    @Data
+    @ApiModel(" SysMessageList-系统消息表")
+    public static class SysMessageQuery implements QueryInfo {
+
+        @ApiModelProperty("当前页")
+        private Integer page;
+
+        @ApiModelProperty("分页行数")
+        private Integer rows;
+
+        @ApiModelProperty(value = "接收人编号")
+        private String receiver;
+
+        @ApiModelProperty(value = "验证码类型,验证码登录:SMS_VERIFY_CODE_LOGIN,密码修改:SMS_VERIFY_CODE_UPDATE_PSW")
+        private TitleEnum titleEnum = TitleEnum.SMS_VERIFY_CODE_LOGIN;
+
+        private String title;
+
+        @ApiModelProperty(value = "发送时间-年月日")
+        private String sendTime;
+
+        public void setTitleEnum(String titleEnum) {
+            this.titleEnum = TitleEnum.valueOf(titleEnum);
+            this.title = this.titleEnum.getMsg();
+        }
+    }
+
+    @Data
+    @ApiModel(" SysMessageList-系统消息表")
+    public static class SysMessageList {
+		@ApiModelProperty("标题")
+        private String title;
+
+        @ApiModelProperty("验证码")
+        private String verityCode;
+
+		@ApiModelProperty("接收人(多个人用逗号分隔)")
+        private String receiver;
+
+		@ApiModelProperty("发送时间")
+        private Date sendTime;
+
+        private String content;
+
+    }
+
+    public enum TitleEnum {
+        SMS_VERIFY_CODE_LOGIN("验证码登录"),
+
+        ;
+        @EnumValue
+        private String code;
+        private String msg;
+
+        TitleEnum(String msg) {
+            this.code = this.name();
+            this.msg = msg;
+        }
+
+        public String getCode() {
+            return code;
+        }
+
+        public String getMsg() {
+            return msg;
+        }
+    }
+}

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysMessageService.java

@@ -7,6 +7,7 @@ import java.util.Map;
 import java.util.Set;
 
 import com.ym.mec.biz.dal.dto.SysMessageDto;
+import com.ym.mec.biz.dal.dto.SysMessageVo;
 import com.ym.mec.biz.dal.entity.ImSendGroupMessage;
 import com.ym.mec.biz.dal.entity.SysMessage;
 import com.ym.mec.biz.dal.enums.MessageSendMode;
@@ -217,4 +218,7 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	 * 每天9点推送前一天22点之后的推送消息
 	 */
 	void pushWaitSendMessageTask();
+
+	//获取短信验证码
+	PageInfo<SysMessageVo.SysMessageList> queryMessageCode(SysMessageVo.SysMessageQuery query);
 }

+ 22 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMessageServiceImpl.java

@@ -10,6 +10,7 @@ import com.ym.mec.biz.dal.dao.WaitSendMessageDao;
 import com.ym.mec.biz.dal.dto.Mapper;
 import com.ym.mec.biz.dal.dto.SimpleUserDto;
 import com.ym.mec.biz.dal.dto.SysMessageDto;
+import com.ym.mec.biz.dal.dto.SysMessageVo;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.MessageSendMode;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
@@ -464,7 +465,27 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		}
 	}
 
-	@Override
+    @Override
+    public PageInfo<SysMessageVo.SysMessageList> queryMessageCode(SysMessageVo.SysMessageQuery queryInfo) {
+		PageInfo<SysMessageVo.SysMessageList> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<String, Object>();
+		MapUtil.populateMap(params, queryInfo);
+
+		List<SysMessageVo.SysMessageList> dataList = null;
+		int count = sysMessageDao.countMessageCode(params);
+		if (count > 0) {
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			dataList = sysMessageDao.queryMessageCode(params);
+		}
+		if (count == 0) {
+			dataList = new ArrayList<>();
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+	}
+
+    @Override
 	public void batchSendMessage(Integer senderTenantId, MessageSender messageSender, MessageTypeEnum type, Map<Integer, String> receivers, Date triggerTime, Integer readStatus,
 			String url,String jpushType, Object... args) {
 		LOGGER.info("batchSendMessage tenantId {} msgSender {}, type {}, receivers {} ", senderTenantId, messageSender, type, receivers);

+ 22 - 0
mec-biz/src/main/resources/config/mybatis/SysMessageMapper.xml

@@ -209,4 +209,26 @@
 		from sys_message where receiver_ = #{mobile} and type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} and <![CDATA[DATE_ADD(send_time_,
 		INTERVAL #{recentMin} MINUTE) >= now()]]>
 	</select>
+	<sql id="countMessageCodeSql">
+		<where>
+			<if test="title != null and title != ''">
+				AND title_ = #{title}
+			</if>
+			<if test="receiver != null and receiver != ''">
+				and receiver_ LIKE CONCAT('%',#{receiver},'%')
+			</if>
+			<if test="sendTime != null and sendTime != ''">
+				and DATE_FORMAT(send_time_,'%Y-%m-%d') = #{sendTime}
+			</if>
+		</where>
+	</sql>
+    <select id="countMessageCode" resultType="java.lang.Integer">
+		select COUNT(0) from sys_message
+		<include refid="countMessageCodeSql"/>
+	</select>
+	<select id="queryMessageCode" resultType="com.ym.mec.biz.dal.dto.SysMessageVo$SysMessageList">
+		select receiver_,content_,send_time_,title_ from sys_message
+		<include refid="countMessageCodeSql"/>
+		<include refid="global.limit" />
+	</select>
 </mapper>