Commit 5771f33c authored by yangyang's avatar yangyang

fix(开通业务):新增DTO日期json序列化

parent 85f725f7
package com.yeejoin.amos.boot.module.jg.api.common;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
import org.apache.commons.lang3.StringUtils;
import org.typroject.tyboot.core.foundation.utils.DateTimeUtil;
import java.io.IOException;
import java.lang.reflect.Field;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;
/**
* @JsonComponent 会覆盖JsonFormat, 这里解析字段提升JsonFormat优先级
* <p>
* ProjectName: amos-boot-biz
* PackageName: com.yeejoin.amos.boot.module.jg.biz.config
*
* @author yangyang
* @version v1.0
* @date 2023/12/18 17:35
*/
public class BizCustomDateSerializer extends JsonSerializer<Date> {
private List<String> customFields = Arrays.asList("acceptDate", "expiryDate","applicationDate");
public BizCustomDateSerializer()
{
}
@Override
public void serialize(Date value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
try {
Class<?> clazz = jgen.getCurrentValue().getClass();
if (Objects.equals(clazz, HashMap.class)) {
// 分页参数
if (customFields.contains(jgen.getOutputContext().getCurrentName())) {
SimpleDateFormat formatter = new SimpleDateFormat(DateTimeUtil.ISO_DATE);
jgen.writeString(formatter.format(value));
return;
}
} else {
Field field = clazz.getDeclaredField(jgen.getOutputContext().getCurrentName());
if (Objects.equals(field.getType(), Date.class)) {
if (field.isAnnotationPresent(JsonFormat.class)) {
String pattern = field.getAnnotation(JsonFormat.class).pattern();
if (StringUtils.isNotBlank(pattern)) {
SimpleDateFormat formatter = new SimpleDateFormat(pattern);
jgen.writeString(formatter.format(value));
return;
}
}
}
}
jgen.writeString(defaultFormattedDate(value));
} catch (Exception e) {
jgen.writeString(defaultFormattedDate(value));
}
}
private String defaultFormattedDate(Date value) {
SimpleDateFormat formatter = new SimpleDateFormat(DateTimeUtil.ISO_DATE_HOUR24_MIN_SEC);
String formattedDate = formatter.format(value);
return formattedDate;
}
}
\ No newline at end of file
......@@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yeejoin.amos.boot.module.jg.api.common.BizCustomDateSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
......@@ -33,6 +35,8 @@ public class JgReformNoticeDto extends BaseDto {
private String applyNo;
@ApiModelProperty (value = "告知日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonSerialize(using = BizCustomDateSerializer.class)
private Date noticeDate;
@ApiModelProperty (value = "告知状态")
......@@ -94,6 +98,7 @@ public class JgReformNoticeDto extends BaseDto {
@ApiModelProperty (value = "计划施工日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonSerialize(using = BizCustomDateSerializer.class)
private Date planDate;
@ApiModelProperty (value = "接收机构单位代码")
......@@ -153,9 +158,6 @@ public class JgReformNoticeDto extends BaseDto {
@TableField (exist = false)
@ApiModelProperty (value = "告知设备列表")
private List<Map<String, Object>> deviceList;
//
// @ApiModelProperty (value = "告知单PDF URL")
// private String noticeReportUrl;
@ApiModelProperty (value = "区名字")
private String countyName;
......@@ -178,8 +180,6 @@ public class JgReformNoticeDto extends BaseDto {
@ApiModelProperty(value = "设备使用地点-街道(镇)")
private String streetName;
//
// private String receiveOrgCreditCode;
@ApiModelProperty(value = "下一执行节点ids")
private String nextExecuteIds;
......@@ -189,4 +189,11 @@ public class JgReformNoticeDto extends BaseDto {
@ApiModelProperty(value = "告知单PDF URL")
private String noticeReportUrl;
private List<String> roleIds;
private String dataType ;
@ApiModelProperty(value = "状态")
private String status;
}
......@@ -292,4 +292,10 @@ public class JgReformNotice extends BaseEntity {
*/
@TableField("notice_report_url")
private String noticeReportUrl;
/**
* 状态
*/
@TableField("status")
private String status;
}
......@@ -5,6 +5,7 @@ import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -18,8 +19,12 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* 装备分类
......@@ -123,4 +128,18 @@ public class CommonController extends BaseController {
String companyCode = unitCode.split("_")[0];
return ResponseHelper.buildResponse(commonService.getEnterpriseEmployee(companyCode));
}
@TycloudOperation (ApiLevel = UserType.AGENCY)
@ApiOperation (httpMethod = "GET", value = "流程状态枚举列表", notes = "流程状态枚举列表")
@GetMapping (value = "/flow-status/list")
public ResponseModel<List<Map<String, Object>>> selectForFlowStatusList() {
return ResponseHelper.buildResponse(Arrays.stream(FlowStatusEnum.values()).map(this::mapPointTypeToMap).collect(Collectors.toList()));
}
private Map<String, Object> mapPointTypeToMap(FlowStatusEnum e) {
Map<String, Object> record = new HashMap<>();
record.put("key", e.getCode());
record.put("label", e.getName());
return record;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment