mysql数据枚举类型转换完善

wxpay
LI-CCONG\李聪聪 8 months ago
parent 4ed85aeb05
commit 9a2e8291fe

@ -94,7 +94,7 @@ public class CommonExceptionAdvice {
public Object handleNestedServletException(NestedServletException e) {
log.error("参数异常 -> NestedServletException{}", e.getMessage());
log.debug("", e);
return processResponse(new BadRequestException("请求参数处理异常"));
return processResponse(new BadRequestException("系统参数处理异常"));
}
@ExceptionHandler(Exception.class)

@ -35,7 +35,7 @@ import java.util.stream.Collectors;
@Slf4j
public class SwaggerEnumPlugin implements ModelPropertyBuilderPlugin, ParameterBuilderPlugin, OperationBuilderPlugin, ExpandedParameterBuilderPlugin {
private static final String DELIMITER = ",";
private static final String DELIMITER = "<br/>";
@Override
public void apply(ModelPropertyContext context) {
@ -58,7 +58,7 @@ public class SwaggerEnumPlugin implements ModelPropertyBuilderPlugin, ParameterB
ModelPropertyBuilder builder = context.getBuilder();
Field descField = ReflectionUtils.findField(builder.getClass(), "description");
ReflectionUtils.makeAccessible(descField);
String joinText = (ReflectionUtils.getField(descField, builder) == null ? "" : (ReflectionUtils.getField(descField, builder) + ":"))
String joinText = (ReflectionUtils.getField(descField, builder) == null ? "" : (ReflectionUtils.getField(descField, builder) + ":<br/>"))
+ String.join(DELIMITER, displayValues);
// builder.description(joinText).type(context.getResolver().resolve(Integer.class));
@ -147,9 +147,8 @@ public class SwaggerEnumPlugin implements ModelPropertyBuilderPlugin, ParameterB
Field descField = ReflectionUtils.findField(parameterBuilder.getClass(), "description");
ReflectionUtils.makeAccessible(descField);
String joinText = (ReflectionUtils.getField(descField, parameterBuilder) == null ? "" : (ReflectionUtils.getField(descField, parameterBuilder) + ":"))
String joinText = (ReflectionUtils.getField(descField, parameterBuilder) == null ? "" : (ReflectionUtils.getField(descField, parameterBuilder) + ":<br/>"))
+ String.join(DELIMITER, displayValues);
parameterBuilder.description(joinText);
}
}
@ -179,6 +178,7 @@ public class SwaggerEnumPlugin implements ModelPropertyBuilderPlugin, ParameterB
).collect(Collectors.toList());
}
@Override
public boolean supports(DocumentationType documentationType) {
return true;

@ -28,15 +28,15 @@ import java.util.stream.Collectors;
public class PageQuery {
public static final Integer DEFAULT_PAGE_SIZE = 20;
public static final Integer DEFAULT_PAGE_NUM = 1;
@ApiModelProperty("页码")
@ApiModelProperty(value = "页码", required = true, example = "1")
@Min(value = 1, message = "页码不能小于1")
private Integer pageNo = DEFAULT_PAGE_NUM;
@ApiModelProperty("每页个数")
@ApiModelProperty(value = "每页个数", required = true, example = "10")
@Min(value = 1, message = "每页查询数量不能小于1")
private Integer pageSize = DEFAULT_PAGE_SIZE;
@ApiModelProperty("排序规则")
@ApiModelProperty(value = "排序规则", required = false)
private LinkedHashSet<SortingField> sortingFields;
@ -107,13 +107,13 @@ public class PageQuery {
/**
*
*/
@ApiModelProperty("字段")
@ApiModelProperty(value = "字段", required = true, example = "field1")
private String field;
/**
*
*/
@ApiModelProperty("是否升序")
@ApiModelProperty(value = "是否升序", required = true, allowableValues = "asc,desc")
private String order;

@ -1,5 +1,7 @@
package cc.yunxi.domain.po;
import cc.yunxi.enums.OrderStatusEnum;
import cc.yunxi.enums.OrderTypeEnum;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
@ -40,7 +42,7 @@ public class RecycleOrder {
@ApiModelProperty("订单类型")
@TableField("order_type_id")
private String orderType;
private OrderTypeEnum orderType;
@ApiModelProperty("订单金额(元)")
@TableField("order_amount")
@ -48,7 +50,7 @@ public class RecycleOrder {
@ApiModelProperty("订单状态")
@TableField("order_status_id")
private String orderStatus;
private OrderStatusEnum orderStatus;
@ApiModelProperty("散户id")
@TableField("client_id")

@ -12,17 +12,16 @@ import lombok.EqualsAndHashCode;
@ApiModel(value = "RecycleOrderQuery", description = "回收订单查询条件")
public class RecycleOrderQuery extends PageQuery {
@ApiModelProperty("订单编号")
@ApiModelProperty(value = "订单编号", required = false, example = "1234567890")
private String id;
@ApiModelProperty("订单状态")
private String status;
@ApiModelProperty(value = "订单状态", required = false, example = "PENDING")
private OrderStatusEnum status;
@ApiModelProperty("散户经度")
@ApiModelProperty(value = "散户经度", required = false, example = "30.20")
private Double longitude;
@ApiModelProperty("散户纬度")
@ApiModelProperty(value = "散户纬度", required = false, example = "30.20")
private Double latitude;
}

@ -1,5 +1,7 @@
package cc.yunxi.domain.vo.recycleorder;
import cc.yunxi.enums.OrderStatusEnum;
import cc.yunxi.enums.OrderTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -29,13 +31,13 @@ public class RecycleOrderRespVO {
private String orderNumber;
@ApiModelProperty("订单类型")
private String orderType;
private OrderTypeEnum orderType;
@ApiModelProperty("订单金额(元)")
private BigDecimal orderAmount;
@ApiModelProperty("订单状态")
private String orderStatus;
private OrderStatusEnum orderStatus;
@ApiModelProperty("散户id")
private String clientId;

@ -1,6 +1,7 @@
package cc.yunxi.enums;
import cc.yunxi.common.enums.BaseEnum;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;

@ -1,6 +1,9 @@
package cc.yunxi.enums;
import cc.yunxi.common.enums.BaseEnum;
import cc.yunxi.common.enums.SwaggerDisplayEnum;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@ -10,7 +13,7 @@ import lombok.Getter;
@Getter
@AllArgsConstructor
@SwaggerDisplayEnum(code = "code", desc = "desc")
public enum OrderStatusEnum {
public enum OrderStatusEnum implements BaseEnum {
PENDING("520192817293693253", "待接单"),
UNPROCESSED("520192868833300805", "待上门/待服务"),
@ -19,9 +22,10 @@ public enum OrderStatusEnum {
CANCELED("520192817293693253", "已取消");
// @EnumValue
@EnumValue // 处理枚举与数据库类型自动转换
private final String code;
// @JsonValue // 标记JSON序列化时展示的字段
private final String desc;

@ -1,6 +1,8 @@
package cc.yunxi.enums;
import cc.yunxi.common.enums.BaseEnum;
import cc.yunxi.common.enums.SwaggerDisplayEnum;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@ -10,7 +12,7 @@ import lombok.Getter;
@Getter
@AllArgsConstructor
@SwaggerDisplayEnum
public enum OrderTypeEnum {
public enum OrderTypeEnum implements BaseEnum {
SH_ORDER("520193382480351557", "散户下单"),
@ -20,6 +22,7 @@ public enum OrderTypeEnum {
ADM_ORDER("521999177572425477", "人工下单");
@EnumValue
private final String code;
private final String desc;

@ -12,7 +12,7 @@ import lombok.Getter;
@Getter
@AllArgsConstructor
@SwaggerDisplayEnum
@JsonFormat(shape = JsonFormat.Shape.OBJECT) // 将枚举转换为JSON格式 返回给前端
//@JsonFormat(shape = JsonFormat.Shape.OBJECT) // 将枚举转换为JSON格式 返回给前端
public enum UserTypeEnum implements BaseEnum {
CLIENT("1", "散户"),

@ -49,8 +49,7 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
QueryWrapper<RecycleOrder> wrapper = new QueryWrapper<>();
wrapper.lambda()
.eq(StrUtil.isNotEmpty(recycleOrderQuery.getId()), RecycleOrder::getId, recycleOrderQuery.getId())
.eq(StrUtil.isNotEmpty(recycleOrderQuery.getStatus()), RecycleOrder::getOrderStatus, recycleOrderQuery.getStatus());
.eq(ObjectUtil.isNotEmpty(recycleOrderQuery.getStatus()), RecycleOrder::getOrderStatus, recycleOrderQuery.getStatus());
Page<RecycleOrder> recycleOrderPage = page(
recycleOrderQuery.buildPageByDefaultOrder(RecycleOrder::getCreatorTime, true), wrapper);
return recycleOrderPage;
@ -76,8 +75,8 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
recycleOrder.setClientName(client.getNickName());
recycleOrder.setClientMobile(client.getMobilePhone());
recycleOrder.setOrderNumber(idNumber);
recycleOrder.setOrderType(OrderTypeEnum.SH_ORDER.getCode());
recycleOrder.setOrderStatus(OrderStatusEnum.PENDING.getCode());
recycleOrder.setOrderType(OrderTypeEnum.SH_ORDER);
recycleOrder.setOrderStatus(OrderStatusEnum.PENDING);
this.save(recycleOrder);
return recycleOrder.getId();
}
@ -97,7 +96,7 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
UserDTO userDTO = UserContext.getUser();
validateOrderExists(userDTO.getId());
RecycleOrder recycleOrder = BeanUtils.copyBean(orderTakingVO, RecycleOrder.class);
recycleOrder.setOrderStatus(OrderStatusEnum.UNPROCESSED.getCode());
recycleOrder.setOrderStatus(OrderStatusEnum.UNPROCESSED);
this.updateById(recycleOrder);
}

Loading…
Cancel
Save