日志处理

This commit is contained in:
zhangchenbiao
2023-06-27 14:17:41 +08:00
parent 56ebaefb6f
commit 0e2df38528
6 changed files with 335 additions and 126 deletions

View File

@@ -0,0 +1,93 @@
package com.cool.store.dto.log;
import com.alibaba.fastjson.JSONObject;
import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils;
import com.cool.store.entity.HyPartnerTaskInfoLogDO;
import com.cool.store.enums.OperateLogFieldValueEnum;
import com.cool.store.enums.OperateTypeEnum;
import com.cool.store.enums.WorkflowStageEnum;
import com.cool.store.enums.WorkflowStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import java.util.*;
/**
* @author zhangchenbiao
* @FileName: LineLogInfo
* @Description:
* @date 2023-06-27 13:44
*/
@Slf4j
@Data
public class LineLogInfo<T> {
@ApiModelProperty("hy_partner_user_info.partner_id")
private String partnerId;
@ApiModelProperty("hy_partner_line_info.id")
private Long partnerLineId;
@ApiModelProperty("操作人id")
private String operateUserId;
@ApiModelProperty("操作人姓名")
private String operateUsername;
@ApiModelProperty("操作类型")
private OperateTypeEnum operateType;
@ApiModelProperty("流程阶段:意向申请审核、预约面试时间、加盟资格面试、分配选址开发经理、商圈点位评估、上传店铺租赁信息、完善加盟签约信息、支付加盟费用、签订加盟合同")
private WorkflowStageEnum workflowStage;
@ApiModelProperty("流程子状态")
private WorkflowStatusEnum workflowStatus;
@ApiModelProperty("备注")
private String message;
@ApiModelProperty("数据处理字段")
private T data;
public static boolean checkParams(LineLogInfo params){
if(StringUtils.isAnyBlank(params.getPartnerId(), params.getOperateUserId(), params.getOperateUsername())){
log.info("lineLogInfo string:{}", JSONObject.toJSONString(params));
return false;
}
if(Objects.isNull(params.getOperateType()) || Objects.isNull(params.getWorkflowStage()) || Objects.isNull(params.getWorkflowStatus())){
log.info("lineLogInfo enum is null:{}", JSONObject.toJSONString(params));
return false;
}
return true;
}
public static HyPartnerTaskInfoLogDO convertDO(LineLogInfo params){
OperateTypeEnum operateType = params.getOperateType();
HyPartnerTaskInfoLogDO result = new HyPartnerTaskInfoLogDO();
result.setPartnerId(params.getPartnerId());
result.setPartnerLineId(params.getPartnerLineId());
result.setOperateType(params.getOperateType().getCode());
result.setWorkflowStage(params.getWorkflowStage().getCode());
result.setWorkflowStatus(params.getWorkflowStatus().getCode());
result.setOperateUserId(params.getOperateUserId());
result.setOperateUsername(params.getOperateUsername());
result.setMessage(params.getMessage());
result.setCreateTime(new Date());
result.setUpdateTime(new Date());
Object data = params.getData();
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(data));
List<OperateLogFieldValueEnum> filedList = operateType.getFiledList();
List<Map<String, Object>> fieldMapList = new ArrayList<>();
for (OperateLogFieldValueEnum field : filedList) {
Map<String, Object> fieldMap = new HashMap<>();
fieldMap.put("code",field.getCode());
fieldMap.put("name",field.getName());
fieldMap.put("value",jsonObject.get(field.getCode()));
fieldMapList.add(fieldMap);
}
result.setFieldCopy(JSONObject.toJSONString(fieldMapList));
return result;
}
}

View File

@@ -18,6 +18,7 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor
@AllArgsConstructor
public class HyPartnerTaskInfoLogDO implements Serializable {
@ApiModelProperty("")
private Long id;
@@ -30,6 +31,9 @@ public class HyPartnerTaskInfoLogDO implements Serializable {
@ApiModelProperty("操作人姓名")
private String operateUsername;
@ApiModelProperty("操作类型 参考代码中OperateTypeEnum")
private String operateType;
@ApiModelProperty("流程阶段:意向申请审核、预约面试时间、加盟资格面试、分配选址开发经理、商圈点位评估、上传店铺租赁信息、完善加盟签约信息、支付加盟费用、签订加盟合同")
private String workflowStage;