|
|
@@ -13,11 +13,9 @@ import com.uas.dfs.service.FileClient;
|
|
|
import com.uas.platform.core.util.HttpUtil;
|
|
|
import com.uas.service.donate.api.WxPayApi;
|
|
|
import com.uas.service.donate.config.WxConfig;
|
|
|
-import com.uas.service.donate.model.ProjectRecode;
|
|
|
-import com.uas.service.donate.model.SystemSession;
|
|
|
-import com.uas.service.donate.model.User;
|
|
|
-import com.uas.service.donate.model.WechatOrder;
|
|
|
+import com.uas.service.donate.model.*;
|
|
|
import com.uas.service.donate.service.ProjectRecodeService;
|
|
|
+import com.uas.service.donate.service.ProjectService;
|
|
|
import com.uas.service.donate.service.WechatOrderService;
|
|
|
import com.uas.service.donate.util.IpUtils;
|
|
|
import com.uas.service.donate.util.StringUtils;
|
|
|
@@ -68,6 +66,9 @@ public class WxpayController {
|
|
|
@Autowired
|
|
|
private ProjectRecodeService projectRecodeService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ProjectService projectService;
|
|
|
+
|
|
|
private Logger logger = LoggerFactory.getLogger(WxpayController.class);
|
|
|
private static String redirectUrl = "http://lj.ubtob.com/wxpay/redirectUrl";
|
|
|
//private String orderNumber = NumberGenerator.generateId();
|
|
|
@@ -289,8 +290,6 @@ public class WxpayController {
|
|
|
@RequestMapping("/notifyUrl")
|
|
|
public synchronized void payNotify(HttpServletRequest request, HttpServletResponse response) throws IOException {
|
|
|
ModelMap map = new ModelMap();
|
|
|
- boolean isPaySuccess = false;
|
|
|
- String outTradeNo = null;
|
|
|
String returnResult = null;
|
|
|
try {
|
|
|
String xmlResult = IOUtils.toString(request.getInputStream(), request.getCharacterEncoding());
|
|
|
@@ -335,9 +334,19 @@ public class WxpayController {
|
|
|
|
|
|
if ("SUCCESS".equals(wxPayOrderQueryResult.getTradeState())) {
|
|
|
projectRecodePayStatus = 2;
|
|
|
+ if (projectRecode.getStatus() == 1) {
|
|
|
+ //如果当前数据库中商户订单还是待支付状态 更新项目参数人数和金额
|
|
|
+ Project project = projectRecode.getProject();
|
|
|
+ logger.info("查看项目", "查看项目id为" + project.getId() + ",项目名称为"
|
|
|
+ + project.getName() + ",当前参与人数为" + project.getJoinAmount() + ",当前已筹集的金额" + project.getTotalAmount());
|
|
|
+ project.setJoinAmount(project.getJoinAmount() + 1);
|
|
|
+ project.setTotalAmount(project.getTotalAmount() + projectRecode.getAmount());
|
|
|
+ logger.info("此次用户捐款金额为" + projectRecode.getAmount() + "元");
|
|
|
+ projectService.save(project);
|
|
|
+ logger.info("更新项目", "更新了项目id为" + project.getId() + ",项目名称为"
|
|
|
+ + project.getName()+ "的参数人数和金额" + ",当前参与人数为" + project.getJoinAmount() + ",当前已筹集的金额" + project.getTotalAmount());
|
|
|
+ }
|
|
|
projectRecode.setStatus(projectRecodePayStatus);
|
|
|
- isPaySuccess = true;
|
|
|
- outTradeNo = result.getOutTradeNo();
|
|
|
}
|
|
|
|
|
|
wechatOrderService.save(WechatOrder.WxPayOrderNotifyResultToConvert(result, (short) 1, wxPayOrderQueryResult));
|
|
|
@@ -364,12 +373,6 @@ public class WxpayController {
|
|
|
} finally {
|
|
|
//TODO map
|
|
|
response.getWriter().write(returnResult);
|
|
|
-
|
|
|
-// if (isPaySuccess) {
|
|
|
-// String requestUrlMessage = request.getScheme() +"://" + request.getServerName() + ":" + request.getServerPort();
|
|
|
-// String url = requestUrlMessage + "/project#/donationsOver/" + outTradeNo;
|
|
|
-// response.sendRedirect(url);
|
|
|
-// }
|
|
|
}
|
|
|
}
|
|
|
|