diff --git a/.idea/encodings.xml b/.idea/encodings.xml
index 7be420d..8fc7375 100644
--- a/.idea/encodings.xml
+++ b/.idea/encodings.xml
@@ -8,6 +8,7 @@
+
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 9b86953..06fa1b5 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -111,11 +111,11 @@
+
+
-
-
@@ -147,11 +147,11 @@
-
-
+
+
-
+
diff --git a/bwie-common/src/main/java/com/bwie/common/domain/Order.java b/bwie-common/src/main/java/com/bwie/common/domain/Order.java
new file mode 100644
index 0000000..d07fd64
--- /dev/null
+++ b/bwie-common/src/main/java/com/bwie/common/domain/Order.java
@@ -0,0 +1,36 @@
+package com.bwie.common.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 订单表
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class Order {
+
+ private Long ordersId;//订单ID
+ private String ordersNumber;//订单编号
+ private Long userId;//支付人ID
+ private BigDecimal ordersPrice;//支付金额
+ private Integer isDelete;//逻辑删除
+ private Integer ordersStatus;//订单状态
+ private Long houseId;//房源表ID
+ private String userTel;//支付人手机号
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyyy-MM-dd HH:mm:ss")
+ private Date udpTime;//最新更改订单时间
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+}
diff --git a/bwie-common/src/main/java/com/bwie/common/domain/Trade.java b/bwie-common/src/main/java/com/bwie/common/domain/Trade.java
new file mode 100644
index 0000000..288815f
--- /dev/null
+++ b/bwie-common/src/main/java/com/bwie/common/domain/Trade.java
@@ -0,0 +1,40 @@
+package com.bwie.common.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Trade {
+ private Long tradeId;
+ private String tradeNum;
+ private String ordersNumber;
+ private BigDecimal tradeMoney;
+ private Integer tradeStatus;
+ private String thirdNum;
+ private String thirdStatus;
+ private String thirdMessage;
+ private String tradeType;
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyyy-MM-dd HH:mm:ss")
+ private Date backTime;
+ private Integer isdelete;
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyyy-MM-dd HH:mm:ss")
+ private Date updTime;
+
+
+
+
+
+}
diff --git a/bwie-common/src/main/java/com/bwie/common/remote/system/RemoteUserService.java b/bwie-common/src/main/java/com/bwie/common/remote/system/RemoteUserService.java
index 03a7c8f..fc91780 100644
--- a/bwie-common/src/main/java/com/bwie/common/remote/system/RemoteUserService.java
+++ b/bwie-common/src/main/java/com/bwie/common/remote/system/RemoteUserService.java
@@ -6,10 +6,7 @@ import com.bwie.common.domain.request.LoginRequest;
import com.bwie.common.remote.system.factory.RemoteUserFactory;
import com.bwie.common.result.Result;
import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.*;
@FeignClient(
name = "bwie-User",
@@ -17,6 +14,9 @@ import org.springframework.web.bind.annotation.RequestBody;
)
public interface RemoteUserService {
+ @PostMapping("addpoint")
+ public Result addpoint(@RequestParam Long userId, @RequestParam Integer point);
+
@PostMapping("/login")
public Result login(@RequestBody LoginRequest loginRequest);
diff --git a/bwie-common/src/main/java/com/bwie/common/remote/system/factory/RemoteUserFactory.java b/bwie-common/src/main/java/com/bwie/common/remote/system/factory/RemoteUserFactory.java
index 7cf1029..c30a145 100644
--- a/bwie-common/src/main/java/com/bwie/common/remote/system/factory/RemoteUserFactory.java
+++ b/bwie-common/src/main/java/com/bwie/common/remote/system/factory/RemoteUserFactory.java
@@ -17,6 +17,11 @@ public class RemoteUserFactory implements FallbackFactory {
public RemoteUserService create(Throwable cause) {
return new RemoteUserService() {
+ @Override
+ public Result addpoint(Long userId, Integer point) {
+ log.error("添加积分失败{}",cause.getMessage(),cause,userId,point);
+ return Result.error(cause.getMessage());
+ }
@Override
public Result login(@RequestBody LoginRequest loginRequest){
diff --git a/bwie-modules/bwie-authen/src/main/java/com/bwie/authen/AuthenticationApp.java b/bwie-modules/bwie-authen/src/main/java/com/bwie/authen/AuthenApp.java
similarity index 83%
rename from bwie-modules/bwie-authen/src/main/java/com/bwie/authen/AuthenticationApp.java
rename to bwie-modules/bwie-authen/src/main/java/com/bwie/authen/AuthenApp.java
index dd741aa..372ae41 100644
--- a/bwie-modules/bwie-authen/src/main/java/com/bwie/authen/AuthenticationApp.java
+++ b/bwie-modules/bwie-authen/src/main/java/com/bwie/authen/AuthenApp.java
@@ -7,8 +7,8 @@ import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
@EnableDiscoveryClient
-public class AuthenticationApp {
+public class AuthenApp {
public static void main(String[] args) {
- SpringApplication.run(AuthenticationApp.class);
+ SpringApplication.run(AuthenApp.class);
}
}
diff --git a/bwie-modules/bwie-authen/src/main/java/com/bwie/authen/service/impl/AuthenticationServiceImpl.java b/bwie-modules/bwie-authen/src/main/java/com/bwie/authen/service/impl/AuthenticationServiceImpl.java
index 9b26adf..03f99f2 100644
--- a/bwie-modules/bwie-authen/src/main/java/com/bwie/authen/service/impl/AuthenticationServiceImpl.java
+++ b/bwie-modules/bwie-authen/src/main/java/com/bwie/authen/service/impl/AuthenticationServiceImpl.java
@@ -3,8 +3,6 @@ package com.bwie.authen.service.impl;
import com.bwie.authen.service.AuthenticationService;
import com.bwie.authen.util.*;
import com.bwie.authen.vo.*;
-import com.bwie.authentication.util.*;
-import com.bwie.authentication.vo.*;
import com.bwie.common.result.Result;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
diff --git a/bwie-modules/bwie-order/pom.xml b/bwie-modules/bwie-order/pom.xml
new file mode 100644
index 0000000..490b7c1
--- /dev/null
+++ b/bwie-modules/bwie-order/pom.xml
@@ -0,0 +1,88 @@
+
+
+ 4.0.0
+
+ com.bwie
+ bwie-modules
+ 1.0.0
+
+
+ bwie-order
+
+
+ 8
+ 8
+ UTF-8
+
+
+
+
+ com.bwie
+ bwie-common
+ 1.0.0
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+
+ org.apache.shardingsphere
+ sharding-jdbc-spring-boot-starter
+ 4.0.0-RC1
+
+
+
+
+ com.alibaba
+ druid-spring-boot-starter
+ 1.2.8
+
+
+
+ mysql
+ mysql-connector-java
+
+
+
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter
+ 2.2.2
+
+
+
+
+ com.github.pagehelper
+ pagehelper-spring-boot-starter
+ 1.4.1
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+ com.google.guava
+ guava
+ 22.0
+
+
+
+ com.alipay.sdk
+ alipay-sdk-java
+ 4.39.2.ALL
+
+
+
+
+
+
+
+
+
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/OrderApp.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/OrderApp.java
new file mode 100644
index 0000000..24acbeb
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/OrderApp.java
@@ -0,0 +1,17 @@
+package com.bwie.order;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+@SpringBootApplication
+@EnableDiscoveryClient
+@EnableScheduling
+@EnableFeignClients(basePackages = "com.bwie.**")
+public class OrderApp {
+ public static void main(String[] args) {
+ SpringApplication.run(OrderApp.class);
+ }
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/controller/OrdController.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/controller/OrdController.java
new file mode 100644
index 0000000..b4d9907
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/controller/OrdController.java
@@ -0,0 +1,43 @@
+package com.bwie.order.controller;
+
+import com.bwie.common.domain.Order;
+import com.bwie.common.result.Result;
+import com.bwie.order.service.OrdService;
+import com.bwie.order.vo.AddOrd;
+import com.bwie.order.vo.UpdOrder;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+public class OrdController {
+ private final OrdService ordService;
+
+ public OrdController(OrdService ordService) {
+ this.ordService = ordService;
+
+ }
+
+ @PostMapping("addord")
+ public void addord(@RequestBody AddOrd addOrd){
+ ordService.addorder(addOrd);
+
+ }
+
+
+ @PostMapping("show")
+ public Result show(@RequestParam Long userId,String ordersNumber){
+ Order show = ordService.show(ordersNumber);
+ return Result.success(show);
+ }
+
+ @PostMapping("updstatus")
+ public void updstatus(@RequestBody UpdOrder updOrder){
+ ordService.updStatus(updOrder);
+ }
+
+
+
+
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/controller/PayController.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/controller/PayController.java
new file mode 100644
index 0000000..3d17667
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/controller/PayController.java
@@ -0,0 +1,123 @@
+package com.bwie.order.controller;
+
+import com.alibaba.fastjson2.util.DateUtils;
+import com.alipay.api.AlipayApiException;
+import com.alipay.api.internal.util.AlipaySignature;
+import com.bwie.common.result.Result;
+import com.bwie.order.service.TextService;
+import com.bwie.order.service.TradeService;
+import com.bwie.order.vo.AliPay;
+import com.bwie.order.vo.FindTrade;
+import com.bwie.order.vo.PayReq;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.context.ApplicationContext;
+
+import javax.servlet.http.HttpServletRequest;
+import java.io.UnsupportedEncodingException;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+@RestController
+@Log4j2
+public class PayController {
+
+
+ private final TradeService tradeService;
+ private final AliPay aliPay;
+ private final ApplicationContext appletContext;
+
+
+ public PayController( TradeService tradeService, AliPay aliPay, ApplicationContext appletContext) {
+
+ this.tradeService = tradeService;
+ this.aliPay = aliPay;
+
+ this.appletContext = appletContext;
+ }
+
+ @PostMapping("pay")
+ public Result pay(@RequestBody PayReq payReq) throws AlipayApiException {
+ Result stringResult = tradeService.addTrade(payReq);
+ String data = stringResult.getData();
+ TextService bean = (TextService) appletContext.getBean(payReq.getTradeType());
+ return bean.pay(payReq.getOrdersMoney(),data);
+ }
+
+ /**
+ * 支付宝验签方法
+ *
+ * @param request
+ * @return
+ * @throws AlipayApiException
+ * @throws UnsupportedEncodingException
+ */
+ @ResponseBody
+ @PostMapping("/payed/notify")
+ public Result handleAliPayed( HttpServletRequest request) throws AlipayApiException, UnsupportedEncodingException {
+
+
+
+ System.out.println("=========支付宝异步回调========");
+ Map params = new HashMap<>();
+ Map requestParams = request.getParameterMap();
+ for (String name : requestParams.keySet()) {
+ params.put(name, request.getParameter(name));
+ // System.out.println(name + " = " + request.getParameter(name));
+ }
+// String tradeNo = params.get("out_trade_no");
+// String gmtPayment = params.get("gmt_payment");
+// String alipayTradeNo = params.get("trade_no");
+
+ String sign = params.get("sign");
+ String content = AlipaySignature.getSignCheckContentV1(params);
+ boolean checkSignature = AlipaySignature.rsa256CheckContent(content, sign, aliPay.getAlipayPublicKey(), "UTF-8"); // 验证签名
+ // 支付宝验签
+ if (checkSignature) {
+ // 验签通过
+ System.out.println("交易名称: " + params.get("subject"));
+ System.out.println("交易状态: " + params.get("trade_status"));
+ System.out.println("支付宝交易凭证号: " + params.get("trade_no"));
+ System.out.println("商户订单号: " + params.get("out_trade_no"));
+ System.out.println("交易金额: " + params.get("total_amount"));
+ System.out.println("买家在支付宝唯一id: " + params.get("buyer_id"));
+ System.out.println("买家付款时间: " + params.get("gmt_payment"));
+ System.out.println("买家付款金额: " + params.get("buyer_pay_amount"));
+
+
+// params.get("buyer_id");
+ String s = params.get("gmt_payment");
+ Date date = DateUtils.parseDate(s, "yyyy-MM-dd HH:mm:ss");
+ BigDecimal totalAmount = new BigDecimal(params.get("total_amount"));
+// long l = IdUtil.getSnowflake(1, 1).nextId();
+ //执行逻辑
+ //保存交易流水 返回success
+ FindTrade build = FindTrade.builder()
+ .tradeNum(params.get("out_trade_no"))
+ .thirdMessage(params.get("subject"))
+ .thirdNum(params.get("trade_no"))
+ .thirdStatus(params.get("trade_status"))
+ .backTime(date)
+ .updTime(new Date())
+ .tradeMoney(totalAmount)
+ .build();
+ return tradeService.updtrade(build);
+ //调用用户服务加积分
+ }else {
+ return Result.error("验签失败");
+ }
+// return Result.success("支付成功");
+ }
+
+ @GetMapping("find")
+ public Result find(){
+ Result result = tradeService.syncTrade();
+ return result;
+ }
+
+
+
+
+
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/mapper/OrdMapper.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/mapper/OrdMapper.java
new file mode 100644
index 0000000..3fb0bbd
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/mapper/OrdMapper.java
@@ -0,0 +1,15 @@
+package com.bwie.order.mapper;
+
+import com.bwie.common.domain.Order;
+import com.bwie.order.vo.AddOrd;
+import com.bwie.order.vo.UpdOrder;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface OrdMapper {
+ void add(AddOrd addOrd);
+
+ Order show( String ordersNumber);
+
+ void updStatus(UpdOrder updOrder);
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/mapper/PayMapper.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/mapper/PayMapper.java
new file mode 100644
index 0000000..bd66f2f
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/mapper/PayMapper.java
@@ -0,0 +1,10 @@
+package com.bwie.order.mapper;
+
+import com.bwie.common.domain.Order;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface PayMapper {
+ Order isRepay(String ordersNumber);
+
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/mapper/TradeMapper.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/mapper/TradeMapper.java
new file mode 100644
index 0000000..5cfc48c
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/mapper/TradeMapper.java
@@ -0,0 +1,24 @@
+package com.bwie.order.mapper;
+
+import com.bwie.common.domain.Trade;
+import com.bwie.order.vo.FindTrade;
+import com.bwie.order.vo.PayReq;
+import com.bwie.order.vo.TradeReq;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+@Mapper
+public interface TradeMapper {
+ List findord(String ordersNumber);
+
+ void addtrade(@Param("payReq") PayReq payReq, @Param("tradeReq") TradeReq tradeReq);
+
+
+ Trade succtrade(String tradeNum);
+
+ void updtrade(FindTrade build);
+
+ List syncFind();
+
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/OrdService.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/OrdService.java
new file mode 100644
index 0000000..4bd4ad4
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/OrdService.java
@@ -0,0 +1,19 @@
+package com.bwie.order.service;
+
+import com.bwie.common.domain.Order;
+import com.bwie.order.vo.AddOrd;
+import com.bwie.order.vo.UpdOrder;
+
+public interface OrdService {
+ //点击发布,添加订单
+ void addorder(AddOrd addOrd);
+
+
+
+
+
+
+
+ Order show(String ordersNumber);
+ void updStatus(UpdOrder updOrder);
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/PayService.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/PayService.java
new file mode 100644
index 0000000..7c01e18
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/PayService.java
@@ -0,0 +1,14 @@
+package com.bwie.order.service;
+
+import com.alipay.api.AlipayApiException;
+import com.bwie.common.result.Result;
+
+import java.math.BigDecimal;
+
+public interface PayService {
+ Result pay(BigDecimal ordersMoney,String tradeNum) throws AlipayApiException;
+
+
+
+
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/TextService.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/TextService.java
new file mode 100644
index 0000000..76976da
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/TextService.java
@@ -0,0 +1,14 @@
+package com.bwie.order.service;
+
+
+import com.alipay.api.AlipayApiException;
+import com.bwie.common.result.Result;
+import org.springframework.stereotype.Component;
+
+import java.math.BigDecimal;
+
+@Component
+public interface TextService {
+
+ public Result pay(BigDecimal ordersMoney, String tradeNum) throws AlipayApiException;
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/TradeService.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/TradeService.java
new file mode 100644
index 0000000..49633ef
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/TradeService.java
@@ -0,0 +1,11 @@
+package com.bwie.order.service;
+
+import com.bwie.common.result.Result;
+import com.bwie.order.vo.FindTrade;
+import com.bwie.order.vo.PayReq;
+
+public interface TradeService {
+ Result addTrade(PayReq payReq);
+ Result updtrade(FindTrade build);
+ Result syncTrade();
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/WeiService.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/WeiService.java
new file mode 100644
index 0000000..9fccf80
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/WeiService.java
@@ -0,0 +1,9 @@
+package com.bwie.order.service;
+
+import com.bwie.common.result.Result;
+
+import java.math.BigDecimal;
+
+public interface WeiService {
+ Result pay(BigDecimal ordersMoney, String tradeNum) ;
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/impl/OrdServiceImpl.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/impl/OrdServiceImpl.java
new file mode 100644
index 0000000..3aa7ed2
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/impl/OrdServiceImpl.java
@@ -0,0 +1,58 @@
+package com.bwie.order.service.impl;
+
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.IdUtil;
+import com.bwie.common.domain.Order;
+import com.bwie.common.utils.StringUtils;
+import com.bwie.order.mapper.OrdMapper;
+import com.bwie.order.service.OrdService;
+import com.bwie.order.util.PayUtil;
+import com.bwie.order.vo.AddOrd;
+import com.bwie.order.vo.UpdOrder;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+
+@Service
+public class OrdServiceImpl implements OrdService {
+ private final OrdMapper ordMapper;
+ private final PayUtil payUtil;
+
+ public OrdServiceImpl(OrdMapper ordMapper, PayUtil payUtil) {
+ this.ordMapper = ordMapper;
+ this.payUtil = payUtil;
+ }
+
+ @Override
+ public void addorder(AddOrd addOrd) {
+ addOrd.setCreateTime(new Date());
+ addOrd.setUdpTime(new Date());
+ String substring = IdUtil.getSnowflake(1, 1).nextIdStr().substring(12);
+ String s1 = DateUtil.format(new Date(), "yyyyMMddHHmmss") + substring + StringUtils.leftPad(String.valueOf(addOrd.getUserId()), 8, "0");
+ addOrd.setOrdersNumber(s1);
+// try {
+// payUtil.pay(order.getOrdersPrice(),s);
+// } catch (AlipayApiException e) {
+// throw new RuntimeException(e);
+// }
+// order.setOrdersNumber(s);
+ ordMapper.add(addOrd);
+
+ }
+
+ @Override
+ public Order show(String ordersNumber) {
+// String substring = ordersNumber.substring(21);
+ Order show = ordMapper.show(ordersNumber);
+ return show;
+ }
+
+ @Override
+ public void updStatus(UpdOrder updOrder) {
+// String substring = updOrder.getOrdersNumber().substring(21);
+// updOrder.setUserId(Long.valueOf(substring));
+ ordMapper.updStatus(updOrder);
+ }
+
+
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/impl/PayServiceImpl.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/impl/PayServiceImpl.java
new file mode 100644
index 0000000..d1421be
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/impl/PayServiceImpl.java
@@ -0,0 +1,63 @@
+package com.bwie.order.service.impl;
+
+import com.alipay.api.AlipayApiException;
+import com.bwie.common.result.Result;
+import com.bwie.order.mapper.TradeMapper;
+import com.bwie.order.service.TextService;
+import com.bwie.order.service.TradeService;
+import com.bwie.order.util.FindSyncTrade;
+import com.bwie.order.util.PayUtil;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+
+@Service("Alipay")
+public class PayServiceImpl implements TextService {
+ private final PayUtil payUtil;
+ private final FindSyncTrade findSyncTrade;
+
+ private final TradeMapper tradeMapper;
+
+
+ private final TradeService tradeService;
+
+
+
+ /**
+ * 订单页面+提交订单+回显订单页面+点击支付+支付页面
+ *
+ * @param payUtil
+ * @param findSyncTrade
+ * @param tradeMapper
+ * @param tradeService
+ */
+
+ public PayServiceImpl(PayUtil payUtil, FindSyncTrade findSyncTrade, TradeMapper tradeMapper, TradeService tradeService) {
+ this.payUtil = payUtil;
+
+ this.findSyncTrade = findSyncTrade;
+ this.tradeMapper = tradeMapper;
+
+ this.tradeService = tradeService;
+ }
+
+ @Override
+ public Result pay(BigDecimal ordersMoney, String tradeNum) throws AlipayApiException {
+
+ String pay="";
+ try {
+ pay = payUtil.pay(ordersMoney, tradeNum);
+ } catch (AlipayApiException e) {
+ throw new RuntimeException(e);
+ }
+ return pay.equals("调用失败")?Result.error("调用失败"):Result.success(pay);
+// return Result.success(pageRedirectionData);
+ }
+// @GlobalTransactional(name = "pay",rollbackFor = Exception.class)
+
+
+
+
+}
+
+
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/impl/TradeServiceImpl.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/impl/TradeServiceImpl.java
new file mode 100644
index 0000000..75c0b21
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/impl/TradeServiceImpl.java
@@ -0,0 +1,118 @@
+package com.bwie.order.service.impl;
+
+import cn.hutool.core.util.IdUtil;
+import com.alipay.api.AlipayApiException;
+import com.bwie.common.domain.Order;
+import com.bwie.common.domain.Trade;
+import com.bwie.common.remote.RemoteLoginService;
+import com.bwie.common.result.Result;
+import com.bwie.order.mapper.TradeMapper;
+import com.bwie.order.service.OrdService;
+import com.bwie.order.service.TradeService;
+import com.bwie.order.util.FindSyncTrade;
+import com.bwie.order.vo.*;
+import org.springframework.stereotype.Service;
+import org.springframework.util.Assert;
+import org.springframework.util.CollectionUtils;
+
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Service
+public class TradeServiceImpl implements TradeService {
+ private final RemoteLoginService remoteLoginService;
+ private final OrdService ordService;
+ private final TradeMapper tradeMapper;
+ private final FindSyncTrade findSyncTrade;
+
+ public TradeServiceImpl(RemoteLoginService remoteLoginService, OrdService ordService, TradeMapper tradeMapper, FindSyncTrade findSyncTrade) {
+ this.remoteLoginService = remoteLoginService;
+ this.ordService = ordService;
+ this.tradeMapper = tradeMapper;
+ this.findSyncTrade = findSyncTrade;
+ }
+
+ @Override
+ public Result addTrade(PayReq payReq) {
+ Order repay = ordService.show(payReq.getOrdersNumber());
+
+ if(null==repay){
+ return Result.error("订单不存在");
+ }
+
+ List findord = tradeMapper.findord(payReq.getOrdersNumber());
+ if(!CollectionUtils.isEmpty(findord)){
+ findord.stream().forEach(c ->{
+ Assert.isTrue(c.getTradeStatus()==1||c.getTradeStatus()==4,"请检查支付状态");
+// Assert.isTrue(c.getTradeStatus()==3,"订单已支付");
+ });
+ }
+ long l = IdUtil.getSnowflake(1, 1).nextId();
+
+ TradeReq tradeReq = new TradeReq();
+ tradeReq.setTradeNum(String.valueOf(l));
+ tradeReq.setUpdTime(new Date());
+ tradeReq.setCreateTime(new Date());
+ tradeMapper.addtrade(payReq,tradeReq);
+ return Result.success(tradeReq.getTradeNum());
+ }
+
+ @Override
+ public Result updtrade(FindTrade build) {
+ Trade succtrade = tradeMapper.succtrade(build.getTradeNum());
+ if(null==succtrade){
+ return Result.error("交易不存在");
+ }
+ if(build.getTradeMoney().compareTo(succtrade.getTradeMoney())!=0){
+ return Result.error("交易钱款不一致");
+ }
+ if(succtrade.getTradeStatus()!=2 && succtrade.getTradeStatus()!=1){
+ return Result.error("重复回调");
+ }
+
+ if("WAIT_BUYER_PAY".equals(build.getThirdStatus())){
+ return Result.error("交易金额结果不明确");
+ }
+
+ if("TRADE_SUCCESS".equals(build.getThirdStatus())){
+ build.setTradeStatus(3);
+ }else {
+ build.setTradeStatus(4);
+ }
+
+ tradeMapper.updtrade(build);
+ UpdOrder updOrder = new UpdOrder();
+ updOrder.setOrdersStatus(OrderStatusEnum.PAYED.getCode());
+ updOrder.setOrdersNumber(succtrade.getOrdersNumber());
+ ordService.updStatus(updOrder);
+ long l = Long.parseLong(succtrade.getOrdersNumber().substring(21));
+ remoteLoginService.addpoint(l,100);
+ return Result.success("修改状态完成");
+ }
+ public Result syncTrade() {
+ List trades = tradeMapper.syncFind();
+ if(trades==null){
+ return Result.success("均支付完成");
+ }
+ List use = trades.stream().map(c -> {
+ Ament ament = new Ament();
+ ament.setThirdNum(c.getThirdNum());
+ ament.setTradeNum(c.getTradeNum());
+ try {
+ Result findTradeResult = findSyncTrade.AlipayTradeQuery(ament);
+ if (findTradeResult.isSuccess()) {
+ FindTrade data = findTradeResult.getData();
+ Result addtrade = updtrade(data);
+ return addtrade;
+ } else {
+ return Result.error("支付宝查询调用失败");
+ }
+ } catch (AlipayApiException e) {
+ throw new RuntimeException(e);
+ }
+ }).collect(Collectors.toList());
+ use.stream().forEach(c->System.out.println("c = " + c));
+ return Result.success("同步完成");
+ }
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/impl/WeiServiceImpl.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/impl/WeiServiceImpl.java
new file mode 100644
index 0000000..2a6743e
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/service/impl/WeiServiceImpl.java
@@ -0,0 +1,16 @@
+package com.bwie.order.service.impl;
+
+import com.bwie.common.result.Result;
+import com.bwie.order.service.TextService;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+
+@Service("Wei")
+public class WeiServiceImpl implements TextService {
+
+ @Override
+ public Result pay(BigDecimal ordersMoney, String tradeNum) {
+ return Result.success("微信成功");
+ }
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/shareding/SharedingWay.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/shareding/SharedingWay.java
new file mode 100644
index 0000000..97b7d9a
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/shareding/SharedingWay.java
@@ -0,0 +1,48 @@
+package com.bwie.order.shareding;
+
+import com.alibaba.fastjson.JSON;
+import lombok.extern.log4j.Log4j2;
+import org.apache.shardingsphere.api.sharding.complex.ComplexKeysShardingAlgorithm;
+import org.apache.shardingsphere.api.sharding.complex.ComplexKeysShardingValue;
+import org.springframework.util.CollectionUtils;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+@Log4j2
+public class SharedingWay implements ComplexKeysShardingAlgorithm {
+
+
+ @Override
+ public Collection doSharding(Collection collection, ComplexKeysShardingValue complexKeysShardingValue) {
+ log.info(JSON.toJSONString(collection));
+ log.info(JSON.toJSONString(complexKeysShardingValue));
+ List nums = (List) complexKeysShardingValue.getColumnNameAndShardingValuesMap().get("orders_number");
+ List o = (List) complexKeysShardingValue.getColumnNameAndShardingValuesMap().get("user_id");
+ ArrayList objects = new ArrayList();
+ if(!CollectionUtils.isEmpty(o)){
+ Long l = o.get(0);
+ log.info(l+"->>>>>>>>>>>>>>");
+ long l1 = l % collection.size();
+ objects.add("order_"+l1);
+ log.info(l1);
+ return objects;
+ }
+ if(!CollectionUtils.isEmpty(nums)){
+ String s = nums.get(0);
+ log.info(s+"->>>>>>>>>>>>>>>>>");
+ long l = Long.parseLong(s.substring(21));
+ log.info(l+"->>>>>>>>>>>>>>");
+ long l1 = l % collection.size();
+ objects.add("order_"+l1);
+ log.info(l1);
+ return objects;
+ }
+
+ return objects;
+
+
+
+ }
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/task/Sync.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/task/Sync.java
new file mode 100644
index 0000000..d7b6220
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/task/Sync.java
@@ -0,0 +1,21 @@
+package com.bwie.order.task;
+
+import com.bwie.common.result.Result;
+import com.bwie.order.service.TradeService;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+@Component
+public class Sync {
+ private final TradeService tradeService;
+
+ public Sync(TradeService tradeService) {
+ this.tradeService = tradeService;
+ }
+
+ @Scheduled(cron = "0 0/30 * * * *")
+ public Result syncTrade(){
+ Result result = tradeService.syncTrade();
+ return result;
+ }
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/util/FindSyncTrade.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/util/FindSyncTrade.java
new file mode 100644
index 0000000..629ea59
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/util/FindSyncTrade.java
@@ -0,0 +1,94 @@
+package com.bwie.order.util;
+
+import com.alipay.api.AlipayApiException;
+import com.alipay.api.AlipayClient;
+import com.alipay.api.AlipayConfig;
+import com.alipay.api.DefaultAlipayClient;
+import com.alipay.api.domain.AlipayTradeQueryModel;
+import com.alipay.api.request.AlipayTradeQueryRequest;
+import com.alipay.api.response.AlipayTradeQueryResponse;
+import com.bwie.common.result.Result;
+import com.bwie.order.vo.AliPay;
+import com.bwie.order.vo.Ament;
+import com.bwie.order.vo.FindTrade;
+import org.springframework.stereotype.Component;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@Component
+public class FindSyncTrade {
+ private final AliPay aliPay;
+
+ public FindSyncTrade(AliPay aliPay) {
+ this.aliPay = aliPay;
+ }
+
+
+ public Result AlipayTradeQuery(Ament ament) throws AlipayApiException {
+
+
+ // 初始化SDK
+ AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());
+
+ // 构造请求参数以调用接口
+ AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();
+ AlipayTradeQueryModel model = new AlipayTradeQueryModel();
+
+ // 设置订单支付时传入的商户订单号
+ model.setOutTradeNo(ament.getTradeNum());
+
+ // 设置查询选项
+ List queryOptions = new ArrayList();
+ queryOptions.add("trade_settle_info");
+ model.setQueryOptions(queryOptions);
+
+ // 设置支付宝交易号
+ model.setTradeNo(ament.getThirdNum());
+
+ request.setBizModel(model);
+ AlipayTradeQueryResponse response = alipayClient.execute(request);
+ System.out.println(response.getBody());
+
+ if (response.isSuccess()) {
+ System.out.println("调用成功");
+ BigDecimal totalAmount = new BigDecimal(response.getTotalAmount());
+
+ FindTrade find = FindTrade.builder()
+ .tradeMoney(totalAmount)
+ .tradeNum(response.getOutTradeNo())
+ .thirdMessage("补偿查询")
+ .thirdNum(response.getTradeNo())
+ .thirdStatus(response.getTradeStatus())
+ .backTime(response.getSendPayDate())
+ .updTime(new Date())
+ .build();
+
+
+ return Result.success(find);
+ } else {
+ System.out.println("调用失败");
+ return Result.error("调用失败");
+ // sdk版本是"4.38.0.ALL"及以上,可以参考下面的示例获取诊断链接
+ // String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response);
+ // System.out.println(diagnosisUrl);
+ }
+
+ }
+ private AlipayConfig getAlipayConfig() {
+ String privateKey = aliPay.getPrivateKey();
+ String alipayPublicKey = aliPay.getAlipayPublicKey();
+ AlipayConfig alipayConfig = new AlipayConfig();
+ alipayConfig.setServerUrl(aliPay.getServerUrl());
+ alipayConfig.setAppId(aliPay.getAppId());
+ alipayConfig.setPrivateKey(privateKey);
+ alipayConfig.setFormat(aliPay.getFormat());
+ alipayConfig.setAlipayPublicKey(alipayPublicKey);
+ alipayConfig.setCharset(aliPay.getCharset());
+ alipayConfig.setSignType(aliPay.getSignType());
+ return alipayConfig;
+ }
+
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/util/PayUtil.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/util/PayUtil.java
new file mode 100644
index 0000000..a3d0283
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/util/PayUtil.java
@@ -0,0 +1,66 @@
+package com.bwie.order.util;
+
+import com.alibaba.fastjson.JSON;
+import com.alipay.api.AlipayApiException;
+import com.alipay.api.AlipayClient;
+import com.alipay.api.AlipayConfig;
+import com.alipay.api.DefaultAlipayClient;
+import com.alipay.api.diagnosis.DiagnosisUtils;
+import com.alipay.api.domain.AlipayTradePagePayModel;
+import com.alipay.api.request.AlipayTradePagePayRequest;
+import com.alipay.api.response.AlipayTradePagePayResponse;
+import com.bwie.order.vo.AliPay;
+import org.springframework.stereotype.Component;
+
+import java.math.BigDecimal;
+
+@Component
+public class PayUtil {
+ private final AliPay aliPay;
+
+ public PayUtil(AliPay aliPay) {
+ this.aliPay = aliPay;
+ }
+
+ public String pay(BigDecimal ordersPrice,String ordersNumber) throws AlipayApiException {
+ String privateKey = aliPay.getPrivateKey();
+ String alipayPublicKey = aliPay.getAlipayPublicKey();
+ AlipayConfig alipayConfig = new AlipayConfig();
+ alipayConfig.setServerUrl(aliPay.getServerUrl());
+ alipayConfig.setAppId(aliPay.getAppId());
+ alipayConfig.setPrivateKey(privateKey);
+ alipayConfig.setFormat(aliPay.getFormat());
+ alipayConfig.setAlipayPublicKey(alipayPublicKey);
+ alipayConfig.setCharset(aliPay.getCharset());
+ alipayConfig.setSignType(aliPay.getSignType());
+ AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig);
+ AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
+ AlipayTradePagePayModel model = new AlipayTradePagePayModel();
+ model.setOutTradeNo(ordersNumber);
+ model.setTotalAmount(JSON.toJSONString(ordersPrice));
+ model.setSubject("发布");
+ model.setProductCode("FAST_INSTANT_TRADE_PAY");
+ request.setBizModel(model);
+ //异步接收地址,仅支持http/https,公网可访问
+ request.setNotifyUrl(aliPay.getNotifyUrl());
+ //同步跳转地址,仅支持http/https
+ //request.setReturnUrl("http://localhost:9003/show");
+ //AlipayTradePagePayResponse response = alipayClient.pageExecute(request, "POST");
+ // 如果需要返回GET请求,请使用
+ AlipayTradePagePayResponse response = alipayClient.pageExecute(request, "GET");
+ String pageRedirectionData = response.getBody();
+ System.out.println(pageRedirectionData);
+ if (response.isSuccess()) {
+ System.out.println("调用成功");
+ } else {
+ //System.out.println("调用失败");
+ // sdk版本是"4.38.0.ALL"及以上,可以参考下面的示例获取诊断链接
+ String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response);
+ System.out.println(diagnosisUrl);
+ return "调用失败";
+ }
+
+ return pageRedirectionData;
+}
+
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/AddOrd.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/AddOrd.java
new file mode 100644
index 0000000..74b7291
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/AddOrd.java
@@ -0,0 +1,26 @@
+package com.bwie.order.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class AddOrd {
+ private Long ordersId;//订单ID
+ private String ordersNumber;
+ private Long userId;//支付人ID
+ private Long houseId;//房源表ID
+ private String userTel;//支付人手机号
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyyy-MM-dd HH:mm:ss")
+ private Date udpTime;//最新更改订单时间
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/AliPay.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/AliPay.java
new file mode 100644
index 0000000..cd6ba7a
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/AliPay.java
@@ -0,0 +1,20 @@
+package com.bwie.order.vo;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+@ConfigurationProperties(prefix = "alipay")
+@Data
+public class AliPay {
+ private String privateKey;
+ private String alipayPublicKey;
+ private String ServerUrl;
+ private String AppId;
+ private String Charset;
+ private String SignType;
+ private String Format;
+ private String NotifyUrl;
+
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/Ament.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/Ament.java
new file mode 100644
index 0000000..02dfcc4
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/Ament.java
@@ -0,0 +1,9 @@
+package com.bwie.order.vo;
+
+import lombok.Data;
+
+@Data
+public class Ament {
+ private String tradeNum;
+ private String thirdNum;
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/FindTrade.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/FindTrade.java
new file mode 100644
index 0000000..0798ab5
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/FindTrade.java
@@ -0,0 +1,47 @@
+package com.bwie.order.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class FindTrade {
+ private String tradeNum;
+ private BigDecimal tradeMoney;
+ private Integer tradeStatus;
+ private String thirdNum;
+ private String thirdStatus;
+ private String thirdMessage;
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyyy-MM-dd HH:mm:ss")
+ private Date backTime;
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyyy-MM-dd HH:mm:ss")
+ private Date updTime;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/OrderStatusEnum.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/OrderStatusEnum.java
new file mode 100644
index 0000000..49a47b5
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/OrderStatusEnum.java
@@ -0,0 +1,31 @@
+package com.bwie.order.vo;
+
+/**
+ * 订单状态枚举
+ * @author Jerry
+ */
+
+public enum OrderStatusEnum {
+ CREATE_NEW(1,"待付款"),
+ PAYED(2,"已付款"),
+// SENDED(2,"已发货"),
+ RECIEVED(3,"审核中"),
+ CANCLED(4,"已完成"),
+ SERVICING(5,"已驳回");
+// SERVICED(6,"售后完成");
+ private Integer code;
+ private String msg;
+
+ OrderStatusEnum(Integer code, String msg) {
+ this.code = code;
+ this.msg = msg;
+ }
+
+ public Integer getCode() {
+ return code;
+ }
+
+ public String getMsg() {
+ return msg;
+ }
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/PayEnum.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/PayEnum.java
new file mode 100644
index 0000000..5c717f8
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/PayEnum.java
@@ -0,0 +1,23 @@
+package com.bwie.order.vo;
+
+public enum PayEnum {
+
+ ZFB_PAY(0,"支付宝"),
+ WX_PAY(1,"微信"),
+ BANK_PAY(2,"银行卡支付");
+ private Integer code;
+ private String msg;
+
+ public Integer getCode() {
+ return code;
+ }
+
+ public String getMsg() {
+ return msg;
+ }
+
+ PayEnum(Integer code, String msg) {
+ this.code = code;
+ this.msg = msg;
+ }
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/PayReq.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/PayReq.java
new file mode 100644
index 0000000..c5e95c4
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/PayReq.java
@@ -0,0 +1,17 @@
+package com.bwie.order.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PayReq {
+ private String ordersNumber;
+ private BigDecimal ordersMoney;
+ private String tradeType;
+
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/TradeReq.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/TradeReq.java
new file mode 100644
index 0000000..0291245
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/TradeReq.java
@@ -0,0 +1,22 @@
+package com.bwie.order.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class TradeReq {
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyyy-MM-dd HH:mm:ss")
+ private Date updTime;
+ private String tradeNum;
+}
diff --git a/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/UpdOrder.java b/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/UpdOrder.java
new file mode 100644
index 0000000..be61c5c
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/java/com/bwie/order/vo/UpdOrder.java
@@ -0,0 +1,9 @@
+package com.bwie.order.vo;
+
+import lombok.Data;
+
+@Data
+public class UpdOrder {
+ private String ordersNumber;//订单编号
+ private Integer ordersStatus;//订单状态
+}
diff --git a/bwie-modules/bwie-order/src/main/resources/bootstrap.yml b/bwie-modules/bwie-order/src/main/resources/bootstrap.yml
new file mode 100644
index 0000000..615b705
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/resources/bootstrap.yml
@@ -0,0 +1,74 @@
+# Tomcat
+server:
+ port: 9007
+# Spring
+spring:
+ main:
+ allow-circular-references: true
+ allow-bean-definition-overriding: true
+ jackson:
+ date-format: yyyy-MM-dd HH:mm:ss
+ time-zone: GMT+8
+ application:
+ # 应用名称
+ name: bwie-order
+ profiles:
+ # 环境配置
+ active: dev
+ cloud:
+ nacos:
+ discovery:
+ # 服务注册地址
+ server-addr: 124.221.177.197:8848
+ config:
+ # 配置中心地址
+ server-addr: 124.221.177.197:8848
+ # 配置文件格式
+ file-extension: yml
+ # 共享配置
+ shared-configs:
+ - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+
+ shardingsphere:
+ datasource:
+# 数据库别名
+ names: ord
+ ord:
+# 主数据源
+ type: com.alibaba.druid.pool.DruidDataSource
+ driver-class-name: com.mysql.jdbc.Driver
+ url: jdbc:mysql://124.221.177.197:3306/xm_house?useUnicode=true
+ username: root
+ password: admin111.
+ sharding:
+# 分表
+ tables:
+ order:
+ actual-data-nodes: ord.order_$->{0..2}
+ table-strategy:
+ complex:
+ sharding-columns: user_id,orders_number
+ algorithm-class-name: com.bwie.order.shareding.SharedingWay
+# 主键
+ key-generator:
+ column: orders_id
+ type: SNOWFLAKE
+# 显示sql
+ props:
+ sql:
+ show: true
+
+
+alipay:
+ privateKey: MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCx8r9WaFV7CujWc9AzpbgsCq8axYJWm4s7x2eDcJXC+qhDXWsFW0xDX+xs4JCuVJ54+FGiflB24BeqgFDLNOchtkocK65BJohG5ojVONHq/ciruqbzAD0W6x96h8fKqlVuvz3EotMXuejg5J1gbDRmgTvPx7mYq94TXjxt75CUEserThSMF0geB0DJhrPxNe5JLAPKA5pRXd2e6wDybi2yKL2s2j4YuaTgDZuNAnlBYAiV6Pk7WpFB06LtbGg7JiM+Jawn3N64fL/24d4VIzcJD3AxWbGDZAXtW9+XZtsDa8z6ik3OGpbrSKu+RK0jjWzT2ETHnb/BdhtDJzFBo4dnAgMBAAECggEBAKWvrWIqATVwof1Tlk8QhVxUklfuAP7dExYVA5fJ01fZhaQ7rjMtn+O3w+5YZb48QdXG+FPBIvCclMyHbzLVzkOAdJ6oOTamRwslCdDmd+ZCaH8lat8loLvfLs8q7+cPFD7qx/t30+7qhiAoHTSza1LqD6PWhkPV+w+zlbaS8d471COE8P7XyxouFZ70qe9Aa7uVLEClxQemviSqIYOuHTFkNjWMleQR48tL2HA2ifKpa309Ifnbf3kGktyNaiG7plC5x3gUU3dSQdWZpnRHq/wh65TBhJHgLrjsIPhnfB9mmwCMZ66EJiUKajuqlvEjC/J0dkduMO6uPLYzTkejxbkCgYEA4arhCQgLquzRJDk5pI94ZzBiSWXaP3JUzfYEHQbbzcNvRPZBYJLDBUXNRVReujjt6efIcyrCi1zD3XvHfN2QmaNubeD5yF7aObYPVwoxDCvqHzZDVbYd9ZUGR2yIa+jdkVc5py0vmyfyxLSx3RvMuSP+rYtzhCJbowQiCkN4XUMCgYEAyd3efuY/0f59XF2DBSu8vCEaer7Wkieit980VZm06jxwt/3b5UcRlknKpum32n+mGlbpu4M/r5Zbpta+uuWbx6ajbIjc43rMuElkK6cz5d6AUTm6AsOKq8ARQPh4F5pzI18vrNAQrNyVpxwDMXIdmyArHD0Dv4NeIjlwucCT2Q0CgYBTAXGoysbP5i+/bTUgrI0TF57vdIFkmP9MitNUgfNTqjFBYnsFtLX7OIOansABK3OHd/QpOG86p7J7w03LRgwsFwtFa101MH6Af9EAqQUFfxmsxV7bJhO7A0e9+dPsLUlibn0MWviJz5XieLx7ogAZkX3aA9NHpQOj4J9MuyiI1QKBgQC/NyIuNG5ZvWYEGzQjrsVtszHA+YqJEXBqGc0aFKoxgyUGtDoamdJH+Qg0SYl1OJsfshpfG7k02wlgJWSv5xVD7k45Xf9Wn5jSK/rt+skHQldsGXFgctelTx9I2tPvD8dmxyCC4ugYxi4gCEHiEYWHztXnPsiRHaAKbTyhR5EE9QKBgGQRjcds+qeZeNTKrwSPFG/KD8h/kI0jTnFfeKMm1WXfuXcadTavbaruGUihLzveO9/dsizKJm38Pc2j5xNyBxGYUdbSxGZtC5uNmYuIsR3u8gy2oT3qFBPaFp/Y1PoHzLu6QTAYeo8Cz0TG+U8ah/81O9JPzZWyrkGLHIp5XyKq
+ alipayPublicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkVyIo6qyxzk0YWnBo3ueKIpcpUPnrX0MuhdaUAoyJPtp19u2M67g8jSw7BWqppJ0Vso8sm7Px6VS3rOunlmgW5lyN0uMgy6+mE76gW8+2msjwR/DrzNL7aQn2idu9NgxxKk2BnLzajpR7W5Tk+sXmB9woLffbQ9hJW+SWJ6DnMtAbaB+3E/xaDO4o5yjTFbY063Vr2mgyt+PfK5i3unb3ffZj9jtqICWsDfpoY42fxxrRsKa3eLCJVO6sqUz3XLRex8WV7vcjtAuMsp6rFbwTPT5ELSYHXEY3uWuHHJChDE4eAKUpvavYj/hTZhlsOyTe1xPOAbnkAQ2B+kA+XHDRQIDAQAB
+ ServerUrl: https://openapi-sandbox.dl.alipaydev.com/gateway.do
+ AppId: 9021000135679979
+ Charset: UTF-8
+ SignType: RSA2
+ Format: json
+ NotifyUrl: http://8vhmiu.natappfree.cc/payed/notify
+
+seata:
+ data-source-proxy-mode: AT # 默认就是AT
+
diff --git a/bwie-modules/bwie-order/src/main/resources/mapper/OrderMapper.xml b/bwie-modules/bwie-order/src/main/resources/mapper/OrderMapper.xml
new file mode 100644
index 0000000..118e891
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/resources/mapper/OrderMapper.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+ insert into order
+ (orders_number, user_id, orders_price, is_delete,orders_status, house_id, user_tel, create_time, upd_time)
+ VALUES (#{ordersNumber}, #{userId}, 10, 1, 0, #{houseId}, #{userTel}, #{createTime}, #{udpTime})
+
+
+ update order set orders_status=#{ordersStatus} where orders_number=#{ordersNumber}
+
+
+
diff --git a/bwie-modules/bwie-order/src/main/resources/mapper/PayMapper.xml b/bwie-modules/bwie-order/src/main/resources/mapper/PayMapper.xml
new file mode 100644
index 0000000..e6e5c3b
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/resources/mapper/PayMapper.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
diff --git a/bwie-modules/bwie-order/src/main/resources/mapper/TradeMapper.xml b/bwie-modules/bwie-order/src/main/resources/mapper/TradeMapper.xml
new file mode 100644
index 0000000..b7fbe34
--- /dev/null
+++ b/bwie-modules/bwie-order/src/main/resources/mapper/TradeMapper.xml
@@ -0,0 +1,30 @@
+
+
+
+
+ insert into trade (`trade_num`,`orders_number`,`trade_money`,`trade_status`,`trade_type`,`is_delete`,`create_time`,`upd_time`)
+ values (#{tradeReq.tradeNum},#{payReq.ordersNumber},#{payReq.ordersMoney},2,#{payReq.tradeType},1,#{tradeReq.createTime},#{tradeReq.updTime});
+
+
+ UPDATE `xm_house`.`trade` SET
+ `upd_time` = #{updTime},
+ `trade_status` = #{tradeStatus}, `third_num` = #{thirdNum}, `third_status` = #{thirdStatus},
+ `third_message` = #{thirdMessage}, `back_time` = #{backTime}
+ WHERE `trade_num` = #{tradeNum}
+
+
+
+
+
+
+
+
diff --git a/bwie-modules/bwie-system/src/main/java/com/bwie/user/controller/UserController.java b/bwie-modules/bwie-system/src/main/java/com/bwie/user/controller/UserController.java
index 4734d24..65507d4 100644
--- a/bwie-modules/bwie-system/src/main/java/com/bwie/user/controller/UserController.java
+++ b/bwie-modules/bwie-system/src/main/java/com/bwie/user/controller/UserController.java
@@ -23,6 +23,11 @@ public class UserController {
this.userService = userService;
}
+ @PostMapping("addpoint")
+ public Result addpoint(@RequestParam Long userId,@RequestParam Integer point){
+ userService.addpoint(userId,point);
+ return Result.success();
+ }
@PostMapping("/login")
public Result login(@RequestBody LoginRequest loginRequest){
diff --git a/bwie-modules/bwie-system/src/main/java/com/bwie/user/mapper/UserMapper.java b/bwie-modules/bwie-system/src/main/java/com/bwie/user/mapper/UserMapper.java
index 50f8763..73df564 100644
--- a/bwie-modules/bwie-system/src/main/java/com/bwie/user/mapper/UserMapper.java
+++ b/bwie-modules/bwie-system/src/main/java/com/bwie/user/mapper/UserMapper.java
@@ -10,4 +10,6 @@ public interface UserMapper extends BaseMapper {
User phoneLogin(@Param("userPhone") String userPhone);
+
+ void addpoint(Long userId, Integer point);
}
diff --git a/bwie-modules/bwie-system/src/main/java/com/bwie/user/service/UserService.java b/bwie-modules/bwie-system/src/main/java/com/bwie/user/service/UserService.java
index 81ea69d..0affcfa 100644
--- a/bwie-modules/bwie-system/src/main/java/com/bwie/user/service/UserService.java
+++ b/bwie-modules/bwie-system/src/main/java/com/bwie/user/service/UserService.java
@@ -16,4 +16,6 @@ public interface UserService extends IService {
Result findByPhone(String userPhone);
User phoneLogin(String userPhone);
+
+ void addpoint(Long userId, Integer point);
}
diff --git a/bwie-modules/bwie-system/src/main/java/com/bwie/user/service/impl/UserServiceImpl.java b/bwie-modules/bwie-system/src/main/java/com/bwie/user/service/impl/UserServiceImpl.java
index 02124c9..8a8e02a 100644
--- a/bwie-modules/bwie-system/src/main/java/com/bwie/user/service/impl/UserServiceImpl.java
+++ b/bwie-modules/bwie-system/src/main/java/com/bwie/user/service/impl/UserServiceImpl.java
@@ -43,4 +43,9 @@ public class UserServiceImpl extends ServiceImpl implements Use
return userMapper.phoneLogin(userPhone);
}
+
+ @Override
+ public void addpoint(Long userId, Integer point) {
+ userMapper.addpoint(userId,point);
+ }
}
diff --git a/bwie-modules/bwie-system/src/main/resources/mapper/AuthenticationService.xml b/bwie-modules/bwie-system/src/main/resources/mapper/AuthenticationService.xml
index 879aec1..bbec4b7 100644
--- a/bwie-modules/bwie-system/src/main/resources/mapper/AuthenticationService.xml
+++ b/bwie-modules/bwie-system/src/main/resources/mapper/AuthenticationService.xml
@@ -1,6 +1,9 @@
+
+ update user set point= +#{point},update_time=now() where user_id=#{userId}
+