Просмотр исходного кода

Merge branch 'master' of http://git.izouma.com/xiongzhu/9th

panhui 4 лет назад
Родитель
Сommit
a50e5a46ef

+ 9 - 9
src/main/java/com/izouma/nineth/service/AssetService.java

@@ -257,15 +257,6 @@ public class AssetService {
         newAsset.setOrderId(orderId);
         assetRepo.save(newAsset);
 
-        asset.setPublicShow(false);
-        asset.setConsignment(false);
-        asset.setPublicCollectionId(null);
-        asset.setStatus(AssetStatus.GIFTED);
-        asset.setOwner(toUser.getNickname());
-        asset.setOwnerId(toUser.getId());
-        asset.setOwnerAvatar(toUser.getAvatar());
-        assetRepo.save(asset);
-
         tokenHistoryRepo.save(TokenHistory.builder()
                 .tokenId(asset.getTokenId())
                 .fromUser(asset.getOwner())
@@ -277,6 +268,15 @@ public class AssetService {
                 .operation(reason)
                 .build());
 
+        asset.setPublicShow(false);
+        asset.setConsignment(false);
+        asset.setPublicCollectionId(null);
+        asset.setStatus("转赠".equals(reason) ? AssetStatus.GIFTED : AssetStatus.TRANSFERRED);
+        asset.setOwner(toUser.getNickname());
+        asset.setOwnerId(toUser.getId());
+        asset.setOwnerAvatar(toUser.getAvatar());
+        assetRepo.save(asset);
+
         if (orderId != null) {
             applicationContext.publishEvent(new TransferAssetEvent(this, true, newAsset));
         }

+ 10 - 7
src/main/java/com/izouma/nineth/web/OrderNotifyController.java

@@ -114,13 +114,16 @@ public class OrderNotifyController {
         try {
             String data = request.getParameter("data");
             String sign = request.getParameter("sign");
-            boolean checkSign = AdapaySign.verifySign(data, sign, AdapayCore.PUBLIC_KEY);
-            log.info("checkSign {}", checkSign);
-            if (checkSign) {
-                JSONObject jsonObject = JSON.parseObject(data);
-                String channel = jsonObject.getString("pay_channel");
-                String id = jsonObject.getString("id");
-                orderService.notifyOrder(orderId, channel.startsWith("wx") ? PayMethod.WEIXIN : PayMethod.ALIPAY, id);
+            String type = request.getParameter("type");
+            if ("payment.succeeded".equals(type)) {
+                boolean checkSign = AdapaySign.verifySign(data, sign, AdapayCore.PUBLIC_KEY);
+                log.info("checkSign {}", checkSign);
+                if (checkSign) {
+                    JSONObject jsonObject = JSON.parseObject(data);
+                    String channel = jsonObject.getString("pay_channel");
+                    String id = jsonObject.getString("id");
+                    orderService.notifyOrder(orderId, channel.startsWith("wx") ? PayMethod.WEIXIN : PayMethod.ALIPAY, id);
+                }
             }
         } catch (Exception e) {
             e.printStackTrace();