Browse Source

1、增加系统消息推送

rayson 7 months ago
parent
commit
145f80a873
12 changed files with 104 additions and 10 deletions
  1. 15 2
      menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/CommonConstants.java
  2. 2 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/jobhunt/person/workexp/AppWorkExpSaveReqVO.java
  3. 2 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/talent/work/TalentMapWorkExpRespVO.java
  4. 2 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/talent/work/TalentMapWorkExpSaveReqVO.java
  5. 3 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/workexp/WorkExpRespVO.java
  6. 2 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/workexp/WorkExpSaveReqVO.java
  7. 2 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/framework/rpc/config/RpcConfiguration.java
  8. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/auth/MdeEnterpriseAuthServiceImpl.java
  9. 19 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/register/EnterpriseRegisterServiceImpl.java
  10. 22 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/redeem/RedeemServiceImpl.java
  11. 1 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/task/EnterpriseEmailNoticeTask.java
  12. 33 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/util/MessageUtils.java

+ 15 - 2
menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/CommonConstants.java

@@ -1,4 +1,7 @@
-package com.citu.module.menduner.system.enums;
+package com.citu.module.menduner.common.enums;
+
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 公共常量
@@ -7,10 +10,20 @@ public class CommonConstants {
     /** 邮箱验证码 **/
     public static final String EMAIL_TEMPLATE_CODE = "menduner-code";
 
-    /** 邮箱初始化密码 **/
+    /** 企业登录邮箱初始化密码 **/
     public static final String EMAIL_ENTERPRISE_INIT_PASSWORD = "menduner-enterprise-init-password";
 
     /** 企业发布职位额度赠送提醒 **/
     public static final String EMAIL_ENTERPRISE_PUBLISH_JOB_QUOTA = "menduner-enterprise-publish-job-quota";
 
+    /** ========== 站内信模版 ========== **/
+    public static final List<Long> notifySysUserId = new ArrayList<>(){{ add(131L);}};
+    /** 系统提示-积分兑换 1-{商品},2-{兑换积分},3-{联系人},4-{联系电话}**/
+    public static final String NOTIFY_SYS_POINT_REDEEM = "menduner_sys_point_redeem";
+    /** 系统提示-开发票 1-{开票金额},2-{企业}**/
+    public static final String NOTIFY_SYS_INVOICE = "menduner_sys_invoice";
+    /** 系统提示-企业申请注册 1-{企业}**/
+    public static final String NOTIFY_SYS_ENTERPRISE_REGISTER = "menduner_sys_enterprise_register";
+
+
 }

+ 2 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/jobhunt/person/workexp/AppWorkExpSaveReqVO.java

@@ -7,6 +7,7 @@ import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
+import java.util.List;
 
 @Schema(description = "menduner - 工作经历新增/修改 Request VO")
 @Data
@@ -58,6 +59,6 @@ public class AppWorkExpSaveReqVO {
     private String currencyType;
 
     @Schema(description = "技能")
-    private String skillList;
+    private List<String> skillList;
 
 }

+ 2 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/talent/work/TalentMapWorkExpRespVO.java

@@ -8,6 +8,7 @@ import lombok.Data;
 
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
+import java.util.List;
 
 @Schema(description = "管理后台 - 人才地图-工作经历 Response VO")
 @Data
@@ -92,7 +93,7 @@ public class TalentMapWorkExpRespVO {
 
     @Schema(description = "技能")
     @ExcelProperty("技能")
-    private String skillList;
+    private List<String> skillList;
 
     @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @ExcelProperty("创建时间")

+ 2 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/talent/work/TalentMapWorkExpSaveReqVO.java

@@ -7,6 +7,7 @@ import lombok.Data;
 import javax.validation.constraints.NotEmpty;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
+import java.util.List;
 
 @Schema(description = "管理后台 - 人才地图-工作经历新增/修改 Request VO")
 @Data
@@ -70,6 +71,6 @@ public class TalentMapWorkExpSaveReqVO {
     private String currencyType;
 
     @Schema(description = "技能")
-    private String skillList;
+    private List<String> skillList;
 
 }

+ 3 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/workexp/WorkExpRespVO.java

@@ -5,6 +5,8 @@ import lombok.*;
 
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
+import java.util.List;
+
 import com.alibaba.excel.annotation.*;
 import com.citu.framework.excel.core.annotations.DictFormat;
 import com.citu.framework.excel.core.convert.DictConvert;
@@ -81,7 +83,7 @@ public class WorkExpRespVO {
 
     @Schema(description = "技能")
     @ExcelProperty("技能")
-    private String skillList;
+    private List<String> skillList;
 
     @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @ExcelProperty("创建时间")

+ 2 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/workexp/WorkExpSaveReqVO.java

@@ -7,6 +7,7 @@ import org.springframework.format.annotation.DateTimeFormat;
 import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
+import java.util.List;
 
 import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
 
@@ -63,6 +64,6 @@ public class WorkExpSaveReqVO {
     private String currencyType;
 
     @Schema(description = "技能")
-    private String skillList;
+    private List<String> skillList;
 
 }

+ 2 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/framework/rpc/config/RpcConfiguration.java

@@ -7,6 +7,7 @@ import com.citu.module.pay.api.refund.PayRefundApi;
 import com.citu.module.pay.api.wallet.PayWalletApi;
 import com.citu.module.system.api.logger.LoginLogApi;
 import com.citu.module.system.api.mail.MailSendApi;
+import com.citu.module.system.api.notify.NotifyMessageSendApi;
 import com.citu.module.system.api.sms.SmsCodeApi;
 import com.citu.module.system.api.social.SocialClientApi;
 import com.citu.module.system.api.social.SocialUserApi;
@@ -21,6 +22,7 @@ import org.springframework.context.annotation.Configuration;
         SocialUserApi.class,
         SocialClientApi.class,
         MailSendApi.class,
+        NotifyMessageSendApi.class,
         PayOrderApi.class,
         PayRefundApi.class,
         PayWalletApi.class,

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/auth/MdeEnterpriseAuthServiceImpl.java

@@ -16,7 +16,7 @@ import com.citu.module.menduner.system.controller.app.common.auth.vo.AppMdeAuthL
 import com.citu.module.menduner.system.convert.MdeAuthConvert;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseUserBindDO;
 import com.citu.module.menduner.system.dal.dataobject.user.MdeUserDO;
-import com.citu.module.menduner.system.enums.CommonConstants;
+import com.citu.module.menduner.common.enums.CommonConstants;
 import com.citu.module.menduner.system.enums.MendunerStatusEnum;
 import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
 import com.citu.module.menduner.system.service.enterprise.register.EnterpriseRegisterService;

+ 19 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/register/EnterpriseRegisterServiceImpl.java

@@ -1,6 +1,7 @@
 package com.citu.module.menduner.system.service.enterprise.register;
 
 
+import cn.hutool.core.map.MapUtil;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.citu.framework.baiduaip.core.AipOcrClient;
 import com.citu.framework.baiduaip.core.ocr.BusinessLicenseOcr;
@@ -30,6 +31,8 @@ import com.citu.module.menduner.system.service.enterprise.EnterpriseService;
 import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
 import com.citu.module.menduner.system.service.enterprise.business.EnterpriseBusinessService;
 import com.citu.module.menduner.system.service.user.MdeUserService;
+import com.citu.module.menduner.system.util.MessageUtils;
+import com.citu.module.system.api.notify.dto.NotifySendSingleToUserReqDTO;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 import org.springframework.validation.annotation.Validated;
@@ -40,6 +43,8 @@ import java.util.ArrayList;
 import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static com.citu.framework.common.util.servlet.ServletUtils.getClientIP;
 import static com.citu.framework.web.core.util.WebFrameworkUtils.getTerminal;
+import static com.citu.module.menduner.common.enums.CommonConstants.NOTIFY_SYS_ENTERPRISE_REGISTER;
+import static com.citu.module.menduner.common.enums.CommonConstants.NOTIFY_SYS_POINT_REDEEM;
 import static com.citu.module.menduner.system.enums.ErrorCodeConstants.*;
 
 /**
@@ -65,6 +70,8 @@ public class EnterpriseRegisterServiceImpl implements EnterpriseRegisterService
     private MdeUserService mdeUserService;
     @Resource
     private AipOcrClient aipOcrClient;
+    @Resource
+    private MessageUtils messageUtils;
 
     @Override
     public Long createEnterpriseRegister(EnterpriseRegisterSaveReqVO createReqVO) {
@@ -277,6 +284,18 @@ public class EnterpriseRegisterServiceImpl implements EnterpriseRegisterService
                 );
             }
         }
+
+        // 发送系统消息
+        messageUtils.sendSystemMessage(
+                new NotifySendSingleToUserReqDTO()
+                        .setTemplateCode(NOTIFY_SYS_ENTERPRISE_REGISTER)
+                        .setTemplateParams(
+                                // 假设MapUtil.builder()的API允许链式调用,并且返回的是Map.Builder类型
+                                // 如果不是,你需要根据实际的API进行调整
+                                MapUtil.<String, Object>builder() // 显式指定泛型类型可能更好
+                                        .put("1",reqVO.getName())
+                                        .build()
+                        ));
     }
 
     /**

+ 22 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/redeem/RedeemServiceImpl.java

@@ -1,6 +1,7 @@
 package com.citu.module.menduner.system.service.redeem;
 
 
+import cn.hutool.core.map.MapUtil;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.util.object.BeanUtils;
@@ -13,6 +14,8 @@ import com.citu.module.menduner.system.controller.base.redeem.RedeemSaveReqVO;
 import com.citu.module.menduner.system.dal.dataobject.redeem.RedeemDO;
 import com.citu.module.menduner.system.dal.mysql.redeem.RedeemMapper;
 import com.citu.module.menduner.system.service.record.UserAccountRecordService;
+import com.citu.module.menduner.system.util.MessageUtils;
+import com.citu.module.system.api.notify.dto.NotifySendSingleToUserReqDTO;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
@@ -21,6 +24,7 @@ import java.util.HashMap;
 import java.util.Map;
 
 import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static com.citu.module.menduner.common.enums.CommonConstants.NOTIFY_SYS_POINT_REDEEM;
 import static com.citu.module.menduner.system.enums.ErrorCodeConstants.MDE_REQUEST_ILLEGAL;
 import static com.citu.module.menduner.system.enums.ErrorCodeConstants.REDEEM_NOT_EXISTS;
 
@@ -41,6 +45,8 @@ public class RedeemServiceImpl implements RedeemService {
         put("房券-高端酒店房券", 12000);
     }};
     @Resource
+    private MessageUtils messageUtils;
+    @Resource
     private RedeemMapper redeemMapper;
     @Resource
     private UserAccountRecordService accountRecordService;
@@ -110,5 +116,21 @@ public class RedeemServiceImpl implements RedeemService {
                 PointBizTypeEnum.REDEEM,
                 redeem.getId().toString()
         );
+
+        // 发送系统消息
+        messageUtils.sendSystemMessage(
+                new NotifySendSingleToUserReqDTO()
+                        .setTemplateCode(NOTIFY_SYS_POINT_REDEEM)
+                        .setTemplateParams(
+                                // 假设MapUtil.builder()的API允许链式调用,并且返回的是Map.Builder类型
+                                // 如果不是,你需要根据实际的API进行调整
+                                MapUtil.<String, Object>builder() // 显式指定泛型类型可能更好
+                                        .put("1", redeem.getName())
+                                        .put("2", redeem.getPoint())
+                                        .put("3", redeem.getContactName())
+                                        .put("4", redeem.getContactPhone())
+                                        .build()
+                        ));
+
     }
 }

+ 1 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/task/EnterpriseEmailNoticeTask.java

@@ -1,13 +1,12 @@
 package com.citu.module.menduner.system.task;
 
-import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.citu.framework.common.util.validation.ValidationUtils;
 import com.citu.module.menduner.system.controller.base.enterprise.vip.EnterpriseEntitlementRespVO;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseDO;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseEntitlementDO;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseUserBindDO;
 import com.citu.module.menduner.system.dal.mysql.enterprise.EnterpriseMapper;
-import com.citu.module.menduner.system.enums.CommonConstants;
+import com.citu.module.menduner.common.enums.CommonConstants;
 import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
 import com.citu.module.menduner.system.service.enterprise.vip.EnterpriseEntitlementService;
 import com.citu.module.system.api.mail.MailSendApi;

+ 33 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/util/MessageUtils.java

@@ -0,0 +1,33 @@
+package com.citu.module.menduner.system.util;
+
+import com.citu.module.menduner.common.enums.CommonConstants;
+import com.citu.module.system.api.notify.NotifyMessageSendApi;
+import com.citu.module.system.api.notify.dto.NotifySendSingleToUserReqDTO;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.stream.Collectors;
+
+/**
+ * 消息通知
+ **/
+@Component
+public class MessageUtils {
+
+    @Resource
+    private NotifyMessageSendApi notifyMessageSendApi;
+
+
+    /**
+     * 发送系统消息通知
+     * @param reqDTO       请求参数
+     */
+    public void sendSystemMessage(NotifySendSingleToUserReqDTO reqDTO) {
+        // 参数不变,更改方法
+        // 发送系统消息
+        CommonConstants.notifySysUserId.stream()
+                .map(userId -> notifyMessageSendApi.sendSingleMessageToAdmin(reqDTO))
+                .collect(Collectors.toList());
+    }
+
+}