Browse Source

modify:补充代码报错缺失部分

show
luyie 4 days ago
parent
commit
68e11b1179
  1. 22
      hzims-service-api/message-api/src/main/java/com/hnac/hzims/message/entity/log/AppLogEntity.java
  2. 19
      hzims-service-api/message-api/src/main/java/com/hnac/hzims/message/entity/log/MailLogEntity.java
  3. 57
      hzims-service-api/message-api/src/main/java/com/hnac/hzims/message/entity/log/MessageLogEntity.java
  4. 24
      hzims-service-api/message-api/src/main/java/com/hnac/hzims/message/entity/log/SmsLogEntity.java
  5. 13
      hzims-service-api/message-api/src/main/java/com/hnac/hzims/message/entity/log/WsLogEntity.java
  6. 216
      hzims-service/message/src/main/java/com/hnac/hzims/message/log/aspect/LogAspect.java
  7. 19
      hzims-service/message/src/main/java/com/hnac/hzims/message/log/aspect/SaveLog.java
  8. 21
      hzims-service/message/src/main/java/com/hnac/hzims/message/log/mapper/AppLogMapper.java
  9. 24
      hzims-service/message/src/main/java/com/hnac/hzims/message/log/mapper/AppLogMapper.xml
  10. 20
      hzims-service/message/src/main/java/com/hnac/hzims/message/log/mapper/MailLogMapper.java
  11. 24
      hzims-service/message/src/main/java/com/hnac/hzims/message/log/mapper/MailLogMapper.xml
  12. 21
      hzims-service/message/src/main/java/com/hnac/hzims/message/log/mapper/SmsLogMapper.java
  13. 23
      hzims-service/message/src/main/java/com/hnac/hzims/message/log/mapper/SmsLogMapper.xml
  14. 56
      hzims-service/message/src/main/java/com/hnac/hzims/message/log/service/IAppLogService.java
  15. 38
      hzims-service/message/src/main/java/com/hnac/hzims/message/log/service/IMailLogService.java
  16. 18
      hzims-service/message/src/main/java/com/hnac/hzims/message/log/service/IMessageLogService.java
  17. 37
      hzims-service/message/src/main/java/com/hnac/hzims/message/log/service/ISmsLogService.java
  18. 15
      hzims-service/message/src/main/java/com/hnac/hzims/message/log/service/impl/AppLogServiceImpl.java
  19. 20
      hzims-service/message/src/main/java/com/hnac/hzims/message/log/service/impl/MailLogServiceImpl.java
  20. 15
      hzims-service/message/src/main/java/com/hnac/hzims/message/log/service/impl/SmsLogServiceImpl.java

22
hzims-service-api/message-api/src/main/java/com/hnac/hzims/message/entity/log/AppLogEntity.java

@ -0,0 +1,22 @@
package com.hnac.hzims.message.entity.log;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author hx
*/
@ApiModel(value = "app推送日志对象",description = "app推送日志对象")
@TableName("hzims_app_log")
@Data
public class AppLogEntity extends MessageLogEntity {
@ApiModelProperty("是否推送全平台")
private Boolean isAll;
@ApiModelProperty("推送类型")
private String platformType;
}

19
hzims-service-api/message-api/src/main/java/com/hnac/hzims/message/entity/log/MailLogEntity.java

@ -0,0 +1,19 @@
package com.hnac.hzims.message.entity.log;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author hx
*/
@Data
@ApiModel(value = "邮箱推送日志",description = "邮箱推送日志")
@TableName("hzims_mail_log")
public class MailLogEntity extends MessageLogEntity {
@ApiModelProperty("推送邮箱")
private String email;
}

57
hzims-service-api/message-api/src/main/java/com/hnac/hzims/message/entity/log/MessageLogEntity.java

@ -0,0 +1,57 @@
package com.hnac.hzims.message.entity.log;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springblade.core.mp.support.QueryField;
import org.springblade.core.mp.support.SqlCondition;
import org.springblade.core.tenant.mp.TenantEntity;
import javax.validation.constraints.NotNull;
/**
* @author hx
*/
@Data
@ApiModel(value = "消息日志")
@TableName("hzims_mail_log")
public class MessageLogEntity extends TenantEntity {
@ApiModelProperty(value = "业务关键字",required = true)
@NotNull(message = "业务关键字不能为空")
@QueryField(condition = SqlCondition.LIKE)
private String businessKey;
@ApiModelProperty(value = "业务分类。系统通知:system,事务消息:business,日常提醒:dailyRemind,巡检消息:inspect",required = true)
@NotNull(message = "业务分类不能为空")
@QueryField(condition = SqlCondition.EQUAL)
private String businessClassify;
@ApiModelProperty(value = "主题",required = true)
@NotNull(message = "主题不能为空")
@QueryField(condition = SqlCondition.LIKE)
private String subject;
@ApiModelProperty(value = "内容",required = true)
@NotNull(message = "内容不能为空")
private String content;
@ApiModelProperty(value = "推送人")
@QueryField(condition = SqlCondition.EQUAL)
private String pusher;
@ApiModelProperty(value = "消息推送请求参数")
@QueryField(condition = SqlCondition.EQUAL)
private String params;
@ApiModelProperty(value = "错误日志")
private String errorLog;
@ApiModelProperty(value = "推送结果")
private String result;
@ApiModelProperty(value = "是否推送成功")
@QueryField(condition = SqlCondition.EQUAL)
private Boolean isSuccess;
}

24
hzims-service-api/message-api/src/main/java/com/hnac/hzims/message/entity/log/SmsLogEntity.java

@ -0,0 +1,24 @@
package com.hnac.hzims.message.entity.log;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @author hx
*/
@Data
@ApiModel(value = "短信日志对象",description = "短信日志对象")
@TableName("hzims_sms_log")
public class SmsLogEntity extends MessageLogEntity implements Serializable {
@ApiModelProperty(value = "接受短信的手机号",required = true)
private String phones;
@ApiModelProperty("短信模板参数")
private String paramsJson;
}

13
hzims-service-api/message-api/src/main/java/com/hnac/hzims/message/entity/log/WsLogEntity.java

@ -0,0 +1,13 @@
package com.hnac.hzims.message.entity.log;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* @author hx
*/
@ApiModel(value = "web推送日志对象",description = "web推送日志对象")
@Data
public class WsLogEntity extends MessageLogEntity {
}

216
hzims-service/message/src/main/java/com/hnac/hzims/message/log/aspect/LogAspect.java

@ -0,0 +1,216 @@
package com.hnac.hzims.message.log.aspect;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.hnac.hzims.message.MessageConstants;
import com.hnac.hzims.message.dto.AppPushDto;
import com.hnac.hzims.message.dto.MailPushDto;
import com.hnac.hzims.message.dto.SmsPushDto;
import com.hnac.hzims.message.dto.WsPushDto;
import com.hnac.hzims.message.entity.MsgWsRecordEntity;
import com.hnac.hzims.message.entity.log.AppLogEntity;
import com.hnac.hzims.message.entity.log.MailLogEntity;
import com.hnac.hzims.message.entity.log.SmsLogEntity;
import com.hnac.hzims.message.log.service.IAppLogService;
import com.hnac.hzims.message.log.service.IMailLogService;
import com.hnac.hzims.message.log.service.ISmsLogService;
import com.hnac.hzims.message.service.IMsgWsRecordService;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.springblade.core.log.logger.BladeLogger;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.ObjectUtil;
import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.lang.reflect.Method;
import java.util.concurrent.ExecutorService;
/**
* @author hx
*/
@Aspect
@Component
@Slf4j
public class LogAspect {
@Autowired
private IMailLogService mailLogService;
@Autowired
private IAppLogService appLogService;
@Autowired
private ISmsLogService smsLogService;
@Autowired
private ExecutorService logExecutorService;
@Autowired
private BladeLogger bladeLogger;
@Pointcut("@annotation(com.hnac.hzims.message.log.aspect.SaveLog)")
public void logPointCut() {
}
@Around("logPointCut()")
public Object around(ProceedingJoinPoint point) {
Object result = this.saveMessageLog(point);
return result;
}
/***
* 保存消息推送日志
* @param joinPoint 连接点
*/
private Object saveMessageLog(ProceedingJoinPoint joinPoint) {
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
Method method = signature.getMethod();
SaveLog saveLog = method.getAnnotation(SaveLog.class);
Object[] args = joinPoint.getArgs();
String errorLog = "";
Object result = null;
try {
//执行方法
result = joinPoint.proceed();
} catch (Throwable throwable) {
bladeLogger.error("message-log",throwable.getMessage());
throwable.printStackTrace();
errorLog = throwable.getMessage();
}
switch(saveLog.type()) {
case MessageConstants.APP_PUSH:
//app推送
this.savePushMessage(args[0],result,errorLog);
break;
case MessageConstants.SMS_PUSH:
//短信推送
this.saveSmsMessage(args[0],result,errorLog);
break;
case MessageConstants.WS_PUSH:
//websocket推送
this.saveWebsocketMessage(args[0],result,errorLog);
break;
case MessageConstants.MAIL_PUSH:
//邮件推送
this.saveMailMessage(args[0],result,errorLog);
break;
default:
break;
}
return result;
}
/***
* 保存websocket推送日志
* @param arg 参数
* @param result 结果
* @param errorLog 错误日志
*/
private void saveWebsocketMessage(Object arg, Object result, String errorLog) {
IMsgWsRecordService recordService = SpringUtil.getBean(IMsgWsRecordService.class);
WsPushDto wsPushDto = JSONObject.parseObject(JSON.toJSONString(arg),WsPushDto.class);
MsgWsRecordEntity recordEntity = MsgWsRecordEntity.builder()
.businessKey(wsPushDto.getBusinessKey())
.businessClassify(wsPushDto.getBusinessClassify())
.subject(wsPushDto.getSubject())
.content(wsPushDto.getContent())
.userIds(String.join(",",wsPushDto.getUserIdList()))
.isAll(wsPushDto.isAll())
.parameters(JSON.toJSONString(arg))
.response(ObjectUtil.isNotEmpty(result) ? JSON.toJSONString(result) : null)
.errorLog(errorLog)
.success(StringUtil.isBlank(errorLog))
.build();
//处理未登陆情况
if(ObjectUtil.isEmpty(AuthUtil.getUser())){
recordEntity.setTenantId(wsPushDto.getTenantId());
recordEntity.setCreateUser(wsPushDto.getCreateUser());
recordEntity.setCreateTime(DateUtil.now());
}
recordService.save(recordEntity);
}
/**
* 保存app推送日志
* @param arg 参数
* @param result 结果
* @param errorLog 错误信息
*/
private void savePushMessage(Object arg, Object result, String errorLog) {
logExecutorService.execute(()->{
AppPushDto appPushDto = JSONObject.parseObject(JSON.toJSONString(arg),AppPushDto.class);
AppLogEntity appLogEntity = appLogService.pushConvertLog(appPushDto);
//补充日志中推送推送结果以及错误日志
appLogEntity.setErrorLog(errorLog);
R r = JSONObject.parseObject(JSON.toJSONString(result),R.class);
appLogEntity.setParams(JSON.toJSONString(arg));
appLogEntity.setResult(JSON.toJSONString(r));
appLogEntity.setIsSuccess(r.isSuccess());
//处理未登陆情况
if(ObjectUtil.isEmpty(AuthUtil.getUser())){
appLogEntity.setTenantId(appPushDto.getTenantId());
appLogEntity.setCreateUser(appPushDto.getCreateUser());
appLogEntity.setCreateTime(DateUtil.now());
}
appLogService.save(appLogEntity);
});
}
/***
* 保存短信推送日志
* @param arg 参数
* @param result 结果
* @param errorLog 错误信息
*/
private void saveSmsMessage(Object arg, Object result,String errorLog) {
SmsPushDto smsPushDto = JSONObject.parseObject(JSON.toJSONString(arg),SmsPushDto.class);
SmsLogEntity smsLogEntity = smsLogService.pushConvertLog(smsPushDto);
R r = JSONObject.parseObject(JSON.toJSONString(result),R.class);
smsLogEntity.setErrorLog(errorLog);
smsLogEntity.setResult(JSON.toJSONString(r));
smsLogEntity.setParams(JSON.toJSONString(arg));
smsLogEntity.setIsSuccess(r.isSuccess());
//处理未登陆情况
if(ObjectUtil.isEmpty(AuthUtil.getUser())){
smsLogEntity.setTenantId(smsPushDto.getTenantId());
smsLogEntity.setCreateUser(smsPushDto.getCreateUser());
smsLogEntity.setCreateTime(DateUtil.now());
}
smsLogService.save(smsLogEntity);
}
/***
* 保存邮件发送日志
* @param arg 参数
* @param result 结果
* @param errorLog 错误信息
*/
private void saveMailMessage(Object arg, Object result,String errorLog) {
logExecutorService.execute(()->{
MailPushDto mailPushDto = JSONObject.parseObject(JSON.toJSONString(arg),MailPushDto.class);
MailLogEntity mailLogEntity = mailLogService.pushConvertLog(mailPushDto);
//补充日志中推送推送结果以及错误日志
mailLogEntity.setErrorLog(errorLog);
R r = JSONObject.parseObject(JSON.toJSONString(result),R.class);
mailLogEntity.setResult(JSON.toJSONString(r));
mailLogEntity.setParams(JSON.toJSONString(arg));
mailLogEntity.setIsSuccess(r.isSuccess());
//处理未登陆情况
if(ObjectUtil.isEmpty(AuthUtil.getUser())){
mailLogEntity.setTenantId(mailPushDto.getTenantId());
mailLogEntity.setCreateUser(mailPushDto.getCreateUser());
mailLogEntity.setCreateTime(DateUtil.now());
}
mailLogService.save(mailLogEntity);
});
}
}

19
hzims-service/message/src/main/java/com/hnac/hzims/message/log/aspect/SaveLog.java

@ -0,0 +1,19 @@
package com.hnac.hzims.message.log.aspect;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* @author hx
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(value = {ElementType.METHOD})
public @interface SaveLog {
/**
* 日志保存类型
* @return
*/
String type() default "";
}

21
hzims-service/message/src/main/java/com/hnac/hzims/message/log/mapper/AppLogMapper.java

@ -0,0 +1,21 @@
package com.hnac.hzims.message.log.mapper;
import com.hnac.hzims.message.dto.statistic.MsgPushStatisticDto;
import com.hnac.hzims.message.entity.log.AppLogEntity;
import com.hnac.hzims.message.vo.statistic.MsgPushStatisticVO;
import org.apache.ibatis.annotations.Param;
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper;
/**
* @author hx
*/
public interface AppLogMapper extends UserDataScopeBaseMapper<AppLogEntity> {
/**
* 获取app推送统计
* @param statisticDto
* @return
*/
MsgPushStatisticVO getAppPushStatistic(@Param("statisticDto") MsgPushStatisticDto statisticDto);
}

24
hzims-service/message/src/main/java/com/hnac/hzims/message/log/mapper/AppLogMapper.xml

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hnac.hzims.message.log.mapper.AppLogMapper">
<select id="getAppPushStatistic" resultType="com.hnac.hzims.message.vo.statistic.MsgPushStatisticVO">
select sum(LENGTH(PUSHER)-LENGTH(REPLACE(PUSHER,',',''))+1) `count`
from hzims_app_log
<where>
is_deleted = 0
<if test="statisticDto.startDate != null and statisticDto.startDate != ''">
and create_time &gt;= #{statisticDto.startDate}
</if>
<if test="statisticDto.endDate != null and statisticDto.endDate != ''">
and create_time &lt;= #{statisticDto.endDate}
</if>
<if test="statisticDto.deptId != null and statisticDto.deptId != ''">
and find_in_set(create_dept,#{statisticDto.deptId})
</if>
<if test="statisticDto.businessClassify != null and statisticDto.businessClassify != ''">
and find_in_set(business_classify,#{statisticDto.businessClassify})
</if>
</where>
</select>
</mapper>

20
hzims-service/message/src/main/java/com/hnac/hzims/message/log/mapper/MailLogMapper.java

@ -0,0 +1,20 @@
package com.hnac.hzims.message.log.mapper;
import com.hnac.hzims.message.dto.statistic.MsgPushStatisticDto;
import com.hnac.hzims.message.entity.log.MailLogEntity;
import com.hnac.hzims.message.vo.statistic.MsgPushStatisticVO;
import org.apache.ibatis.annotations.Param;
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper;
/**
* @author hx
*/
public interface MailLogMapper extends UserDataScopeBaseMapper<MailLogEntity> {
/**
* 获取邮箱推送统计
* @param statisticDto
* @return
*/
MsgPushStatisticVO getMailPushStatistic(@Param("statisticDto") MsgPushStatisticDto statisticDto);
}

24
hzims-service/message/src/main/java/com/hnac/hzims/message/log/mapper/MailLogMapper.xml

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hnac.hzims.message.log.mapper.MailLogMapper">
<select id="getMailPushStatistic" resultType="com.hnac.hzims.message.vo.statistic.MsgPushStatisticVO">
select sum(LENGTH(PUSHER)-LENGTH(REPLACE(PUSHER,',',''))+1) `count`
from hzims_mail_log
<where>
is_deleted = 0
<if test="statisticDto.startDate != null and statisticDto.startDate != ''">
and create_time &gt;= #{statisticDto.startDate}
</if>
<if test="statisticDto.endDate != null and statisticDto.endDate != ''">
and create_time &lt;= #{statisticDto.endDate}
</if>
<if test="statisticDto.deptId != null and statisticDto.deptId != ''">
and find_in_set(create_dept,#{statisticDto.deptId})
</if>
<if test="statisticDto.businessClassify != null and statisticDto.businessClassify != ''">
and find_in_set(business_classify,#{statisticDto.businessClassify})
</if>
</where>
</select>
</mapper>

21
hzims-service/message/src/main/java/com/hnac/hzims/message/log/mapper/SmsLogMapper.java

@ -0,0 +1,21 @@
package com.hnac.hzims.message.log.mapper;
import com.hnac.hzims.message.dto.statistic.MsgPushStatisticDto;
import com.hnac.hzims.message.entity.log.SmsLogEntity;
import com.hnac.hzims.message.vo.statistic.MsgPushStatisticVO;
import org.apache.ibatis.annotations.Param;
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper;
/**
* @author hx
*/
public interface SmsLogMapper extends UserDataScopeBaseMapper<SmsLogEntity> {
/**
* 获取短信推送统计
* @param statisticDto
* @return
*/
MsgPushStatisticVO getSmsPushStatistic(@Param("statisticDto") MsgPushStatisticDto statisticDto);
}

23
hzims-service/message/src/main/java/com/hnac/hzims/message/log/mapper/SmsLogMapper.xml

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hnac.hzims.message.log.mapper.SmsLogMapper">
<select id="getSmsPushStatistic" resultType="com.hnac.hzims.message.vo.statistic.MsgPushStatisticVO">
select sum(LENGTH(PUSHER)-LENGTH(REPLACE(PUSHER,',',''))+1) `count`
from hzims_sms_log
<where>
is_deleted = 0
<if test="statisticDto.startDate != null and statisticDto.startDate != ''">
and create_time &gt;= #{statisticDto.startDate}
</if>
<if test="statisticDto.endDate != null and statisticDto.endDate != ''">
and create_time &lt;= #{statisticDto.endDate}
</if>
<if test="statisticDto.deptId != null and statisticDto.deptId != ''">
and find_in_set(create_dept,#{statisticDto.deptId})
</if>
<if test="statisticDto.businessClassify != null and statisticDto.businessClassify != ''">
and find_in_set(business_classify,#{statisticDto.businessClassify})
</if>
</where>
</select>
</mapper>

56
hzims-service/message/src/main/java/com/hnac/hzims/message/log/service/IAppLogService.java

@ -0,0 +1,56 @@
package com.hnac.hzims.message.log.service;
import com.hnac.hzims.message.dto.AppPushDto;
import com.hnac.hzims.message.entity.log.AppLogEntity;
import com.hnac.hzinfo.core.push.enums.PlatformType;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.log.logger.BladeLogger;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.core.tool.utils.ObjectUtil;
import org.springframework.util.Assert;
import java.util.Arrays;
import java.util.stream.Collectors;
/**
* @author hx
*/
public interface IAppLogService extends IMessageLogService<AppLogEntity,AppPushDto> {
BladeLogger bladeLogger = new BladeLogger();
/**
* 将app推送对象 转换为日志对象
* @param pushDto app推送对象
* @return
*/
@Override
default AppLogEntity pushConvertLog(AppPushDto pushDto) {
Assert.isTrue(ObjectUtil.isNotEmpty(pushDto),()->{
throw new ServiceException("app推送对象 转换为日志对象时,app推送对象不能为空");
});
AppLogEntity appLogEntity = BeanUtil.copy(pushDto,AppLogEntity.class);
//排除对数据权限的影响
appLogEntity.setCreateDept(null);
appLogEntity.setCreateTime(null);
appLogEntity.setCreateUser(null);
appLogEntity.setUpdateUser(null);
appLogEntity.setUpdateTime(null);
Assert.isTrue(CollectionUtil.isNotEmpty(pushDto.getTags()),()-> {
bladeLogger.error("message-pushConvertLog","app推送 推送人不能为空");
throw new ServiceException("app推送 推送人不能为空");
});
appLogEntity.setPusher(pushDto.getTags().stream().collect(Collectors.joining(",")));
String platformTypes = "";
if(pushDto.getIsAll()){
platformTypes = Arrays.stream(PlatformType.values()).map(PlatformType::getValue).collect(Collectors.joining(","));
}
else {
platformTypes = Arrays.stream(pushDto.getPlatformTypes()).map(PlatformType::getValue).collect(Collectors.joining(","));
}
appLogEntity.setPlatformType(platformTypes);
return appLogEntity;
}
}

38
hzims-service/message/src/main/java/com/hnac/hzims/message/log/service/IMailLogService.java

@ -0,0 +1,38 @@
package com.hnac.hzims.message.log.service;
import com.hnac.hzims.message.dto.MailPushDto;
import com.hnac.hzims.message.entity.log.MailLogEntity;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.ObjectUtil;
import org.springframework.util.Assert;
import java.util.Arrays;
import java.util.stream.Collectors;
/**
* @author hx
*/
public interface IMailLogService extends IMessageLogService<MailLogEntity,MailPushDto> {
/**
* 邮件推送对象转换为邮箱日志对象
* @param mailPushDto 邮件推送对象
* @return 邮箱日志对象
*/
@Override
default MailLogEntity pushConvertLog(MailPushDto mailPushDto){
Assert.isTrue(ObjectUtil.isNotEmpty(mailPushDto),()->{
throw new ServiceException("邮件推送对象转换为邮箱日志对象时,邮件推送对象不能为空");
});
MailLogEntity mailLogEntity = BeanUtil.copy(mailPushDto,MailLogEntity.class);
mailLogEntity.setEmail(Arrays.stream(mailPushDto.getToAccount()).collect(Collectors.joining(",")));
mailLogEntity.setCreateDept(null);
mailLogEntity.setCreateTime(null);
mailLogEntity.setCreateUser(null);
mailLogEntity.setUpdateUser(null);
mailLogEntity.setUpdateTime(null);
return mailLogEntity;
}
}

18
hzims-service/message/src/main/java/com/hnac/hzims/message/log/service/IMessageLogService.java

@ -0,0 +1,18 @@
package com.hnac.hzims.message.log.service;
import com.hnac.hzims.message.dto.PushDto;
import com.hnac.hzims.message.entity.log.MessageLogEntity;
import org.springblade.core.mp.base.BaseService;
/**
* @author hx
*/
public interface IMessageLogService<T extends MessageLogEntity,E extends PushDto> extends BaseService<T> {
/**
* 推送对象转换为日志
* @param pushDto
* @return
*/
T pushConvertLog(E pushDto);
}

37
hzims-service/message/src/main/java/com/hnac/hzims/message/log/service/ISmsLogService.java

@ -0,0 +1,37 @@
package com.hnac.hzims.message.log.service;
import com.alibaba.fastjson.JSON;
import com.hnac.hzims.message.dto.SmsPushDto;
import com.hnac.hzims.message.entity.log.SmsLogEntity;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.CollectionUtil;
import java.util.stream.Collectors;
/**
* @author hx
*/
public interface ISmsLogService extends IMessageLogService<SmsLogEntity, SmsPushDto> {
/**
* 短信推送对象转换为日志对象
* @param pushDto 短信推送对象
* @return
*/
@Override
default SmsLogEntity pushConvertLog(SmsPushDto pushDto) {
SmsLogEntity smsLogEntity = BeanUtil.copy(pushDto,SmsLogEntity.class);
smsLogEntity.setCreateDept(null);
smsLogEntity.setCreateTime(null);
smsLogEntity.setCreateUser(null);
smsLogEntity.setUpdateUser(null);
smsLogEntity.setUpdateTime(null);
smsLogEntity.setPusher(pushDto.getPhones().stream().collect(Collectors.joining(",")));
smsLogEntity.setPhones(pushDto.getPhones().stream().collect(Collectors.joining(",")));
if(CollectionUtil.isNotEmpty(pushDto.getParams())){
smsLogEntity.setParamsJson(JSON.toJSONString(pushDto.getParams()));
}
return smsLogEntity;
}
}

15
hzims-service/message/src/main/java/com/hnac/hzims/message/log/service/impl/AppLogServiceImpl.java

@ -0,0 +1,15 @@
package com.hnac.hzims.message.log.service.impl;
import com.hnac.hzims.message.entity.log.AppLogEntity;
import com.hnac.hzims.message.log.mapper.AppLogMapper;
import com.hnac.hzims.message.log.service.IAppLogService;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
/**
* @author hx
*/
@Service("appLogService")
public class AppLogServiceImpl extends BaseServiceImpl<AppLogMapper, AppLogEntity> implements IAppLogService {
}

20
hzims-service/message/src/main/java/com/hnac/hzims/message/log/service/impl/MailLogServiceImpl.java

@ -0,0 +1,20 @@
package com.hnac.hzims.message.log.service.impl;
import com.hnac.hzims.message.entity.log.MailLogEntity;
import com.hnac.hzims.message.log.mapper.MailLogMapper;
import com.hnac.hzims.message.log.service.IMailLogService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
/**
* @author hx
*/
@Service("mailLogService")
@Slf4j
@AllArgsConstructor
public class MailLogServiceImpl extends BaseServiceImpl<MailLogMapper, MailLogEntity>
implements IMailLogService {
}

15
hzims-service/message/src/main/java/com/hnac/hzims/message/log/service/impl/SmsLogServiceImpl.java

@ -0,0 +1,15 @@
package com.hnac.hzims.message.log.service.impl;
import com.hnac.hzims.message.entity.log.SmsLogEntity;
import com.hnac.hzims.message.log.mapper.SmsLogMapper;
import com.hnac.hzims.message.log.service.ISmsLogService;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
/**
* @author hx
*/
@Service("smsLogService")
public class SmsLogServiceImpl extends BaseServiceImpl<SmsLogMapper, SmsLogEntity> implements ISmsLogService {
}
Loading…
Cancel
Save