杨杰 1 tahun lalu
induk
melakukan
4498af42ed

+ 8 - 7
src/main/java/com/llisoft/pay/controller/ApiController.java

@@ -37,16 +37,17 @@ public class ApiController{
 		return ResponseVo.success(apiService.info(requestVo.getPid()));
 	}
 	
-	@ApiOperation(value="青题库 APP 微信支付")
-	@PostMapping("/qingtiku/app/wx")
-	public ResponseVo<ApiPayWxAppResponseVo> qingtikuAppWx(@Valid @RequestBody ApiPayRequestVo requestVo) throws Exception{
+	
+	@ApiOperation(value="青题库 微信支付 APP")
+	@PostMapping("/qingtiku/wx/app")
+	public ResponseVo<ApiPayWxAppResponseVo> qingtikuWxApp(@Valid @RequestBody ApiPayRequestVo requestVo) throws Exception{
 		String appid = "";
-		return ResponseVo.success(apiService.appQinggu(appid, requestVo.getpid()));
+		return ResponseVo.success(apiService.wxAppQinggu(appid, requestVo.getMoney(), requestVo.getTitle()));
 	}
 	
-	@ApiOperation(value="青题库 APP 支付宝")
-	@PostMapping("/qingtiku/app/ali")
-	public ResponseVo<ApiPayAliAppResponseVo> qingtikuAppAli(@Valid @RequestBody ApiPayRequestVo requestVo) throws Exception{
+	@ApiOperation(value="青题库 支付宝 APP")
+	@PostMapping("/qingtiku/ali/app")
+	public ResponseVo<ApiPayAliAppResponseVo> qingtikuAliApp(@Valid @RequestBody ApiPayRequestVo requestVo) throws Exception{
 		return ResponseVo.success(null);
 	}
 	

+ 1 - 1
src/main/java/com/llisoft/pay/dao/AppDao.java

@@ -10,7 +10,7 @@ import com.llisoft.pay.entity.App;
 public interface AppDao {
 
 	@Select("select * from mta_pay_app where app_id=#{appId}")
-	App select(String appId);
+	App select(int appId);
 	
 	@Select("select * from mta_pay_app where app_key=#{appKey}")
 	App selectByAppKey(String appKey);

+ 3 - 3
src/main/java/com/llisoft/pay/entity/Pay.java

@@ -35,7 +35,7 @@ public class Pay {
     /**
      * 商品描述(第三方平台显示)
      */
-    private int title;
+    private String title;
 
     /**
      * 支付成功标记(1异步通知/2同步回调/3主动查询/4对账)
@@ -102,11 +102,11 @@ public class Pay {
 		this.money = money;
 	}
 
-	public int getTitle() {
+	public String getTitle() {
 		return title;
 	}
 
-	public void setTitle(int title) {
+	public void setTitle(String title) {
 		this.title = title;
 	}
 

+ 38 - 74
src/main/java/com/llisoft/pay/service/ApiService.java

@@ -9,15 +9,12 @@ import org.springframework.stereotype.Service;
 
 import com.llisoft.pay.common.Constant;
 import com.llisoft.pay.config.MtaException;
-import com.llisoft.pay.dao.ItemDao;
-import com.llisoft.pay.dao.OrderDao;
-import com.llisoft.pay.entity.App;
-import com.llisoft.pay.entity.Item;
-import com.llisoft.pay.entity.Order;
+import com.llisoft.pay.dao.PayDao;
+import com.llisoft.pay.entity.Pay;
 import com.llisoft.pay.util.CodeUtil;
-import com.llisoft.pay.vo.ApiAddResponseVo;
-import com.llisoft.pay.vo.ApiPayWxAppResponseVo;
+import com.llisoft.pay.util.JsonUtil;
 import com.llisoft.pay.vo.ApiInfoResponseVo;
+import com.llisoft.pay.vo.ApiPayWxAppResponseVo;
 
 @Service
 public class ApiService {
@@ -26,96 +23,63 @@ public class ApiService {
 	
 	
 	@Autowired
-	private ItemDao payDao;
-	@Autowired
-	private OrderDao orderDao;
-	@Autowired
-	private PayAliService payAliService;
+	private PayDao payDao;
 	@Autowired
 	private PayWxV3Service payWxV3Service;
 	
 	
 	/**
-	 * 下单
-	 * @param money 金额(分)
-	 * @param title 订单描述
-	 * @return
-	 */
-	public ApiAddResponseVo add(int money, String title) {
-		Order order = new Order();
-		order.setOrderNum(CodeUtil.time()); // 当前时间+5位随机数
-		order.setOrderMoney(money); // 订单金额(分)
-		order.setOrderTitle(title); // 订单描述
-		order.setOrderStatus(Constant.STATUS_WAIT);
-		orderDao.insert(order);
-		logger.debug("添加订单成功: {}", order.getOrderNum());
-		ApiAddResponseVo responseVo = new ApiAddResponseVo();
-		responseVo.setId(order.getOrderNum());
-		responseVo.setMoney(money);
-		return responseVo;
-	}
-	
-	/**
 	 * 查询
-	 * @param id orderNum
 	 * @return
 	 */
-	public ApiInfoResponseVo info(String id) {
-		Order order = orderDao.selectByOrderNum(id);
-		if(Objects.isNull(order)) {
-			throw MtaException.build("订单不存在:" + id);
+	public ApiInfoResponseVo info(String pid) {
+		Pay pay = payDao.selectByPid(pid);
+		if(Objects.isNull(pay)) {
+			throw MtaException.build("支付记录不存在:" + pid);
 		}
 		ApiInfoResponseVo responseVo = new ApiInfoResponseVo();
-		responseVo.setPid(order.getOrderNum());
-		responseVo.setPayed(order.getOrderStatus() == Constant.STATUS_PAYED);
+		responseVo.setPid(pay.getPid());
+		responseVo.setPayed(pay.getStatus() == Constant.STATUS_PAYED);
 		return responseVo;
 	}
 	
 	/**
 	 * 支付 栋科
-	 * @param id orderNum
-	 * @param type 支付方式(1支付宝,2微信)
 	 * @return
+	 * @throws Exception 
 	 */
-	public ApiPayWxAppResponseVo payDongke(String appid, String id, byte type) {
-		Order order = orderDao.selectByOrderNum(id);
-		if(Objects.isNull(order)) {
-			throw MtaException.build("订单不存在:" + id);
-		}
-		if(order.getOrderStatus() == Constant.STATUS_PAYED){
-			throw MtaException.build("订单已支付:" + id);
-		}
-		// 添加支付记录
-		Item item = new Item();
-		item.setPayNum(CodeUtil.uuid());
-		item.setPayType(type);
-		item.setOrderId(order.getOrderId());
-		item.setPayMoney(order.getOrderMoney());
-		item.setPayStatus(Constant.STATUS_WAIT);
-		payDao.insert(item);
-		// 发起支付
-		if (item.getPayType() == Constant.TYPE_ALI) { // 支付宝
-
-		}else if (item.getPayType() == Constant.TYPE_WX) { // 微信
-			payWxV3Service.appDongke(appid, item.getPayNum(), item.getPayMoney(), order.getOrderTitle());
-			return wxPayService.pay(payNum, order.getOrderMoney(), order.getOrderTitle());
-		}
-		
-		
-		
-		String payNum = payService.add(payType, order.getOrderMoney(), order.getOrderId());
-		return payService.pay(payNum, isMobile);
+	public ApiPayWxAppResponseVo wxAppDongke(String appid, int money, String title) throws Exception {
+		Pay pay = this.pay(appid, money, title);
+		logger.debug("添加支付记录:{}", JsonUtil.toJson(pay));
+		return payWxV3Service.appDongke(appid, pay.getPid(), money, title);
 	}
 	
 	/**
 	 * 支付 青谷
-	 * @param id orderNum
-	 * @param type 支付方式(1支付宝,2微信)
 	 * @return
+	 * @throws Exception 
+	 */
+	public ApiPayWxAppResponseVo wxAppQinggu(String appid, int money, String title) throws Exception {
+		Pay pay = this.pay(appid, money, title);
+		return payWxV3Service.appQinggu(appid, pay.getPid(), money, title);
+	}
+	
+	
+	/**
+	 * 添加支付记录
+	 * @return
+	 * @throws Exception 
 	 */
-	public ApiPayWxAppResponseVo payQinggu(String appid, String id, byte type) {
-		// TODO Auto-generated method stub
-		return null;
+	private Pay pay(String appid, int money, String title) throws Exception {
+		Pay pay = new Pay();
+		pay.setMoney(money);
+		pay.setTitle(title);
+		pay.setPid(CodeUtil.time());
+		pay.setType(Constant.TYPE_WX);
+		pay.setStatus(Constant.STATUS_WAIT);
+		payDao.insert(pay);
+		logger.debug("添加支付记录:{}", JsonUtil.toJson(pay));
+		return pay;
 	}
 	
 }

+ 1 - 1
src/main/java/com/llisoft/pay/service/AppService.java

@@ -49,7 +49,7 @@ public class AppService {
 	 * @param body
 	 */
 	@Async
-	public void notify(String appId, String orderNum, String body) {
+	public void notify(int appId, String orderNum, String body) {
 		App app = appDao.select(appId);
 		String notifyUrl = this.packUrl(app.getNotifyUrl(), orderNum);
 		if(Objects.isNull(notifyUrl) || notifyUrl.trim().isEmpty()) {

+ 1 - 1
src/main/java/com/llisoft/pay/service/OrderService.java

@@ -63,7 +63,7 @@ public class OrderService {
 		order.setOrderMoney(orderMoney);
 		order.setOrderTitle(orderTitle); // 订单描述
 		order.setOrderStatus(STATUS_WAIT);
-		order.setAppId(String.valueOf(app.getAppId()));
+		order.setAppId(app.getAppId());
 		orderDao.insert(order);
 		logger.debug("添加订单成功: {}", orderNum);
 		return orderNum;

+ 1 - 0
src/main/java/com/llisoft/pay/service/PayAliService.java

@@ -28,6 +28,7 @@ import com.llisoft.pay.util.JsonUtil;
  * 支付宝支付
  */
 @Service
+@Deprecated
 public class PayAliService {
 	
 	private Logger logger = LoggerFactory.getLogger(PayAliService.class);