|
|
@@ -1,12 +1,15 @@
|
|
|
package com.cyksj.web.controller.wholesale;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+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.GoodsWholesaleUserDeposit;
|
|
|
@@ -22,6 +25,7 @@ import com.ejlchina.searcher.BeanSearcher;
|
|
|
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.*;
|
|
|
|
|
|
@@ -59,6 +63,7 @@ public class GoodsWholesaleWebController {
|
|
|
|
|
|
private final GoodsWholesaleOrderDonMapper goodsWholesaleOrderDonMapper;
|
|
|
|
|
|
+ private final GoodsWholesaleUserRequirementRecordMapper requirementRecordMapper;
|
|
|
|
|
|
/**
|
|
|
* 平台批发列表
|
|
|
@@ -118,6 +123,43 @@ 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("自定义来源过长");
|
|
|
+ }
|
|
|
+ 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();
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 取消批发订单
|
|
|
*/
|