add 会议发布提醒

This commit is contained in:
lijiarao
2021-09-26 16:51:10 +08:00
parent 3f3e09b3ae
commit c905e0b4da
6 changed files with 132 additions and 56 deletions
@@ -4,6 +4,8 @@ import com.jero.meeting.entity.PayMeetingRemindRecord;
import com.jero.meeting.mapper.PayMeetingRemindRecordMapper; import com.jero.meeting.mapper.PayMeetingRemindRecordMapper;
import com.jero.meeting.service.IPayMeetingRemindRecordService; import com.jero.meeting.service.IPayMeetingRemindRecordService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -66,13 +68,15 @@ public class PayMeetingRemindRecordServiceImpl extends ServiceImpl<PayMeetingRem
@Override @Override
public void addList(List<String> meetingIdList, List<String> subitemIdList) { public void addList(List<String> meetingIdList, List<String> subitemIdList) {
List<PayMeetingRemindRecord> payMeetingRemindRecordList = new ArrayList<>();
for (String meetingId : meetingIdList) { for (String meetingId : meetingIdList) {
for (String subitemId : subitemIdList) {
PayMeetingRemindRecord payMeetingRemindRecord = new PayMeetingRemindRecord(); PayMeetingRemindRecord payMeetingRemindRecord = new PayMeetingRemindRecord();
payMeetingRemindRecord.setMeetingId(meetingId); payMeetingRemindRecord.setMeetingId(meetingId);
for (String subitemId : subitemIdList) {
payMeetingRemindRecord.setSubitemId(subitemId); payMeetingRemindRecord.setSubitemId(subitemId);
this.save(payMeetingRemindRecord); payMeetingRemindRecordList.add(payMeetingRemindRecord);
} }
} }
this.saveBatch(payMeetingRemindRecordList);
} }
} }
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jero.common.dto.SendMessageDTO; import com.jero.common.dto.SendMessageDTO;
import com.jero.common.enums.CompanyMessageEnums; import com.jero.common.enums.CompanyMessageEnums;
import com.jero.common.enums.ManagementMessageEnums;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.common.service.SendMessageService; import com.jero.common.service.SendMessageService;
import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.api.ISysBaseAPI;
@@ -12,6 +13,7 @@ import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PasswordUtil; import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil; import com.jero.common.util.ValidUtil;
import com.jero.company.entity.PayContactsManagement; import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService; import com.jero.company.service.IPayContactsManagementService;
import com.jero.data.entity.PayCaseCommittee; import com.jero.data.entity.PayCaseCommittee;
import com.jero.data.service.IPayCaseCommitteeService; import com.jero.data.service.IPayCaseCommitteeService;
@@ -77,6 +79,8 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
@Resource @Resource
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService; private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
@Resource @Resource
private IPayCompanyManagementService payCompanyManagementService;
@Resource
private IPayContactsManagementService payContactsManagementService; private IPayContactsManagementService payContactsManagementService;
@Resource @Resource
private IPayCaseCommitteeService payCaseCommitteeService; private IPayCaseCommitteeService payCaseCommitteeService;
@@ -364,46 +368,56 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
@Override @Override
public void publishReminder(List<String> meetingIds, List<String> subitemIds) { public void publishReminder(List<String> meetingIds, List<String> subitemIds) {
List<PayWorkingGroupSubItem> payWorkingGroupSubItems = payWorkingGroupSubItemService.listByIds(subitemIds); List<PayWorkingGroupSubItem> payWorkingGroupSubItems = payWorkingGroupSubItemService.listByIds(subitemIds);
List<String> userIds = new ArrayList<>(); List<String> companyIds = new ArrayList<>();
//用于新增关联关系 //用于新增关联关系
List<String> meetingIdList = new ArrayList<>(); List<String> meetingIdList = new ArrayList<>();
List<String> subitemIdList = new ArrayList<>(); List<String> subitemIdList = new ArrayList<>();
//把单位会员中所有的联系人和有机联系人取出 //把单位会员中所有的联系人和有机联系人取出
for (PayWorkingGroupSubItem payWorkingGroupSubItem : payWorkingGroupSubItems) { for (PayWorkingGroupSubItem payWorkingGroupSubItem : payWorkingGroupSubItems) {
subitemIdList.add(payWorkingGroupSubItem.getId()); subitemIdList.add(payWorkingGroupSubItem.getId());
String contactsTemporaryIdOne = payWorkingGroupSubItem.getContactsTemporaryIdOne(); String companyId = payWorkingGroupSubItem.getChargeCompanyId();
if (StrUtil.isNotBlank(contactsTemporaryIdOne)){ companyIds.add(companyId);
userIds.add(contactsTemporaryIdOne);
}
String contactsTemporaryIdTwo = payWorkingGroupSubItem.getContactsTemporaryIdTwo();
if (StrUtil.isNotBlank(contactsTemporaryIdTwo)){
userIds.add(contactsTemporaryIdTwo);
}
String contactsTemporaryIdThree = payWorkingGroupSubItem.getContactsTemporaryIdThree();
if (StrUtil.isNotBlank(contactsTemporaryIdThree)){
userIds.add(contactsTemporaryIdThree);
}
String mailContactsTemporaryId = payWorkingGroupSubItem.getMailContactsTemporaryId();
if (StrUtil.isNotBlank(mailContactsTemporaryId)){
userIds.add(mailContactsTemporaryId);
}
} }
//去重 //去重
userIds = userIds.stream().distinct().collect(Collectors.toList());
LambdaQueryWrapper<PayContactsManagement> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PayContactsManagement> wrapper = new LambdaQueryWrapper<>();
wrapper.in(PayContactsManagement::getId,userIds); wrapper.in(PayContactsManagement::getCompanyId,companyIds);
List<PayContactsManagement> list = payContactsManagementService.list(wrapper); List<PayContactsManagement> list = payContactsManagementService.list(wrapper);
for (PayContactsManagement payContactsManagement : list) {
//TODO 发送消息
}
//标记会议为已提醒 //标记会议为已提醒
List<PayMeeting> payMeetings = listByIds(meetingIds); List<PayMeeting> payMeetings = listByIds(meetingIds);
for (PayMeeting payMeeting : payMeetings) { for (PayMeeting payMeeting : payMeetings) {
meetingIdList.add(payMeeting.getId()); String meetingId = payMeeting.getId();
meetingIdList.add(meetingId);
payMeeting.setRemind(MeetingCommon.REMIND_1); payMeeting.setRemind(MeetingCommon.REMIND_1);
saveOrUpdate(payMeeting); saveOrUpdate(payMeeting);
//发送消息
for (PayContactsManagement payContactsManagement : list) {
String directorId = payMeeting.getDirectorId();
LoginUser director = sysBaseApi.getUserById(directorId);
// 给企业联系人发送消息
String email = payContactsManagement.getEmail();
String phone = payContactsManagement.getPhone();
SendMessageDTO sendMessageDTO = new SendMessageDTO();
if (!StringUtils.isBlank(email)) {
if (StringUtils.isNotBlank(payMeeting.getNotice())){
sysBaseApi.sendEmailMsg(PasswordUtil.decrypt(email),"会议通知",payMeeting.getNotice());
}else {
sendMessageDTO.setEmail(PasswordUtil.decrypt(email));
}
}
if (!StringUtils.isBlank(phone)) {
sendMessageDTO.setToUser(PasswordUtil.decrypt(phone));
sendMessageDTO.setPhone(PasswordUtil.decrypt(phone));
}
HashMap<String, String> map = new HashMap<>();
sendMessageDTO.setFromUser(director.getUsername());
sendMessageDTO.setTemplateCode(CompanyMessageEnums.MSG1.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("C_OPEN_TYPE1");
sendMessageDTO.setBusId(meetingId);
sendMessageService.SendMessageService(sendMessageDTO);
}
} }
payMeetingRemindRecordService.addList(meetingIdList,subitemIdList); payMeetingRemindRecordService.addList(meetingIdList,subitemIdList);
} }
@@ -48,6 +48,7 @@ import com.jero.standards.memberinfo.service.IMemberInfoService;
import com.jero.temporary.service.IPayCompanyManagementTemporaryService; import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
import com.jero.temporary.service.IPayContactsManagementTemporaryService; import com.jero.temporary.service.IPayContactsManagementTemporaryService;
import com.jero.util.ObjRecordUtil; import com.jero.util.ObjRecordUtil;
import com.jero.util.module.ObjRecordUtilModule;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@@ -105,6 +106,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
@Resource @Resource
private ContractCreateProjectSendMessageService contractCreateProjectSendMessageService; private ContractCreateProjectSendMessageService contractCreateProjectSendMessageService;
private static final String[] CAN_MODIFY_LIST = new String[]{"arrivalTime","departureTime","checkInHotel"};
/** /**
* 保存 * 保存
*/ */
@@ -122,7 +125,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
// 收入合同创建项目发送消息到项目负责人 // 收入合同创建项目发送消息到项目负责人
if (Objects.equals(ProjectCommon.FLAG, payMeetingSituation.getFlag())) { if (Objects.equals(ProjectCommon.FLAG, payMeetingSituation.getFlag())) {
PayMeeting payMeeting = meetingService.getById(payMeetingSituation.getMeetingId()); PayMeeting payMeeting = meetingService.getById(payMeetingSituation.getMeetingId());
contractCreateProjectSendMessageService.ContractCreateProjectSendMessageService(payMeeting.getMeetingName() + "的" + payMeetingSituation.getCompanyName(),payMeetingSituation.getId()); contractCreateProjectSendMessageService.ContractCreateProjectSendMessageService(payMeeting.getMeetingName() + "的" + payMeetingSituation.getCompanyName(), payMeetingSituation.getId());
} }
} }
@@ -217,10 +220,34 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
payMeetingSituation1.setRegisterCheckResult(MeetingSubitemCommon.SIGNUP_STATUS_0); payMeetingSituation1.setRegisterCheckResult(MeetingSubitemCommon.SIGNUP_STATUS_0);
} }
} }
String paymentRecord = payMeetingSituation1.getPaymentRecord();
Integer checkResult = payMeetingSituation1.getCheckResult();
//上传付款凭证并且审批结果不为通过发送邮件提醒审批
if (StringUtils.isNotBlank(paymentRecord) && !Objects.equals(checkResult, MeetingSubitemCommon.SIGNUP_STATUS_1)) {
String directorId = payMeeting.getDirectorId();
LoginUser director = iSysBaseApi.getUserById(directorId);
// 给负责人发送消息
SendMessageDTO sendMessageDTO = new SendMessageDTO();
if (!StringUtils.isBlank(director.getEmail())) {
sendMessageDTO.setEmail(PasswordUtil.decrypt(director.getEmail()));
}
if (!StringUtils.isBlank(director.getPhone())) {
sendMessageDTO.setToUser(director.getUsername());
//sendMessageDTO.setPhone(PasswordUtil.decrypt(director.getPhone()));
}
HashMap<String, String> map = new HashMap<>();
sendMessageDTO.setFromUser(director.getUsername());
sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG5.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("M_OPEN_TYPE5");
sendMessageDTO.setBusId(payMeetingSituation1.getId());
sendMessageService.SendMessageService(sendMessageDTO);
}
} }
/** /**
* 判断发送哪种类型的消息 * 判断发送哪种类型的消息
*
* @param payMeeting * @param payMeeting
* @param payMeetingSituation * @param payMeetingSituation
* @param isSubItem 是否是组成员 * @param isSubItem 是否是组成员
@@ -229,15 +256,15 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
//工作组成员 //工作组成员
if (isSubItem) { if (isSubItem) {
//不是汇款和线上缴费 //不是汇款和线上缴费
if (payMeetingSituation.getPayMode().equals(MeetingSubitemCommon.PAY_MODE_3)){ if (payMeetingSituation.getPayMode().equals(MeetingSubitemCommon.PAY_MODE_3)) {
sendMessage(payMeeting, payMeetingSituation,CompanyMessageEnums.MSG4,"C_OPEN_TYPE4"); sendMessage(payMeeting, payMeetingSituation, CompanyMessageEnums.MSG4, "C_OPEN_TYPE4");
} }
}else { } else {
//不是汇款和线上缴费 //不是汇款和线上缴费
if (payMeetingSituation.getPayMode().equals(MeetingSubitemCommon.PAY_MODE_3)){ if (payMeetingSituation.getPayMode().equals(MeetingSubitemCommon.PAY_MODE_3)) {
sendMessage(payMeeting, payMeetingSituation,CompanyMessageEnums.MSG2,"C_OPEN_TYPE2"); sendMessage(payMeeting, payMeetingSituation, CompanyMessageEnums.MSG2, "C_OPEN_TYPE2");
}else { } else {
sendMessage(payMeeting, payMeetingSituation,CompanyMessageEnums.MSG3,"C_OPEN_TYPE3"); sendMessage(payMeeting, payMeetingSituation, CompanyMessageEnums.MSG3, "C_OPEN_TYPE3");
} }
} }
} }
@@ -248,6 +275,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
* 既不是非成员单位,也不需要上传缴费凭证的直接发送发送消息 CompanyMessageEnums.MSG4 * 既不是非成员单位,也不需要上传缴费凭证的直接发送发送消息 CompanyMessageEnums.MSG4
* 汇款凭证审核不通过 CompanyMessageEnums.MSG5 * 汇款凭证审核不通过 CompanyMessageEnums.MSG5
* 非成员单位审核通过且上传的缴费凭证审核通过也发送。(即需要审核的都审核通过才发送)CompanyMessageEnums.MSG6 * 非成员单位审核通过且上传的缴费凭证审核通过也发送。(即需要审核的都审核通过才发送)CompanyMessageEnums.MSG6
*
* @param payMeetingSituation * @param payMeetingSituation
* @author lijiarao * @author lijiarao
* @date 2021/9/24 17:51 * @date 2021/9/24 17:51
@@ -304,7 +332,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
Integer checkResult = checkVO.getCheckResult(); Integer checkResult = checkVO.getCheckResult();
if (checkResult.equals(MeetingSubitemCommon.SIGNUP_STATUS_2)) { if (checkResult.equals(MeetingSubitemCommon.SIGNUP_STATUS_2)) {
//汇款凭证审核不通过 //汇款凭证审核不通过
sendMessage(payMeeting, payMeetingSituation,CompanyMessageEnums.MSG5,"C_OPEN_TYPE5"); sendMessage(payMeeting, payMeetingSituation, CompanyMessageEnums.MSG5, "C_OPEN_TYPE5");
} else { } else {
//设置到账 //设置到账
@@ -323,7 +351,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
//添加来款 //添加来款
payPaymentRecordService.addAmountReceived(payPaymentRecords); payPaymentRecordService.addAmountReceived(payPaymentRecords);
//非成员单位审核通过且上传的缴费凭证审核通过也发送。(即需要审核的都审核通过才发送) //非成员单位审核通过且上传的缴费凭证审核通过也发送。(即需要审核的都审核通过才发送)
sendMessage(payMeeting, payMeetingSituation,CompanyMessageEnums.MSG6,"C_OPEN_TYPE6"); sendMessage(payMeeting, payMeetingSituation, CompanyMessageEnums.MSG6, "C_OPEN_TYPE6");
} }
} }
@@ -501,17 +529,20 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
PayMeetingSituation payMeetingSituation1 = getPayMeetingSituation(payMeetingSituation); PayMeetingSituation payMeetingSituation1 = getPayMeetingSituation(payMeetingSituation);
//判断是否修改付款凭证 //判断是否修改付款凭证
Integer checkResult = oldObject.getCheckResult(); Integer checkResult = oldObject.getCheckResult();
if (Objects.equals(checkResult,MeetingSubitemCommon.SIGNUP_STATUS_1)){ if (Objects.equals(checkResult, MeetingSubitemCommon.SIGNUP_STATUS_1)) {
String paymentRecord = oldObject.getPaymentRecord(); ObjRecordUtilModule objRecordUtilModule = ObjRecordUtil.addRecord(oldObject, payMeetingSituation1);
String paymentRecord1 = payMeetingSituation1.getPaymentRecord(); List<String> fieldNames = objRecordUtilModule.getFieldNames();
if (!Objects.equals(paymentRecord,paymentRecord1)){ List<String> canModifyList = Arrays.asList(CAN_MODIFY_LIST);
throw new JeroBootException("审核通过之后不允许修改付款凭证"); boolean containsAll = canModifyList.containsAll(fieldNames);
if (!containsAll){
throw new JeroBootException("审核通过之后只允许修改行程信息");
} }
} }
//如果是对接人修改的 //如果是对接人修改的
if (sysUserId.equals(dockId)) { if (sysUserId.equals(dockId)) {
//判断修改了那些字段 //判断修改了那些字段
String record = ObjRecordUtil.addRecord(oldObject, payMeetingSituation1); ObjRecordUtilModule objRecordUtilModule = ObjRecordUtil.addRecord(oldObject, payMeetingSituation1);
String record = objRecordUtilModule.getInfo();
if (StringUtils.isNotBlank(record)) { if (StringUtils.isNotBlank(record)) {
// 给负责人发送消息 // 给负责人发送消息
SendMessageDTO sendMessageDTO = new SendMessageDTO(); SendMessageDTO sendMessageDTO = new SendMessageDTO();
@@ -527,7 +558,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
map.put("userName1", sysUser.getUsername()); map.put("userName1", sysUser.getUsername());
map.put("userName2", payMeetingSituation.getCompanyContactName()); map.put("userName2", payMeetingSituation.getCompanyContactName());
map.put("record", record); map.put("record", record);
sendMessageDTO.setFromUser(sysUser.getId()); sendMessageDTO.setFromUser(sysUser.getUsername());
sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG8.getCode()); sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG8.getCode());
sendMessageDTO.setTemplateParam(map); sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("M_OPEN_TYPE8"); sendMessageDTO.setBusType("M_OPEN_TYPE8");
@@ -621,18 +652,18 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
Integer payMode = commonPeopleVO.getPayMode(); Integer payMode = commonPeopleVO.getPayMode();
payMeetingSituation1.setPayMode(payMode); payMeetingSituation1.setPayMode(payMode);
//缴费方式为打包时,不处理邮寄联系人和地址 //缴费方式为打包时,不处理邮寄联系人和地址
if (Objects.equals(payMode,MeetingSubitemCommon.PAY_MODE_3)) { if (Objects.equals(payMode, MeetingSubitemCommon.PAY_MODE_3)) {
ValidUtil.validate(commonPeopleVO); ValidUtil.validate(commonPeopleVO);
//存入打包字段 //存入打包字段
payMeetingSituation1.setPack(PayProjectCommon.PACKAGING1); payMeetingSituation1.setPack(PayProjectCommon.PACKAGING1);
payMeetingSituation1.setAmountReceivable(new BigDecimal(0)); payMeetingSituation1.setAmountReceivable(new BigDecimal(0));
//缴费方式为汇款或线上缴费 //缴费方式为汇款或线上缴费
} else if (Objects.equals(payMode,MeetingSubitemCommon.PAY_MODE_1) } else if (Objects.equals(payMode, MeetingSubitemCommon.PAY_MODE_1)
||Objects.equals(payMode,MeetingSubitemCommon.PAY_MODE_2)){ || Objects.equals(payMode, MeetingSubitemCommon.PAY_MODE_2)) {
ValidUtil.validate(commonPeopleVO, NotPack.class); ValidUtil.validate(commonPeopleVO, NotPack.class);
//缴费方式为线上缴费时,判断是否为会议期间 //缴费方式为线上缴费时,判断是否为会议期间
String paymentRecord = payMeetingSituation.getPaymentRecord(); String paymentRecord = payMeetingSituation.getPaymentRecord();
if (payMode.equals(MeetingSubitemCommon.PAY_MODE_2)) { if (payMode.equals(MeetingSubitemCommon.PAY_MODE_2) && StringUtils.isNotBlank(paymentRecord)) {
Date startTime = payMeeting.getStartTime(); Date startTime = payMeeting.getStartTime();
Date endTime = payMeeting.getEndTime(); Date endTime = payMeeting.getEndTime();
//如果不在会议期间,不允许上传缴费凭证 //如果不在会议期间,不允许上传缴费凭证
@@ -643,8 +674,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
payMeetingSituation1.setOrderCode(payMeetingSituation.getOrderCode()); payMeetingSituation1.setOrderCode(payMeetingSituation.getOrderCode());
} else { } else {
payMeetingSituation1.setPaymentRecord(paymentRecord); payMeetingSituation1.setPaymentRecord(paymentRecord);
} }
payMeetingSituation1.setNeedInvoice(payMeetingSituation.getNeedInvoice()); payMeetingSituation1.setNeedInvoice(payMeetingSituation.getNeedInvoice());
//如果是标协会议判断会员类型 //如果是标协会议判断会员类型
@@ -252,6 +252,9 @@ public class PayMeetingSituationVO {
@Excel(name = "邮寄联系人地址", width = 15) @Excel(name = "邮寄联系人地址", width = 15)
@ApiModelProperty(value = "邮寄联系人地址") @ApiModelProperty(value = "邮寄联系人地址")
private String postContactAddress; private String postContactAddress;
/**邮编*/
@ApiModelProperty(value = "邮编")
private String postCode;
/**缴费方式*/ /**缴费方式*/
@Excel(name = "缴费方式", width = 15) @Excel(name = "缴费方式", width = 15)
@@ -4,13 +4,15 @@ import cn.hutool.core.date.DateUtil;
import com.jero.common.aspect.annotation.Dict; import com.jero.common.aspect.annotation.Dict;
import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.util.SpringContextUtils; import com.jero.common.util.SpringContextUtils;
import com.jero.util.module.ObjRecordUtilModule;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import javax.annotation.Resource;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List;
import java.util.Objects; import java.util.Objects;
/** /**
@@ -25,7 +27,8 @@ public class ObjRecordUtil {
* @param newObj 修改后数据对象 * @param newObj 修改后数据对象
* @return * @return
*/ */
public static String addRecord(Object oldObj, Object newObj) { public static ObjRecordUtilModule addRecord(Object oldObj, Object newObj) {
ObjRecordUtilModule objRecordUtilModule = new ObjRecordUtilModule();
try { try {
// 得到类对象 // 得到类对象
Class<?> class1 = oldObj.getClass(); Class<?> class1 = oldObj.getClass();
@@ -37,6 +40,7 @@ public class ObjRecordUtil {
Field[] fields1 = class1.getDeclaredFields(); Field[] fields1 = class1.getDeclaredFields();
Field[] fields2 = class2.getDeclaredFields(); Field[] fields2 = class2.getDeclaredFields();
StringBuilder info = new StringBuilder(); StringBuilder info = new StringBuilder();
List<String> fieldNames = new ArrayList<>();
String id = null; String id = null;
for (Field field1 : fields1) { for (Field field1 : fields1) {
field1.setAccessible(true); // 设置属性是可以访问的(私有的也可以) field1.setAccessible(true); // 设置属性是可以访问的(私有的也可以)
@@ -77,6 +81,7 @@ public class ObjRecordUtil {
} else { } else {
info.append(pn.value()).append(":\"").append(old).append("\" 改成 \"").append(newo).append("\","); info.append(pn.value()).append(":\"").append(old).append("\" 改成 \"").append(newo).append("\",");
} }
fieldNames.add(field1.getName());
} }
} }
break; // 属性名称一样就退出二级循环 break; // 属性名称一样就退出二级循环
@@ -85,11 +90,15 @@ public class ObjRecordUtil {
} }
if (info.length() != 0) { if (info.length() != 0) {
// 设置日志信息 // 设置日志信息
return info.substring(0, info.length() - 1); objRecordUtilModule.setInfo(info.substring(0, info.length() - 1));
objRecordUtilModule.setFieldNames(fieldNames);
return objRecordUtilModule;
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
return null; objRecordUtilModule.setInfo(null);
objRecordUtilModule.setFieldNames(new ArrayList<>());
return objRecordUtilModule;
} }
} }
@@ -0,0 +1,15 @@
package com.jero.util.module;
import lombok.Data;
import java.util.List;
/**
* @author liJiaRao
* @date 2021-09-26 15:04
*/
@Data
public class ObjRecordUtilModule {
private List<String> fieldNames;
private String info;
}