Browse Source

还原pom配置

wangxiaoming 7 years ago
parent
commit
7c5aed37d8

+ 11 - 180
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/agentInfo/AgentOrderHandler.java

@@ -90,165 +90,34 @@ public class AgentOrderHandler {
     }
 
     /**
-     * 去支付,调用方法
-     *
-     * @param request
+     * 校验订单状态,判断是否支付成功
+     * @param orderId
      * @return
-     * @throws Exception
      */
     @ResponseBody
-    @RequestMapping(value = "/payBefore", method = RequestMethod.POST)
-    public ResultMsg payBefore(HttpServletRequest request, AgentOrder agentOrder) throws Exception {
+    @RequestMapping(value = "/checkOrderPaySuccess")
+    public ResultMsg checkOrderPaySuccess(
+            @RequestParam(value = "orderId") String orderId) {
         ResultMsg msg = new ResultMsg();
         msg.setResultCode(ResultInfo.ERRORCODE);
-        msg.setStatus(false);
-
-        //获取代理商信息
-        Member member = WechatUtils.getUserBySession(request);
-        /** 数据格式校验 */
-        if (member == null || member.getUserOpenid() == null) {// 校验当前用户信息是否丢失
-            msg.setMessage(ResultInfo.loginOutError);
-            return msg;
-        }
-        String openId = member.getUserOpenid();
-        Integer codeId = member.getUserId();
-
-        AgentTooth agentTooth = new AgentTooth();
-        agentTooth.setAgentOpenid(openId);
-        agentTooth = agentInfoService.getAgentTooth(agentTooth);
-        if (agentTooth == null) {
-            msg.setMessage("未找到该用户!");
-            return msg;
-        }
-
-        //验证前台传过来的数据是否规范
-        if (!isValiAgentOrder(agentOrder)) {
-            msg.setMessage("订单格式内容出错!");
-            return msg;
-        }
-
-        //---------------生成订单 --- start ---------------------
-        JSONArray jsonArray = JSONArray.fromObject(agentOrder.getAgentOrderItemJson());
-        List<AgentOrderItem> agentOrderItemList = (List) JSONArray.toCollection(jsonArray, AgentOrderItem.class);
-        if (agentOrderItemList == null || agentOrderItemList.size() < 1) {
-            msg.setMessage("未选择产品!");
-            return msg;
-        }
-        agentOrder.setAgentOrderid(OrderNOUtil.createOrderCode(codeId));
-        agentOrder.setAgentId(agentTooth.getAgentId());
-        Map<String, Object> map = agentPurchaseOrderService.addAgentOrder(agentOrder, agentOrderItemList);
-        if (map.get("status") == null || map.get("status") == 400) {
-            msg.setMessage(map.get("msg").toString());
-            return msg;
-        }
-        //---------------生成订单 --- end -----------------------
-
-        //支付
+        AgentOrder agentOrder = new AgentOrder();
         List<AgentOrder> agentOrderList = agentPurchaseOrderService.listAgentOrder(agentOrder);
         AgentOrder ao = agentOrderList.get(0);
-        ResultMsg resultMsg = this.pay(ao, openId);
-
-        if (resultMsg.getResultCode() == ResultInfo.SUCCESSCODE) {
+        Integer orderStatus = ao.getAgentStatus();
+        if (orderStatus != null && orderStatus.intValue() == 2) {
             msg.setResultCode(ResultInfo.SUCCESSCODE);
             msg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
             msg.setStatus(true);
-        } else {
-            msg.setResultCode(ResultInfo.ERRORCODE);
-            msg.setMessage(NameUtils.getConfig("ERRORINFO"));
-            msg.setStatus(true);
-        }
-        msg.setData(resultMsg.getData());
-        return msg;
-    }
-
-    /**
-     * 代理商订单支付调用
-     *
-     * @param agentOrder 订单
-     * @param openId
-     * @return
-     */
-    private ResultMsg pay(AgentOrder agentOrder, String openId) {
-        boolean flag = false;
-        ResultMsg msg = new ResultMsg();
-
-        SendPayDto dto = new SendPayDto();
-        dto.setSuccess(false);
-        //查询订单项
-        List<AgentOrderItem> agentOrderList = agentOrder.getItemList();
-        if (agentOrderList == null || agentOrderList.size() < 1) {
-            msg.setResultCode(ResultInfo.ERRORCODE);
-            msg.setMessage("查询订单报错");
-            msg.setStatus(false);
-            msg.setData(dto);
-            return msg;
-        }
-
-        if (agentOrder.getAgentYetAmount() > 0) {
-            // 发起支付
-            PayResult result = payService.requestPay(openId, agentOrder.getAgentOrderid(), agentOrder.getAgentYetAmount(), agentOrderList.get(0).getItemProductName() + "...", NameUtils.getConfig("WECHAT_AGENT_PURCHASE_ORDER_BACK"));
-            if (result.isPaySuccess()) {
-                dto.setInfo(result.getPayData());
-                dto.setSuccess(true);
-                dto.setOrderId(agentOrder.getAgentOrderid());
-                flag = true;
-            } else {
-                dto.setSuccess(false);
-                dto.setInfo(result.getPayData());
-                dto.setOrderId(agentOrder.getAgentOrderid());
-                flag = false;
-            }
-        } else if (agentOrder.getAgentYetAmount() == 0) {
-            dto.setInfo("isOK");
-            dto.setSuccess(true);
-            dto.setOrderId(agentOrder.getAgentOrderid());
-            flag = true;
-        } else {
-            msg.setResultCode(ResultInfo.ERRORCODE);
-            msg.setMessage(ResultInfo.paramFormatError);
             return msg;
         }
+        msg.setResultCode(ResultInfo.ERRORCODE);
+        msg.setMessage(NameUtils.getConfig("ERRORINFO"));
+        msg.setStatus(false);
 
-        if (flag) {
-            msg.setResultCode(ResultInfo.SUCCESSCODE);
-            msg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
-            msg.setData(dto);
-            msg.setStatus(true);
-        } else {
-            msg.setResultCode(ResultInfo.ERRORCODE);
-            msg.setMessage(NameUtils.getConfig("ERRORINFO"));
-            msg.setData(dto);
-            msg.setStatus(false);
-        }
         return msg;
     }
 
     /**
-     * 支付前的验证
-     *
-     * @param agentOrder
-     * @return
-     */
-    public boolean isValiAgentOrder(AgentOrder agentOrder) {
-        if (agentOrder.getAgentAddressInfo() == null || agentOrder.getAgentAddressInfo() == "") {
-            return false;
-        }
-        if (agentOrder.getAgentAddressName() == null || agentOrder.getAgentAddressName() == "") {
-            return false;
-        }
-        if (agentOrder.getAgentAddressPostnum() == null || agentOrder.getAgentAddressPostnum() == "") {
-            return false;
-        }
-        if (agentOrder.getAgentAddressTel() == null) {
-            return false;
-        }
-        if (agentOrder.getAgentOrderItemJson() == null || agentOrder.getAgentOrderItemJson() == "") {
-            return false;
-        }
-        return true;
-    }
-
-    /**
      * 分页查询代理商采购订单
      * @param request
      * @param pageSize
@@ -291,43 +160,5 @@ public class AgentOrderHandler {
         return msg;
     }
 
-    /**
-     * 订单列表,支付方法
-     *
-     * @param request
-     * @return
-     * @throws Exception
-     */
-    @ResponseBody
-    @RequestMapping(value = "/orderToPay")
-    public ResultMsg orderToPay(HttpServletRequest request, String orderId) throws Exception {
-        ResultMsg msg = new ResultMsg();
-
-        //获取代理商信息
-        Member member = WechatUtils.getUserBySession(request);
-        /** 数据格式校验 */
-        if (member == null || member.getUserOpenid() == null) {// 校验当前用户信息是否丢失
-            msg.setMessage(ResultInfo.loginOutError);
-            return msg;
-        }
-        String openId = member.getUserOpenid();
-
-        AgentOrder agentOrder = new AgentOrder();
-        agentOrder.setAgentOrderid(orderId);
-        List<AgentOrder> agentOrderList = agentPurchaseOrderService.listAgentOrder(agentOrder);
-        AgentOrder ao = agentOrderList.get(0);
-        ResultMsg resultMsg = this.pay(ao, openId);
 
-        if (resultMsg.getResultCode() == ResultInfo.SUCCESSCODE) {
-            msg.setResultCode(ResultInfo.SUCCESSCODE);
-            msg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
-            msg.setStatus(true);
-        } else {
-            msg.setResultCode(ResultInfo.ERRORCODE);
-            msg.setMessage(NameUtils.getConfig("ERRORINFO"));
-            msg.setStatus(true);
-        }
-        msg.setData(resultMsg.getData());
-        return msg;
-    }
 }

+ 212 - 4
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/pay/RequestWechatPayHandler.java

@@ -4,11 +4,19 @@ import java.io.IOException;
 import java.net.URLDecoder;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.iamberry.wechat.core.entity.agentInfo.AgentOrder;
+import com.iamberry.wechat.core.entity.agentInfo.AgentOrderItem;
+import com.iamberry.wechat.core.entity.agentInfo.AgentTooth;
+import com.iamberry.wechat.face.agentInfo.AgentInfoService;
+import com.iamberry.wechat.face.agentInfo.AgentPurchaseOrderService;
+import com.iamberry.wechat.tools.*;
+import net.sf.json.JSONArray;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -41,10 +49,6 @@ import com.iamberry.wechat.face.giftCard.GiftCardService;
 import com.iamberry.wechat.face.member.MemberService;
 import com.iamberry.wechat.face.mq.EfastOrderService;
 import com.iamberry.wechat.face.pay.PayService;
-import com.iamberry.wechat.tools.DateTimeUtil;
-import com.iamberry.wechat.tools.NameUtils;
-import com.iamberry.wechat.tools.ResultInfo;
-import com.iamberry.wechat.tools.StrUtils;
 import com.iamberry.wechat.utils.SendMessageUtil;
 
 
@@ -77,6 +81,10 @@ public class RequestWechatPayHandler {
 	@Autowired
 	private SystemService systemService;
 	@Autowired
+	private AgentPurchaseOrderService agentPurchaseOrderService;
+	@Autowired
+	private AgentInfoService agentInfoService;
+	@Autowired
     private SendMessageUtil sendMessageUtil;
 	@Autowired
 	private RatFWLogger logger;
@@ -414,4 +422,204 @@ public class RequestWechatPayHandler {
 //		rm.setStatus(true);
 //		return rm;
 	}
+
+
+	/**
+	 * 去支付,调用方法,代理商采购页面
+	 *
+	 * @param request
+	 * @return
+	 * @throws Exception
+	 */
+	@ResponseBody
+	@RequestMapping(value = "/payBefore", method = RequestMethod.POST)
+	public ResultMsg payBefore(HttpServletRequest request, AgentOrder agentOrder) throws Exception {
+		ResultMsg msg = new ResultMsg();
+		msg.setResultCode(ResultInfo.ERRORCODE);
+		msg.setStatus(false);
+
+		//获取代理商信息
+		Member member = WechatUtils.getUserBySession(request);
+		/** 数据格式校验 */
+		if (member == null || member.getUserOpenid() == null) {// 校验当前用户信息是否丢失
+			msg.setMessage(ResultInfo.loginOutError);
+			return msg;
+		}
+		String openId = member.getUserOpenid();
+		Integer codeId = member.getUserId();
+
+		AgentTooth agentTooth = new AgentTooth();
+		agentTooth.setAgentOpenid(openId);
+		agentTooth = agentInfoService.getAgentTooth(agentTooth);
+		if (agentTooth == null) {
+			msg.setMessage("未找到该用户!");
+			return msg;
+		}
+
+		//验证前台传过来的数据是否规范
+		if (!isValiAgentOrder(agentOrder)) {
+			msg.setMessage("订单格式内容出错!");
+			return msg;
+		}
+
+		//---------------生成订单 --- start ---------------------
+		JSONArray jsonArray = JSONArray.fromObject(agentOrder.getAgentOrderItemJson());
+		List<AgentOrderItem> agentOrderItemList = (List) JSONArray.toCollection(jsonArray, AgentOrderItem.class);
+		if (agentOrderItemList == null || agentOrderItemList.size() < 1) {
+			msg.setMessage("未选择产品!");
+			return msg;
+		}
+		agentOrder.setAgentOrderid(OrderNOUtil.createOrderCode(codeId));
+		agentOrder.setAgentId(agentTooth.getAgentId());
+		Map<String, Object> map = agentPurchaseOrderService.addAgentOrder(agentOrder, agentOrderItemList);
+		if (map.get("status") == null || map.get("status") == 400) {
+			msg.setMessage(map.get("msg").toString());
+			return msg;
+		}
+		//---------------生成订单 --- end -----------------------
+
+		//支付
+		List<AgentOrder> agentOrderList = agentPurchaseOrderService.listAgentOrder(agentOrder);
+		AgentOrder ao = agentOrderList.get(0);
+		ResultMsg resultMsg = this.pay(ao, openId);
+
+		if (resultMsg.getResultCode() == ResultInfo.SUCCESSCODE) {
+			msg.setResultCode(ResultInfo.SUCCESSCODE);
+			msg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
+			msg.setStatus(true);
+		} else {
+			msg.setResultCode(ResultInfo.ERRORCODE);
+			msg.setMessage(NameUtils.getConfig("ERRORINFO"));
+			msg.setStatus(true);
+		}
+		msg.setData(resultMsg.getData());
+		return msg;
+	}
+
+	/**
+	 * 代理商订单支付调用
+	 *
+	 * @param agentOrder 订单
+	 * @param openId
+	 * @return
+	 */
+	private ResultMsg pay(AgentOrder agentOrder, String openId) {
+		boolean flag = false;
+		ResultMsg msg = new ResultMsg();
+
+		SendPayDto dto = new SendPayDto();
+		dto.setSuccess(false);
+		//查询订单项
+		List<AgentOrderItem> agentOrderList = agentOrder.getItemList();
+		if (agentOrderList == null || agentOrderList.size() < 1) {
+			msg.setResultCode(ResultInfo.ERRORCODE);
+			msg.setMessage("查询订单报错");
+			msg.setStatus(false);
+			msg.setData(dto);
+			return msg;
+		}
+
+		if (agentOrder.getAgentYetAmount() > 0) {
+			// 发起支付
+			PayResult result = payService.requestPay(openId, agentOrder.getAgentOrderid(), agentOrder.getAgentYetAmount(), agentOrderList.get(0).getItemProductName() + "...", NameUtils.getConfig("WECHAT_AGENT_PURCHASE_ORDER_BACK"));
+			if (result.isPaySuccess()) {
+				dto.setInfo(result.getPayData());
+				dto.setSuccess(true);
+				dto.setOrderId(agentOrder.getAgentOrderid());
+				flag = true;
+			} else {
+				dto.setSuccess(false);
+				dto.setInfo(result.getPayData());
+				dto.setOrderId(agentOrder.getAgentOrderid());
+				flag = false;
+			}
+		} else if (agentOrder.getAgentYetAmount() == 0) {
+			dto.setInfo("isOK");
+			dto.setSuccess(true);
+			dto.setOrderId(agentOrder.getAgentOrderid());
+			flag = true;
+		} else {
+			msg.setResultCode(ResultInfo.ERRORCODE);
+			msg.setMessage(ResultInfo.paramFormatError);
+			return msg;
+		}
+
+		if (flag) {
+			msg.setResultCode(ResultInfo.SUCCESSCODE);
+			msg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
+			msg.setData(dto);
+			msg.setStatus(true);
+		} else {
+			msg.setResultCode(ResultInfo.ERRORCODE);
+			msg.setMessage(NameUtils.getConfig("ERRORINFO"));
+			msg.setData(dto);
+			msg.setStatus(false);
+		}
+		return msg;
+	}
+
+	/**
+	 * 支付前的验证
+	 *
+	 * @param agentOrder
+	 * @return
+	 */
+	public boolean isValiAgentOrder(AgentOrder agentOrder) {
+		if (agentOrder.getAgentAddressInfo() == null || agentOrder.getAgentAddressInfo() == "") {
+			return false;
+		}
+		if (agentOrder.getAgentAddressName() == null || agentOrder.getAgentAddressName() == "") {
+			return false;
+		}
+		if (agentOrder.getAgentAddressPostnum() == null || agentOrder.getAgentAddressPostnum() == "") {
+			return false;
+		}
+		if (agentOrder.getAgentAddressTel() == null) {
+			return false;
+		}
+		if (agentOrder.getAgentOrderItemJson() == null || agentOrder.getAgentOrderItemJson() == "") {
+			return false;
+		}
+		return true;
+	}
+
+	/**
+	 * 订单列表,支付方法
+	 *
+	 * @param request
+	 * @return
+	 * @throws Exception
+	 */
+	@ResponseBody
+	@RequestMapping(value = "/orderToPay")
+	public ResultMsg orderToPay(HttpServletRequest request, String orderId) throws Exception {
+		ResultMsg msg = new ResultMsg();
+
+		//获取代理商信息
+		Member member = WechatUtils.getUserBySession(request);
+		/** 数据格式校验 */
+		if (member == null || member.getUserOpenid() == null) {// 校验当前用户信息是否丢失
+			msg.setMessage(ResultInfo.loginOutError);
+			return msg;
+		}
+		String openId = member.getUserOpenid();
+
+		AgentOrder agentOrder = new AgentOrder();
+		agentOrder.setAgentOrderid(orderId);
+		List<AgentOrder> agentOrderList = agentPurchaseOrderService.listAgentOrder(agentOrder);
+		AgentOrder ao = agentOrderList.get(0);
+		ResultMsg resultMsg = this.pay(ao, openId);
+
+		if (resultMsg.getResultCode() == ResultInfo.SUCCESSCODE) {
+			msg.setResultCode(ResultInfo.SUCCESSCODE);
+			msg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
+			msg.setStatus(true);
+		} else {
+			msg.setResultCode(ResultInfo.ERRORCODE);
+			msg.setMessage(NameUtils.getConfig("ERRORINFO"));
+			msg.setStatus(true);
+		}
+		msg.setData(resultMsg.getData());
+		return msg;
+	}
 }