Explorar o código

兑换码管理

zoujiajian hai 1 ano
pai
achega
bd11b2e54b

+ 2 - 2
wholesale/src/main/java/com/yhlxj/dao/mapper/WebWholeSaleOrderDonMapper.java

@@ -1,7 +1,7 @@
 package com.yhlxj.dao.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.yhlxj.dao.model.entity.WebWholeSaleOrderDon;
+import com.yhlxj.dao.model.entity.WebWholesaleOrderDon;
 
 /**
  * 项目名: yhlxj2
@@ -9,5 +9,5 @@ import com.yhlxj.dao.model.entity.WebWholeSaleOrderDon;
  * 创建者: JavaZou
  * 创建时间:2025/6/4 16:24
  */
-public interface WebWholeSaleOrderDonMapper extends BaseMapper<WebWholeSaleOrderDon> {
+public interface WebWholeSaleOrderDonMapper extends BaseMapper<WebWholesaleOrderDon> {
 }

+ 13 - 0
wholesale/src/main/java/com/yhlxj/dao/mapper/WebWholesaleOrderDonCodeRelateMapper.java

@@ -0,0 +1,13 @@
+package com.yhlxj.dao.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yhlxj.dao.model.entity.WebWholesaleOrderDonCodeRelate;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: WebWholesaleOrderDonCodeRelateMapper
+ * 创建者: JavaZou
+ * 创建时间:2025/6/5 13:50
+ */
+public interface WebWholesaleOrderDonCodeRelateMapper extends BaseMapper<WebWholesaleOrderDonCodeRelate> {
+}

+ 2 - 2
wholesale/src/main/java/com/yhlxj/dao/model/entity/WebWholeSaleOrderDon.java → wholesale/src/main/java/com/yhlxj/dao/model/entity/WebWholesaleOrderDon.java

@@ -12,13 +12,13 @@ import java.util.Date;
 
 /**
  * 项目名: yhlxj2
- * 文件名: WebWholeSaleOrderDon
+ * 文件名: WebWholesaleOrderDon
  * 创建者: JavaZou
  * 创建时间:2025/6/4 16:12
  */
 @Getter
 @Setter
-public class WebWholeSaleOrderDon extends BaseEntity {
+public class WebWholesaleOrderDon extends BaseEntity {
 	private Long userId;
 
 	private BigDecimal money;

+ 24 - 0
wholesale/src/main/java/com/yhlxj/dao/model/entity/WebWholesaleOrderDonCodeRelate.java

@@ -0,0 +1,24 @@
+package com.yhlxj.dao.model.entity;
+
+import com.yhlxj.dao.model.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: WebWholesaleOrderDonCodeRelate
+ * 创建者: JavaZou
+ * 创建时间:2025/6/5 13:49
+ */
+@Getter
+@Setter
+public class WebWholesaleOrderDonCodeRelate extends BaseEntity {
+	private Long orderId;
+
+	private String code;
+
+	/**
+	 * 兑换用户id
+	 */
+	private Long dhUserId;
+}

+ 22 - 0
wholesale/src/main/java/com/yhlxj/dao/model/request/WebOrderPayRequest.java

@@ -0,0 +1,22 @@
+package com.yhlxj.dao.model.request;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+
+/**
+ * @author chan
+ * @date 2021/10/11 下午4:10
+ */
+@Getter
+@Setter
+@ToString
+public class WebOrderPayRequest {
+	@NotNull(message = "购买数量不为空")
+	private Integer num;
+
+	private BigDecimal price;
+}

+ 37 - 1
wholesale/src/main/java/com/yhlxj/dao/model/view/WebWholesaleCodeDetailView.java

@@ -1,9 +1,14 @@
 package com.yhlxj.dao.model.view;
 
+import com.ejlchina.searcher.bean.DbField;
 import com.ejlchina.searcher.bean.SearchBean;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.yhlxj.dao.model.entity.WebWholesaleOrderDon;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.Date;
+
 /**
  * 项目名: yhlxj2
  * 文件名: WebWholesaleCodeDetailView
@@ -12,6 +17,37 @@ import lombok.Setter;
  */
 @Getter
 @Setter
-@SearchBean(tables = "web_whole_sale_order_don_code_relate wodr")
+@SearchBean(tables = "web_whole_sale_order_don wod inner join web_whole_sale_order_don_code_relate odr on wod.id = odr.oder_id" +
+		" left join user u on u.id = odr.dh_user_id")
 public class WebWholesaleCodeDetailView {
+	@DbField("wod.user_id")
+	private Long userId;
+
+	@DbField("wod.id")
+	private Long orderId;
+
+	@DbField("wod.order_no")
+	private String orderNo;
+
+	@DbField("odr.dh_user_id")
+	private Long dhUserId;
+
+	@DbField("u.nickname")
+	private String nickname;
+
+	/**
+	 * 支付状态
+	 */
+	@DbField("wod.status")
+	@JsonIgnore
+	private WebWholesaleOrderDon.Status status;
+
+	/**
+	 * 支付标题
+	 */
+	@DbField("wod.pay_title")
+	private String payTitle;
+
+	@DbField("odr.update_time")
+	private Date updateTime;
 }

+ 2 - 2
wholesale/src/main/java/com/yhlxj/dao/model/view/WebWholesaleOrderView.java

@@ -2,7 +2,7 @@ package com.yhlxj.dao.model.view;
 
 import com.ejlchina.searcher.bean.DbField;
 import com.ejlchina.searcher.bean.SearchBean;
-import com.yhlxj.dao.model.entity.WebWholeSaleOrderDon;
+import com.yhlxj.dao.model.entity.WebWholesaleOrderDon;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -38,7 +38,7 @@ public class WebWholesaleOrderView {
 	 * 支付状态
 	 */
 	@DbField("wod.status")
-	private WebWholeSaleOrderDon.Status status;
+	private WebWholesaleOrderDon.Status status;
 
 	@DbField("wod.pay_time")
 	private Date payTime;

+ 10 - 0
wholesale/src/main/java/com/yhlxj/service/order/WebWholesaleOrderDonService.java

@@ -0,0 +1,10 @@
+package com.yhlxj.service.order;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: WebWholesaleOrderDonService
+ * 创建者: JavaZou
+ * 创建时间:2025/6/5 14:04
+ */
+public interface WebWholesaleOrderDonService {
+}

+ 14 - 0
wholesale/src/main/java/com/yhlxj/service/order/impl/WebWholesaleOrderDonServiceImpl.java

@@ -0,0 +1,14 @@
+package com.yhlxj.service.order.impl;
+
+import com.yhlxj.service.order.WebWholesaleOrderDonService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: WebWholesaleOrderDonServiceImpl
+ * 创建者: JavaZou
+ * 创建时间:2025/6/5 14:04
+ */
+@Service
+public class WebWholesaleOrderDonServiceImpl implements WebWholesaleOrderDonService {
+}

+ 36 - 8
wholesale/src/main/java/com/yhlxj/web/controller/manage/WholesaleCodeController.java

@@ -1,20 +1,25 @@
 package com.yhlxj.web.controller.manage;
 
+import cn.hutool.extra.servlet.ServletUtil;
+import com.cyksj.common.exception.BusinessRuntimeException;
+import com.cyksj.common.util.StringUtil;
 import com.ejlchina.searcher.BeanSearcher;
 import com.ejlchina.searcher.SearchResult;
 import com.ejlchina.searcher.util.MapUtils;
 import com.yhlxj.dao.model.dto.Result;
-import com.yhlxj.dao.model.entity.WebWholeSaleOrderDon;
+import com.yhlxj.dao.model.entity.WebWholesaleOrderDon;
 import com.yhlxj.dao.model.enums.GatewayResponse;
+import com.yhlxj.dao.model.request.WebOrderPayRequest;
+import com.yhlxj.dao.model.view.WebWholesaleCodeDetailView;
 import com.yhlxj.dao.model.view.WebWholesaleOrderView;
+import com.yhlxj.service.order.WebWholesaleOrderDonService;
+import com.yhlxj.web.util.StpUserUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
-import java.util.List;
 
 /**
  * 项目名: yhlxj2
@@ -32,12 +37,17 @@ public class WholesaleCodeController {
 
 	private final HttpServletRequest request;
 
+	private final WebWholesaleOrderDonService webWholesaleOrderDonService;
+
 	/**
 	 * 兑换码 明细
 	 */
 	@GetMapping("/get/detail")
-	public Result<SearchResult<WebWholesaleOrderView>> getCodeDetail() {
-
+	public Result<SearchResult<WebWholesaleCodeDetailView>> getCodeDetail() {
+		SearchResult<WebWholesaleCodeDetailView> search = beanSearcher.search(WebWholesaleCodeDetailView.class, MapUtils.flatBuilder(request.getParameterMap())
+				.field(WebWholesaleCodeDetailView::getStatus, WebWholesaleOrderDon.Status.complete.name())
+				.build());
+		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
 	}
 
 	/**
@@ -46,7 +56,7 @@ public class WholesaleCodeController {
 	@GetMapping("/get/order")
 	public Result<SearchResult<WebWholesaleOrderView>> getOrders() {
 		SearchResult<WebWholesaleOrderView> search = beanSearcher.search(WebWholesaleOrderView.class, MapUtils.flatBuilder(request.getParameterMap())
-				.field(WebWholesaleOrderView::getStatus, WebWholeSaleOrderDon.Status.complete.name())
+				.field(WebWholesaleOrderView::getStatus, WebWholesaleOrderDon.Status.complete.name())
 				.build());
 		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
 	}
@@ -55,6 +65,24 @@ public class WholesaleCodeController {
 	/**
 	 * 购买兑换码 预下单
 	 */
+	@PostMapping("/post/submit")
+	public Result<WebWholesaleOrderDon> submit(@Validated @RequestBody WebOrderPayRequest payRequest) throws Exception {
+		final String methodName = "吊起兑换码预支付";
+		Long userId = "todo";
+		payRequest.setUserId(userId);
+		log.info("{}[start] params:{}", methodName, payRequest);
+
+		String ip = ServletUtil.getClientIP(request);
+		String address = StringUtil.getNewInternalAddressByIp(ip);
+		//address.contains("柬埔寨") ||
+		if (address != null && address.contains("缅甸")) {
+			throw BusinessRuntimeException.getInstance("用户异常");
+		}
+		payRequest.setIp(ip);
+		WebWholesaleOrderDon orderDon = webWholesaleOrderDonService.submit(payRequest);
+		return GatewayResponse.SUCCESS.newBuilder().toResult(orderDon);
+	}
+
 
 
 	/**