Procházet zdrojové kódy

Merge remote-tracking branch 'origin/dev' into dev

hangb před 8 roky
rodič
revize
735809819d

+ 19 - 13
donate-service/src/main/java/com/uas/service/donate/controller/AlipayController.java

@@ -16,15 +16,11 @@ import com.alipay.api.response.AlipaySystemOauthTokenResponse;
 import com.alipay.api.response.AlipayTradeAppPayResponse;
 import com.alipay.api.response.AlipayTradeQueryResponse;
 import com.alipay.api.response.AlipayUserInfoShareResponse;
-import com.uas.service.donate.DruidDBConfiguration;
 import com.uas.service.donate.api.AlipayApi;
 import com.uas.service.donate.config.AlipayConfig;
 import com.uas.service.donate.core.support.SystemSession;
 import com.uas.service.donate.model.*;
-import com.uas.service.donate.service.AlipayOrderService;
-import com.uas.service.donate.service.AlipayUserService;
-import com.uas.service.donate.service.ProjectRecodeService;
-import com.uas.service.donate.service.ProjectService;
+import com.uas.service.donate.service.*;
 import com.uas.service.donate.util.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -63,7 +59,10 @@ public class AlipayController {
     @Autowired
     private ProjectService projectService;
 
-    private Logger logger = LoggerFactory.getLogger(DruidDBConfiguration.class);
+    @Autowired
+    private UserService userService;
+
+    private Logger logger = LoggerFactory.getLogger(AlipayController.class);
 
     //private AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.SB_GATEWAY,AlipayConfig.SB_APPID,AlipayConfig.SB_RSA_PRIVATE_KEY,AlipayConfig.FORMAT,AlipayConfig.CHARSET,AlipayConfig.SB_ALIPAY_PUBLIC_KEY,AlipayConfig.SIGNTYPE);
     private AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.GATEWAY,AlipayConfig.APPID,AlipayConfig.RSA_PRIVATE_KEY,AlipayConfig.FORMAT,AlipayConfig.CHARSET,AlipayConfig.ALIPAY_PUBLIC_KEY,AlipayConfig.SIGNTYPE);
@@ -302,16 +301,17 @@ public class AlipayController {
                                     //TODO 交易结束通知处理
                                 } else {
                                     if ("TRADE_SUCCESS".equals(notifyTradeStatus)) {
+                                        logger.info("异步通知支付成功处理开始:商户订单状态:" + projectRecode.getStatus());
                                         if (projectRecode.getStatus() == 1) {
                                             //如果当前数据库中商户订单还是待支付状态 更新项目参数人数和金额
-                                            Project project = projectRecode.getProject();
-                                            logger.info("查看项目", "查看项目id为" + project.getId() + ",项目名称为"
+                                            Project project = projectService.findOne(projectRecode.getProId());
+                                            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() + ",项目名称为"
+                                            logger.info("更新项目,更新了项目id为" + project.getId() + ",项目名称为"
                                                     + project.getName()+ "的参数人数和金额" + ",当前参与人数为" + project.getJoinAmount() + ",当前已筹集的金额" + project.getTotalAmount());
                                         }
 
@@ -319,6 +319,7 @@ public class AlipayController {
                                         projectRecode.setStatus(projectRecodePayStatus);
                                         projectRecodeService.update(projectRecode);
                                         saveAlipayOrder(data, null);
+                                        logger.info("异步通知支付成功处理结束:商户订单状态:" + projectRecode.getStatus());
                                     }
                                 }
                             }
@@ -535,20 +536,25 @@ public class AlipayController {
         JSONObject jsonObject = JSONObject.parseObject(jsonStr);
         String imid = jsonObject.getString("imid");
         logger.info("移动端imid=" + imid);
-        String uuid = null;
+        Long uuid = null;
         User user = SystemSession.getUser();
         if (user != null) {
-            uuid = user.getUserUU().toString();
+            uuid = user.getUserUU();
         }
 
         if (!StringUtils.isEmpty(imid)) {
             jsonObject.remove("imid");
             //TODO 通过imid获取uuid
+            Object uuidObj = userService.getUserByImId(Long.parseLong(imid));
+            if (uuidObj !=null) {
+                uuid = (Long)uuidObj;
+                logger.info("移动端imid转为uuid,uuid=" + uuid);
+            }
         }
 
         ProjectRecode projectRecode= JSONObject.parseObject(jsonObject.toJSONString(),ProjectRecode.class);
-        if (!StringUtils.isEmpty(uuid)) {
-            projectRecode.setUuid(Long.parseLong(uuid));
+        if (uuid != null) {
+            projectRecode.setUuid(uuid);
         }
 
         projectRecode.setTime(new Date());

+ 18 - 7
donate-service/src/main/java/com/uas/service/donate/controller/WxpayController.java

@@ -20,6 +20,7 @@ import com.uas.service.donate.model.User;
 import com.uas.service.donate.model.WechatOrder;
 import com.uas.service.donate.service.ProjectRecodeService;
 import com.uas.service.donate.service.ProjectService;
+import com.uas.service.donate.service.UserService;
 import com.uas.service.donate.service.WechatOrderService;
 import com.uas.service.donate.util.IpUtils;
 import com.uas.service.donate.util.StringUtils;
@@ -67,6 +68,9 @@ public class WxpayController {
     @Autowired
     private ProjectService projectService;
 
+    @Autowired
+    private UserService userService;
+
     private Logger logger = LoggerFactory.getLogger(WxpayController.class);
     private static String redirectUrl = "http://lj.ubtob.com/wxpay/redirectUrl";
     //private String orderNumber = NumberGenerator.generateId();
@@ -337,20 +341,22 @@ public class WxpayController {
                             }
 
                             if ("SUCCESS".equals(wxPayOrderQueryResult.getTradeState())) {
+                                logger.info("异步通知支付成功处理开始:商户订单状态:" + projectRecode.getStatus());
                                 projectRecodePayStatus = 2;
                                 if (projectRecode.getStatus() == 1) {
                                     //如果当前数据库中商户订单还是待支付状态 更新项目参数人数和金额
-                                    Project project = projectRecode.getProject();
-                                    logger.info("查看项目", "查看项目id为" + project.getId() + ",项目名称为"
+                                    Project project = projectService.findOne(projectRecode.getProId());
+                                    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() + ",项目名称为"
+                                    logger.info("更新项目,更新了项目id为" + project.getId() + ",项目名称为"
                                             + project.getName()+ "的参数人数和金额" + ",当前参与人数为" + project.getJoinAmount() + ",当前已筹集的金额" + project.getTotalAmount());
                                 }
                                 projectRecode.setStatus(projectRecodePayStatus);
+                                logger.info("异步通知支付成功处理结束:商户订单状态:" + projectRecode.getStatus());
                             }
 
                             wechatOrderService.save(WechatOrder.WxPayOrderNotifyResultToConvert(result, (short) 1, wxPayOrderQueryResult));
@@ -559,20 +565,25 @@ public class WxpayController {
         JSONObject jsonObject = JSONObject.parseObject(jsonStr);
         String imid = jsonObject.getString("imid");
         logger.info("移动端imid=" + imid);
-        String uuid = null;
+        Long uuid = null;
         User user = SystemSession.getUser();
         if (user != null) {
-            uuid = user.getUserUU().toString();
+            uuid = user.getUserUU();
         }
 
         if (!StringUtils.isEmpty(imid)) {
             jsonObject.remove("imid");
             //TODO 通过imid获取uuid
+            Object uuidObj = userService.getUserByImId(Long.parseLong(imid));
+            if (uuidObj !=null) {
+                uuid = (Long)uuidObj;
+                logger.info("移动端imid转为uuid,uuid=" + uuid);
+            }
         }
 
         ProjectRecode projectRecode= JSONObject.parseObject(jsonObject.toJSONString(),ProjectRecode.class);
-        if (!StringUtils.isEmpty(uuid)) {
-            projectRecode.setUuid(Long.parseLong(uuid));
+        if (uuid != null) {
+            projectRecode.setUuid(uuid);
         }
 
         projectRecode.setTime(new Date());