|
@@ -1,10 +1,15 @@
|
|
|
package com.fdkankan.ucenter.pay.strategy.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.fdkankan.ucenter.entity.DownloadOrder;
|
|
|
+import com.fdkankan.ucenter.entity.ScenePlus;
|
|
|
+import com.fdkankan.ucenter.entity.ScenePro;
|
|
|
import com.fdkankan.ucenter.entity.User;
|
|
|
import com.fdkankan.ucenter.pay.strategy.OrderStrategy;
|
|
|
import com.fdkankan.ucenter.service.IDownloadOrderService;
|
|
|
+import com.fdkankan.ucenter.service.IScenePlusService;
|
|
|
+import com.fdkankan.ucenter.service.ISceneProService;
|
|
|
import com.fdkankan.ucenter.service.IUserService;
|
|
|
import lombok.extern.log4j.Log4j2;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@@ -18,6 +23,10 @@ public class DownloadOrderImpl implements OrderStrategy {
|
|
|
private IDownloadOrderService downloadOrderService;
|
|
|
@Autowired
|
|
|
private IUserService userService;
|
|
|
+ @Autowired
|
|
|
+ private ISceneProService sceneProService;
|
|
|
+ @Autowired
|
|
|
+ private IScenePlusService scenePlusService;
|
|
|
|
|
|
@Override
|
|
|
public void handleOrder(String orderSn, String tradeNo, String openId, int paymentTypeName, Long spaceId) throws Exception {
|
|
@@ -33,13 +42,19 @@ public class DownloadOrderImpl implements OrderStrategy {
|
|
|
throw new Exception("更新增值权益订单失败");
|
|
|
}
|
|
|
//更新用户下载次数
|
|
|
- User userEntity = userService.getById(downloadOrder.getUserId());
|
|
|
- if(StringUtils.isNotBlank(downloadOrder.getSceneNum()) && downloadOrder.getSceneNum().contains("SS")){
|
|
|
- userEntity.setSsDownloadNumTotal(userEntity.getSsDownloadNumTotal() + downloadOrder.getCount());
|
|
|
+ LambdaUpdateWrapper<User> wrapper = new LambdaUpdateWrapper<>();
|
|
|
+ wrapper.eq(User::getId,downloadOrder.getUserId());
|
|
|
+ if(StringUtils.isNotBlank(downloadOrder.getSceneNum())){
|
|
|
+ Integer sceneSource = sceneProService.getSceneSourceByNum(downloadOrder.getSceneNum());
|
|
|
+ if(sceneSource != null && sceneSource == 4){ //深时场景
|
|
|
+ wrapper.setSql("ss_download_num_total = ss_download_num_total + " + downloadOrder.getCount());
|
|
|
+ }else {
|
|
|
+ wrapper.setSql("download_num_total = download_num_total + " + downloadOrder.getCount());
|
|
|
+ }
|
|
|
}else {
|
|
|
- userEntity.setDownloadNumTotal(userEntity.getDownloadNumTotal() + downloadOrder.getCount());
|
|
|
+ wrapper.setSql("download_num_total = download_num_total + " + downloadOrder.getCount());
|
|
|
}
|
|
|
- userService.updateById(userEntity);
|
|
|
+ userService.update(wrapper);
|
|
|
}
|
|
|
|
|
|
@Override
|