From cb942a23952d1661b32fa3477fce280e3cfee078 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Thu, 23 Sep 2021 18:50:23 +0800 Subject: [PATCH 01/25] =?UTF-8?q?add=20=E5=B7=A5=E4=BD=9C=E7=BB=84?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=88=90=E5=91=98=E6=B7=BB=E5=8A=A0=E5=B7=B2?= =?UTF-8?q?=E6=8F=90=E9=86=92=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/PayMeetingRemindRecord.java | 68 ++++++++++++++++ .../mapper/PayMeetingRemindRecordMapper.java | 17 ++++ .../xml/PayMeetingRemindRecordMapper.xml | 13 ++++ .../IPayMeetingRemindRecordService.java | 54 +++++++++++++ .../PayMeetingRemindRecordServiceImpl.java | 78 +++++++++++++++++++ .../service/impl/PayMeetingServiceImpl.java | 27 +++++-- .../entity/PayWorkingGroupSubItem.java | 9 +++ .../PayWorkingGroupSubItemServiceImpl.java | 19 ++++- 8 files changed, 278 insertions(+), 7 deletions(-) create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingRemindRecord.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingRemindRecordMapper.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingRemindRecordMapper.xml create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingRemindRecordService.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingRemindRecordServiceImpl.java diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingRemindRecord.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingRemindRecord.java new file mode 100644 index 00000000..3f42900e --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingRemindRecord.java @@ -0,0 +1,68 @@ +package com.jero.meeting.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 会议提醒记录表 + * @Author: jero-boot + * @Date: 2021-09-23 + * @Version: V1.0 + */ +@Data +@TableName("pay_meeting_remind_record") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="pay_meeting_remind_record对象", description="会议提醒记录表") +public class PayMeetingRemindRecord implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**会议id*/ + @Excel(name = "会议id", width = 15) + @ApiModelProperty(value = "会议id") + private String meetingId; + + /**成员id*/ + @Excel(name = "成员id", width = 15) + @ApiModelProperty(value = "成员id") + private String subitemId; + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingRemindRecordMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingRemindRecordMapper.java new file mode 100644 index 00000000..30df4839 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingRemindRecordMapper.java @@ -0,0 +1,17 @@ +package com.jero.meeting.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.meeting.entity.PayMeetingRemindRecord; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 会议提醒记录表 + * @Author: jero-boot + * @Date: 2021-09-23 + * @Version: V1.0 + */ +public interface PayMeetingRemindRecordMapper extends BaseMapper { + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingRemindRecordMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingRemindRecordMapper.xml new file mode 100644 index 00000000..e4f6fcd2 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingRemindRecordMapper.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingRemindRecordService.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingRemindRecordService.java new file mode 100644 index 00000000..8f633859 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingRemindRecordService.java @@ -0,0 +1,54 @@ +package com.jero.meeting.service; + +import com.jero.meeting.entity.PayMeetingRemindRecord; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: 会议提醒记录表 + * @Author: jero-boot + * @Date: 2021-09-23 + * @Version: V1.0 + */ +public interface IPayMeetingRemindRecordService extends IService { + + /** + * 保存 + */ + void add(PayMeetingRemindRecord payMeetingRemindRecord); + + /** + * 更新 + */ + void editById(PayMeetingRemindRecord payMeetingRemindRecord); + + /** + * 通过id删除 + */ + void deleteById(String id); + + /** + * 批量删除 + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + */ + PayMeetingRemindRecord queryById(String id); + + /** + * 列表查询 + */ + List queryList(); + + /** + * 关联会议和工作组成员的提醒次数 + * @author lijiaro + * @date 2021/9/23 17:54 + * @param meetingIdList 会议id + * @param subitemIdList 成员id + * + */ + void addList(List meetingIdList, List subitemIdList); +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingRemindRecordServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingRemindRecordServiceImpl.java new file mode 100644 index 00000000..9395b32b --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingRemindRecordServiceImpl.java @@ -0,0 +1,78 @@ +package com.jero.meeting.service.impl; + +import com.jero.meeting.entity.PayMeetingRemindRecord; +import com.jero.meeting.mapper.PayMeetingRemindRecordMapper; +import com.jero.meeting.service.IPayMeetingRemindRecordService; +import org.springframework.stereotype.Service; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 会议提醒记录表 + * @Author: jero-boot + * @Date: 2021-09-23 + * @Version: V1.0 + */ +@Service +public class PayMeetingRemindRecordServiceImpl extends ServiceImpl implements IPayMeetingRemindRecordService { + + /** + * 保存 + */ + @Override + public void add(PayMeetingRemindRecord payMeetingRemindRecord) { + save(payMeetingRemindRecord); + } + + /** + * 更新 + */ + @Override + public void editById(PayMeetingRemindRecord payMeetingRemindRecord) { + saveOrUpdate(payMeetingRemindRecord); + } + + /** + * 通过id删除 + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + */ + @Override + public PayMeetingRemindRecord queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + */ + @Override + public List queryList() { + return list(); + } + + @Override + public void addList(List meetingIdList, List subitemIdList) { + for (String meetingId : meetingIdList) { + PayMeetingRemindRecord payMeetingRemindRecord = new PayMeetingRemindRecord(); + payMeetingRemindRecord.setMeetingId(meetingId); + for (String subitemId : subitemIdList) { + payMeetingRemindRecord.setSubitemId(subitemId); + this.save(payMeetingRemindRecord); + } + } + } +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java index cc3bfb3d..2b8101f7 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java @@ -7,14 +7,18 @@ import com.jero.common.exception.JeroBootException; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.ValidUtil; +import com.jero.company.entity.PayContactsManagement; +import com.jero.company.service.IPayContactsManagementService; import com.jero.data.entity.PayCaseCommittee; import com.jero.data.service.IPayCaseCommitteeService; import com.jero.meeting.common.MeetingCommon; import com.jero.meeting.entity.PayMeeting; import com.jero.meeting.entity.PayMeetingHotelContacts; +import com.jero.meeting.entity.PayMeetingRemindRecord; import com.jero.meeting.entity.PayMeetingSituation; import com.jero.meeting.mapper.PayMeetingMapper; import com.jero.meeting.service.IPayMeetingHotelContactsService; +import com.jero.meeting.service.IPayMeetingRemindRecordService; import com.jero.meeting.service.IPayMeetingService; import com.jero.meeting.service.IPayMeetingSituationService; import com.jero.meeting.valid.group.CaseCommitteeMeeting; @@ -66,9 +70,11 @@ public class PayMeetingServiceImpl extends ServiceImpl meetingIds, List subitemIds) { List payWorkingGroupSubItems = payWorkingGroupSubItemService.listByIds(subitemIds); List userIds = new ArrayList<>(); + //用于新增关联关系 + List meetingIdList = new ArrayList<>(); + List subitemIdList = new ArrayList<>(); //把单位会员中所有的联系人和有机联系人取出 for (PayWorkingGroupSubItem payWorkingGroupSubItem : payWorkingGroupSubItems) { + subitemIdList.add(payWorkingGroupSubItem.getId()); String contactsTemporaryIdOne = payWorkingGroupSubItem.getContactsTemporaryIdOne(); if (StrUtil.isNotBlank(contactsTemporaryIdOne)){ userIds.add(contactsTemporaryIdOne); @@ -323,19 +333,24 @@ public class PayMeetingServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); - wrapper.in(PayContactsManagementTemporary::getId,userIds); - List list = payContactsManagementTemporaryService.list(wrapper); - List payMeetings = listByIds(meetingIds); - for (PayContactsManagementTemporary payContactsManagementTemporary : list) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(PayContactsManagement::getId,userIds); + List list = payContactsManagementService.list(wrapper); + for (PayContactsManagement payContactsManagement : list) { //TODO 发送消息 } + //标记会议为已提醒 + List payMeetings = listByIds(meetingIds); for (PayMeeting payMeeting : payMeetings) { + meetingIdList.add(payMeeting.getId()); payMeeting.setRemind(MeetingCommon.REMIND_1); saveOrUpdate(payMeeting); } + payMeetingRemindRecordService.addList(meetingIdList,subitemIdList); } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java index 119c8a4c..471c7f38 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java @@ -192,4 +192,13 @@ public class PayWorkingGroupSubItem implements Serializable { @TableField(exist = false) @ApiModelProperty(value = "项目ids 多个以逗号分隔") private java.lang.String projectIds; + + /**已提醒*/ + @TableField(exist = false) + @Dict(dicCode = "yn") + private Integer remind; + + /**会议id*/ + @TableField(exist = false) + private java.lang.String meetingId; } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java index c4f93375..8417b2bc 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java @@ -17,6 +17,8 @@ import com.jero.contract.entity.PayIncomeContract; import com.jero.contract.entity.PayIncomeContractAssociated; import com.jero.contract.service.IPayIncomeContractAssociatedService; import com.jero.contract.service.IPayIncomeContractService; +import com.jero.meeting.entity.PayMeetingRemindRecord; +import com.jero.meeting.service.IPayMeetingRemindRecordService; import com.jero.pack.entity.PayPackCompanyProject; import com.jero.pack.service.IPayPackCompanyProjectService; import com.jero.project.common.PayProjectCommon; @@ -81,6 +83,8 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl queryPageList(Page page, PayWorkingGroupSubItem payWorkingGroupSubitem,String paymentDate) { - return payWorkingGroupSubItemMapper.queryPageList(page,payWorkingGroupSubitem,paymentDate); + IPage payWorkingGroupSubItemIPage = payWorkingGroupSubItemMapper.queryPageList(page, payWorkingGroupSubitem, paymentDate); + if (StringUtils.isNotBlank(payWorkingGroupSubitem.getMeetingId())){ + List records = payWorkingGroupSubItemIPage.getRecords(); + for (PayWorkingGroupSubItem workingGroupSubItem : records) { + String workingGroupSubItemId = workingGroupSubItem.getId(); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayMeetingRemindRecord::getId,workingGroupSubItemId); + int count = payMeetingRemindRecordService.count(wrapper); + if (count>0){ + workingGroupSubItem.setRemind(PayProjectCommon.YES); + } + } + } + return payWorkingGroupSubItemIPage; } @Override From 3a1e0999228d33402606c2cebdaab37d43ba6cec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Fri, 24 Sep 2021 08:50:37 +0800 Subject: [PATCH 02/25] =?UTF-8?q?=E6=B6=88=E6=81=AF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jero/common/system/api/ISysBaseAPI.java | 9 +++++ .../common/enums/CompanyMessageEnums.java | 35 +++++++------------ .../common/enums/ManagementMessageEnums.java | 31 ++++++---------- .../PayCompanyManagementController.java | 10 ------ .../impl/PayIncomeContractServiceImpl.java | 6 ++++ .../PayWorkingGroupSubItemController.java | 23 +++++------- .../system/entity/SysAnnouncement.java | 4 +++ .../mapper/xml/SysAnnouncementSendMapper.xml | 3 +- .../system/model/AnnouncementSendModel.java | 5 +++ .../system/service/impl/SysBaseApiImpl.java | 30 ++++++++++++++++ 10 files changed, 87 insertions(+), 69 deletions(-) diff --git a/jero-boot-base/jero-boot-base-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java b/jero-boot-base/jero-boot-base-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java index a88e36a7..c6f2cc58 100644 --- a/jero-boot-base/jero-boot-base-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java +++ b/jero-boot-base/jero-boot-base-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java @@ -6,6 +6,7 @@ import com.jero.common.api.dto.OnlineAuthDTO; import com.jero.common.api.dto.message.*; import com.jero.common.system.vo.*; +import java.util.HashMap; import java.util.List; import java.util.Set; @@ -280,6 +281,14 @@ public interface ISysBaseAPI extends CommonAPI { * @param content */ void sendEmailMsg(String email,String title,String content); + /** + * 40发送m模板邮件消息 + * @param email 接收人 必传 + * @param title 标题 (不传取模板标题) + * @param templateCode 模板编码 必传 + * @param map 模板替换参数 必传 + */ + void sendEmailTemplateMsg(String email,String title,String templateCode,HashMap map); /** * 41根据部门id查询部门所有的父级(不包含自己) * @author 马志朝 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/CompanyMessageEnums.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/CompanyMessageEnums.java index d9cd0e57..8e2941b4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/CompanyMessageEnums.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/CompanyMessageEnums.java @@ -12,18 +12,18 @@ import org.apache.commons.lang3.StringUtils; */ public enum CompanyMessageEnums { - MSG1("HYTZ_WORK_GROUP_CREATE","会议提醒","点击跳转到报名页面"), - MSG2("HYTZ_WORK_GROUP_SIGN_UP","会议提醒","弹窗:查看该会议详情"), - MSG3("HYTZ_WORK_GROUP_UPLOAD","会议提醒","弹窗:查看该会议详情"), - MSG4("HYTZ_WORK_GROUP_NOT_UPLOAD","会议提醒","弹窗:查看该会议详情"), - MSG5("HYTZ_NOT_AUDIT","会议提醒","弹窗:上传汇款凭证"), - MSG6("HYTZ_AUDIT","会议提醒","弹窗:查看该会议详情"), - MSG7("WJTZ_MEETING_SEND","文件提醒","弹窗:查看该会议详情"), - MSG8("HTTZ_PHASE","合同提醒","无"), - MSG9("YJTZ_MAIL","邮寄提醒","查看该物流信息"), - MSG10("YJTZ_MAIL_CONTRACT","邮寄提醒","查看该物流信息"), - MSG11("CKTZ_PAY","催款提醒","弹窗:查看该项目详情"), - MSG12("WJTZ_WORK_GROUP_SEND","文件提醒","弹窗:查看该项目详情"); + MSG1("HYTZ_WORK_GROUP_CREATE","会议提醒"),//点击跳转到报名页面,meetingName,busId + MSG2("HYTZ_WORK_GROUP_SIGN_UP","会议提醒"),//弹窗:查看该会议详情,meetingName + MSG3("HYTZ_WORK_GROUP_UPLOAD","会议提醒"),//弹窗:查看该会议详情,meetingName + MSG4("HYTZ_WORK_GROUP_NOT_UPLOAD","会议提醒"),//弹窗:查看该会议详情,meetingName + MSG5("HYTZ_NOT_AUDIT","会议提醒"),//弹窗:上传汇款凭证,meetingName + MSG6("HYTZ_AUDIT","会议提醒"),//弹窗:查看该会议详情,meetingName + MSG7("WJTZ_MEETING_SEND","文件提醒"),//弹窗:查看该会议详情,meetingName + MSG8("HTTZ_PHASE","合同提醒"),//无,contract,num,amount + MSG9("YJTZ_MAIL","邮寄提醒"),//查看该物流信息,projectName + MSG10("YJTZ_MAIL_CONTRACT","邮寄提醒"),//查看该物流信息,contractName + MSG11("CKTZ_PAY","催款提醒"),//弹窗:查看该项目详情,projectName + MSG12("WJTZ_WORK_GROUP_SEND","文件提醒");//弹窗:查看该项目详情,workGroupName private String code; @@ -32,10 +32,9 @@ public enum CompanyMessageEnums { private String detail; - CompanyMessageEnums(String code, String value, String detail){ + CompanyMessageEnums(String code, String value){ this.code = code; this.value = value; - this.detail = detail; } public String getCode() { @@ -54,14 +53,6 @@ public enum CompanyMessageEnums { this.value = value; } - public String getDetail() { - return detail; - } - - public void setDetail(String detail) { - this.detail = detail; - } - public static CompanyMessageEnums getByCode(String code) { if (StringUtils.isBlank(code)) { return null; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/ManagementMessageEnums.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/ManagementMessageEnums.java index 7096d911..4a43ea49 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/ManagementMessageEnums.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/ManagementMessageEnums.java @@ -11,26 +11,23 @@ import org.apache.commons.lang3.StringUtils; */ public enum ManagementMessageEnums { - MSG1("HTTZ_CREATE_PROJECT","项目提醒","查看详情"), - MSG2("HTTZ_SUBMIT","合同提醒","跳转到合同的详情页面"), - MSG3("HTTZ_AUDIT","合同提醒","跳转到合同的详情页面"), - MSG4("HTTZ_NOT_AUDIT","合同提醒","跳转到合同的详情页面"), - MSG5("HYTZ_SIGN_UP_UPLOAD","会议提醒","审核弹窗"), - MSG6("DBTZ_ADD","打包提醒","查看该项目详情"), - MSG7("DBTZ_CONTRACT","打包提醒","查看项目详情"), - MSG8("HYTZ_ON_ACCESS_UPDATE","会议提醒","查看该参会人详情"), - MSG9("QYTZ_CREATE","企业提醒","企业列表页"); + MSG1("HTTZ_CREATE_PROJECT","项目提醒"),// 查看详情,projectName + MSG2("HTTZ_SUBMIT","合同提醒"),// 跳转到合同的详情页面,contractNum,contractName + MSG3("HTTZ_AUDIT","合同提醒"),//跳转到合同的详情页面,contractNum,contractName + MSG4("HTTZ_NOT_AUDIT","合同提醒"),//跳转到合同的详情页面,contractNum,contractName + MSG5("HYTZ_SIGN_UP_UPLOAD","会议提醒"),//审核弹窗 + MSG6("DBTZ_ADD","打包提醒"),//查看该项目详情,projectName + MSG7("DBTZ_CONTRACT","打包提醒"),//查看项目详情,projectName + MSG8("HYTZ_ON_ACCESS_UPDATE","会议提醒"),//查看该参会人详情,meetingName,username1,username2 + MSG9("QYTZ_CREATE","企业提醒");//企业列表页 private String code; private String value; - private String detail; - - ManagementMessageEnums(String code, String value, String detail){ + ManagementMessageEnums(String code, String value){ this.code = code; this.value = value; - this.detail = detail; } public String getCode() { @@ -49,14 +46,6 @@ public enum ManagementMessageEnums { this.value = value; } - public String getDetail() { - return detail; - } - - public void setDetail(String detail) { - this.detail = detail; - } - public static ManagementMessageEnums getByCode(String code) { if (StringUtils.isBlank(code)) { return null; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java index db590fbd..ea40b6aa 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java @@ -147,16 +147,6 @@ public class PayCompanyManagementController extends JeroController queryWrapper = new LambdaQueryWrapper<>(); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java index 85eceb10..13715cec 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java @@ -5,8 +5,12 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.api.dto.message.BusTemplateMessageDTO; +import com.jero.common.enums.CompanyMessageEnums; import com.jero.common.exception.JeroBootException; +import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.vo.LoginUser; +import com.jero.common.util.PasswordUtil; import com.jero.common.util.ValidUtil; import com.jero.contract.common.PayIncomeContractCommon; import com.jero.contract.entity.PayIncomeContract; @@ -95,6 +99,8 @@ public class PayIncomeContractServiceImpl extends ServiceImpl queryPageList(Page page, PayIncomeContract payIncomeContract, String chargeStatus,String projectName, String startTime, String endTime) { diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java index 8f917ef4..d2c42cf1 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java @@ -13,6 +13,7 @@ import com.jero.common.service.ProjectDetailService; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.vo.LoginUser; +import com.jero.common.util.PasswordUtil; import com.jero.common.util.ValidUtil; import com.jero.common.vo.ProjectDetailVO; import com.jero.message.service.IPayAnnouncementMessageService; @@ -159,30 +160,22 @@ public class PayWorkingGroupSubItemController extends JeroController map = new HashMap<>(); + map.put("projectName",payWorkingGroup.getWorkingGroupProject()); + // 发送邮件 + sysBaseAPI.sendEmailTemplateMsg(PasswordUtil.decrypt(listContactsEmail.get(0).getEmail()), CompanyMessageEnums.MSG11.getValue(), CompanyMessageEnums.MSG11.getCode(),map); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); -// PayAnnouncementMessage payAnnouncementMessage = new PayAnnouncementMessage(); -// payAnnouncementMessage.setTitile(MessageEnums.MSG14.getValue()); -// payAnnouncementMessage.setMsgContent(msg); -// payAnnouncementMessage.setSender(sysUser.getId()); -// payAnnouncementMessage.setRecipient(sysUser.getId()); -// payAnnouncementMessage.setMsgCategory(MessageEnums.MSG14.getCode()); -// payAnnouncementMessage.setOperation(MessageEnums.MSG14.getDetail()); -// payAnnouncementMessage.setBusId(p.getId()); -// payAnnouncementMessageService.sendMessage(payAnnouncementMessage); BusTemplateMessageDTO busTemplateMessageDTO = new BusTemplateMessageDTO(); busTemplateMessageDTO.setTitle(CompanyMessageEnums.MSG11.getValue()); busTemplateMessageDTO.setFromUser(sysUser.getId()); busTemplateMessageDTO.setToUser(sysUser.getUsername()); busTemplateMessageDTO.setTemplateCode(CompanyMessageEnums.MSG11.getCode()); - busTemplateMessageDTO.setTemplateParam(null); + busTemplateMessageDTO.setTemplateParam(map); + busTemplateMessageDTO.setBusType("email"); busTemplateMessageDTO.setBusId(p.getId()); + // 发送消息 sysBaseAPI.sendBusTemplateAnnouncement(busTemplateMessageDTO); }); - // todo 缺少发送消息 return Result.OK("添加成功!"); } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysAnnouncement.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysAnnouncement.java index 01642f1e..e0d71634 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysAnnouncement.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysAnnouncement.java @@ -144,4 +144,8 @@ public class SysAnnouncement implements Serializable { * 摘要 */ private java.lang.String msgAbstract; + /** + * 模板编码 + */ + private String templateCode; } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysAnnouncementSendMapper.xml b/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysAnnouncementSendMapper.xml index de13e8b6..596a92fe 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysAnnouncementSendMapper.xml +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysAnnouncementSendMapper.xml @@ -37,7 +37,8 @@ sa.bus_id as bus_id, sa.open_type as open_type, sa.open_page as open_page, - sa.msg_abstract + sa.msg_abstract, + sa.template_code from sys_announcement_send sas left join sys_announcement sa ON sas.annt_id = sa.id where sa.send_status = '1' diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/model/AnnouncementSendModel.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/model/AnnouncementSendModel.java index f6ba4956..52752f6f 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/model/AnnouncementSendModel.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/model/AnnouncementSendModel.java @@ -77,4 +77,9 @@ public class AnnouncementSendModel implements Serializable { */ private java.lang.String msgAbstract; + /** + * 模板编码 + */ + private java.lang.String templateCode; + } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java index 8de4e14b..24c63a39 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java @@ -13,6 +13,7 @@ import com.jero.common.util.HuaWeiSmsUtil; import com.jero.modules.oss.mapper.OSSFileMapper; import com.jero.modules.pay.company.entity.PayContactsManagement; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.shiro.SecurityUtils; import com.jero.common.api.dto.OnlineAuthDTO; @@ -430,6 +431,7 @@ public class SysBaseApiImpl implements ISysBaseAPI { announcement.setBusType(busType); announcement.setOpenType(SysAnnmentTypeEnum.getByType(busType).getOpenType()); announcement.setOpenPage(SysAnnmentTypeEnum.getByType(busType).getOpenPage()); + announcement.setTemplateCode(templateCode); sysAnnouncementMapper.insert(announcement); // 2.插入用户通告阅读标记表记录 String userId = toUser; @@ -1012,6 +1014,34 @@ public class SysBaseApiImpl implements ISysBaseAPI { emailHandle.SendMsg(email, title, content); } + @Override + public void sendEmailTemplateMsg(String email,String title,String templateCode,HashMap map) { + if(StringUtils.isBlank(email)){ + throw new JeroBootException("邮件接收人不能为空"); + } + if(StringUtils.isBlank(templateCode)){ + throw new JeroBootException("模板编码不能为空"); + } + List sysSmsTemplates = sysMessageTemplateService.selectByCode(templateCode); + if(CollectionUtils.isEmpty(sysSmsTemplates)){ + throw new JeroBootException("消息模板不存在,模板编码:"+templateCode); + } + SysMessageTemplate sysSmsTemplate = sysSmsTemplates.get(0); + //模板标题 + title = Objects.isNull(title) ? sysSmsTemplate.getTemplateName() : title; + //模板内容 + String content = sysSmsTemplate.getTemplateContent(); + if(!Objects.isNull(map)) { + for (Map.Entry entry : map.entrySet()) { + String str = "${" + entry.getKey() + "}"; + title = title.replace(str, entry.getValue()); + content = content.replace(str, entry.getValue()); + } + } + EmailSendMsgHandle emailHandle = new EmailSendMsgHandle(); + emailHandle.SendMsg(email, title, content); + } + /** * 发送邮件+ 附件消息 * @param email From bc828d40002871f32c701f42d2901cc4cb6e411e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Fri, 24 Sep 2021 08:52:52 +0800 Subject: [PATCH 03/25] =?UTF-8?q?=E6=B6=88=E6=81=AF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jero/message/common/MessageCommon.java | 12 -- .../PayAnnouncementMessageController.java | 179 ------------------ .../entity/PayAnnouncementMessage.java | 89 --------- .../mapper/PayAnnouncementMessageMapper.java | 15 -- .../xml/PayAnnouncementMessageMapper.xml | 5 - .../IPayAnnouncementMessageService.java | 16 -- .../PayAnnouncementMessageServiceImpl.java | 46 ----- .../PayWorkingGroupSubItemController.java | 5 - .../src/main/resources/application-dev.yml | 20 +- 9 files changed, 10 insertions(+), 377 deletions(-) delete mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/message/common/MessageCommon.java delete mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/message/controller/PayAnnouncementMessageController.java delete mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/message/entity/PayAnnouncementMessage.java delete mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/message/mapper/PayAnnouncementMessageMapper.java delete mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/message/mapper/xml/PayAnnouncementMessageMapper.xml delete mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/message/service/IPayAnnouncementMessageService.java delete mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/message/service/impl/PayAnnouncementMessageServiceImpl.java diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/message/common/MessageCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/message/common/MessageCommon.java deleted file mode 100644 index 6b386330..00000000 --- a/jero-boot-incoming-payment/src/main/java/com/jero/message/common/MessageCommon.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.jero.message.common; - -public class MessageCommon { - /** - * 阅读状态(0未读,1已读) - */ - public final static Integer READ_FLAG1 = 1; - /** - * 阅读状态(0未读,1已读) - */ - public final static Integer READ_FLAG0 = 0; -} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/message/controller/PayAnnouncementMessageController.java b/jero-boot-incoming-payment/src/main/java/com/jero/message/controller/PayAnnouncementMessageController.java deleted file mode 100644 index 5e0e927d..00000000 --- a/jero-boot-incoming-payment/src/main/java/com/jero/message/controller/PayAnnouncementMessageController.java +++ /dev/null @@ -1,179 +0,0 @@ -package com.jero.message.controller; - -import java.util.Arrays; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.jero.common.api.vo.Result; -import com.jero.common.aspect.annotation.AutoLog; -import com.jero.common.system.base.controller.JeroController; -import com.jero.common.system.query.QueryGenerator; -import com.jero.common.system.vo.LoginUser; -import com.jero.message.common.MessageCommon; -import com.jero.message.entity.PayAnnouncementMessage; -import com.jero.message.service.IPayAnnouncementMessageService; -import lombok.extern.slf4j.Slf4j; -import org.apache.shiro.SecurityUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.servlet.ModelAndView; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; - - /** - * @Description: 消息 - * @Author: jeecg-boot - * @Date: 2021-09-22 - * @Version: V1.0 - */ -@Api(tags="消息") -@RestController -@RequestMapping("/message/payAnnouncementMessage") -@Slf4j -public class PayAnnouncementMessageController extends JeroController { - @Autowired - private IPayAnnouncementMessageService payAnnouncementMessageService; - - /** - * 分页列表查询 - * - * @param payAnnouncementMessage - * @param pageNo - * @param pageSize - * @param req - * @return - */ - @AutoLog(value = "消息-分页列表查询") - @ApiOperation(value="消息-分页列表查询", notes="消息-分页列表查询") - @GetMapping(value = "/list") - public Result queryPageList(PayAnnouncementMessage payAnnouncementMessage, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - payAnnouncementMessage.setRecipient(sysUser.getId()); - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payAnnouncementMessage, req.getParameterMap()); - Page page = new Page<>(pageNo, pageSize); - IPage pageList = payAnnouncementMessageService.page(page, queryWrapper); - return Result.OK(pageList); - } - /** - * @Description 已读 - * @Author lqt - * @Date 2021/9/22 - * @Param - * @Return - * @Exception - */ - @AutoLog(value = "消息-已读") - @ApiOperation(value="消息-已读", notes="消息-已读") - @PostMapping(value = "/add") - public Result update(@RequestBody PayAnnouncementMessage payAnnouncementMessage) { - LambdaUpdateWrapper update = new LambdaUpdateWrapper<>(); - update.eq(PayAnnouncementMessage::getId,payAnnouncementMessage.getId()); - update.set(PayAnnouncementMessage::getReadFlag,MessageCommon.READ_FLAG1); - payAnnouncementMessageService.update(update); - return Result.OK("操作成功!"); - } - - /** - * 添加 - * - * @param payAnnouncementMessage - * @return - */ -// @AutoLog(value = "pay_announcement_message-添加") -// @ApiOperation(value="pay_announcement_message-添加", notes="pay_announcement_message-添加") -// @PostMapping(value = "/add") - public Result add(@RequestBody PayAnnouncementMessage payAnnouncementMessage) { - payAnnouncementMessageService.save(payAnnouncementMessage); - return Result.OK("添加成功!"); - } - - /** - * 编辑 - * - * @param payAnnouncementMessage - * @return - */ -// @AutoLog(value = "pay_announcement_message-编辑") -// @ApiOperation(value="pay_announcement_message-编辑", notes="pay_announcement_message-编辑") -// @PutMapping(value = "/edit") - public Result edit(@RequestBody PayAnnouncementMessage payAnnouncementMessage) { - payAnnouncementMessageService.updateById(payAnnouncementMessage); - return Result.OK("编辑成功!"); - } - - /** - * 通过id删除 - * - * @param id - * @return - */ -// @AutoLog(value = "pay_announcement_message-通过id删除") -// @ApiOperation(value="pay_announcement_message-通过id删除", notes="pay_announcement_message-通过id删除") -// @DeleteMapping(value = "/delete") - public Result delete(@RequestParam(name="id",required=true) String id) { - payAnnouncementMessageService.removeById(id); - return Result.OK("删除成功!"); - } - - /** - * 批量删除 - * - * @param ids - * @return - */ -// @AutoLog(value = "pay_announcement_message-批量删除") -// @ApiOperation(value="pay_announcement_message-批量删除", notes="pay_announcement_message-批量删除") -// @DeleteMapping(value = "/deleteBatch") - public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.payAnnouncementMessageService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("批量删除成功!"); - } - - /** - * 通过id查询 - * - * @param id - * @return - */ - @AutoLog(value = "pay_announcement_message-通过id查询") - @ApiOperation(value="pay_announcement_message-通过id查询", notes="pay_announcement_message-通过id查询") - @GetMapping(value = "/queryById") - public Result queryById(@RequestParam(name="id",required=true) String id) { - PayAnnouncementMessage payAnnouncementMessage = payAnnouncementMessageService.getById(id); - if(payAnnouncementMessage==null) { - return Result.error("未找到对应数据"); - } - return Result.OK(payAnnouncementMessage); - } - - /** - * 导出excel - * - * @param request - * @param payAnnouncementMessage - */ -// @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(HttpServletRequest request, PayAnnouncementMessage payAnnouncementMessage) { - return super.exportXls(request, payAnnouncementMessage, PayAnnouncementMessage.class, "pay_announcement_message"); - } - - /** - * 通过excel导入数据 - * - * @param request - * @param response - * @return - */ -// @RequestMapping(value = "/importExcel", method = RequestMethod.POST) - public Result importExcel(HttpServletRequest request, HttpServletResponse response) { - return super.importExcel(request, response, PayAnnouncementMessage.class); - } - -} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/message/entity/PayAnnouncementMessage.java b/jero-boot-incoming-payment/src/main/java/com/jero/message/entity/PayAnnouncementMessage.java deleted file mode 100644 index 129558aa..00000000 --- a/jero-boot-incoming-payment/src/main/java/com/jero/message/entity/PayAnnouncementMessage.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.jero.message.entity; - -import java.io.Serializable; -import java.util.Date; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; -import org.jeecgframework.poi.excel.annotation.Excel; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * @Description: pay_announcement_message - * @Author: jeecg-boot - * @Date: 2021-09-22 - * @Version: V1.0 - */ -@Data -@TableName("pay_announcement_message") -@Accessors(chain = true) -@EqualsAndHashCode(callSuper = false) -@ApiModel(value="pay_announcement_message对象", description="pay_announcement_message") -public class PayAnnouncementMessage implements Serializable { - private static final long serialVersionUID = 1L; - - /**id*/ - @TableId(type = IdType.ASSIGN_ID) - @ApiModelProperty(value = "id") - private String id; - /**标题*/ - @Excel(name = "标题", width = 15) - @ApiModelProperty(value = "标题") - private String titile; - /**内容*/ - @Excel(name = "内容", width = 15) - @ApiModelProperty(value = "内容") - private String msgContent; - /**发布人*/ - @Excel(name = "发布人", width = 15) - @ApiModelProperty(value = "发布人") - private String sender; - /**接收用户*/ - @Excel(name = "接收用户", width = 15) - @ApiModelProperty(value = "接收用户") - private String recipient; - /**消息类型(字典表)*/ - @Excel(name = "消息类型(字典表)", width = 15) - @ApiModelProperty(value = "消息类型(字典表)") - private Integer msgCategory; - /**操作*/ - @Excel(name = "操作", width = 15) - @ApiModelProperty(value = "操作") - private String operation; - /**业务id*/ - @Excel(name = "业务id", width = 15) - @ApiModelProperty(value = "业务id") - private String busId; - /**阅读状态(0未读,1已读)*/ - @Excel(name = "阅读状态(0未读,1已读)", width = 15) - @ApiModelProperty(value = "阅读状态(0未读,1已读)") - private Integer readFlag; - /**阅读时间*/ - @Excel(name = "阅读时间", width = 15, format = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") - @DateTimeFormat(pattern="yyyy-MM-dd") - @ApiModelProperty(value = "阅读时间") - private Date readTime; - /**创建人*/ - @ApiModelProperty(value = "创建人") - private String createBy; - /**创建时间*/ - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") - @DateTimeFormat(pattern="yyyy-MM-dd") - @ApiModelProperty(value = "创建时间") - private Date createTime; - /**更新人*/ - @ApiModelProperty(value = "更新人") - private String updateBy; - /**更新时间*/ - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") - @DateTimeFormat(pattern="yyyy-MM-dd") - @ApiModelProperty(value = "更新时间") - private Date updateTime; -} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/message/mapper/PayAnnouncementMessageMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/message/mapper/PayAnnouncementMessageMapper.java deleted file mode 100644 index 85723327..00000000 --- a/jero-boot-incoming-payment/src/main/java/com/jero/message/mapper/PayAnnouncementMessageMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.jero.message.mapper; - - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.jero.message.entity.PayAnnouncementMessage; - -/** - * @Description: pay_announcement_message - * @Author: jeecg-boot - * @Date: 2021-09-22 - * @Version: V1.0 - */ -public interface PayAnnouncementMessageMapper extends BaseMapper { - -} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/message/mapper/xml/PayAnnouncementMessageMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/message/mapper/xml/PayAnnouncementMessageMapper.xml deleted file mode 100644 index 9da686e2..00000000 --- a/jero-boot-incoming-payment/src/main/java/com/jero/message/mapper/xml/PayAnnouncementMessageMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/message/service/IPayAnnouncementMessageService.java b/jero-boot-incoming-payment/src/main/java/com/jero/message/service/IPayAnnouncementMessageService.java deleted file mode 100644 index 374adbc4..00000000 --- a/jero-boot-incoming-payment/src/main/java/com/jero/message/service/IPayAnnouncementMessageService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.jero.message.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.jero.message.entity.PayAnnouncementMessage; - -/** - * @Description: pay_announcement_message - * @Author: jeecg-boot - * @Date: 2021-09-22 - * @Version: V1.0 - */ -public interface IPayAnnouncementMessageService extends IService { - - void sendMessage(PayAnnouncementMessage payAnnouncementMessage); - -} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/message/service/impl/PayAnnouncementMessageServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/message/service/impl/PayAnnouncementMessageServiceImpl.java deleted file mode 100644 index ef114104..00000000 --- a/jero-boot-incoming-payment/src/main/java/com/jero/message/service/impl/PayAnnouncementMessageServiceImpl.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.jero.message.service.impl; - -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.jero.common.constant.WebsocketConst; -import com.jero.common.exception.JeroBootException; -import com.jero.message.common.MessageCommon; -import com.jero.message.entity.PayAnnouncementMessage; -import com.jero.message.mapper.PayAnnouncementMessageMapper; -import com.jero.message.service.IPayAnnouncementMessageService; -import com.jero.modules.message.websocket.WebSocket; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import javax.annotation.Resource; -import java.util.Objects; - -/** - * @Description: pay_announcement_message - * @Author: jeecg-boot - * @Date: 2021-09-22 - * @Version: V1.0 - */ -@Service -public class PayAnnouncementMessageServiceImpl extends ServiceImpl implements IPayAnnouncementMessageService { - @Autowired - private IPayAnnouncementMessageService payAnnouncementMessageService; - @Resource - private WebSocket webSocket; - @Override - @Transactional - public void sendMessage(PayAnnouncementMessage payAnnouncementMessage) { - if(Objects.isNull(payAnnouncementMessage)){ - throw new JeroBootException("发送消息失败!"); - } - payAnnouncementMessage.setReadFlag(MessageCommon.READ_FLAG0); - payAnnouncementMessageService.save(payAnnouncementMessage); - JSONObject obj = new JSONObject(); - obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_USER); - obj.put(WebsocketConst.MSG_USER_ID, payAnnouncementMessage.getRecipient()); - obj.put(WebsocketConst.MSG_ID, payAnnouncementMessage.getId()); - obj.put(WebsocketConst.MSG_TXT, payAnnouncementMessage.getTitile()); - webSocket.sendMessage(payAnnouncementMessage.getRecipient(), obj.toJSONString()); - } -} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java index d2c42cf1..e7472747 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java @@ -5,10 +5,8 @@ import java.util.stream.Collectors; import javax.servlet.http.HttpServletRequest; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jero.common.api.dto.message.BusTemplateMessageDTO; -import com.jero.common.api.dto.message.TemplateMessageDTO; import com.jero.common.api.vo.Result; import com.jero.common.enums.CompanyMessageEnums; -import com.jero.common.enums.ManagementMessageEnums; import com.jero.common.service.ProjectDetailService; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.base.controller.JeroController; @@ -16,7 +14,6 @@ import com.jero.common.system.vo.LoginUser; import com.jero.common.util.PasswordUtil; import com.jero.common.util.ValidUtil; import com.jero.common.vo.ProjectDetailVO; -import com.jero.message.service.IPayAnnouncementMessageService; import com.jero.project.common.PayProjectCommon; import com.jero.project.entity.*; import com.jero.project.service.IPayWorkingGroupService; @@ -56,8 +53,6 @@ public class PayWorkingGroupSubItemController extends JeroController Date: Fri, 24 Sep 2021 08:54:44 +0800 Subject: [PATCH 04/25] =?UTF-8?q?=E6=B6=88=E6=81=AF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-dev.yml | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/jero-boot-single-startup/src/main/resources/application-dev.yml b/jero-boot-single-startup/src/main/resources/application-dev.yml index 9c227cbb..88da7252 100644 --- a/jero-boot-single-startup/src/main/resources/application-dev.yml +++ b/jero-boot-single-startup/src/main/resources/application-dev.yml @@ -29,24 +29,24 @@ spring: username: zhangqinlin@syxysoft.com password: Zql0000000 port: 25 -# host: smtp.163.com -# username: test@163.com -# password: ?? -# properties: -# mail: -# smtp: -# auth: true -# starttls: -# enable: true -# required: true + # host: smtp.163.com + # username: test@163.com + # password: ?? + # properties: + # mail: + # smtp: + # auth: true + # starttls: + # enable: true + # required: true ## quartz定时任务,采用数据库方式 quartz: job-store-type: jdbc - initialize-schema: embedded` + initialize-schema: embedded #设置自动启动,默认为 true - auto-startup: false + auto-startup: true #启动时更新己存在的Job - overwrite-existing-jobs: false + overwrite-existing-jobs: true properties: org: quartz: @@ -140,15 +140,15 @@ spring: password: 123456 driver-class-name: com.p6spy.engine.spy.P6SpyDriver # 多数据源配置 -# multi-datasource1: -# url: jdbc:p6spy:mysql://192.168.18.254:3306/standards_association?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&serverTimezone=Asia/Shanghai -# username: root -# password: 123456 -# driver-class-name: com.p6spy.engine.spy.P6SpyDriver + multi-datasource1: + url: jdbc:p6spy:mysql://192.168.18.254:3306/standards_association?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&serverTimezone=Asia/Shanghai + username: root + password: 123456 + driver-class-name: com.p6spy.engine.spy.P6SpyDriver redis: database: 14 # host: 121.36.69.172 - host: localhost + host: 192.168.18.254 lettuce: pool: max-active: 8 #最大连接数据库连接数,设 0 为没有限制 @@ -157,7 +157,7 @@ spring: min-idle: 0 #最小等待连接中的数量,设 0 为没有限制 shutdown-timeout: 100ms # password: hzwlsoft.com - password: + password: 123456 # port: 4780 port: 6379 @@ -172,9 +172,9 @@ mybatis-plus: id-type: ASSIGN_ID # 默认数据库表下划线命名 table-underline: true -# configuration: + # configuration: # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用 -# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 返回类型为Map,显示null对应的字段 # call-setters-on-nulls: true #jero专用配置 From 5683f6a54c3d01e7a00af338fbac0a6318e65110 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Fri, 24 Sep 2021 10:24:48 +0800 Subject: [PATCH 05/25] =?UTF-8?q?add=20=E7=94=A8=E6=88=B7=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E7=9F=AD=E4=BF=A1=E4=BF=AE=E6=94=B9=E5=AF=86=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CompanyLoginController.java | 15 +++--- .../IPayContactsManagementService.java | 2 +- .../PayContactsManagementServiceImpl.java | 5 +- .../com/jero/company/vo/CompanyLoginVO.java | 2 +- .../system/controller/LoginController.java | 27 +++++++--- .../modules/system/model/SysLoginModel.java | 46 +++-------------- .../jero/modules/system/model/SysLoginVO.java | 51 +++++++++++++++++++ .../system/service/ISysUserService.java | 3 +- .../service/impl/SysUserServiceImpl.java | 35 ++++++------- 9 files changed, 108 insertions(+), 78 deletions(-) create mode 100644 jero-boot-module-system/src/main/java/com/jero/modules/system/model/SysLoginVO.java diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java index 09029dd3..d7179df1 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java @@ -3,7 +3,6 @@ package com.jero.company.controller; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jero.common.api.vo.Result; -import com.jero.common.constant.CacheConstant; import com.jero.common.constant.CommonConstant; import com.jero.common.exception.JeroBootException; import com.jero.common.system.api.ISysBaseAPI; @@ -199,15 +198,15 @@ public class CompanyLoginController { @ApiOperation(value = "发送手机号验证码") @GetMapping(value = "/sendVerificationCode") - public Result sendVerificationCode(String mobile) { - mobile = PasswordUtil.encrypt(mobile); + public Result sendVerificationCode(String phone) { + phone = PasswordUtil.encrypt(phone); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(PayContactsManagement::getPhone, mobile); + queryWrapper.eq(PayContactsManagement::getPhone, phone); PayContactsManagement contactsManagement = payContactsManagementService.getOne(queryWrapper); if (Objects.isNull(contactsManagement)){ throw new JeroBootException("手机号不是企业联系人"); } - sysBaseAPI.sendVerificationCode(mobile,"2",null,null); + sysBaseAPI.sendVerificationCode(phone,"2",null,null); if (StringUtils.isBlank(contactsManagement.getPassword())){ return Result.error("updatePassword"); } @@ -215,9 +214,9 @@ public class CompanyLoginController { } @ApiOperation(value = "短信验证码修改密码") - @PostMapping(value = "/changePassword") - public Result changePassword(@RequestBody CompanyLoginVO companyLoginVO) { - payContactsManagementService.changePassword(companyLoginVO); + @PostMapping(value = "/verificationChangePassword") + public Result verificationChangePassword(@RequestBody CompanyLoginVO companyLoginVO) { + payContactsManagementService.verificationChangePassword(companyLoginVO); return Result.OK("修改密码成功"); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/IPayContactsManagementService.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/IPayContactsManagementService.java index 8047fad2..db31ed58 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/IPayContactsManagementService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/IPayContactsManagementService.java @@ -49,5 +49,5 @@ public interface IPayContactsManagementService extends IService listPayContactsManagement(List phoneList); - void changePassword(CompanyLoginVO companyLoginVO); + void verificationChangePassword(CompanyLoginVO companyLoginVO); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java index 14184292..912a25a6 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java @@ -14,7 +14,6 @@ import com.jero.company.entity.PayContactsManagement; import com.jero.company.mapper.PayContactsManagementMapper; import com.jero.company.service.IPayContactsManagementService; import com.jero.company.vo.CompanyLoginVO; -import com.jero.modules.system.entity.SysUser; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -64,14 +63,14 @@ public class PayContactsManagementServiceImpl extends ServiceImpl forgetPassword(@RequestBody SysUser user) { - sysUserService.forgetPassword(user); + @ApiOperation(value = "短信验证码修改密码") + @PostMapping(value = "/verificationChangePassword") + public Result verificationChangePassword(@RequestBody SysLoginVO loginVO) { + sysUserService.verificationChangePassword(loginVO); return Result.OK("修改密码成功"); } + + @ApiOperation(value = "发送手机号验证码") + @GetMapping(value = "/sendVerificationCode") + public Result sendVerificationCode(String phone) { + phone = PasswordUtil.encrypt(phone); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SysUser::getPhone, phone); + SysUser sysUser = sysUserService.getOne(queryWrapper); + if (Objects.isNull(sysUser)){ + throw new JeroBootException("手机号不存在"); + } + sysBaseAPI.sendVerificationCode(phone,"2",null,null); + return Result.OK(); + } } \ No newline at end of file diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/model/SysLoginModel.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/model/SysLoginModel.java index 212b43b5..293ae9b3 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/model/SysLoginModel.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/model/SysLoginModel.java @@ -1,7 +1,12 @@ package com.jero.modules.system.model; +import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.Pattern; /** * 登录表单 @@ -9,6 +14,7 @@ import io.swagger.annotations.ApiModelProperty; * @Author scott * @since 2019-01-18 */ +@Data @ApiModel(value="登录对象", description="登录对象") public class SysLoginModel { @ApiModelProperty(value = "账号") @@ -21,44 +27,4 @@ public class SysLoginModel { private String checkKey; @ApiModelProperty(value = "RSA公钥") private String rsaPublicKey; - - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } - - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = password; - } - - public String getCaptcha() { - return captcha; - } - - public void setCaptcha(String captcha) { - this.captcha = captcha; - } - - public String getCheckKey() { - return checkKey; - } - - public void setCheckKey(String checkKey) { - this.checkKey = checkKey; - } - - public String getRsaPublicKey() { - return rsaPublicKey; - } - - public void setRsaPublicKey(String rsaPublicKey) { - this.rsaPublicKey = rsaPublicKey; - } } \ No newline at end of file diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/model/SysLoginVO.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/model/SysLoginVO.java new file mode 100644 index 00000000..9965b27e --- /dev/null +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/model/SysLoginVO.java @@ -0,0 +1,51 @@ +package com.jero.modules.system.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.Pattern; + +/** + * @author liJiaRao + * @date 2021-09-24 10:00 + */ +@Data +public class SysLoginVO { + + @ApiModelProperty(value = "用户名") + private String username; + + /**手机号*/ + @ApiModelProperty(value = "手机号") + @NotEmpty(message = "手机号不能为空!") + @Pattern(regexp = "^((13[0-9])|(14[579])|(15([0-3]|[5-9]))|(17[0135678])|(18[0-9])|(19[8|9])|(16[6]))\\d{8}$",message = "手机号码格式错误") + private String phone; + + /** + * 密码 + */ + @ApiModelProperty(value = "密码") + @NotEmpty(message = "密码不能为空!") + private String password; + + /** + * 确认密码 + */ + @ApiModelProperty(value = "确认密码") + @NotEmpty(message = "确认密码不能为空!") + private String verifyPassword; + + /** + * 验证码 + */ + @ApiModelProperty(value = "验证码") + @NotEmpty(message = "验证码不能为空!") + private String verifyCode; + + @ApiModelProperty(value = "RSA公钥") + @NotEmpty(message = "RSA公钥不能为空!") + private String rsaPublicKey; + +} diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java index 7342ee7e..c868d1bf 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java @@ -14,6 +14,7 @@ import com.jero.common.system.vo.SysUserCacheInfo; import com.jero.modules.system.entity.SysUser; import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.modules.system.model.SysLoginVO; import com.jero.modules.system.model.SysUserSysDepartModel; import com.jero.modules.system.vo.SysUserVo; import org.springframework.transaction.annotation.Transactional; @@ -241,5 +242,5 @@ public interface ISysUserService extends IService { String resetPassword(String username); - void forgetPassword(SysUser user); + void verificationChangePassword(SysLoginVO loginVO); } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java index f3160832..b76d5fef 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.exception.JeroBootException; import com.jero.common.util.*; +import com.jero.modules.system.model.SysLoginVO; import com.jero.modules.system.vo.SysUserVo; import lombok.extern.slf4j.Slf4j; import com.jero.common.api.vo.Result; @@ -475,46 +476,46 @@ public class SysUserServiceImpl extends ServiceImpl impl } @Override - public void forgetPassword(SysUser user) { - fPRuleCheck(user); + public void verificationChangePassword(SysLoginVO loginVO) { + fPRuleCheck(loginVO); //前端传入密码解密 - String username = user.getUsername(); - String password = user.getPassword(); - String verifyPassword = user.getVerifyPassword(); - String RSAPublicKey = user.getRsapublickey(); + String phone = loginVO.getPhone(); + String password = loginVO.getPassword(); + String verifyPassword = loginVO.getVerifyPassword(); + String RSAPublicKey = loginVO.getRsaPublicKey(); String RSAPrivateKey = String.valueOf(redisUtil.get(RSAPublicKey)); try { password = CommonUtils.decryptBtRsaPriKey(password, RSAPrivateKey); verifyPassword = CommonUtils.decryptBtRsaPriKey(verifyPassword, RSAPrivateKey); - user.setPassword(password); - user.setVerifyPassword(verifyPassword); + loginVO.setPassword(password); + loginVO.setVerifyPassword(verifyPassword); } catch (Exception e) { e.printStackTrace(); } //处理手机获取验证码的逻辑 - Object obj = redisUtil.get("_verification:_phone:" + user.getPhone()); + Object obj = redisUtil.get("_verification:_phone:" + phone); if (obj == null) { throw new JeroBootException("验证码失效,请重新发送"); } String code = obj.toString(); - if (!user.getVerifyCode().equals(code)) { + if (!loginVO.getVerifyCode().equals(code)) { throw new JeroBootException("验证码错误!"); } if (!password.equals(verifyPassword)) { throw new JeroBootException("新密码和确认密码不一致,请重新输入"); } - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(SysUser::getUsername, username); - SysUser sysUser = userMapper.selectOne(wrapper); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SysUser::getPhone, phone); + SysUser sysUser = this.getOne(queryWrapper); if (ObjectUtils.isEmpty(sysUser)) { throw new JeroBootException("用户不存在"); } String passwordEncode = PasswordUtil.encrypt(sysUser.getUsername(), password, sysUser.getSalt()); - user.setPassword(passwordEncode); - userMapper.forgetPassword(user); - redisUtil.del("_verification:_phone:" + user.getPhone()); + sysUser.setPassword(passwordEncode); + userMapper.forgetPassword(sysUser); + redisUtil.del("_verification:_phone:" + phone); List roles = sysBaseAPI.getRolesByUsername(sysUser.getUsername()); //SysRole sysRole = sysRoleMapper.selectOne(new LambdaQueryWrapper().eq(SysRole::getRoleCode, roles.get(0))); } @@ -523,7 +524,7 @@ public class SysUserServiceImpl extends ServiceImpl impl * 忘记密码校验 * @param user */ - private void fPRuleCheck(SysUser user){ + private void fPRuleCheck(SysLoginVO user){ if(ObjectUtils.isEmpty(user.getUsername())){ throw new JeroBootException("用户名为必填"); }else if(user.getUsername().length()>50){ From f43f03195c1b53a1000767e2b99742048a4664f6 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Fri, 24 Sep 2021 10:31:15 +0800 Subject: [PATCH 06/25] =?UTF-8?q?add=20=E5=8F=91=E9=80=81=E7=9F=AD?= =?UTF-8?q?=E4=BF=A1=E9=AA=8C=E8=AF=81=E7=A0=81=E5=9B=9E=E6=98=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../company/controller/CompanyLoginController.java | 3 ++- .../service/impl/PayContactsManagementServiceImpl.java | 10 ++++++---- .../modules/system/controller/LoginController.java | 3 ++- .../system/service/impl/SysUserServiceImpl.java | 2 +- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java index d7179df1..722f1d1a 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java @@ -210,7 +210,8 @@ public class CompanyLoginController { if (StringUtils.isBlank(contactsManagement.getPassword())){ return Result.error("updatePassword"); } - return Result.OK(); + String string = redisUtil.get("_verification:_phone:" + PasswordUtil.decrypt(phone)).toString(); + return Result.OK(string); } @ApiOperation(value = "短信验证码修改密码") diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java index 912a25a6..796098c4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java @@ -82,7 +82,7 @@ public class PayContactsManagementServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(PayContactsManagement::getPhone, phone); + queryWrapper.eq(PayContactsManagement::getPhone, PasswordUtil.encrypt(phone)); PayContactsManagement contactsManagement = this.getOne(queryWrapper); if (ObjectUtils.isEmpty(contactsManagement)) { throw new JeroBootException("用户不存在"); } - String passwordEncode = PasswordUtil.encrypt(contactsManagement.getPhone(), password, contactsManagement.getSalt()); + String managementPhone = contactsManagement.getPhone(); + String passwordEncode = PasswordUtil.encrypt(PasswordUtil.decrypt(managementPhone), password, contactsManagement.getSalt()); companyLoginVO.setPassword(passwordEncode); + companyLoginVO.setPhone(managementPhone); payContactsManagementMapper.forgetPassword(companyLoginVO); - redisUtil.del("_verification:_phone:" + companyLoginVO.getPhone()); + redisUtil.del("_verification:_phone:" + phone); } } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/LoginController.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/LoginController.java index 83c177d8..05f00277 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/LoginController.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/LoginController.java @@ -611,6 +611,7 @@ public class LoginController { throw new JeroBootException("手机号不存在"); } sysBaseAPI.sendVerificationCode(phone,"2",null,null); - return Result.OK(); + String string = redisUtil.get("_verification:_phone:" + PasswordUtil.decrypt(phone)).toString(); + return Result.OK(string); } } \ No newline at end of file diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java index b76d5fef..56b4e8be 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java @@ -507,7 +507,7 @@ public class SysUserServiceImpl extends ServiceImpl impl throw new JeroBootException("新密码和确认密码不一致,请重新输入"); } LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(SysUser::getPhone, phone); + queryWrapper.eq(SysUser::getPhone, PasswordUtil.encrypt(phone)); SysUser sysUser = this.getOne(queryWrapper); if (ObjectUtils.isEmpty(sysUser)) { throw new JeroBootException("用户不存在"); From 55f5f1da5cef5a87a84f2d6d2e6dfc88dae9f1a0 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Fri, 24 Sep 2021 10:39:27 +0800 Subject: [PATCH 07/25] =?UTF-8?q?add=20shiro=E6=8E=92=E9=99=A4=E5=8F=91?= =?UTF-8?q?=E9=80=81=E9=AA=8C=E8=AF=81=E7=A0=81=E5=92=8C=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E7=A0=81=E4=BF=AE=E6=94=B9=E5=AF=86=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/jero/config/shiro/ShiroConfig.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java index b8839932..a1bb2b19 100644 --- a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java +++ b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java @@ -93,10 +93,14 @@ public class ShiroConfig { filterChainDefinitionMap.put("/sys/common/pdf/**", "anon");//pdf预览 filterChainDefinitionMap.put("/generic/**", "anon");//pdf预览需要文件 filterChainDefinitionMap.put("/paymentRecord/payPaymentRecord/standardsAddAR", "anon");//标协会员添加来款 + filterChainDefinitionMap.put("/sys/sendVerificationCode", "anon"); //发送验证码 + filterChainDefinitionMap.put("/sys/verificationChangePassword", "anon"); //短信验证码修改密码 + + //企业端登录 filterChainDefinitionMap.put("/company/login", "anon");//登录接口排除 filterChainDefinitionMap.put("/company/logout", "anon");//登出接口排除 - filterChainDefinitionMap.put("/company/changePassword", "anon");//短信验证码修改密码 + filterChainDefinitionMap.put("/company/verificationChangePassword", "anon");//短信验证码修改密码 filterChainDefinitionMap.put("/company/sendVerificationCode", "anon");//企业端发送验证码 //和会员系统交互的接口 From 396e7079f13675b103090f1b467d7567a96d65b1 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Fri, 24 Sep 2021 10:48:54 +0800 Subject: [PATCH 08/25] =?UTF-8?q?add=20=E4=BC=9A=E8=AE=AE=E4=B8=8D?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E4=B8=B4=E6=97=B6=E4=BC=81=E4=B8=9A=E5=92=8C?= =?UTF-8?q?=E4=B8=B4=E6=97=B6=E8=81=94=E7=B3=BB=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jero/common/service/impl/ProjectDetailServiceImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectDetailServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectDetailServiceImpl.java index b4a4f8f2..647d9317 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectDetailServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectDetailServiceImpl.java @@ -124,8 +124,9 @@ public class ProjectDetailServiceImpl implements ProjectDetailService { if(!Objects.isNull(payCommonProject.getPack())){ projectDetailVO.setPack_dictText(sysBaseAPI.translateDict("yn",String.valueOf(payCommonProject.getPack()))); } - // 标协会员,直接查询企业,联系人 - if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE5)){ + // 标协会员和会议,直接查询企业,联系人 + if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE5) + || Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE3)){ PayCompanyManagement payCompanyManagement = payCompanyManagementService.getById(payCommonProject.getChargeCompanyTemporaryId()); if(Objects.isNull(payCompanyManagement)){ throw new JeroBootException("企业不存在!"); From 15081d4dbb05acb9162a76353ad2d88c067a7da4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Fri, 24 Sep 2021 13:53:36 +0800 Subject: [PATCH 09/25] =?UTF-8?q?=E6=B6=88=E6=81=AF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jero/common/system/api/ISysBaseAPI.java | 12 +++- .../com/jero/common/common/ProjectCommon.java | 36 +++++++++++ .../com/jero/common/common/RoleCommon.java | 9 +++ .../com/jero/common/dto/SendMessageDTO.java | 63 +++++++++++++++++++ .../common/service/SendMessageService.java | 15 +++++ .../service/impl/SendMessageServiceImpl.java | 53 ++++++++++++++++ .../PayCommonProjectController.java | 1 + .../PayWorkingGroupSubItemController.java | 38 ++++++----- .../jero/project/entity/PayCommonProject.java | 6 ++ .../impl/PayCommonProjectServiceImpl.java | 50 +++++++++++++-- .../system/entity/SysAnnouncement.java | 1 + .../system/model/AnnouncementSendModel.java | 2 + .../system/service/ISysUserService.java | 7 +++ .../system/service/impl/SysBaseApiImpl.java | 37 +++++++++-- .../service/impl/SysUserServiceImpl.java | 27 ++++++++ 15 files changed, 332 insertions(+), 25 deletions(-) create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/common/common/RoleCommon.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/common/dto/SendMessageDTO.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/common/service/SendMessageService.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java diff --git a/jero-boot-base/jero-boot-base-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java b/jero-boot-base/jero-boot-base-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java index c6f2cc58..41e11691 100644 --- a/jero-boot-base/jero-boot-base-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java +++ b/jero-boot-base/jero-boot-base-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java @@ -8,6 +8,7 @@ import com.jero.common.system.vo.*; import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.Set; /** @@ -288,7 +289,7 @@ public interface ISysBaseAPI extends CommonAPI { * @param templateCode 模板编码 必传 * @param map 模板替换参数 必传 */ - void sendEmailTemplateMsg(String email,String title,String templateCode,HashMap map); + void sendEmailTemplateMsg(String email, String title, String templateCode, Map map); /** * 41根据部门id查询部门所有的父级(不包含自己) * @author 马志朝 @@ -323,4 +324,13 @@ public interface ISysBaseAPI extends CommonAPI { * 发送短信验证码 */ void sendVerificationCode(String phone, String codeType, String codeTime,String templateParas); + /** + * 发送短信 + * @param phone 手机号 + * @param codeType 发送类型 + * @param codeTime 超时时间 + * @param templateCode 模板编码 + * @param map 参数集合 + */ + void sendSMS(String phone, String codeType, String codeTime,String templateCode,HashMap map); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/common/ProjectCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/common/ProjectCommon.java index c8fabfc5..84479260 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/common/ProjectCommon.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/common/ProjectCommon.java @@ -94,4 +94,40 @@ public class ProjectCommon { * 邮寄状态(0:未邮寄,1:已邮寄) */ public final static Integer POST_STATUS1 = 1; + /** + * 收入合同处新增标识 flag = 1 + */ + public final static String FLAG = "1"; + /** + * 项目提醒 + */ + public final static String ALERT1 = "1"; + /** + * 合同提醒 + */ + public final static String ALERT2 = "2"; + /** + * 会议提醒 + */ + public final static String ALERT3 = "3"; + /** + * 打包提醒 + */ + public final static String ALERT4 = "4"; + /** + * 企业提醒 + */ + public final static String ALERT5 = "5"; + /** + * 文件提醒 + */ + public final static String ALERT6 = "6"; + /** + * 邮寄提醒 + */ + public final static String ALERT7 = "7"; + /** + * 催款提醒 + */ + public final static String ALERT8 = "8"; } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/common/RoleCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/common/RoleCommon.java new file mode 100644 index 00000000..e7ae0c82 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/common/RoleCommon.java @@ -0,0 +1,9 @@ +package com.jero.common.common; + +public class RoleCommon { + + /** + * 项目负责人 + */ + public final static String XMFZR = "xmfzr"; +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/dto/SendMessageDTO.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/dto/SendMessageDTO.java new file mode 100644 index 00000000..64a6a7bb --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/dto/SendMessageDTO.java @@ -0,0 +1,63 @@ +package com.jero.common.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.HashMap; + +/** +* @Description 发送短信,消息,邮件 +* @Author lqt +* @Date 2021/9/24 +*/ +@Data +public class SendMessageDTO implements Serializable { + /** + * 发送短信设置true + */ + private boolean sendSMS; + /** + * 发送消息设置true + */ + private boolean sendMessage; + /** + * 发送email设置true + */ + private boolean sendEmail; + /** + * 发送人(用户登录账户) + */ + private String fromUser; + /** + * 发送给(用户登录账户) + */ + private String toUser; + /** + * 手机号(发送短信必传) + */ + private String phone; + /** + * 邮箱地址(发送邮箱必传) + */ + private String email; + /** + * 消息主题 + */ + private String title; + /** + * 业务类型 + */ + private String busType; + /** + * 业务id + */ + private String busId; + /** + * 模板编码 + */ + private String templateCode; + /** + * 模板参数 + */ + private HashMap templateParam; +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/SendMessageService.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/SendMessageService.java new file mode 100644 index 00000000..831afc97 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/SendMessageService.java @@ -0,0 +1,15 @@ +package com.jero.common.service; + +import com.jero.common.dto.SendMessageDTO; + +public interface SendMessageService { + /** + * @Description 发送短信,消息,邮件 + * @Author lqt + * @Date 2021/9/24 + * @Param sendMessageDTO + * @Return + * @Exception + */ + void SendMessageService(SendMessageDTO sendMessageDTO); +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java new file mode 100644 index 00000000..1e4fadab --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java @@ -0,0 +1,53 @@ +package com.jero.common.service.impl; + +import com.jero.common.api.dto.message.BusTemplateMessageDTO; +import com.jero.common.dto.SendMessageDTO; +import com.jero.common.enums.CompanyMessageEnums; +import com.jero.common.service.SendMessageService; +import com.jero.common.system.api.ISysBaseAPI; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.env.Environment; +import org.springframework.stereotype.Service; + +import java.util.Objects; +@Service +public class SendMessageServiceImpl implements SendMessageService { + @Autowired + private ISysBaseAPI sysBaseAPI; + @Autowired + private Environment env; + /** + * 超时时间 + */ + private String time = "60"; + /** + * 短信类型 + */ + private String type = "5"; + + + @Override + public void SendMessageService(SendMessageDTO sendMessageDTO) { + // 发送邮件 true + if(sendMessageDTO.isSendEmail()){ + sysBaseAPI.sendEmailTemplateMsg(sendMessageDTO.getEmail(), sendMessageDTO.getTitle(), sendMessageDTO.getTemplateCode(),sendMessageDTO.getTemplateParam()); + } + // 发送消息 + if(sendMessageDTO.isSendMessage()){ + BusTemplateMessageDTO busTemplateMessageDTO = new BusTemplateMessageDTO(); + busTemplateMessageDTO.setTitle(sendMessageDTO.getTitle()); + busTemplateMessageDTO.setFromUser(sendMessageDTO.getFromUser()); + busTemplateMessageDTO.setToUser(sendMessageDTO.getToUser()); + busTemplateMessageDTO.setTemplateCode(sendMessageDTO.getTemplateCode()); + busTemplateMessageDTO.setTemplateParam(sendMessageDTO.getTemplateParam()); + busTemplateMessageDTO.setBusType(sendMessageDTO.getBusType()); + busTemplateMessageDTO.setBusId(sendMessageDTO.getBusId()); + // 发送消息 + sysBaseAPI.sendBusTemplateAnnouncement(busTemplateMessageDTO); + } + // todo 发送短信 待完成 + if(Objects.equals(env.getProperty("huaWeiSms.open"),true) && sendMessageDTO.isSendSMS()){ + sysBaseAPI.sendSMS(sendMessageDTO.getPhone(),type,time,sendMessageDTO.getTemplateCode(),sendMessageDTO.getTemplateParam()); + } + } +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java index da051033..83542ba0 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java @@ -13,6 +13,7 @@ import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.jero.common.api.vo.Result; +import com.jero.common.common.ProjectCommon; import com.jero.common.exception.JeroBootException; import com.jero.common.service.ProjectDetailService; import com.jero.common.system.api.ISysBaseAPI; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java index e7472747..f04a5798 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java @@ -6,8 +6,11 @@ import javax.servlet.http.HttpServletRequest; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jero.common.api.dto.message.BusTemplateMessageDTO; import com.jero.common.api.vo.Result; +import com.jero.common.common.ProjectCommon; +import com.jero.common.dto.SendMessageDTO; import com.jero.common.enums.CompanyMessageEnums; import com.jero.common.service.ProjectDetailService; +import com.jero.common.service.SendMessageService; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.vo.LoginUser; @@ -53,6 +56,8 @@ public class PayWorkingGroupSubItemController extends JeroController{ - List listContactsEmail = listPayContactsManagementTemporary.stream().filter(item->Objects.equals(p.getContactsTemporaryIdOne(),item.getId())).collect(Collectors.toList()); - if(CollectionUtils.isEmpty(listContactsEmail)){ + List listContactsInfo = listPayContactsManagementTemporary.stream().filter(item->Objects.equals(p.getContactsTemporaryIdOne(),item.getId())).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(listContactsInfo)){ return; } - if(StringUtils.isBlank(listContactsEmail.get(0).getEmail())){ + if(StringUtils.isBlank(listContactsInfo.get(0).getEmail()) || StringUtils.isBlank(listContactsInfo.get(0).getPhone())){ return; } HashMap map = new HashMap<>(); map.put("projectName",payWorkingGroup.getWorkingGroupProject()); - // 发送邮件 - sysBaseAPI.sendEmailTemplateMsg(PasswordUtil.decrypt(listContactsEmail.get(0).getEmail()), CompanyMessageEnums.MSG11.getValue(), CompanyMessageEnums.MSG11.getCode(),map); - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - BusTemplateMessageDTO busTemplateMessageDTO = new BusTemplateMessageDTO(); - busTemplateMessageDTO.setTitle(CompanyMessageEnums.MSG11.getValue()); - busTemplateMessageDTO.setFromUser(sysUser.getId()); - busTemplateMessageDTO.setToUser(sysUser.getUsername()); - busTemplateMessageDTO.setTemplateCode(CompanyMessageEnums.MSG11.getCode()); - busTemplateMessageDTO.setTemplateParam(map); - busTemplateMessageDTO.setBusType("email"); - busTemplateMessageDTO.setBusId(p.getId()); // 发送消息 - sysBaseAPI.sendBusTemplateAnnouncement(busTemplateMessageDTO); + SendMessageDTO sendMessageDTO = new SendMessageDTO(); + sendMessageDTO.setSendEmail(true); + sendMessageDTO.setSendMessage(true); + sendMessageDTO.setSendSMS(true); + sendMessageDTO.setTitle(ProjectCommon.ALERT8); + sendMessageDTO.setFromUser(sysUser.getId()); + sendMessageDTO.setToUser(sysUser.getUsername());// PasswordUtil.decrypt(listContactsInfo.get(0).getPhone()) + sendMessageDTO.setPhone(PasswordUtil.decrypt(listContactsInfo.get(0).getPhone())); + sendMessageDTO.setEmail(PasswordUtil.decrypt(listContactsInfo.get(0).getEmail())); + sendMessageDTO.setTemplateCode(CompanyMessageEnums.MSG11.getCode()); + sendMessageDTO.setTemplateParam(map); + sendMessageDTO.setBusType("email"); + sendMessageDTO.setBusId(p.getId()); + sendMessageService.SendMessageService(sendMessageDTO); }); return Result.OK("添加成功!"); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java index 01d48853..af83d35a 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java @@ -199,4 +199,10 @@ public class PayCommonProject implements Serializable { @TableField(exist = false) @ApiModelProperty(value = "联系人邮箱") private String email; + /** + * 收入合同处新增标识 flag = 1 + */ + @TableField(exist = false) + @ApiModelProperty(value = "收入合同处新增标识 flag = 1") + private String flag; } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayCommonProjectServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayCommonProjectServiceImpl.java index 897094f4..682617e8 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayCommonProjectServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayCommonProjectServiceImpl.java @@ -5,15 +5,25 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; +import com.jero.common.common.ProjectCommon; +import com.jero.common.common.RoleCommon; +import com.jero.common.dto.SendMessageDTO; +import com.jero.common.enums.CompanyMessageEnums; +import com.jero.common.enums.ManagementMessageEnums; import com.jero.common.exception.JeroBootException; import com.jero.common.service.ProjectDetailService; +import com.jero.common.service.SendMessageService; +import com.jero.common.system.vo.LoginUser; +import com.jero.common.util.PasswordUtil; import com.jero.common.vo.ProjectStatusVO; import com.jero.contract.common.PayIncomeContractCommon; import com.jero.contract.entity.PayIncomeContract; import com.jero.contract.entity.PayIncomeContractAssociated; import com.jero.contract.service.IPayIncomeContractAssociatedService; import com.jero.contract.service.IPayIncomeContractService; +import com.jero.modules.system.entity.SysRole; import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysRoleService; import com.jero.modules.system.service.ISysUserService; import com.jero.pack.entity.PayPackCompany; import com.jero.pack.entity.PayPackCompanyProject; @@ -34,6 +44,7 @@ import com.jero.temporary.service.IPayContactsManagementTemporaryService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -43,10 +54,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.lang.reflect.Array; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Objects; +import java.util.*; /** * @Description: pay_common_project @@ -74,6 +82,9 @@ public class PayCommonProjectServiceImpl extends ServiceImpl list = sysUserService.getRolesUser(Arrays.asList(RoleCommon.XMFZR)); + if(!CollectionUtils.isEmpty(list)){ + list.forEach(p->{ + if(StringUtils.isBlank(p.getEmail())){ + return; + } + HashMap map = new HashMap<>(); + map.put("projectName",payCommonProject.getChargeProject()); + // 发送消息 + SendMessageDTO sendMessageDTO = new SendMessageDTO(); + sendMessageDTO.setSendEmail(true); + sendMessageDTO.setSendMessage(true); + sendMessageDTO.setSendSMS(true); + sendMessageDTO.setTitle(ProjectCommon.ALERT1); + sendMessageDTO.setFromUser(sysUser.getId()); + sendMessageDTO.setToUser(p.getUsername()); + sendMessageDTO.setPhone(PasswordUtil.decrypt(p.getPhone())); + sendMessageDTO.setEmail(PasswordUtil.decrypt(p.getEmail())); + sendMessageDTO.setTemplateCode(CompanyMessageEnums.MSG11.getCode()); + sendMessageDTO.setTemplateParam(map); + sendMessageDTO.setBusType("email"); + sendMessageDTO.setBusId(p.getId()); + sendMessageService.SendMessageService(sendMessageDTO); + }); + } + } + } @Override diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysAnnouncement.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysAnnouncement.java index e0d71634..eac122be 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysAnnouncement.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysAnnouncement.java @@ -32,6 +32,7 @@ public class SysAnnouncement implements Serializable { * 标题 */ @Excel(name = "标题", width = 15) + @Dict(dicCode = "message_type") private java.lang.String titile; /** * 内容 diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/model/AnnouncementSendModel.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/model/AnnouncementSendModel.java index 52752f6f..a92dda82 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/model/AnnouncementSendModel.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/model/AnnouncementSendModel.java @@ -2,6 +2,7 @@ package com.jero.modules.system.model; import java.io.Serializable; +import com.jero.common.aspect.annotation.Dict; import org.springframework.format.annotation.DateTimeFormat; import com.baomidou.mybatisplus.annotation.IdType; @@ -29,6 +30,7 @@ public class AnnouncementSendModel implements Serializable { /**用户id*/ private java.lang.String userId; /**标题*/ + @Dict(dicCode = "message_type") private java.lang.String titile; /**内容*/ private java.lang.String msgContent; diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java index c868d1bf..a780a314 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java @@ -243,4 +243,11 @@ public interface ISysUserService extends IService { String resetPassword(String username); void verificationChangePassword(SysLoginVO loginVO); + + /** + * 通过角色编码,查询角色下用户 + * @param roleCode 角色集合 + * @return + */ + List getRolesUser(List roleCode); } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java index 24c63a39..b42809ad 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java @@ -407,13 +407,13 @@ public class SysBaseApiImpl implements ISysBaseAPI { } SysMessageTemplate sysSmsTemplate = sysSmsTemplates.get(0); //模板标题 - title = title==null?sysSmsTemplate.getTemplateName():title; + // title = title==null?sysSmsTemplate.getTemplateName():title; //模板内容 String content = sysSmsTemplate.getTemplateContent(); if(map!=null) { for (Map.Entry entry : map.entrySet()) { String str = "${" + entry.getKey() + "}"; - title = title.replace(str, entry.getValue()); + // title = title.replace(str, entry.getValue()); content = content.replace(str, entry.getValue()); } } @@ -1015,7 +1015,7 @@ public class SysBaseApiImpl implements ISysBaseAPI { } @Override - public void sendEmailTemplateMsg(String email,String title,String templateCode,HashMap map) { + public void sendEmailTemplateMsg(String email,String title,String templateCode,Map map) { if(StringUtils.isBlank(email)){ throw new JeroBootException("邮件接收人不能为空"); } @@ -1028,13 +1028,13 @@ public class SysBaseApiImpl implements ISysBaseAPI { } SysMessageTemplate sysSmsTemplate = sysSmsTemplates.get(0); //模板标题 - title = Objects.isNull(title) ? sysSmsTemplate.getTemplateName() : title; + // title = Objects.isNull(title) ? sysSmsTemplate.getTemplateName() : title; //模板内容 String content = sysSmsTemplate.getTemplateContent(); if(!Objects.isNull(map)) { for (Map.Entry entry : map.entrySet()) { String str = "${" + entry.getKey() + "}"; - title = title.replace(str, entry.getValue()); + // title = title.replace(str, entry.getValue()); content = content.replace(str, entry.getValue()); } } @@ -1059,6 +1059,33 @@ public class SysBaseApiImpl implements ISysBaseAPI { huaWeiSmsUtil.sendVerificationCode(phone, codeType, codeTime, templateParas); } + @Override + public void sendSMS(String phone, String codeType, String codeTime,String templateCode,HashMap map) { + if(StringUtils.isBlank(phone)){ + throw new JeroBootException("手机号不能为空"); + } + if(StringUtils.isBlank(templateCode)){ + throw new JeroBootException("模板编码不能为空"); + } + List sysSmsTemplates = sysMessageTemplateService.selectByCode(templateCode); + if(CollectionUtils.isEmpty(sysSmsTemplates)){ + throw new JeroBootException("消息模板不存在,模板编码:"+templateCode); + } + SysMessageTemplate sysSmsTemplate = sysSmsTemplates.get(0); + //模板标题 + String title = sysSmsTemplate.getTemplateName(); + //模板内容 + String content = sysSmsTemplate.getTemplateContent(); + if(!Objects.isNull(map)) { + for (Map.Entry entry : map.entrySet()) { + String str = "${" + entry.getKey() + "}"; + title = title.replace(str, entry.getValue()); + content = content.replace(str, entry.getValue()); + } + } + huaWeiSmsUtil.sendVerificationCode(phone, codeType, codeTime, content); + } + /** * 根据部门id查询部门所有的父级(不包含自己) * @author 马志朝 diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java index 56b4e8be..00c999ec 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java @@ -27,7 +27,9 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.cache.annotation.CacheEvict; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; +import org.springframework.util.StringUtils; import javax.annotation.Resource; import java.util.*; @@ -520,6 +522,31 @@ public class SysUserServiceImpl extends ServiceImpl impl //SysRole sysRole = sysRoleMapper.selectOne(new LambdaQueryWrapper().eq(SysRole::getRoleCode, roles.get(0))); } + @Override + public List getRolesUser(List roleCode) { + if(CollectionUtils.isEmpty(roleCode)){ + throw new JeroBootException("角色编码为空!"); + } + LambdaQueryWrapper queryRole = new LambdaQueryWrapper<>(); + queryRole.in(SysRole::getRoleCode,roleCode); + List listSysRole = sysRoleMapper.selectList(queryRole); + if(CollectionUtils.isEmpty(listSysRole)){ + throw new JeroBootException("角色不存在!"); + } + List listRoleId = listSysRole.stream().map(SysRole::getId).collect(Collectors.toList()); + LambdaQueryWrapper querySysUserRole = new LambdaQueryWrapper<>(); + querySysUserRole.in(SysUserRole::getRoleId,listRoleId); + List listSysUserRole = sysUserRoleMapper.selectList(querySysUserRole); + if(StringUtils.isEmpty(listSysUserRole)){ + return null; + } + List listUserId = listSysUserRole.stream().map(SysUserRole::getUserId).collect(Collectors.toList()); + LambdaQueryWrapper querySysUser = new LambdaQueryWrapper<>(); + querySysUser.in(SysUser::getId,listUserId); + List listSysUser = userMapper.selectList(querySysUser); + return listSysUser; + } + /** * 忘记密码校验 * @param user From 8c3faf1b586b6abe79fe7ce4566be7936955569d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Fri, 24 Sep 2021 13:54:38 +0800 Subject: [PATCH 10/25] =?UTF-8?q?=E6=B6=88=E6=81=AF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../project/controller/PayWorkingGroupSubItemController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java index f04a5798..e4771f24 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java @@ -170,7 +170,7 @@ public class PayWorkingGroupSubItemController extends JeroController Date: Fri, 24 Sep 2021 14:47:48 +0800 Subject: [PATCH 11/25] =?UTF-8?q?add=20=E4=BC=81=E4=B8=9A=E7=AB=AF?= =?UTF-8?q?=E6=89=8B=E6=9C=BA=E5=8F=B7=E7=99=BB=E5=BD=95=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=AF=86=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CompanyLoginController.java | 86 +++++++++++++++---- .../IPayContactsManagementService.java | 2 + .../PayContactsManagementServiceImpl.java | 29 ++++++- .../com/jero/company/vo/CompanyLoginVO.java | 5 +- .../controller/PayMeetingController.java | 51 +++-------- .../PayMeetingSituationController.java | 21 +++-- .../impl/PayMeetingSituationServiceImpl.java | 1 + 7 files changed, 128 insertions(+), 67 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java index 722f1d1a..0a75c9c0 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java @@ -61,9 +61,9 @@ public class CompanyLoginController { @PostMapping(value = "/login") public Result login(@RequestBody SysLoginModel sysLoginModel) { Result result = new Result<>(); - String username = PasswordUtil.encrypt(sysLoginModel.getUsername()); + String phone = sysLoginModel.getUsername(); String password = sysLoginModel.getPassword(); - /*String rsaPublicKey = sysLoginModel.getRsaPublicKey(); + String rsaPublicKey = sysLoginModel.getRsaPublicKey(); String rsaPrivateKey = String.valueOf(redisUtil.get(rsaPublicKey)); //update-begin--Author:scott Date:20190805 for:暂时注释掉密码加密逻辑,有点问题 //前端密码加密,后端进行密码解密 @@ -88,14 +88,14 @@ public class CompanyLoginController { try { //解密获取密码和用户名 password = CommonUtils.decryptBtRsaPriKey(password, rsaPrivateKey); - username = CommonUtils.decryptBtRsaPriKey(username, rsaPrivateKey); + phone = CommonUtils.decryptBtRsaPriKey(phone, rsaPrivateKey); } catch (Exception e) { e.printStackTrace(); - }*/ + } //1. 校验用户是否有效 //update-begin-author:wangshuai date:20200601 for: 登录代码验证用户是否注销bug,if条件永远为false LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(PayContactsManagement::getPhone, username); + queryWrapper.eq(PayContactsManagement::getPhone, PasswordUtil.encrypt(phone)); PayContactsManagement contactsManagement = payContactsManagementService.getOne(queryWrapper); //update-end-author:wangshuai date:20200601 for: 登录代码验证用户是否注销bug,if条件永远为false if (Objects.isNull(contactsManagement)) { @@ -104,37 +104,88 @@ public class CompanyLoginController { // 若用户名有效,则查询该账号的登陆失败次数是否符合等保要求 int retryCount = 0; - if (redisUtil.get(RETRY_LOGIN_PREFIX + username) != null) { - retryCount = (int) redisUtil.get(RETRY_LOGIN_PREFIX + username); + if (redisUtil.get(RETRY_LOGIN_PREFIX + phone) != null) { + retryCount = (int) redisUtil.get(RETRY_LOGIN_PREFIX + phone); } if (retryCount >= RETRY_LOGIN_MAX_COUNT) { result.error500("密码错误次数过多,请稍后重试"); return result; } //2. 校验用户名或密码是否正确 - String userpassword = PasswordUtil.encrypt(username, password, contactsManagement.getSalt()); + String userpassword = PasswordUtil.encrypt(phone, password, contactsManagement.getSalt()); String syspassword = contactsManagement.getPassword(); if (!syspassword.equals(userpassword)) { // 重试登录次数加一 retryCount++; if (retryCount == 1) { - redisUtil.set(RETRY_LOGIN_PREFIX + username, retryCount, 60 * 30); + redisUtil.set(RETRY_LOGIN_PREFIX + phone, retryCount, 60 * 30); } else { - redisUtil.set(RETRY_LOGIN_PREFIX + username, retryCount, redisUtil.getExpire(RETRY_LOGIN_PREFIX + username)); + redisUtil.set(RETRY_LOGIN_PREFIX + phone, retryCount, redisUtil.getExpire(RETRY_LOGIN_PREFIX + phone)); } String msg = retryCount == RETRY_LOGIN_MAX_COUNT ? "密码错误次数过多,请稍后重试" : "用户名或密码错误,剩余可登录次数:" + (RETRY_LOGIN_MAX_COUNT - retryCount); result.error500(msg); return result; } //登录成功,清除错误登录次数 - redisUtil.del(RETRY_LOGIN_PREFIX + username); + redisUtil.del(RETRY_LOGIN_PREFIX + phone); //用户登录信息 userInfo(contactsManagement, result); //update-begin--Author:wangshuai Date:20200714 for:登录日志没有记录人员 LoginUser loginUser = new LoginUser(); BeanUtils.copyProperties(contactsManagement, loginUser); - baseCommonService.addLog("用户名: " + username + ",登录成功!", CommonConstant.LOG_TYPE_1, null, loginUser); + baseCommonService.addLog("用户名: " + phone + ",登录成功!", CommonConstant.LOG_TYPE_1, null, loginUser); + //update-end--Author:wangshuai Date:20200714 for:登录日志没有记录人员 + return result; + } + + @ApiOperation("短信登录接口") + @PostMapping(value = "/smsLogin") + public Result smsLogin(@RequestBody SysLoginModel sysLoginModel) { + Result result = new Result<>(); + String phone = sysLoginModel.getUsername(); + String rsaPublicKey = sysLoginModel.getRsaPublicKey(); + String rsaPrivateKey = String.valueOf(redisUtil.get(rsaPublicKey)); + //update-begin--Author:scott Date:20190805 for:暂时注释掉密码加密逻辑,有点问题 + //前端密码加密,后端进行密码解密 + //password = AesEncryptUtil.desEncrypt(sysLoginModel.getPassword().replaceAll("%2B", "\\+")).trim();//密码解密 + //update-begin--Author:scott Date:20190805 for:暂时注释掉密码加密逻辑,有点问题 + //update-begin-author:taoyan date:20190828 for:校验验证码 + try { + //解密获取密码和用户名 + phone = CommonUtils.decryptBtRsaPriKey(phone, rsaPrivateKey); + } catch (Exception e) { + e.printStackTrace(); + } + String captcha = sysLoginModel.getCaptcha(); + if (captcha == null) { + result.error500("验证码无效"); + return result; + } + Object checkCode = redisUtil.get("_verification:_phone:" + phone); + if (checkCode == null) { + result.error500("验证码错误"); + return result; + } else { + redisUtil.del("_verification:_phone:" + phone); + } + + //1. 校验用户是否有效 + //update-begin-author:wangshuai date:20200601 for: 登录代码验证用户是否注销bug,if条件永远为false + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(PayContactsManagement::getPhone, phone); + PayContactsManagement contactsManagement = payContactsManagementService.getOne(queryWrapper); + //update-end-author:wangshuai date:20200601 for: 登录代码验证用户是否注销bug,if条件永远为false + if (Objects.isNull(contactsManagement)) { + throw new JeroBootException("手机号不存在"); + } + + //用户登录信息 + userInfo(contactsManagement, result); + //update-begin--Author:wangshuai Date:20200714 for:登录日志没有记录人员 + LoginUser loginUser = new LoginUser(); + BeanUtils.copyProperties(contactsManagement, loginUser); + baseCommonService.addLog("用户名: " + phone + ",登录成功!", CommonConstant.LOG_TYPE_1, null, loginUser); //update-end--Author:wangshuai Date:20200714 for:登录日志没有记录人员 return result; } @@ -207,9 +258,6 @@ public class CompanyLoginController { throw new JeroBootException("手机号不是企业联系人"); } sysBaseAPI.sendVerificationCode(phone,"2",null,null); - if (StringUtils.isBlank(contactsManagement.getPassword())){ - return Result.error("updatePassword"); - } String string = redisUtil.get("_verification:_phone:" + PasswordUtil.decrypt(phone)).toString(); return Result.OK(string); } @@ -221,4 +269,12 @@ public class CompanyLoginController { return Result.OK("修改密码成功"); } + @ApiOperation(value = "修改密码") + @PostMapping(value = "/changePassword") + public Result changePassword(@RequestBody CompanyLoginVO companyLoginVO) { + payContactsManagementService.changePassword(companyLoginVO); + + return Result.OK("修改密码成功"); + } + } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/IPayContactsManagementService.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/IPayContactsManagementService.java index db31ed58..3103eeb4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/IPayContactsManagementService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/IPayContactsManagementService.java @@ -50,4 +50,6 @@ public interface IPayContactsManagementService extends IService listPayContactsManagement(List phoneList); void verificationChangePassword(CompanyLoginVO companyLoginVO); + + void changePassword(CompanyLoginVO companyLoginVO); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java index 796098c4..85692cc1 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java @@ -5,16 +5,17 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.api.vo.Result; import com.jero.common.exception.JeroBootException; -import com.jero.common.util.CommonUtils; -import com.jero.common.util.PasswordUtil; -import com.jero.common.util.RedisUtil; -import com.jero.common.util.ValidUtil; +import com.jero.common.system.vo.LoginUser; +import com.jero.common.util.*; import com.jero.company.entity.PayContactsManagement; import com.jero.company.mapper.PayContactsManagementMapper; import com.jero.company.service.IPayContactsManagementService; import com.jero.company.vo.CompanyLoginVO; +import com.jero.modules.system.entity.SysUser; import org.apache.commons.collections.CollectionUtils; +import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -107,4 +108,24 @@ public class PayContactsManagementServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(PayContactsManagement::getPhone, PasswordUtil.encrypt(phone)); + PayContactsManagement contactsManagement = this.getOne(queryWrapper); + + if (oConvertUtils.isEmpty(newPassword)) { + throw new JeroBootException("新密码不允许为空!"); + } + if (!newPassword.equals(verifyPassword)) { + throw new JeroBootException("两次输入密码不一致!"); + } + String password = PasswordUtil.encrypt(phone, newPassword, contactsManagement.getSalt()); + this.update(new PayContactsManagement().setPassword(password), new LambdaQueryWrapper().eq(PayContactsManagement::getPhone, phone)); + } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/vo/CompanyLoginVO.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/vo/CompanyLoginVO.java index ff2694d8..fe67691f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/vo/CompanyLoginVO.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/vo/CompanyLoginVO.java @@ -25,15 +25,16 @@ public class CompanyLoginVO { /** * 密码 */ - @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) @ApiModelProperty(value = "密码") @NotEmpty(message = "密码不能为空!") private String password; + @ApiModelProperty(value = "新密码") + private String newPassword; + /** * 确认密码 */ - @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) @ApiModelProperty(value = "确认密码") @NotEmpty(message = "确认密码不能为空!") private String verifyPassword; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java index 61c1fcc0..dc6b414b 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java @@ -43,6 +43,7 @@ import com.jero.util.QrcodeUtil; import io.swagger.annotations.ApiImplicitParam; import lombok.extern.slf4j.Slf4j; import com.jero.common.system.base.controller.JeroController; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; @@ -79,7 +80,7 @@ public class PayMeetingController extends JeroController queryPageList(PayMeeting payMeeting, @@ -127,7 +128,7 @@ public class PayMeetingController extends JeroController> queryList() { @@ -138,6 +139,7 @@ public class PayMeetingController extends JeroController queryById(@RequestParam(name = "id") String id) { @@ -225,6 +230,7 @@ public class PayMeetingController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, request.getParameterMap()); @@ -320,45 +326,12 @@ public class PayMeetingController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, request.getParameterMap()); - List pageList = payMeetingService.list(queryWrapper); - List exportList = new ArrayList<>(); - // 过滤选中数据 - String selections = request.getParameter("selections"); - if (oConvertUtils.isNotEmpty(selections)) { - List selectionList = Arrays.asList(selections.split(",")); - pageList = pageList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList()); - } - for (PayMeeting meeting : pageList) { - //查询会议负责人 - LoginUser user = sysBaseApi.getUserById(meeting.getDirectorId()); - meeting.setDirectorName(user.getUsername()); - meeting.setDirectorPhone(PasswordUtil.decrypt(user.getPhone())); - WorkingGroupMeetingExcel workingGroupMeetingExcel = new WorkingGroupMeetingExcel(); - BeanUtils.copyProperties(meeting, workingGroupMeetingExcel); - String meetingType = meeting.getMeetingType().toString(); - String meetingType1 = sysBaseApi.translateDict("meeting_type", meetingType); - workingGroupMeetingExcel.setMeetingType(meetingType1); - // 工作组项目查询工作组项目名 - if (meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING)) { - String workingGroupId = meeting.getWorkingGroupId(); - PayWorkingGroup workingGroup = payWorkingGroupService.getById(workingGroupId); - workingGroupMeetingExcel.setWorkingGroupName(workingGroup.getWorkingGroupProject()); - } - exportList.add(workingGroupMeetingExcel); - } - return super.exportListXls(exportList, WorkingGroupMeetingExcel.class, "会议管理"); - } /** * 上传资料 */ @AutoLog(value = "上传资料") + @RequiresPermissions("meeting:upload") @ApiOperation(value="上传资料", notes="上传资料") @PostMapping(value = "/uploadFile") public Result uploadFile(@RequestBody UploadFileVO uploadFileVO) { @@ -390,6 +363,8 @@ public class PayMeetingController extends JeroController publishReminder(@RequestBody PublishReminderVO publishReminderVO) { @@ -407,7 +382,7 @@ public class PayMeetingController extends JeroController addStandards(@RequestBody PayMeeting payMeeting, HttpServletRequest request) { String publicKey = request.getParameter("publicKey"); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingSituationController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingSituationController.java index 614a40b4..c1c806b5 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingSituationController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingSituationController.java @@ -35,6 +35,7 @@ import lombok.extern.slf4j.Slf4j; import com.jero.common.system.base.controller.JeroController; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; @@ -65,7 +66,7 @@ public class PayMeetingSituationController extends JeroController queryPageList(PayMeetingSituation payMeetingSituation, @@ -91,7 +92,6 @@ public class PayMeetingSituationController extends JeroController contractPage(MeetingSituationContractVO meetingSituationContractVO, @@ -106,7 +106,6 @@ public class PayMeetingSituationController extends JeroController queryPageList2(PayMeetingSituation payMeetingSituation, @@ -125,8 +124,7 @@ public class PayMeetingSituationController extends JeroController signUpPage(PayMeetingSituation payMeetingSituation, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @@ -137,12 +135,11 @@ public class PayMeetingSituationController extends JeroController page = new Page<>(pageNo, pageSize); IPage pageList = payMeetingSituationService.page(page, queryWrapper); return Result.OK(pageList); - } + }*/ /** * 列表查询 */ - @AutoLog(value = "参会人员信息-列表查询") @ApiOperation(value = "参会人员信息-列表查询", notes = "参会人员信息-列表查询") @GetMapping(value = "/list") public Result> queryList() { @@ -153,6 +150,7 @@ public class PayMeetingSituationController extends JeroController edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) { @@ -187,6 +186,7 @@ public class PayMeetingSituationController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, request.getParameterMap()); @@ -309,6 +311,7 @@ public class PayMeetingSituationController extends JeroController checkRegister(@RequestBody CheckVO checkVO) { @@ -360,7 +365,7 @@ public class PayMeetingSituationController extends JeroController signIn(@RequestBody SignInVO signInVO) { ValidUtil.validate(signInVO); payMeetingSituationService.signIn(signInVO); - return Result.OK("合并开票成功!"); + return Result.OK("签到成功!"); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java index 17b0d767..057b9312 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java @@ -398,6 +398,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl Date: Fri, 24 Sep 2021 15:32:50 +0800 Subject: [PATCH 12/25] =?UTF-8?q?add=20shiro=E6=8E=92=E9=99=A4=E7=9F=AD?= =?UTF-8?q?=E4=BF=A1=E7=99=BB=E5=BD=95=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/jero/config/shiro/ShiroConfig.java | 1 + 1 file changed, 1 insertion(+) diff --git a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java index a1bb2b19..e91a8ff5 100644 --- a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java +++ b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java @@ -99,6 +99,7 @@ public class ShiroConfig { //企业端登录 filterChainDefinitionMap.put("/company/login", "anon");//登录接口排除 + filterChainDefinitionMap.put("/company/smsLogin", "anon");//短信登录接口排除 filterChainDefinitionMap.put("/company/logout", "anon");//登出接口排除 filterChainDefinitionMap.put("/company/verificationChangePassword", "anon");//短信验证码修改密码 filterChainDefinitionMap.put("/company/sendVerificationCode", "anon");//企业端发送验证码 From 1393c7eb2b730cde64409bb406cc9308d7e95706 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Fri, 24 Sep 2021 15:51:19 +0800 Subject: [PATCH 13/25] =?UTF-8?q?=E6=B6=88=E6=81=AF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/common/common/ProjectCommon.java | 12 ++ .../com/jero/common/dto/SendMessageDTO.java | 16 --- ...ntractCreateProjectSendMessageService.java | 13 ++ ...ctCreateProjectSendMessageServiceImpl.java | 55 ++++++++ .../service/impl/SendMessageServiceImpl.java | 127 +++++++++++++++--- .../meeting/entity/PayMeetingSituation.java | 7 + .../impl/PayMeetingSituationServiceImpl.java | 11 ++ .../entity/PayMemberProjectSubitem.java | 7 + ...PayPayMemberProjectSubitemServiceImpl.java | 9 +- .../PayWorkingGroupSubItemController.java | 20 ++- .../entity/PayWorkingGroupSubItem.java | 7 + .../impl/PayCommonProjectServiceImpl.java | 33 +---- .../PayWorkingGroupSubItemServiceImpl.java | 16 ++- .../message/entity/SysMessageTemplate.java | 2 + .../system/entity/SysAnnouncement.java | 2 +- .../system/model/AnnouncementSendModel.java | 2 +- 16 files changed, 258 insertions(+), 81 deletions(-) create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/common/service/ContractCreateProjectSendMessageService.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ContractCreateProjectSendMessageServiceImpl.java diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/common/ProjectCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/common/ProjectCommon.java index 84479260..feacde94 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/common/ProjectCommon.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/common/ProjectCommon.java @@ -130,4 +130,16 @@ public class ProjectCommon { * 催款提醒 */ public final static String ALERT8 = "8"; + /** + * 1短信 2邮件 3系统 + */ + public final static String MESSAGE_TYPE1 = "1"; + /** + * 1短信 2邮件 3系统 + */ + public final static String MESSAGE_TYPE2 = "2"; + /** + * 1短信 2邮件 3系统 + */ + public final static String MESSAGE_TYPE3 = "3"; } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/dto/SendMessageDTO.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/dto/SendMessageDTO.java index 64a6a7bb..413c0b1e 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/dto/SendMessageDTO.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/dto/SendMessageDTO.java @@ -12,18 +12,6 @@ import java.util.HashMap; */ @Data public class SendMessageDTO implements Serializable { - /** - * 发送短信设置true - */ - private boolean sendSMS; - /** - * 发送消息设置true - */ - private boolean sendMessage; - /** - * 发送email设置true - */ - private boolean sendEmail; /** * 发送人(用户登录账户) */ @@ -40,10 +28,6 @@ public class SendMessageDTO implements Serializable { * 邮箱地址(发送邮箱必传) */ private String email; - /** - * 消息主题 - */ - private String title; /** * 业务类型 */ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/ContractCreateProjectSendMessageService.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/ContractCreateProjectSendMessageService.java new file mode 100644 index 00000000..692c380e --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/ContractCreateProjectSendMessageService.java @@ -0,0 +1,13 @@ +package com.jero.common.service; + +public interface ContractCreateProjectSendMessageService { + /** + * @Description 合同创建项目发送消息,通知项目负责人 + * @Author lqt + * @Date 2021/9/24 + * @Param projectName 项目名称 + * @Return + * @Exception + */ + void ContractCreateProjectSendMessageService(String projectName); +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ContractCreateProjectSendMessageServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ContractCreateProjectSendMessageServiceImpl.java new file mode 100644 index 00000000..8ecfc01e --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ContractCreateProjectSendMessageServiceImpl.java @@ -0,0 +1,55 @@ +package com.jero.common.service.impl; + +import com.jero.common.common.ProjectCommon; +import com.jero.common.common.RoleCommon; +import com.jero.common.dto.SendMessageDTO; +import com.jero.common.enums.CompanyMessageEnums; +import com.jero.common.service.ContractCreateProjectSendMessageService; +import com.jero.common.service.SendMessageService; +import com.jero.common.system.vo.LoginUser; +import com.jero.common.util.PasswordUtil; +import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysUserService; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; + +@Service +public class ContractCreateProjectSendMessageServiceImpl implements ContractCreateProjectSendMessageService { + + @Autowired + private ISysUserService sysUserService; + @Autowired + private SendMessageService sendMessageService; + + @Override + public void ContractCreateProjectSendMessageService(String projectName) { + // 获取项目负责人,发送消息 + List list = sysUserService.getRolesUser(Arrays.asList(RoleCommon.XMFZR)); + if(!CollectionUtils.isEmpty(list)){ + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + list.forEach(p->{ + // 发送消息 + SendMessageDTO sendMessageDTO = new SendMessageDTO(); + if(!StringUtils.isBlank(p.getEmail())){ + sendMessageDTO.setEmail(PasswordUtil.decrypt(p.getEmail())); + } + HashMap map = new HashMap<>(); + map.put("projectName",projectName); + sendMessageDTO.setFromUser(sysUser.getId()); + sendMessageDTO.setToUser(p.getUsername()); + sendMessageDTO.setTemplateCode(CompanyMessageEnums.MSG11.getCode()); + sendMessageDTO.setTemplateParam(map); + sendMessageDTO.setBusType("email"); + sendMessageDTO.setBusId(p.getId()); + sendMessageService.SendMessageService(sendMessageDTO); + }); + } + } +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java index 1e4fadab..810cdc27 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java @@ -1,21 +1,47 @@ package com.jero.common.service.impl; -import com.jero.common.api.dto.message.BusTemplateMessageDTO; +import com.alibaba.fastjson.JSONObject; +import com.jero.common.common.ProjectCommon; +import com.jero.common.constant.CommonConstant; +import com.jero.common.constant.WebsocketConst; import com.jero.common.dto.SendMessageDTO; -import com.jero.common.enums.CompanyMessageEnums; +import com.jero.common.exception.JeroBootException; import com.jero.common.service.SendMessageService; import com.jero.common.system.api.ISysBaseAPI; +import com.jero.common.util.SysAnnmentTypeEnum; +import com.jero.common.util.oConvertUtils; +import com.jero.modules.message.entity.SysMessageTemplate; +import com.jero.modules.message.handle.impl.EmailSendMsgHandle; +import com.jero.modules.message.service.ISysMessageTemplateService; +import com.jero.modules.message.websocket.WebSocket; +import com.jero.modules.system.entity.SysAnnouncement; +import com.jero.modules.system.entity.SysAnnouncementSend; +import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysAnnouncementSendService; +import com.jero.modules.system.service.ISysAnnouncementService; +import com.jero.modules.system.service.ISysUserService; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.core.env.Environment; import org.springframework.stereotype.Service; -import java.util.Objects; +import javax.annotation.Resource; +import java.util.*; + @Service public class SendMessageServiceImpl implements SendMessageService { @Autowired private ISysBaseAPI sysBaseAPI; @Autowired - private Environment env; + private ISysMessageTemplateService sysMessageTemplateService; + @Resource + private ISysAnnouncementService sysAnnouncementService; + @Resource + private ISysUserService sysUserService; + @Resource + private ISysAnnouncementSendService sysAnnouncementSendService; + @Resource + private WebSocket webSocket; /** * 超时时间 */ @@ -28,26 +54,87 @@ public class SendMessageServiceImpl implements SendMessageService { @Override public void SendMessageService(SendMessageDTO sendMessageDTO) { + if(StringUtils.isEmpty(sendMessageDTO.getTemplateCode())){ + throw new JeroBootException("模板编码不能为空!"); + } + List sysSmsTemplates = sysMessageTemplateService.selectByCode(sendMessageDTO.getTemplateCode()); + if(CollectionUtils.isEmpty(sysSmsTemplates)){ + throw new JeroBootException("消息模板不能为空!"); + } + SysMessageTemplate sysSmsTemplate = sysSmsTemplates.get(0); + // 没有选项,不发送消息 + String templateType = sysSmsTemplate.getTemplateType(); + if(StringUtils.isBlank(templateType)){ + return; + } + //模板标题 + String title = sysBaseAPI.translateDict("notice_type",sysSmsTemplate.getTemplateName()); + //模板内容 + String content = sysSmsTemplate.getTemplateContent(); + HashMap map = sendMessageDTO.getTemplateParam(); + if(!Objects.isNull(map)) { + for (Map.Entry entry : map.entrySet()) { + String str = "${" + entry.getKey() + "}"; + content = content.replace(str, entry.getValue()); + } + } + + // 1短信 2邮件 3系统 // 发送邮件 true - if(sendMessageDTO.isSendEmail()){ - sysBaseAPI.sendEmailTemplateMsg(sendMessageDTO.getEmail(), sendMessageDTO.getTitle(), sendMessageDTO.getTemplateCode(),sendMessageDTO.getTemplateParam()); + if(templateType.contains(ProjectCommon.MESSAGE_TYPE2) && !StringUtils.isEmpty(sendMessageDTO.getEmail())){ + EmailSendMsgHandle emailHandle = new EmailSendMsgHandle(); + emailHandle.SendMsg(sendMessageDTO.getEmail(), title, content); } // 发送消息 - if(sendMessageDTO.isSendMessage()){ - BusTemplateMessageDTO busTemplateMessageDTO = new BusTemplateMessageDTO(); - busTemplateMessageDTO.setTitle(sendMessageDTO.getTitle()); - busTemplateMessageDTO.setFromUser(sendMessageDTO.getFromUser()); - busTemplateMessageDTO.setToUser(sendMessageDTO.getToUser()); - busTemplateMessageDTO.setTemplateCode(sendMessageDTO.getTemplateCode()); - busTemplateMessageDTO.setTemplateParam(sendMessageDTO.getTemplateParam()); - busTemplateMessageDTO.setBusType(sendMessageDTO.getBusType()); - busTemplateMessageDTO.setBusId(sendMessageDTO.getBusId()); - // 发送消息 - sysBaseAPI.sendBusTemplateAnnouncement(busTemplateMessageDTO); + if(templateType.contains(ProjectCommon.MESSAGE_TYPE3) && !StringUtils.isEmpty(sendMessageDTO.getToUser())){ + String fromUser = sendMessageDTO.getFromUser(); + String toUser = sendMessageDTO.getToUser(); + String busId = sendMessageDTO.getBusId(); + String busType = sendMessageDTO.getBusType(); + + SysAnnouncement announcement = new SysAnnouncement(); + announcement.setTitile(title); + announcement.setMsgContent(content); + announcement.setSender(fromUser); + announcement.setPriority(CommonConstant.PRIORITY_M); + announcement.setMsgType(CommonConstant.MSG_TYPE_UESR); + announcement.setSendStatus(CommonConstant.HAS_SEND); + announcement.setSendTime(new Date()); + announcement.setMsgCategory(CommonConstant.MSG_CATEGORY_2); + announcement.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0)); + announcement.setBusId(busId); + announcement.setBusType(busType); + announcement.setOpenType(SysAnnmentTypeEnum.getByType(busType).getOpenType()); + announcement.setOpenPage(SysAnnmentTypeEnum.getByType(busType).getOpenPage()); + announcement.setTemplateCode(sendMessageDTO.getTemplateCode()); + sysAnnouncementService.save(announcement); + // 2.插入用户通告阅读标记表记录 + String userId = toUser; + String[] userIds = userId.split(","); + String anntId = announcement.getId(); + for(int i=0;i map = new HashMap<>(); map.put("projectName",payWorkingGroup.getWorkingGroupProject()); - // 发送消息 - SendMessageDTO sendMessageDTO = new SendMessageDTO(); - sendMessageDTO.setSendEmail(true); - sendMessageDTO.setSendMessage(true); - sendMessageDTO.setSendSMS(true); - sendMessageDTO.setTitle(ProjectCommon.ALERT8); sendMessageDTO.setFromUser(sysUser.getId()); - sendMessageDTO.setToUser(PasswordUtil.decrypt(listContactsInfo.get(0).getPhone())); - sendMessageDTO.setPhone(PasswordUtil.decrypt(listContactsInfo.get(0).getPhone())); - sendMessageDTO.setEmail(PasswordUtil.decrypt(listContactsInfo.get(0).getEmail())); sendMessageDTO.setTemplateCode(CompanyMessageEnums.MSG11.getCode()); sendMessageDTO.setTemplateParam(map); sendMessageDTO.setBusType("email"); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java index 471c7f38..979dc22f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java @@ -201,4 +201,11 @@ public class PayWorkingGroupSubItem implements Serializable { /**会议id*/ @TableField(exist = false) private java.lang.String meetingId; + + /** + * 收入合同处新增标识 flag = 1 + */ + @TableField(exist = false) + @ApiModelProperty(value = "收入合同处新增标识 flag = 1") + private String flag; } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayCommonProjectServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayCommonProjectServiceImpl.java index 682617e8..bb1ec480 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayCommonProjectServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayCommonProjectServiceImpl.java @@ -11,6 +11,7 @@ import com.jero.common.dto.SendMessageDTO; import com.jero.common.enums.CompanyMessageEnums; import com.jero.common.enums.ManagementMessageEnums; import com.jero.common.exception.JeroBootException; +import com.jero.common.service.ContractCreateProjectSendMessageService; import com.jero.common.service.ProjectDetailService; import com.jero.common.service.SendMessageService; import com.jero.common.system.vo.LoginUser; @@ -83,7 +84,7 @@ public class PayCommonProjectServiceImpl extends ServiceImpl list = sysUserService.getRolesUser(Arrays.asList(RoleCommon.XMFZR)); - if(!CollectionUtils.isEmpty(list)){ - list.forEach(p->{ - if(StringUtils.isBlank(p.getEmail())){ - return; - } - HashMap map = new HashMap<>(); - map.put("projectName",payCommonProject.getChargeProject()); - // 发送消息 - SendMessageDTO sendMessageDTO = new SendMessageDTO(); - sendMessageDTO.setSendEmail(true); - sendMessageDTO.setSendMessage(true); - sendMessageDTO.setSendSMS(true); - sendMessageDTO.setTitle(ProjectCommon.ALERT1); - sendMessageDTO.setFromUser(sysUser.getId()); - sendMessageDTO.setToUser(p.getUsername()); - sendMessageDTO.setPhone(PasswordUtil.decrypt(p.getPhone())); - sendMessageDTO.setEmail(PasswordUtil.decrypt(p.getEmail())); - sendMessageDTO.setTemplateCode(CompanyMessageEnums.MSG11.getCode()); - sendMessageDTO.setTemplateParam(map); - sendMessageDTO.setBusType("email"); - sendMessageDTO.setBusId(p.getId()); - sendMessageService.SendMessageService(sendMessageDTO); - }); - } + contractCreateProjectSendMessageService.ContractCreateProjectSendMessageService(payCommonProject.getChargeProject()); } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java index 8417b2bc..f32c2862 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java @@ -5,8 +5,15 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; +import com.jero.common.common.ProjectCommon; +import com.jero.common.common.RoleCommon; +import com.jero.common.dto.SendMessageDTO; +import com.jero.common.enums.CompanyMessageEnums; import com.jero.common.exception.JeroBootException; +import com.jero.common.service.ContractCreateProjectSendMessageService; import com.jero.common.service.ProjectDetailService; +import com.jero.common.system.vo.LoginUser; +import com.jero.common.util.PasswordUtil; import com.jero.common.util.ValidUtil; import com.jero.common.vo.ProjectStatusVO; import com.jero.company.entity.PayCompanyManagement; @@ -19,6 +26,7 @@ import com.jero.contract.service.IPayIncomeContractAssociatedService; import com.jero.contract.service.IPayIncomeContractService; import com.jero.meeting.entity.PayMeetingRemindRecord; import com.jero.meeting.service.IPayMeetingRemindRecordService; +import com.jero.modules.system.entity.SysUser; import com.jero.pack.entity.PayPackCompanyProject; import com.jero.pack.service.IPayPackCompanyProjectService; import com.jero.project.common.PayProjectCommon; @@ -36,6 +44,7 @@ import com.jero.temporary.service.IPayContactsManagementTemporaryService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; import org.jeecgframework.poi.excel.ExcelImportCheckUtil; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.entity.ImportParams; @@ -85,6 +94,8 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl Date: Fri, 24 Sep 2021 15:57:27 +0800 Subject: [PATCH 14/25] =?UTF-8?q?fix=20=E4=BC=81=E4=B8=9A=E7=AB=AF?= =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E7=99=BB=E5=BD=95=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/company/controller/CompanyLoginController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java index 0a75c9c0..97bf0fc5 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java @@ -173,7 +173,7 @@ public class CompanyLoginController { //1. 校验用户是否有效 //update-begin-author:wangshuai date:20200601 for: 登录代码验证用户是否注销bug,if条件永远为false LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(PayContactsManagement::getPhone, phone); + queryWrapper.eq(PayContactsManagement::getPhone, PasswordUtil.encrypt(phone)); PayContactsManagement contactsManagement = payContactsManagementService.getOne(queryWrapper); //update-end-author:wangshuai date:20200601 for: 登录代码验证用户是否注销bug,if条件永远为false if (Objects.isNull(contactsManagement)) { From fc28d2e7c88297e396321981b9f4bfd2956c8772 Mon Sep 17 00:00:00 2001 From: baozhipeng <961815525@qq.com> Date: Fri, 24 Sep 2021 16:03:17 +0800 Subject: [PATCH 15/25] =?UTF-8?q?=E5=BC=80=E7=A5=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jero/mail/mapper/PayMailBillMapper.java | 3 + .../mail/mapper/xml/PayMailBillMapper.xml | 16 ++- .../mail/service/IPayMailBillService.java | 7 + .../service/impl/PayMailBillServiceImpl.java | 125 +++++++++++------- .../PayPaymentRecordController.java | 2 +- 5 files changed, 99 insertions(+), 54 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/PayMailBillMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/PayMailBillMapper.java index 6910e647..01276058 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/PayMailBillMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/PayMailBillMapper.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.jero.mail.PayMailBillVO; import com.jero.mail.entity.PayMailBill; import com.jero.mail.entity.PayMailBillSearch; import io.lettuce.core.dynamic.annotation.Param; @@ -29,6 +30,8 @@ public interface PayMailBillMapper extends BaseMapper { */ List selectCommonProjectMailBillVO(@Param("projectId") String projectId); + List selectInvoicingStage(@Param("projectId")String projectId); + } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/xml/PayMailBillMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/xml/PayMailBillMapper.xml index 166d80f4..974a10b9 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/xml/PayMailBillMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/xml/PayMailBillMapper.xml @@ -13,8 +13,9 @@ - - + + + @@ -32,8 +33,8 @@ pmb.post_status, pmb.send_method, pmb.post_no, - pmb.liaison_man, - pmb.mobile, + pmb.contact_name, + pmb.contact_mobile, pmb.bill_date, pmb.send_date, pmb.remark, @@ -42,5 +43,12 @@ WHERE pmb.id IN (SELECT bill_id FROM pay_mail_bill_project WHERE project_id=#{projectId}) + + \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/IPayMailBillService.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/IPayMailBillService.java index 5b65d5d0..644acc57 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/IPayMailBillService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/IPayMailBillService.java @@ -30,6 +30,13 @@ public interface IPayMailBillService extends IService { */ List selectMailBillVO(String projectId); + /** + * 查询开票阶段 + * @param projectId + * @return + */ + List selectInvoicingStage(String projectId); + /** * 添加开票 * @param payMailBill diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java index 19c9d1b5..7c34364f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java @@ -82,6 +82,8 @@ public class PayMailBillServiceImpl extends ServiceImpl selectMailBillVO(String projectId) { @@ -101,6 +103,12 @@ public class PayMailBillServiceImpl extends ServiceImpl selectInvoicingStage(String projectId) { + + return payMailBillMapper.selectInvoicingStage(projectId); + } + /** * 添加开票 * @@ -135,13 +143,30 @@ public class PayMailBillServiceImpl extends ServiceImpl payBillList(String id) { - return Result.OK(payMailBillService.selectMailBillVO(id)); + return Result.OK(payMailBillService.selectInvoicingStage(id)); } /** From 70d4e9d690c134c7c41092b381555aa9133cbb76 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Fri, 24 Sep 2021 16:07:29 +0800 Subject: [PATCH 16/25] =?UTF-8?q?fix=20=E4=BC=81=E4=B8=9A=E7=AB=AF?= =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E7=99=BB=E5=BD=95=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jero/company/controller/CompanyLoginController.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java index 97bf0fc5..0c609c7b 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java @@ -22,6 +22,7 @@ import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -48,6 +49,8 @@ public class CompanyLoginController { private ISysDictService sysDictService; @Resource private BaseCommonService baseCommonService; + @Value("${defaultPassword}") + private String defaultPassword; /** * 密码登录错误的次数前缀 */ @@ -231,13 +234,15 @@ public class CompanyLoginController { private void userInfo(PayContactsManagement contactsManagement, Result result) { String syspassword = contactsManagement.getPassword(); String username = contactsManagement.getPhone(); + if (Objects.isNull(syspassword)) { + syspassword = defaultPassword; + } // 生成token String token = JwtUtil.sign(username, syspassword); // 设置token缓存有效时间 redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token); redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME * 2 / 1000); - // 获取用户部门信息 JSONObject obj = new JSONObject(); obj.put("token", token); From d22b4581eeba3694cbabad6b1df1750283641166 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Fri, 24 Sep 2021 16:08:15 +0800 Subject: [PATCH 17/25] =?UTF-8?q?=E6=B6=88=E6=81=AF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/enums/CompanyMessageEnums.java | 24 ++++++------- .../common/enums/ManagementMessageEnums.java | 18 +++++----- .../java/com/jero/home/HomeController.java | 34 +++++++++++++++++++ .../message/entity/SysMessageTemplate.java | 1 + 4 files changed, 56 insertions(+), 21 deletions(-) create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/home/HomeController.java diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/CompanyMessageEnums.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/CompanyMessageEnums.java index 8e2941b4..8cb01203 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/CompanyMessageEnums.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/CompanyMessageEnums.java @@ -12,18 +12,18 @@ import org.apache.commons.lang3.StringUtils; */ public enum CompanyMessageEnums { - MSG1("HYTZ_WORK_GROUP_CREATE","会议提醒"),//点击跳转到报名页面,meetingName,busId - MSG2("HYTZ_WORK_GROUP_SIGN_UP","会议提醒"),//弹窗:查看该会议详情,meetingName - MSG3("HYTZ_WORK_GROUP_UPLOAD","会议提醒"),//弹窗:查看该会议详情,meetingName - MSG4("HYTZ_WORK_GROUP_NOT_UPLOAD","会议提醒"),//弹窗:查看该会议详情,meetingName - MSG5("HYTZ_NOT_AUDIT","会议提醒"),//弹窗:上传汇款凭证,meetingName - MSG6("HYTZ_AUDIT","会议提醒"),//弹窗:查看该会议详情,meetingName - MSG7("WJTZ_MEETING_SEND","文件提醒"),//弹窗:查看该会议详情,meetingName - MSG8("HTTZ_PHASE","合同提醒"),//无,contract,num,amount - MSG9("YJTZ_MAIL","邮寄提醒"),//查看该物流信息,projectName - MSG10("YJTZ_MAIL_CONTRACT","邮寄提醒"),//查看该物流信息,contractName - MSG11("CKTZ_PAY","催款提醒"),//弹窗:查看该项目详情,projectName - MSG12("WJTZ_WORK_GROUP_SEND","文件提醒");//弹窗:查看该项目详情,workGroupName + MSG1("HYTZ_WORK_GROUP_CREATE","会议通知"),//点击跳转到报名页面,meetingName,busId + MSG2("HYTZ_WORK_GROUP_SIGN_UP","会议通知"),//弹窗:查看该会议详情,meetingName + MSG3("HYTZ_WORK_GROUP_UPLOAD","会议通知"),//弹窗:查看该会议详情,meetingName + MSG4("HYTZ_WORK_GROUP_NOT_UPLOAD","会议通知"),//弹窗:查看该会议详情,meetingName + MSG5("HYTZ_NOT_AUDIT","会议通知"),//弹窗:上传汇款凭证,meetingName + MSG6("HYTZ_AUDIT","会议通知"),//弹窗:查看该会议详情,meetingName + MSG7("WJTZ_MEETING_SEND","文件通知"),//弹窗:查看该会议详情,meetingName + MSG8("HTTZ_PHASE","合同通知"),//无,contract,num,amount + MSG9("YJTZ_MAIL","邮寄通知"),//查看该物流信息,projectName + MSG10("YJTZ_MAIL_CONTRACT","邮寄通知"),//查看该物流信息,contractName + MSG11("CKTZ_PAY","催款通知"),//弹窗:查看该项目详情,projectName + MSG12("WJTZ_WORK_GROUP_SEND","文件通知");//弹窗:查看该项目详情,workGroupName private String code; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/ManagementMessageEnums.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/ManagementMessageEnums.java index 4a43ea49..b8b01ad0 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/ManagementMessageEnums.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/ManagementMessageEnums.java @@ -11,15 +11,15 @@ import org.apache.commons.lang3.StringUtils; */ public enum ManagementMessageEnums { - MSG1("HTTZ_CREATE_PROJECT","项目提醒"),// 查看详情,projectName - MSG2("HTTZ_SUBMIT","合同提醒"),// 跳转到合同的详情页面,contractNum,contractName - MSG3("HTTZ_AUDIT","合同提醒"),//跳转到合同的详情页面,contractNum,contractName - MSG4("HTTZ_NOT_AUDIT","合同提醒"),//跳转到合同的详情页面,contractNum,contractName - MSG5("HYTZ_SIGN_UP_UPLOAD","会议提醒"),//审核弹窗 - MSG6("DBTZ_ADD","打包提醒"),//查看该项目详情,projectName - MSG7("DBTZ_CONTRACT","打包提醒"),//查看项目详情,projectName - MSG8("HYTZ_ON_ACCESS_UPDATE","会议提醒"),//查看该参会人详情,meetingName,username1,username2 - MSG9("QYTZ_CREATE","企业提醒");//企业列表页 + MSG1("HTTZ_CREATE_PROJECT","项目通知"),// 查看详情,projectName + MSG2("HTTZ_SUBMIT","合同通知"),// 跳转到合同的详情页面,contractNum,contractName + MSG3("HTTZ_AUDIT","合同通知"),//跳转到合同的详情页面,contractNum,contractName + MSG4("HTTZ_NOT_AUDIT","合同通知"),//跳转到合同的详情页面,contractNum,contractName + MSG5("HYTZ_SIGN_UP_UPLOAD","会议通知"),//审核弹窗 + MSG6("DBTZ_ADD","打包通知"),//查看该项目详情,projectName + MSG7("DBTZ_CONTRACT","打包通知"),//查看项目详情,projectName + MSG8("HYTZ_ON_ACCESS_UPDATE","会议通知"),//查看该参会人详情,meetingName,username1,username2 + MSG9("QYTZ_CREATE","企业通知");//企业列表页 private String code; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/home/HomeController.java b/jero-boot-incoming-payment/src/main/java/com/jero/home/HomeController.java new file mode 100644 index 00000000..dd5afc47 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/home/HomeController.java @@ -0,0 +1,34 @@ +package com.jero.home; + +import com.jero.common.api.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +/** + * @Description: 首页 + * @Author: jeecg-boot + * @Date: 2021-09-24 + * @Version: V1.0 + */ +@Api(tags="首页") +@RestController +@RequestMapping("/home") +@Slf4j +public class HomeController { + + /** + * 首页-数据统计 + * + * @return + */ + @ApiOperation(value="首页-数据统计", notes="首页-数据统计") + @GetMapping(value = "/dataStatistics") + public Result dataStatistics() { + return null; + } +} diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/message/entity/SysMessageTemplate.java b/jero-boot-module-system/src/main/java/com/jero/modules/message/entity/SysMessageTemplate.java index 165b967a..cf956cb1 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/message/entity/SysMessageTemplate.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/message/entity/SysMessageTemplate.java @@ -36,5 +36,6 @@ public class SysMessageTemplate extends JeroEntity { private java.lang.String templateTestJson; /**模板类型*/ @Excel(name = "模板类型", width = 15) + @Dict(dicCode = "msgType") private java.lang.String templateType; } From 8b39fd49de1d518af0f4cee2ca87835908d37c1f Mon Sep 17 00:00:00 2001 From: lijiarao Date: Fri, 24 Sep 2021 16:19:27 +0800 Subject: [PATCH 18/25] =?UTF-8?q?fix=20=E4=BC=81=E4=B8=9A=E7=AB=AF?= =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E7=99=BB=E5=BD=95=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/company/controller/CompanyLoginController.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java index 0c609c7b..68e61351 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java @@ -264,7 +264,11 @@ public class CompanyLoginController { } sysBaseAPI.sendVerificationCode(phone,"2",null,null); String string = redisUtil.get("_verification:_phone:" + PasswordUtil.decrypt(phone)).toString(); - return Result.OK(string); + if (Objects.isNull(contactsManagement.getPassword())){ + return Result.error(string+"updatePassword"); + }else { + return Result.OK(string); + } } @ApiOperation(value = "短信验证码修改密码") From 00fb5f90bfb7c05b03a469808bcce230ca222661 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Fri, 24 Sep 2021 16:44:16 +0800 Subject: [PATCH 19/25] =?UTF-8?q?fix=20=E4=BC=81=E4=B8=9A=E7=AB=AF?= =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E7=99=BB=E5=BD=95=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jero/company/controller/CompanyLoginController.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java index 68e61351..b0fd5b0b 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/CompanyLoginController.java @@ -190,6 +190,9 @@ public class CompanyLoginController { BeanUtils.copyProperties(contactsManagement, loginUser); baseCommonService.addLog("用户名: " + phone + ",登录成功!", CommonConstant.LOG_TYPE_1, null, loginUser); //update-end--Author:wangshuai Date:20200714 for:登录日志没有记录人员 + if (Objects.isNull(contactsManagement.getPassword())){ + result.setMessage("updatePassword"); + } return result; } @@ -264,11 +267,7 @@ public class CompanyLoginController { } sysBaseAPI.sendVerificationCode(phone,"2",null,null); String string = redisUtil.get("_verification:_phone:" + PasswordUtil.decrypt(phone)).toString(); - if (Objects.isNull(contactsManagement.getPassword())){ - return Result.error(string+"updatePassword"); - }else { - return Result.OK(string); - } + return Result.OK(string); } @ApiOperation(value = "短信验证码修改密码") From 20ede8ef89e4efd135bc87a250470fa0c854d69c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Fri, 24 Sep 2021 16:52:49 +0800 Subject: [PATCH 20/25] =?UTF-8?q?=E6=B6=88=E6=81=AF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ContractCreateProjectSendMessageServiceImpl.java | 4 ++-- .../jero/common/service/impl/SendMessageServiceImpl.java | 4 ++-- .../src/main/java/com/jero/home/HomeController.java | 6 ++++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ContractCreateProjectSendMessageServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ContractCreateProjectSendMessageServiceImpl.java index 8ecfc01e..d6f4b109 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ContractCreateProjectSendMessageServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ContractCreateProjectSendMessageServiceImpl.java @@ -1,9 +1,9 @@ package com.jero.common.service.impl; -import com.jero.common.common.ProjectCommon; import com.jero.common.common.RoleCommon; import com.jero.common.dto.SendMessageDTO; import com.jero.common.enums.CompanyMessageEnums; +import com.jero.common.enums.ManagementMessageEnums; import com.jero.common.service.ContractCreateProjectSendMessageService; import com.jero.common.service.SendMessageService; import com.jero.common.system.vo.LoginUser; @@ -44,7 +44,7 @@ public class ContractCreateProjectSendMessageServiceImpl implements ContractCrea map.put("projectName",projectName); sendMessageDTO.setFromUser(sysUser.getId()); sendMessageDTO.setToUser(p.getUsername()); - sendMessageDTO.setTemplateCode(CompanyMessageEnums.MSG11.getCode()); + sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG1.getCode()); sendMessageDTO.setTemplateParam(map); sendMessageDTO.setBusType("email"); sendMessageDTO.setBusId(p.getId()); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java index 810cdc27..cf047d1e 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java @@ -93,7 +93,7 @@ public class SendMessageServiceImpl implements SendMessageService { String busType = sendMessageDTO.getBusType(); SysAnnouncement announcement = new SysAnnouncement(); - announcement.setTitile(title); + announcement.setTitile(sysSmsTemplate.getTemplateName()); announcement.setMsgContent(content); announcement.setSender(fromUser); announcement.setPriority(CommonConstant.PRIORITY_M); @@ -127,7 +127,7 @@ public class SendMessageServiceImpl implements SendMessageService { obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_USER); obj.put(WebsocketConst.MSG_USER_ID, sysUser.getId()); obj.put(WebsocketConst.MSG_ID, announcement.getId()); - obj.put(WebsocketConst.MSG_TXT, announcement.getTitile()); + obj.put(WebsocketConst.MSG_TXT, title); webSocket.sendMessage(sysUser.getId(), obj.toJSONString()); } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/home/HomeController.java b/jero-boot-incoming-payment/src/main/java/com/jero/home/HomeController.java index dd5afc47..bbbf2d24 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/home/HomeController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/home/HomeController.java @@ -1,9 +1,11 @@ package com.jero.home; import com.jero.common.api.vo.Result; +import com.jero.payment.service.IPayPaymentRecordService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -21,6 +23,9 @@ import org.springframework.web.bind.annotation.RestController; @Slf4j public class HomeController { + @Autowired + private IPayPaymentRecordService payPaymentRecordService; + /** * 首页-数据统计 * @@ -29,6 +34,7 @@ public class HomeController { @ApiOperation(value="首页-数据统计", notes="首页-数据统计") @GetMapping(value = "/dataStatistics") public Result dataStatistics() { + return null; } } From 368ac7370bce21ce7d8cba7b528c73613a8b1520 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Fri, 24 Sep 2021 16:53:14 +0800 Subject: [PATCH 21/25] =?UTF-8?q?fix=20=E4=BC=81=E4=B8=9A=E7=AB=AF?= =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E7=99=BB=E5=BD=95=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PayContactsManagementServiceImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java index 85692cc1..a782ef69 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java @@ -65,7 +65,6 @@ public class PayContactsManagementServiceImpl extends ServiceImpl Date: Fri, 24 Sep 2021 16:53:35 +0800 Subject: [PATCH 22/25] =?UTF-8?q?fix=20=E7=BC=B4=E8=B4=B9=E6=96=B9?= =?UTF-8?q?=E5=BC=8F=E4=B8=BA=E7=BA=BF=E4=B8=8A=E7=BC=B4=E8=B4=B9=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E5=88=A4=E6=96=AD=E6=98=AF=E5=90=A6=E4=B8=BA=E4=BC=9A?= =?UTF-8?q?=E8=AE=AE=E6=9C=9F=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../meeting/common/MeetingSubitemCommon.java | 5 ++++ .../impl/PayMeetingSituationServiceImpl.java | 28 ++++++++++++++++--- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/common/MeetingSubitemCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/common/MeetingSubitemCommon.java index 4863f3df..c4e5caf4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/common/MeetingSubitemCommon.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/common/MeetingSubitemCommon.java @@ -18,6 +18,11 @@ public class MeetingSubitemCommon { */ public final static Integer NEI_BU_QI_YE = 3; + /** + * 缴费方式:线上缴费 + */ + public final static Integer PAY_MODE_2 = 2; + /** * 缴费方式:打包 */ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java index 3743a198..103bf8e9 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java @@ -7,10 +7,16 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.common.ProjectCommon; +import com.jero.common.dto.SendMessageDTO; +import com.jero.common.enums.CompanyMessageEnums; +import com.jero.common.enums.ManagementMessageEnums; +import com.jero.common.common.ProjectCommon; import com.jero.common.exception.JeroBootException; +import com.jero.common.service.SendMessageService; import com.jero.common.service.ContractCreateProjectSendMessageService; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.vo.LoginUser; +import com.jero.common.util.PasswordUtil; import com.jero.common.util.ValidUtil; import com.jero.company.entity.PayCompanyManagement; import com.jero.company.entity.PayContactsManagement; @@ -96,6 +102,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl Date: Fri, 24 Sep 2021 17:03:55 +0800 Subject: [PATCH 23/25] =?UTF-8?q?fix=20=E4=BC=81=E4=B8=9A=E7=AB=AF?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=86=E7=A0=81=E5=A2=9E=E5=8A=A0=E7=9B=90?= =?UTF-8?q?=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PayContactsManagementServiceImpl.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java index a782ef69..581152a2 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java @@ -104,11 +104,12 @@ public class PayContactsManagementServiceImpl extends ServiceImpl Date: Fri, 24 Sep 2021 17:23:59 +0800 Subject: [PATCH 24/25] =?UTF-8?q?update=20=E5=8F=82=E4=BC=9A=E4=BA=BA?= =?UTF-8?q?=E6=9C=AA=E5=AE=A1=E6=A0=B8=E9=80=9A=E8=BF=87=E4=B8=8D=E5=8F=AF?= =?UTF-8?q?=E5=85=B3=E8=81=94=E4=BC=9A=E8=AE=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PayIncomeContractServiceImpl.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java index 13715cec..7e48364f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java @@ -24,6 +24,7 @@ import com.jero.contract.service.IPayIncomeContractInstallmentService; import com.jero.contract.service.IPayIncomeContractService; import com.jero.contract.vo.PayIncomeContractInput; import com.jero.contract.vo.ProjectOutput; +import com.jero.meeting.common.MeetingSubitemCommon; import com.jero.meeting.entity.PayMeetingSituation; import com.jero.meeting.service.IPayMeetingSituationService; import com.jero.member.entity.PayMemberProject; @@ -36,6 +37,7 @@ import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysUserService; import com.jero.pack.entity.PayPackCompanyProject; import com.jero.pack.service.IPayPackCompanyProjectService; +import com.jero.project.common.PayProjectCommon; import com.jero.project.entity.PayCommonProject; import com.jero.project.entity.PayWorkingGroup; import com.jero.project.entity.PayWorkingGroupSubItem; @@ -390,6 +392,11 @@ public class PayIncomeContractServiceImpl extends ServiceImpl Date: Fri, 24 Sep 2021 17:39:48 +0800 Subject: [PATCH 25/25] =?UTF-8?q?=E6=B6=88=E6=81=AF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jero/common/util/SysAnnmentTypeEnum.java | 30 ++++- .../com/jero/common/common/RoleCommon.java | 4 + ...ctCreateProjectSendMessageServiceImpl.java | 7 +- .../service/impl/SendMessageServiceImpl.java | 104 ++++++++++-------- .../impl/PayIncomeContractServiceImpl.java | 29 ++++- .../controller/SysAnnouncementController.java | 11 ++ 6 files changed, 136 insertions(+), 49 deletions(-) diff --git a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/SysAnnmentTypeEnum.java b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/SysAnnmentTypeEnum.java index 93fc313f..eaf0ed9e 100644 --- a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/SysAnnmentTypeEnum.java +++ b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/SysAnnmentTypeEnum.java @@ -11,7 +11,35 @@ public enum SysAnnmentTypeEnum { /** * 工作流跳转链接我的办公 */ - BPM("bpm", "url", "/bpm/task/MyTaskList"); + BPM("bpm", "url", "/bpm/task/MyTaskList"), + + // 管理端 + M_OPEN_TYPE1("M_OPEN_TYPE1","component","@comp/ProjectDetailModal"), + M_OPEN_TYPE2("M_OPEN_TYPE2","url","/contractManagement/RevenueContractDetail"), + M_OPEN_TYPE3("M_OPEN_TYPE3","url","/contractManagement/RevenueContractDetail"), + M_OPEN_TYPE4("M_OPEN_TYPE4","url","/contractManagement/RevenueContractDetail"), + M_OPEN_TYPE5("M_OPEN_TYPE5","component","@views/incomePayments/meetManage/modules/AuditModal"), + M_OPEN_TYPE6("M_OPEN_TYPE6","component","@comp/ProjectDetailModal"), + M_OPEN_TYPE7("M_OPEN_TYPE7","component","@comp/ProjectDetailModal"), + M_OPEN_TYPE8("M_OPEN_TYPE8","url","/incomePayments/meetManage/SignUpInfoDetail"), + M_OPEN_TYPE9("M_OPEN_TYPE9","url","/businessManagement/BusinessManagement"), + // todo 待定企业端 + C_OPEN_TYPE1("C_OPEN_TYPE1","url",""), + C_OPEN_TYPE2("C_OPEN_TYPE2","component",""), + C_OPEN_TYPE3("C_OPEN_TYPE3","component",""), + C_OPEN_TYPE4("C_OPEN_TYPE4","component",""), + C_OPEN_TYPE5("C_OPEN_TYPE5","component",""), + C_OPEN_TYPE6("C_OPEN_TYPE6","component",""), + C_OPEN_TYPE7("C_OPEN_TYPE7","component",""), + C_OPEN_TYPE8("C_OPEN_TYPE8","none",""), + C_OPEN_TYPE9("C_OPEN_TYPE9","",""), + C_OPEN_TYPE10("C_OPEN_TYPE10","",""), + C_OPEN_TYPE11("C_OPEN_TYPE11","component",""), + C_OPEN_TYPE12("C_OPEN_TYPE12","component",""); + + + + /** * 业务类型(email:邮件 bpm:流程) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/common/RoleCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/common/RoleCommon.java index e7ae0c82..6faffdc9 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/common/RoleCommon.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/common/RoleCommon.java @@ -6,4 +6,8 @@ public class RoleCommon { * 项目负责人 */ public final static String XMFZR = "xmfzr"; + /** + * 财务人员 + */ + public final static String CWRY = "cwry"; } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ContractCreateProjectSendMessageServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ContractCreateProjectSendMessageServiceImpl.java index d6f4b109..b9501319 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ContractCreateProjectSendMessageServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ContractCreateProjectSendMessageServiceImpl.java @@ -1,5 +1,6 @@ package com.jero.common.service.impl; +import com.alibaba.fastjson.JSONObject; import com.jero.common.common.RoleCommon; import com.jero.common.dto.SendMessageDTO; import com.jero.common.enums.CompanyMessageEnums; @@ -46,8 +47,10 @@ public class ContractCreateProjectSendMessageServiceImpl implements ContractCrea sendMessageDTO.setToUser(p.getUsername()); sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG1.getCode()); sendMessageDTO.setTemplateParam(map); - sendMessageDTO.setBusType("email"); - sendMessageDTO.setBusId(p.getId()); + sendMessageDTO.setBusType("M_OPEN_TYPE1"); + JSONObject json = new JSONObject(); + json.put("id",p.getId()); + sendMessageDTO.setBusId(json.toJSONString()); sendMessageService.SendMessageService(sendMessageDTO); }); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java index cf047d1e..ca083468 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java @@ -20,6 +20,7 @@ import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysAnnouncementSendService; import com.jero.modules.system.service.ISysAnnouncementService; import com.jero.modules.system.service.ISysUserService; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -28,6 +29,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.*; +@Slf4j @Service public class SendMessageServiceImpl implements SendMessageService { @Autowired @@ -82,59 +84,73 @@ public class SendMessageServiceImpl implements SendMessageService { // 1短信 2邮件 3系统 // 发送邮件 true if(templateType.contains(ProjectCommon.MESSAGE_TYPE2) && !StringUtils.isEmpty(sendMessageDTO.getEmail())){ - EmailSendMsgHandle emailHandle = new EmailSendMsgHandle(); - emailHandle.SendMsg(sendMessageDTO.getEmail(), title, content); + try { + EmailSendMsgHandle emailHandle = new EmailSendMsgHandle(); + emailHandle.SendMsg(sendMessageDTO.getEmail(), title, content); + }catch (Exception e){ + log.error("发送邮件异常",e); + } } // 发送消息 if(templateType.contains(ProjectCommon.MESSAGE_TYPE3) && !StringUtils.isEmpty(sendMessageDTO.getToUser())){ - String fromUser = sendMessageDTO.getFromUser(); - String toUser = sendMessageDTO.getToUser(); - String busId = sendMessageDTO.getBusId(); - String busType = sendMessageDTO.getBusType(); + try { + String fromUser = sendMessageDTO.getFromUser(); + String toUser = sendMessageDTO.getToUser(); + String busId = sendMessageDTO.getBusId(); + String busType = sendMessageDTO.getBusType(); - SysAnnouncement announcement = new SysAnnouncement(); - announcement.setTitile(sysSmsTemplate.getTemplateName()); - announcement.setMsgContent(content); - announcement.setSender(fromUser); - announcement.setPriority(CommonConstant.PRIORITY_M); - announcement.setMsgType(CommonConstant.MSG_TYPE_UESR); - announcement.setSendStatus(CommonConstant.HAS_SEND); - announcement.setSendTime(new Date()); - announcement.setMsgCategory(CommonConstant.MSG_CATEGORY_2); - announcement.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0)); - announcement.setBusId(busId); - announcement.setBusType(busType); - announcement.setOpenType(SysAnnmentTypeEnum.getByType(busType).getOpenType()); - announcement.setOpenPage(SysAnnmentTypeEnum.getByType(busType).getOpenPage()); - announcement.setTemplateCode(sendMessageDTO.getTemplateCode()); - sysAnnouncementService.save(announcement); - // 2.插入用户通告阅读标记表记录 - String userId = toUser; - String[] userIds = userId.split(","); - String anntId = announcement.getId(); - for(int i=0;i queryPageList(Page page, PayIncomeContract payIncomeContract, String chargeStatus,String projectName, String startTime, String endTime) { @@ -664,6 +668,27 @@ public class PayIncomeContractServiceImpl extends ServiceImpl list = sysUserService.getRolesUser(Arrays.asList(RoleCommon.CWRY)); + if(!CollectionUtils.isEmpty(list)){ + list.forEach(p->{ + // 发送消息 + SendMessageDTO sendMessageDTO = new SendMessageDTO(); + if(!StringUtils.isBlank(p.getEmail())){ + sendMessageDTO.setEmail(PasswordUtil.decrypt(p.getEmail())); + } + HashMap map = new HashMap<>(); + map.put("contractNum",payIncomeContractNew.getContractNum()); + map.put("contractName",payIncomeContractNew.getContractName()); + sendMessageDTO.setFromUser(sysUser.getId()); + sendMessageDTO.setToUser(p.getUsername()); + sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG2.getCode()); + sendMessageDTO.setTemplateParam(map); + sendMessageDTO.setBusType("email"); + sendMessageDTO.setBusId(p.getId()); + sendMessageService.SendMessageService(sendMessageDTO); + }); + } } /** diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysAnnouncementController.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysAnnouncementController.java index 95437811..5dc43ad7 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysAnnouncementController.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysAnnouncementController.java @@ -11,6 +11,8 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.jero.common.system.api.ISysBaseAPI; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.shiro.SecurityUtils; import com.jero.common.api.vo.Result; @@ -67,6 +69,8 @@ public class SysAnnouncementController { private ISysAnnouncementSendService sysAnnouncementSendService; @Resource private WebSocket webSocket; + @Autowired + private ISysBaseAPI sysBaseAPI; /** * 分页列表查询 @@ -313,6 +317,13 @@ public class SysAnnouncementController { anntMsgList = sysAnnouncementService.querySysCementPageByUserId(anntMsgList,userId,"1");//通知公告消息 Page sysMsgList = new Page(0,5); sysMsgList = sysAnnouncementService.querySysCementPageByUserId(sysMsgList,userId,"2");//系统消息 + if(!CollectionUtils.isEmpty(sysMsgList.getRecords())){ + List list = sysMsgList.getRecords(); + list.forEach(p->{ + p.setTitile(sysBaseAPI.translateDict("notice_type",p.getTitile())); + }); + sysMsgList.setRecords(list); + } Map sysMsgMap = new HashMap(); sysMsgMap.put("sysMsgList", sysMsgList.getRecords()); sysMsgMap.put("sysMsgTotal", sysMsgList.getTotal());