Prechádzať zdrojové kódy

网站后台 兑换码管理

zoujiajian 1 rok pred
rodič
commit
8f390546d2

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

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

+ 97 - 0
wholesale/src/main/java/com/yhlxj/dao/model/entity/WebWholeSaleOrderDon.java

@@ -0,0 +1,97 @@
+package com.yhlxj.dao.model.entity;
+
+import cn.hutool.core.util.StrUtil;
+import com.yhlxj.dao.model.BaseEntity;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.Date;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: WebWholeSaleOrderDon
+ * 创建者: JavaZou
+ * 创建时间:2025/6/4 16:12
+ */
+@Getter
+@Setter
+public class WebWholeSaleOrderDon extends BaseEntity {
+	private Long userId;
+
+	private BigDecimal money;
+
+	private BigDecimal refundMoney;
+
+	private String transactionId;
+
+	private String buyerId;
+
+	private String orderNo;
+
+	/**
+	 * 支付状态
+	 */
+	private Status status;
+
+	/**
+	 * 支付类型
+	 */
+	private Type type;
+
+	private Date payTime;
+
+	/**
+	 * 商户ID
+	 */
+	private String shopId;
+
+	/**
+	 * 支付标题
+	 */
+	private String payTitle;
+
+	public enum Status {
+		/**
+		 * 订单状态
+		 */
+		close("已关闭"),
+		noPayment("待付款"),
+		hasPayment("已付款"),
+		complete("已完成"),
+		refund("已退款"),
+		;
+
+		private String desc;
+
+		Status(String desc) {
+			this.desc = desc;
+		}
+
+		public String getDesc() {
+			return desc;
+		}
+	}
+
+	@Getter
+	@AllArgsConstructor
+	public enum Type{
+		WeChat("wechat","微信"),
+		ALI_PAY("zfb","支付宝"),
+		BALANCE("balance", "余额支付"),
+		PAYPAL("paypal","paypal支付"),
+		STRIPE("stripe","stripe支付")
+		;
+		String type;
+		String desc;
+
+		public static Type getType(String type) {
+			if (StrUtil.isEmpty(type)) {
+				return ALI_PAY;
+			}
+			return Arrays.stream(Type.values()).filter(tp -> tp.getType().equals(type)).findFirst().orElse(ALI_PAY);
+		}
+	}
+}

+ 17 - 0
wholesale/src/main/java/com/yhlxj/dao/model/view/WebWholesaleCodeDetailView.java

@@ -0,0 +1,17 @@
+package com.yhlxj.dao.model.view;
+
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: WebWholesaleCodeDetailView
+ * 创建者: JavaZou
+ * 创建时间:2025/6/5 12:09
+ */
+@Getter
+@Setter
+@SearchBean(tables = "web_whole_sale_order_don_code_relate wodr")
+public class WebWholesaleCodeDetailView {
+}

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

@@ -0,0 +1,52 @@
+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 lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: WebWholesaleOrderView
+ * 创建者: JavaZou
+ * 创建时间:2025/6/5 12:03
+ */
+@Getter
+@Setter
+@SearchBean(tables = "web_whole_sale_order_don wod")
+public class WebWholesaleOrderView {
+	@DbField("wod.user_id")
+	private Long userId;
+
+	@DbField("wod.money")
+	private BigDecimal money;
+
+	@DbField("wod.refund_money")
+	private BigDecimal refundMoney;
+
+	@DbField("wod.transaction_id")
+	private String transactionId;
+
+	@DbField("wod.order_no")
+	private String orderNo;
+
+	/**
+	 * 支付状态
+	 */
+	@DbField("wod.status")
+	private WebWholeSaleOrderDon.Status status;
+
+	@DbField("wod.pay_time")
+	private Date payTime;
+
+	/**
+	 * 支付标题
+	 */
+	@DbField("wod.pay_title")
+	private String payTitle;
+
+}

+ 0 - 1
wholesale/src/main/java/com/yhlxj/web/GlobalExceptionHandler.java

@@ -7,7 +7,6 @@ import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayApiCode;
 import com.cyksj.enums.GatewayResponse;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.ibatis.exceptions.PersistenceException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.BindException;
 import org.springframework.validation.FieldError;

+ 24 - 0
wholesale/src/main/java/com/yhlxj/web/controller/code/exchange/ExchangeCodeController.java

@@ -0,0 +1,24 @@
+package com.yhlxj.web.controller.manage.code.exchange;
+
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 兑换码前台
+ * 项目名: yhlxj2
+ * 文件名: ExchangeCodeController
+ * 创建者: JavaZou
+ * 创建时间:2025/6/5 11:56
+ */
+@Slf4j
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/applets/wholesale/code")
+public class ExchangeCodeController {
+
+	/**
+	 * 兑换车票
+	 */
+}

+ 68 - 0
wholesale/src/main/java/com/yhlxj/web/controller/manage/WholesaleCodeController.java

@@ -0,0 +1,68 @@
+package com.yhlxj.web.controller.manage;
+
+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.enums.GatewayResponse;
+import com.yhlxj.dao.model.view.WebWholesaleOrderView;
+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 javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: WholesaleCodeController
+ * 创建者: JavaZou
+ * 创建时间:2025/6/4 16:31
+ * 兑换码管理
+ */
+@Slf4j
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/manage/wholesale/code")
+public class WholesaleCodeController {
+	private final BeanSearcher beanSearcher;
+
+	private final HttpServletRequest request;
+
+	/**
+	 * 兑换码 明细
+	 */
+	@GetMapping("/get/detail")
+	public Result<SearchResult<WebWholesaleOrderView>> getCodeDetail() {
+
+	}
+
+	/**
+	 * 兑换码订单
+	 */
+	@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())
+				.build());
+		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
+	}
+
+
+	/**
+	 * 购买兑换码 预下单
+	 */
+
+
+	/**
+	 * 支付宝支付
+	 */
+
+
+	/**
+	 * 支付宝回调
+	 */
+}