From ac625fa6aee52f467243c78764625cf053dcfe81 Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Wed, 25 Aug 2021 11:44:20 +0800 Subject: [PATCH] screen-manage 重构组织模块日志插入代码 --- screen-common/src/main/java/com/moral/util/DateUtils.java | 25 ++++++++++++ screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java | 74 +++++++++++++++++++++++++++++++++--- screen-manage/src/main/java/com/moral/api/entity/Organization.java | 12 ++++++ 3 files changed, 103 insertions(+), 8 deletions(-) diff --git a/screen-common/src/main/java/com/moral/util/DateUtils.java b/screen-common/src/main/java/com/moral/util/DateUtils.java index 9084e65..9af501f 100644 --- a/screen-common/src/main/java/com/moral/util/DateUtils.java +++ b/screen-common/src/main/java/com/moral/util/DateUtils.java @@ -1,6 +1,7 @@ package com.moral.util; +import lombok.extern.slf4j.Slf4j; import org.springframework.util.StringUtils; import java.math.BigDecimal; @@ -13,7 +14,7 @@ import java.time.ZonedDateTime; import java.util.*; - +@Slf4j public class DateUtils { /** * ������������(yyyy) @@ -79,6 +80,11 @@ * ������������(yyyy-MM-dd HH) * */ public static final String yyyy_MM_dd_HH_EN = "yyyy-MM-dd HH"; + + /* + * Date���toString������ + * */ + public static final String EEE_MMM_dd_HH_mm_ss_zzz_yyyy = "EEE MMM dd HH:mm:ss zzz yyyy"; /** * DateFormat������ */ @@ -86,6 +92,23 @@ /** + * @Description: Date���toString������������Date + * @Param: [] + * @return: java.util.Date + * @Author: ��������� + * @Date: 2021/8/25 + */ + public static Date dateStringToDate(String formatStr){ + try { + SimpleDateFormat sdf = new SimpleDateFormat(EEE_MMM_dd_HH_mm_ss_zzz_yyyy, Locale.US); + return sdf.parse(formatStr); + } catch (ParseException e) { + log.error(e.getMessage()); + return null; + } + } + + /** * ������DateFormat * * @param formatStr diff --git a/screen-manage/src/main/java/com/moral/api/entity/Organization.java b/screen-manage/src/main/java/com/moral/api/entity/Organization.java index 905b786..a16e9dc 100644 --- a/screen-manage/src/main/java/com/moral/api/entity/Organization.java +++ b/screen-manage/src/main/java/com/moral/api/entity/Organization.java @@ -7,6 +7,7 @@ import java.io.Serializable; import java.util.Date; +import com.moral.anno.FieldName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -33,6 +34,7 @@ /** * ���Id */ + @FieldName("���������Id") private Integer parentId; /** @@ -43,6 +45,7 @@ /** * ������������ */ + @FieldName("������������") private String name; /** @@ -53,6 +56,7 @@ /** * ������������ */ + @FieldName("������") private String provinceName; /** @@ -63,6 +67,7 @@ /** * ������������ */ + @FieldName("������") private String cityName; /** @@ -73,6 +78,7 @@ /** * ��������� */ + @FieldName("���") private String areaName; /** @@ -83,26 +89,31 @@ /** * ������������������������ */ + @FieldName("������������") private String locationLevelName; /** * ������ */ + @FieldName("������") private String address; /** * ��������� */ + @FieldName("������") private String phone; /** * ������ */ + @FieldName("������") private String email; /** * ��������� */ + @FieldName("������") private String wechat; /** @@ -118,6 +129,7 @@ /** * ������������ */ + @FieldName("������������") private Date expireTime; /** diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java index b9c95b3..020db1e 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java @@ -20,9 +20,11 @@ import com.moral.api.service.OrganizationService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.moral.api.service.UserService; +import com.moral.api.util.CompareFieldUtils; import com.moral.api.util.LogUtils; import com.moral.constant.Constants; import com.moral.constant.ResponseCodeEnum; +import com.moral.pojo.CompareFieldResult; import com.moral.util.ConvertUtils; import com.moral.util.DateUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -34,6 +36,8 @@ import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.*; import java.util.function.Predicate; @@ -103,10 +107,7 @@ organizationDTO.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); //������������������ - HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); - StringBuilder content = new StringBuilder(); - content.append("������������������").append(organization.getName() + ";"); - logUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE); + insertLog(organization); return organizationDTO; } @@ -149,7 +150,7 @@ organizationDTO.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); //������������������ - insertUpdateLog(organizationUpdateForm, organization, oldOrganization); + updateLog(oldOrganization,organization); return organizationDTO; } @@ -245,14 +246,13 @@ dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); //������������������ - HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); StringBuilder content = new StringBuilder(); content.append("������������������").append(existOrganization.getName()); if (form.getDeleteChildren().equals(Constants.DELETE_CHILDREN_ORG)) content.append("���������������������;"); else content.append(";"); - logUtils.saveOperationForManage(request, content.toString(), Constants.DELETE_OPERATE_TYPE); + logUtils.saveOperationForManage(content.toString(), Constants.DELETE_OPERATE_TYPE); return dto; } @@ -484,5 +484,65 @@ } } + /** + * @Description: ������������������������ + * @Param: [organization] + * @return: void + * @Author: ��������� + * @Date: 2021/8/25 + */ + private void insertLog(Organization organization){ + StringBuilder content = new StringBuilder(); + content.append("������������������").append(organization.getName() + ";"); + logUtils.saveOperationForManage(content.toString(), Constants.INSERT_OPERATE_TYPE); + } + + public void updateLog(Organization oldOrganization,Organization newOrganization){ + List<CompareFieldResult> results = CompareFieldUtils.compare(Organization.class, oldOrganization, newOrganization); + for (CompareFieldResult result : results) { + //��������������������������� + if(result.getFieldName().equals("parentId")){ + //���������id��������������� + String oldData = result.getOldData(); + String newData = result.getNewData(); + + if (!oldData.equals("0")) + oldData = organizationMapper.selectById(Integer.parseInt(oldData)).getName(); + else + oldData = "null"; + + if (!newData.equals("0")) + newData = organizationMapper.selectById(Integer.parseInt(newData)).getName(); + else + newData = "null"; + + result.setNewData(newData); + result.setOldData(oldData); + result.setFieldAnnoName("���������"); + } + + //������������������������ + if(result.getFieldName().equals("expireTime")){ + //DateToString���������������������yyyy-MM-dd + String oldData = result.getOldData(); + String newData = result.getNewData(); + + if(oldData!=null){ + Date oldDate = DateUtils.dateStringToDate(oldData); + oldData = DateUtils.dateToDateString(oldDate, "yyyy-MM-dd"); + } + + if(newData!=null){ + Date newDate = DateUtils.dateStringToDate(newData); + newData = DateUtils.dateToDateString(newDate, "yyyy-MM-dd"); + } + + result.setNewData(newData); + result.setOldData(oldData); + result.setFieldAnnoName("������������"); + } + } + } + } -- Gitblit v1.8.0