zoujiajian 1 year ago
parent
commit
380f931375

+ 1 - 1
netflix-dao/src/main/java/com/cyksj/mapper/GoodsWholesaleOrderDonMapper.java

@@ -13,5 +13,5 @@ import java.util.List;
  * 创建时间:2024/8/26 12:24
  */
 public interface GoodsWholesaleOrderDonMapper extends BaseMapper<GoodsWholesaleOrderDon> {
-	Integer getUserWholesaleNumByUserIds(@Param("list") List<Long> userIdList);
+	Integer getUserWholesaleNumByUserIds(@Param("list") List<Long> userIdList, @Param("skuId") Long skuId);
 }

+ 0 - 13
netflix-dao/src/main/java/com/cyksj/mapper/GoodsWholesaleUserRequirementRecordMapper.java

@@ -1,13 +0,0 @@
-package com.cyksj.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.cyksj.model.GoodsWholesaleUserRequirementRecord;
-
-/**
- * 项目名: yhlxj
- * 文件名: GoodsWholesaleUserRequirementRecordMapper
- * 创建者: JavaZou
- * 创建时间:2024/8/28 13:55
- */
-public interface GoodsWholesaleUserRequirementRecordMapper extends BaseMapper<GoodsWholesaleUserRequirementRecord> {
-}

+ 0 - 41
netflix-dao/src/main/java/com/cyksj/model/GoodsWholesaleUserRequirementRecord.java

@@ -1,41 +0,0 @@
-package com.cyksj.model;
-
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.ejlchina.searcher.bean.DbIgnore;
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.validation.constraints.NotNull;
-
-/**
- * 项目名: yhlxj
- * 文件名: GoodsWholesaleUserRequirementRecord
- * 创建者: JavaZou
- * 创建时间:2024/8/28 13:54
- */
-@Getter
-@Setter
-public class GoodsWholesaleUserRequirementRecord extends BaseEntity{
-	@NotNull
-	private String source;
-
-	private Long userId;
-
-	/**
-	 * 每月需求量
-	 */
-	@NotNull
-	private Integer num;
-
-	/**
-	 * 店铺链接
-	 */
-	private String link;
-
-	/**
-	 * 累计批发
-	 */
-	@DbIgnore
-	@TableField(exist = false)
-	private Integer total;
-}

+ 38 - 0
netflix-dao/src/main/java/com/cyksj/model/views/WholesaleUserRequirementView.java

@@ -0,0 +1,38 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.DbIgnore;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: WholesaleUserRequirementView
+ * 创建者: JavaZou
+ * 创建时间:2024/9/10 11:23
+ */
+@Getter
+@Setter
+@SearchBean(tables = "form_fields_data fd",
+		where = "promotion_id = 4",
+		groupBy = "user_id")
+public class WholesaleUserRequirementView {
+	@DbField("fd.user_id")
+	private Long userId;
+
+	@DbField("select nickname from user where id = fd.user_id")
+	private String nickname;
+
+	@DbField("GROUP_CONCAT(fd.content SEPARATOR '|'")
+	private String content;
+
+	@DbIgnore
+	private Integer num;
+
+	@DbIgnore
+	private String source;
+
+	@DbIgnore
+	private Integer total;
+}

+ 3 - 0
netflix-dao/src/main/resources/mapper/GoodsWholesaleOrderDonMapper.xml

@@ -9,5 +9,8 @@
         <foreach collection="list" item="item" open="(" separator="," close=")">
             #{item}
         </foreach>
+        <if test="skuId != null">
+            and sku_id = #{skuId}
+        </if>
     </select>
 </mapper>

+ 3 - 3
netflix-service/src/main/java/com/cyksj/service/order/impl/GoodsWholesalePayServiceImpl.java

@@ -208,7 +208,7 @@ public class GoodsWholesalePayServiceImpl implements GoodsWholesalePayService {
 				.last("limit 1"));
 		if (goodsWholesale != null && goodsWholesale.getIsReturn()) {
 			//目前购买多少个
-			Integer payNum = goodsWholesaleOrderDonMapper.getUserWholesaleNumByUserIds(userIdList);
+			Integer payNum = goodsWholesaleOrderDonMapper.getUserWholesaleNumByUserIds(userIdList, orderDon.getSkuId());
 			log.info("目前用户userId:{}购买批发数量:{}", orderDon.getUserId(), payNum);
 			List<GoodsWholesale.GoodsWholesaleConfig> configs = Jsons.parseList(goodsWholesale.getConfig(), GoodsWholesale.GoodsWholesaleConfig.class);
 			GoodsWholesale.GoodsWholesaleConfig firstConfig = configs.get(0);
@@ -403,7 +403,7 @@ public class GoodsWholesalePayServiceImpl implements GoodsWholesalePayService {
 			}
 			GoodsWholesaleUserDepositDto goodsWholesaleUserDepositDto = Jsons.parseObject(sysConfig.getSysValue(), GoodsWholesaleUserDepositDto.class);
 			Integer num = goodsWholesaleUserDepositDto.getNum();
-			Integer payNum = goodsWholesaleOrderDonMapper.getUserWholesaleNumByUserIds(userIdList);
+			Integer payNum = goodsWholesaleOrderDonMapper.getUserWholesaleNumByUserIds(userIdList, orderDon.getSkuId());
 			if (payNum >= num) {
 				//腿还押金
 				try {
@@ -425,7 +425,7 @@ public class GoodsWholesalePayServiceImpl implements GoodsWholesalePayService {
 		List<GoodsWholesale.GoodsWholesaleConfig> configs = Jsons.parseList(configStr, GoodsWholesale.GoodsWholesaleConfig.class);
 		GoodsWholesale.GoodsWholesaleConfig firstConfig = configs.get(0);
 		GoodsWholesale.GoodsWholesaleConfig endConfig = configs.get(configs.size() - 1);
-		Integer endPayNum = goodsWholesaleOrderDonMapper.getUserWholesaleNumByUserIds(userIdList) + thisPayNum;
+		Integer endPayNum = goodsWholesaleOrderDonMapper.getUserWholesaleNumByUserIds(userIdList, goodsWholesale.getSkuId()) + thisPayNum;
 		//移除第一档
 		configs.remove(firstConfig);
 		//移除倒数第一档

+ 11 - 5
netflix-web/src/main/java/com/cyksj/web/controller/manage/goods/CmsGoodsDonWholeSaleController.java

@@ -11,12 +11,12 @@ import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
 import com.cyksj.mapper.GoodsWholesaleOrderDonMapper;
 import com.cyksj.mapper.GoodsWholesaleUserAccountMapper;
-import com.cyksj.model.GoodsWholesaleUserRequirementRecord;
 import com.cyksj.model.entity.GoodsWholesale;
 import com.cyksj.model.entity.GoodsWholesaleUserAccount;
 import com.cyksj.model.entity.GoodsWholesaleUserDeposit;
 import com.cyksj.model.views.GoodsWholesaleOrderView;
 import com.cyksj.model.views.GoodsWholesaleView;
+import com.cyksj.model.views.WholesaleUserRequirementView;
 import com.cyksj.service.goods.GoodsWholesaleService;
 import com.cyksj.service.mange.RefreshCacheService;
 import com.cyksj.service.user.UserBindRelationService;
@@ -145,12 +145,18 @@ public class CmsGoodsDonWholeSaleController {
 	 * 用户批发情况
 	 */
 	@GetMapping("/get/user/requirement/info")
-	public Result<SearchResult<GoodsWholesaleUserRequirementRecord>> userRequirementInfo() {
-		SearchResult<GoodsWholesaleUserRequirementRecord> search = beanSearcher.search(GoodsWholesaleUserRequirementRecord.class, MapUtils.flatBuilder(request.getParameterMap()).build());
+	public Result<SearchResult<WholesaleUserRequirementView>> userRequirementInfo() {
+		SearchResult<WholesaleUserRequirementView> search = beanSearcher.search(WholesaleUserRequirementView.class, MapUtils.flatBuilder(request.getParameterMap()).build());
 		search.getDataList().forEach(data->{
 			List<Long> userIdList = userBindRelationService.getRelationUserIdList(data.getUserId(), null);
-			Integer total = goodsWholesaleOrderDonMapper.getUserWholesaleNumByUserIds(userIdList);
+			Integer total = goodsWholesaleOrderDonMapper.getUserWholesaleNumByUserIds(userIdList, null);
 			data.setTotal(total);
+			String content = data.getContent();
+			if (StrUtil.isNotBlank(content)) {
+				String[] split = content.split("\\|");
+				data.setSource(split[0]);
+				data.setNum(Integer.parseInt(split[1]));
+			}
 		});
 		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
 	}
@@ -169,7 +175,7 @@ public class CmsGoodsDonWholeSaleController {
 				.build());
 		search.getDataList().forEach(data -> {
 			List<Long> userIdList = userBindRelationService.getRelationUserIdList(data.getUserId(), null);
-			Integer total = goodsWholesaleOrderDonMapper.getUserWholesaleNumByUserIds(userIdList);
+			Integer total = goodsWholesaleOrderDonMapper.getUserWholesaleNumByUserIds(userIdList, null);
 			data.setTotal(total);
 		});
 		return GatewayResponse.SUCCESS.newBuilder().toResult(search);

+ 1 - 49
netflix-web/src/main/java/com/cyksj/web/controller/wholesale/GoodsWholesaleWebController.java

@@ -1,17 +1,12 @@
 package com.cyksj.web.controller.wholesale;
 
-import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.cyksj.common.constant.Constant;
-import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.config.zfb.BaseZfbConfig;
 import com.cyksj.config.zfb.ZfbProductCode;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
 import com.cyksj.mapper.GoodsWholesaleOrderDonMapper;
 import com.cyksj.mapper.GoodsWholesaleUserDepositMapper;
-import com.cyksj.mapper.GoodsWholesaleUserRequirementRecordMapper;
-import com.cyksj.model.GoodsWholesaleUserRequirementRecord;
 import com.cyksj.model.dto.AliPayParams;
 import com.cyksj.model.entity.GoodsWholesaleOrderDon;
 import com.cyksj.model.entity.GoodsWholesaleUserAccount;
@@ -31,7 +26,6 @@ import com.ejlchina.searcher.param.Operator;
 import com.ejlchina.searcher.util.MapUtils;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.dao.DuplicateKeyException;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
@@ -69,8 +63,6 @@ public class GoodsWholesaleWebController {
 
 	private final GoodsWholesaleOrderDonMapper goodsWholesaleOrderDonMapper;
 
-	private final GoodsWholesaleUserRequirementRecordMapper requirementRecordMapper;
-
 	/**
 	 * 平台批发列表
 	 */
@@ -86,7 +78,7 @@ public class GoodsWholesaleWebController {
 		}
 		List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
 		list.forEach(data->{
-			data.setTotal(orderDonMapper.getUserWholesaleNumByUserIds(userIdList));
+			data.setTotal(orderDonMapper.getUserWholesaleNumByUserIds(userIdList, data.getSkuId()));
 		});
 		return GatewayResponse.SUCCESS.newBuilder().toResult(list);
 	}
@@ -129,46 +121,6 @@ public class GoodsWholesaleWebController {
 		return GatewayResponse.SUCCESS.newBuilder().toResult(orderDon);
 	}
 
-	/**
-	 * 用户渠道需求来源详情
-	 */
-	@GetMapping("/get/user/requirement")
-	public Result<GoodsWholesaleUserRequirementRecord> getUserRequirement() {
-		long userId = StpUserUtil.getLoginIdAsLong();
-		List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
-		GoodsWholesaleUserRequirementRecord goodsWholesaleUserRequirementRecord = requirementRecordMapper.selectOne(Wrappers.lambdaQuery(GoodsWholesaleUserRequirementRecord.class)
-				.in(GoodsWholesaleUserRequirementRecord::getUserId, userIdList)
-				.last("limit 1"));
-		return GatewayResponse.SUCCESS.newBuilder().toResult(goodsWholesaleUserRequirementRecord);
-	}
-
-	/**
-	 * 记录用户渠道需求来源
-	 */
-	@PostMapping("/user/requirement/record")
-	public Result<String> recordUserRequirement(@RequestBody @Validated GoodsWholesaleUserRequirementRecord requirementRecord) {
-		long userId = StpUserUtil.getLoginIdAsLong();
-		int length = requirementRecord.getSource().length();
-		if (length > 128) {
-			throw BusinessRuntimeException.getInstance("自定义来源过长");
-		}
-		if (Constant.SHOP.equals(requirementRecord.getSource()) && StrUtil.isEmpty(requirementRecord.getLink())) {
-			throw BusinessRuntimeException.getInstance("请输入对应的店铺链接");
-		}
-		List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
-		GoodsWholesaleUserRequirementRecord goodsWholesaleUserRequirementRecord = requirementRecordMapper.selectOne(Wrappers.lambdaQuery(GoodsWholesaleUserRequirementRecord.class)
-				.in(GoodsWholesaleUserRequirementRecord::getUserId, userIdList)
-				.last("limit 1"));
-		if (goodsWholesaleUserRequirementRecord == null) {
-			requirementRecord.setUserId(userId);
-			try {
-				requirementRecordMapper.insert(requirementRecord);
-			} catch (DuplicateKeyException e) {
-			}
-		}
-		return GatewayResponse.SUCCESS.newBuilder().toResult();
-	}
-
 	/**
 	 * 取消批发订单
 	 */