zoujiajian 3 éve
szülő
commit
438833c31e

+ 1 - 2
netflix-dao/src/main/java/com/cyksj/model/dto/EquipmentConfigDto.java

@@ -5,7 +5,6 @@ import lombok.Getter;
 import lombok.Setter;
 
 import java.math.BigDecimal;
-import java.util.List;
 import java.util.Set;
 
 /*
@@ -25,7 +24,7 @@ public class EquipmentConfigDto {
 	/**
 	 * 车票时长权益配置
 	 */
-	private List<GoodsDonSku> skuList;
+	private Set<GoodsDonSku> skuList;
 
 	/**
 	 * 余额

+ 2 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/GoodsDonSku.java

@@ -6,6 +6,7 @@ import com.cyksj.model.views.GoodsDiscountPlusPurchaseRelationFrontView;
 import com.ejlchina.searcher.bean.DbField;
 import com.ejlchina.searcher.bean.DbIgnore;
 import com.ejlchina.searcher.bean.SearchBean;
+import com.fasterxml.jackson.annotation.JsonInclude;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -19,6 +20,7 @@ import java.util.List;
 @Getter
 @Setter
 @SearchBean(tables = "goods_don_sku")
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class GoodsDonSku extends BaseEntity {
 
     private Long goodsId;

+ 23 - 1
netflix-web/src/main/java/com/cyksj/web/controller/sys/SysConfigController.java

@@ -1,14 +1,19 @@
 package com.cyksj.web.controller.sys;
 
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.cyksj.common.annotation.Log;
+import com.cyksj.common.constant.Constant;
 import com.cyksj.common.exception.BusinessRuntimeException;
+import com.cyksj.common.util.Jsons;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.BusinessType;
 import com.cyksj.enums.GatewayResponse;
 import com.cyksj.mapper.manage.help.HelpQuestionClassificationMapper;
 import com.cyksj.mapper.manage.help.HelpQuestionMapper;
+import com.cyksj.model.dto.EquipmentConfigDto;
 import com.cyksj.model.entity.HelpQuestion;
 import com.cyksj.model.entity.HelpQuestionClassification;
 import com.cyksj.model.entity.SysConfig;
@@ -18,6 +23,9 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
 
+import java.math.BigDecimal;
+import java.util.HashSet;
+
 /**
  * @author chan
  * @date 2022/10/20 10:08 AM
@@ -55,7 +63,21 @@ public class SysConfigController {
 
 	@PutMapping("/update")
 	@Log(module = "系统设置/编辑配置", businessType = BusinessType.PUT, isSaveRequestData = true)
-	public Result<SysConfig> update(@RequestBody SysConfig sysConfig) {
+	public Result<SysConfig> update(@RequestBody SysConfig sysConfig) throws Exception {
+		if (Constant.EQUIPMENT_DISTRIBUTE_KEY.equals(sysConfig.getSysKey())) {
+			String sysValue = sysConfig.getSysValue();
+			if (StrUtil.isNotBlank(sysValue)) {
+				EquipmentConfigDto equipmentConfigDto = Jsons.parseObject(sysValue, EquipmentConfigDto.class);
+				if (CollUtil.isNotEmpty(equipmentConfigDto.getSkuList())) {
+					equipmentConfigDto.setBalance(null);
+				}
+				if (equipmentConfigDto.getBalance() != null && equipmentConfigDto.getBalance().compareTo(BigDecimal.ZERO) > 0) {
+					equipmentConfigDto.setSkuList(new HashSet<>());
+				}
+				sysConfig.setSysValue(Jsons.toJson(equipmentConfigDto));
+			}
+		}
+
 		sysConfigService.updateById(sysConfig);
 
 		return GatewayResponse.SUCCESS.newBuilder().toResult(sysConfig);