소스 검색

查询条件枚举添加反序列化

guanglong 3 년 전
부모
커밋
c95e9ba2e2

+ 6 - 7
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/CouponMgrController.java

@@ -83,7 +83,7 @@ public class CouponMgrController extends BaseApiController {
 		startPage();
 		LambdaQueryWrapper<Coupon> queryWrapper = new LambdaQueryWrapper<Coupon>();
 		queryWrapper.like(null != coupon && StringUtils.isNotBlank(coupon.getTitle()), Coupon::getTitle, coupon.getTitle());
-		queryWrapper.like(null != coupon && null != coupon.getStatus(), Coupon::getStatus, coupon.getStatus());
+		queryWrapper.eq(null != coupon && null != coupon.getStatus(), Coupon::getStatus, coupon.getStatus());
 		queryWrapper.eq(Coupon::getIsDeleted, 0);
 		queryWrapper.orderByAsc(Coupon::getCreatedTime);
 		list = couponService.list(queryWrapper);
@@ -224,15 +224,14 @@ public class CouponMgrController extends BaseApiController {
 	 */
 	@ApiOperation(value = "停用、启用代金券信息", notes = "代金券管理编辑代金券")
 	@PostMapping("/status")
-	public AjaxResult couponStatus(@RequestBody CouponParam couponParam) {
-		String couponId = (null != couponParam && StringUtils.isNotBlank(couponParam.getCouponId()))?couponParam.getCouponId():"";
-		CouponStatusEnum status = null != couponParam ?couponParam.getStatus():null;
-		if (StringUtils.isBlank(couponId)
-				|| null == status) {
+	public AjaxResult couponStatus(@RequestBody JSONObject jsonObject) {
+		String couponId = jsonObject.getString("couponId");
+		String status = jsonObject.getString("status");
+		if (StringUtils.isBlank(couponId) || StringUtils.isBlank(status)) {
 			return error(ErrorCodeEnum.ERROR_CODE_1001);
 		}
 		try {
-			couponService.lambdaUpdate().set(Coupon::getStatus, couponParam.getStatus()).eq(Coupon::getCouponId, couponId).update();
+			couponService.lambdaUpdate().set(Coupon::getStatus, CouponStatusEnum.PUT_ON.getValue().equals(status)?CouponStatusEnum.PUT_ON:CouponStatusEnum.PUT_OFF).eq(Coupon::getCouponId, couponId).update();
 			// 查询代金券信息
 		} catch (Exception e) {
 			return AjaxResult.error("操作失败");

+ 4 - 5
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/GoodsMgrController.java

@@ -100,9 +100,8 @@ public class GoodsMgrController extends BaseApiController {
 		queryWrapper.eq(null != queryParam && null != queryParam.getStatus(), Goods::getStatus, queryParam.getStatus());
 		queryWrapper.eq(Goods::getIsDeleted, 0);
 		List<Goods> goodsList = goodsService.list(queryWrapper);
-		List<GoodsListVO> goodsListVOList = mapperFacade.mapAsList(goodsList, GoodsListVO.class);
 		TableDataInfo res = getDataTable(goodsList);
-		res.setRows(goodsListVOList);
+		res.setRows(goodsList);
 		return res;
 	}
 	
@@ -144,7 +143,7 @@ public class GoodsMgrController extends BaseApiController {
 	 */
 	@ApiOperation(value = "新增商品信息", notes = "后台商品管理新增商品")
 	@PostMapping("/create")
-	public AjaxResult channelCreate(@Validated @RequestBody GoodsParam goodsParam) {
+	public AjaxResult goodsCreate(@Validated @RequestBody GoodsParam goodsParam) {
 		if (StringUtils.isNotBlank(goodsParam.getGoodsId())) {
 			return AjaxResult.error("该商品已存在");
 		}
@@ -190,7 +189,7 @@ public class GoodsMgrController extends BaseApiController {
 	 */
 	@ApiOperation(value = "编辑商品信息", notes = "后台商品管理修改商品信息")
 	@PostMapping("/update")
-	public AjaxResult channelUpdate(@Validated @RequestBody GoodsParam goodsParam) {
+	public AjaxResult goodsUpdate(@Validated @RequestBody GoodsParam goodsParam) {
 		if (null == goodsParam || StringUtils.isBlank(goodsParam.getGoodsId())) {
 			return error(ErrorCodeEnum.ERROR_CODE_1001);
 		}
@@ -244,7 +243,7 @@ public class GoodsMgrController extends BaseApiController {
 	 */
 	@ApiOperation(value = "停用、启用代金券信息", notes = "代金券管理编辑代金券")
 	@PostMapping("/status")
-	public AjaxResult couponStatus(@RequestBody Goods goods) {
+	public AjaxResult goodsStatus(@RequestBody Goods goods) {
 		String goodsId = (null != goods && StringUtils.isNotBlank(goods.getGoodsId()))?goods.getGoodsId():"";
 		String status = (null != goods && StringUtils.isNotBlank(goods.getStatus()))?goods.getStatus():"";
 		if (StringUtils.isBlank(goodsId)

+ 3 - 0
mp-common/src/main/java/com/qs/mp/common/enums/CouponDiscountTypeEnum.java

@@ -1,13 +1,16 @@
 package com.qs.mp.common.enums;
 
 import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.annotation.JSONType;
 import com.baomidou.mybatisplus.annotation.IEnum;
+import com.qs.mp.common.json.EnumValueDeserializer;
 
 /**
  * @auther zhongcp
  * @create 2022 2022/3/7 2:30 下午
  * @describe
  */
+@JSONType(deserializer = EnumValueDeserializer.class)
 public enum CouponDiscountTypeEnum implements IEnum<Integer> {
 
   MONEY_OFF(1, "代金券"),

+ 3 - 0
mp-common/src/main/java/com/qs/mp/common/enums/CouponDistributeTypeEnum.java

@@ -1,13 +1,16 @@
 package com.qs.mp.common.enums;
 
 import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.annotation.JSONType;
 import com.baomidou.mybatisplus.annotation.IEnum;
+import com.qs.mp.common.json.EnumValueDeserializer;
 
 /**
  * @auther zhongcp
  * @create 2022 2022/3/7 2:30 下午
  * @describe
  */
+@JSONType(deserializer = EnumValueDeserializer.class)
 public enum CouponDistributeTypeEnum implements IEnum<Integer> {
 
   SYSTEM(1, "系统发放"),

+ 3 - 0
mp-common/src/main/java/com/qs/mp/common/enums/CouponStatusEnum.java

@@ -1,13 +1,16 @@
 package com.qs.mp.common.enums;
 
 import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.annotation.JSONType;
 import com.baomidou.mybatisplus.annotation.IEnum;
+import com.qs.mp.common.json.EnumValueDeserializer;
 
 /**
  *
  * 卡券上下架状态
  *
  */
+@JSONType(deserializer = EnumValueDeserializer.class)
 public enum CouponStatusEnum implements IEnum<String> {
 
   PUT_ON("on", "上架"),

+ 3 - 0
mp-common/src/main/java/com/qs/mp/common/enums/CouponTypeEnum.java

@@ -1,7 +1,9 @@
 package com.qs.mp.common.enums;
 
 import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.annotation.JSONType;
 import com.baomidou.mybatisplus.annotation.IEnum;
+import com.qs.mp.common.json.EnumValueDeserializer;
 
 /**
  * 优惠券类型(按使用场景划分)
@@ -9,6 +11,7 @@ import com.baomidou.mybatisplus.annotation.IEnum;
  * @create 2022 2022/3/7 2:30 下午
  * @describe
  */
+@JSONType(deserializer = EnumValueDeserializer.class)
 public enum CouponTypeEnum implements IEnum<Integer> {
 
   TICKET_ORDER(1, "盲票购买"),

+ 3 - 0
mp-common/src/main/java/com/qs/mp/common/enums/CouponUseAreaEnum.java

@@ -1,13 +1,16 @@
 package com.qs.mp.common.enums;
 
 import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.annotation.JSONType;
 import com.baomidou.mybatisplus.annotation.IEnum;
+import com.qs.mp.common.json.EnumValueDeserializer;
 
 /**
  * @auther zhongcp
  * @create 2022 2022/3/7 2:30 下午
  * @describe
  */
+@JSONType(deserializer = EnumValueDeserializer.class)
 public enum CouponUseAreaEnum implements IEnum<Integer> {
 
   COMMON(0, "通用"),

+ 43 - 0
mp-common/src/main/java/com/qs/mp/common/enums/GoodsStatusEnum.java

@@ -0,0 +1,43 @@
+package com.qs.mp.common.enums;
+
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.annotation.JSONType;
+import com.baomidou.mybatisplus.annotation.IEnum;
+import com.qs.mp.common.json.EnumValueDeserializer;
+
+/**
+ *
+ * 商品上下架状态
+ *
+ */
+@JSONType(deserializer = EnumValueDeserializer.class)
+public enum GoodsStatusEnum implements IEnum<String> {
+
+  PUT_ON("on", "上架"),
+  PUT_OFF("off", "下架");
+
+  private final String value;
+  private final String desc;
+
+  GoodsStatusEnum(final String value, final String desc) {
+    this.value = value;
+    this.desc = desc;
+  }
+
+  @Override
+  public String getValue() {
+    return value;
+  }
+
+  /**
+   * 重写toString,单个转化成json
+   * @return
+   */
+  @Override
+  public String toString() {
+    JSONObject object = new JSONObject();
+    object.put("value",value);
+    object.put("desc", desc);
+    return object.toString();
+  }
+}

+ 3 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/Goods.java

@@ -1,5 +1,7 @@
 package com.qs.mp.admin.domain;
 
+import com.alibaba.fastjson.annotation.JSONField;
+import com.alibaba.fastjson.serializer.SerializerFeature;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -103,6 +105,7 @@ public class Goods implements Serializable {
    * 上架状态;上架/下架
    */
   @TableField("status")
+  @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
   private String status;
 
   /**

+ 1 - 7
mp-service/src/main/java/com/qs/mp/admin/domain/param/CouponParam.java

@@ -2,10 +2,6 @@ package com.qs.mp.admin.domain.param;
 
 import com.alibaba.fastjson.annotation.JSONField;
 import com.alibaba.fastjson.serializer.SerializerFeature;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
 import com.qs.mp.common.enums.CouponDiscountTypeEnum;
 import com.qs.mp.common.enums.CouponDistributeTypeEnum;
 import com.qs.mp.common.enums.CouponStatusEnum;
@@ -15,9 +11,6 @@ import com.qs.mp.common.enums.CouponUseAreaEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
-import java.io.Serializable;
-import java.util.Date;
-
 import javax.validation.constraints.NotNull;
 
 import lombok.Data;
@@ -88,6 +81,7 @@ public class CouponParam {
    */
   @NotNull(message = "门店默认承担比例不能为空")
   @ApiModelProperty(value = "渠道代金券,渠道承担比例", required = true)
+  @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
   private Integer channelSharedRate;
 
 

+ 5 - 1
mp-service/src/main/java/com/qs/mp/admin/domain/param/GoodsParam.java

@@ -1,6 +1,9 @@
 package com.qs.mp.admin.domain.param;
 
+import com.alibaba.fastjson.annotation.JSONField;
+import com.alibaba.fastjson.serializer.SerializerFeature;
 import com.qs.mp.admin.domain.GoodsSku;
+import com.qs.mp.common.enums.GoodsStatusEnum;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -92,7 +95,8 @@ public class GoodsParam {
 	 * 上架状态;上架/下架
 	 */
 	@ApiModelProperty(value = "上架状态", required = false)
-	private String status;
+	@JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+	private GoodsStatusEnum status;
 
 	
 	@ApiModelProperty(value = "商品多SKU列表", required = false)

+ 6 - 1
mp-service/src/main/java/com/qs/mp/admin/domain/param/GoodsQueryParam.java

@@ -5,6 +5,10 @@ import io.swagger.annotations.ApiModelProperty;
 
 import javax.validation.constraints.NotNull;
 
+import com.alibaba.fastjson.annotation.JSONField;
+import com.alibaba.fastjson.serializer.SerializerFeature;
+import com.qs.mp.common.enums.GoodsStatusEnum;
+
 import lombok.Data;
 
 /**
@@ -51,7 +55,8 @@ public class GoodsQueryParam {
 	 * 上架状态;上架/下架
 	 */
 	@ApiModelProperty(value = "上架状态", required = false)
-	private String status;
+	@JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+	private GoodsStatusEnum status;
 
 
 

+ 109 - 105
mp-service/src/main/java/com/qs/mp/admin/domain/vo/CouponVO.java

@@ -22,119 +22,123 @@ import lombok.Data;
 @Data
 public class CouponVO {
 
+	
 	/**
 	 * 盲票购买优惠券使用范围限制列表
 	 */
 	private List<String> boxIdList;
-
+	
 	/**
 	 * 经销商门店优惠券使用范围限制列表
 	 */
 	private List<Long> channelIdList;
+	
+	
+  /**
+   * 主键
+   */
+  private String couponId;
+
+  /**
+   * 标题
+   */
+  private String title;
+
+  /**
+   * 类型;1用户盲票购买优惠券、2用户门店消费优惠券、3经销商盲票采购优惠券
+   */
+  @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+  private CouponTypeEnum type;
+
+  /**
+   * 图片
+   */
+  private String picUrl;
+
+  /**
+   * 使用说明
+   */
+  private String description;
+
+  /**
+   * 优惠类型;1代金券、2折扣券、3兑换券
+   */
+  @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+  private CouponDiscountTypeEnum discountType;
+
+  /**
+   * 优惠金额(比例)
+   */
+  private Integer discount;
+
+  /**
+   * 最低消费金额
+   */
+  private Integer minOrderAmt;
+
+  /**
+   * 渠道代金券,渠道承担比例
+   */
+  private Integer channelSharedRate;
+
+
+  /**
+   * 状态;off下架 on正常
+   */
+  @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+  private CouponStatusEnum status;
+
+  /**
+   * 使用范围;0通用 1生成券时指定范围 2发放时动态指定范围
+   */
+  @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+  private CouponUseAreaEnum useArea;
+
+  /**
+   * 发放方式;1系统发放 2用户主动领取
+   */
+  @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+  private CouponDistributeTypeEnum distributeType;
+
+  /**
+   * 叠加使用;0不允许 1允许
+   */
+  private Integer compositeUse;
+
+  /**
+   * 有效期天数;从领券后开始多少天有效,0则使用绝对有效期
+   */
+  private Integer dueDays;
+
+  /**
+   * 有效期开始日
+   */
+  private Date validStart;
+
+  /**
+   * 有效期结束日
+   */
+  private Date validEnd;
+
+  /**
+   * 总量;总量为0代表不限量
+   */
+  private Integer quantity;
+
+  /**
+   * 已发放量
+   */
+  private Integer distributeQty;
+
+  /**
+   * 创建时间
+   */
+  private Date createdTime;
+
+  /**
+   * 更新时间
+   */
+  private Date updatedTime;
 
-	/**
-	 * 主键
-	 */
-	private String couponId;
-
-	/**
-	 * 标题
-	 */
-	private String title;
-
-	/**
-	 * 类型;1用户盲票购买优惠券、2用户门店消费优惠券、3经销商盲票采购优惠券
-	 */
-	@JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
-	private CouponTypeEnum type;
-
-	/**
-	 * 图片
-	 */
-	private String picUrl;
-
-	/**
-	 * 使用说明
-	 */
-	private String description;
-
-	/**
-	 * 优惠类型;1代金券、2折扣券、3兑换券
-	 */
-	@JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
-	private CouponDiscountTypeEnum discountType;
-
-	/**
-	 * 优惠金额(比例)
-	 */
-	private Integer discount;
-
-	/**
-	 * 最低消费金额
-	 */
-	private Integer minOrderAmt;
-
-	/**
-	 * 渠道代金券,渠道承担比例
-	 */
-	private Integer channelSharedRate;
-
-	/**
-	 * 状态;off下架 on正常
-	 */
-	@JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
-	private CouponStatusEnum status;
-
-	/**
-	 * 使用范围;0通用 1生成券时指定范围 2发放时动态指定范围
-	 */
-	@JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
-	private CouponUseAreaEnum useArea;
-
-	/**
-	 * 发放方式;1系统发放 2用户主动领取
-	 */
-	@JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
-	private CouponDistributeTypeEnum distributeType;
-
-	/**
-	 * 叠加使用;0不允许 1允许
-	 */
-	private Integer compositeUse;
-
-	/**
-	 * 有效期天数;从领券后开始多少天有效,0则使用绝对有效期
-	 */
-	private Integer dueDays;
-
-	/**
-	 * 有效期开始日
-	 */
-	private Date validStart;
-
-	/**
-	 * 有效期结束日
-	 */
-	private Date validEnd;
-
-	/**
-	 * 总量;总量为0代表不限量
-	 */
-	private Integer quantity;
-
-	/**
-	 * 已发放量
-	 */
-	private Integer distributeQty;
-
-	/**
-	 * 创建时间
-	 */
-	private Date createdTime;
-
-	/**
-	 * 更新时间
-	 */
-	private Date updatedTime;
 
 }

+ 6 - 1
mp-service/src/main/java/com/qs/mp/admin/domain/vo/GoodsListVO.java

@@ -1,5 +1,9 @@
 package com.qs.mp.admin.domain.vo;
 
+import com.alibaba.fastjson.annotation.JSONField;
+import com.alibaba.fastjson.serializer.SerializerFeature;
+import com.qs.mp.common.enums.GoodsStatusEnum;
+
 import lombok.Data;
 
 /**
@@ -58,6 +62,7 @@ public class GoodsListVO {
   /**
    * 上架状态;上架/下架
    */
-  private String status;
+  @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+  private GoodsStatusEnum status;
 
 }

+ 5 - 1
mp-service/src/main/java/com/qs/mp/admin/domain/vo/GoodsVO.java

@@ -1,8 +1,11 @@
 package com.qs.mp.admin.domain.vo;
 
+import com.alibaba.fastjson.annotation.JSONField;
+import com.alibaba.fastjson.serializer.SerializerFeature;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.qs.mp.admin.domain.GoodsSku;
+import com.qs.mp.common.enums.GoodsStatusEnum;
 
 import java.util.Date;
 import java.util.List;
@@ -86,7 +89,8 @@ public class GoodsVO {
 	/**
 	 * 上架状态;上架/下架
 	 */
-	private String status;
+	 @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+	private GoodsStatusEnum status;
 
 	/**
 	 * 逻辑删除标识