Browse Source

盲豆转赠

zhangkaikai 2 năm trước cách đây
mục cha
commit
dc3ec3b539

+ 11 - 3
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserMineController.java

@@ -275,11 +275,19 @@ public class UserMineController extends BaseApiController {
         if (StringUtils.isBlank(mobile)) {
             return AjaxResult.success();
         }
-        SysUser user = userService.selectNickNameByPhoneNumber(mobile);
+        SysUser user = userService.selectUserByPhoneNumber(mobile);
         if (Objects.isNull(user)) {
-            return AjaxResult.error("未查询到用户");
+            return AjaxResult.error("该用户不存在");
         }
-        return AjaxResult.success(user);
+        if (Objects.nonNull(user.getChannelOpenId()) && Objects.nonNull(user.getMsdqOpenId())) {
+            // 既是B端用户、又是C端用户,可以查到
+        } else if (Objects.nonNull(user.getChannelOpenId())) {
+            // 只是B端用户
+            return AjaxResult.error("该用户不存在");
+        }
+        SysUser userVO = new SysUser();
+        userVO.setNickName(user.getNickName());
+        return AjaxResult.success(userVO);
     }
 
     /**

+ 0 - 6
mp-service/src/main/java/com/qs/mp/user/domain/UserCoinLog.java

@@ -89,10 +89,4 @@ public class UserCoinLog implements Serializable {
   @TableField("updated_time")
   private Date updatedTime;
 
-  /**
-   * 盲豆受赠人手机号
-   */
-  @TableField("mobile")
-  private Integer mobile;
-
 }

+ 8 - 11
mp-service/src/main/java/com/qs/mp/user/service/impl/UserCoinServiceImpl.java

@@ -14,7 +14,11 @@ import com.qs.mp.user.mapper.UserCoinMapper;
 import com.qs.mp.user.service.IUserCoinLogService;
 import com.qs.mp.user.service.IUserCoinService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -89,15 +93,6 @@ public class UserCoinServiceImpl extends ServiceImpl<UserCoinMapper, UserCoin> i
   @Override
   @Transactional
   public boolean transfer(CoinTransferParamDTO coinTransferParamDTO) {
-
-    // 转赠限制规则
-    // 一天:受赠人每天受赠10次,上限2000
-    // 一周:受赠人每周受赠50次,上限6000
-    // 每月:受赠人每月受赠100次,上限15000
-    // 每季度:受赠人每季度受赠500次,上限30000
-
-
-
     String LockKey = RedisLockKey.build(RedisLockKey.USER_COIN_TRANSFER_LOCK, coinTransferParamDTO.getFromUserId());
     if (!distributedLocker.tryLock(LockKey)) {
       throw new ServiceException("系统繁忙,请稍后再试");
@@ -119,6 +114,7 @@ public class UserCoinServiceImpl extends ServiceImpl<UserCoinMapper, UserCoin> i
       Assert.isTrue(rtn2, "增加受赠方盲豆失败,userId:" + coinTransferParamDTO.getToUserId());
 
       // 盲豆转赠日志
+      List<UserCoinLog> userCoinLogList = new ArrayList<>();
       UserCoinLog userCoinFromLog = new UserCoinLog();
       userCoinFromLog.setUserId(coinTransferParamDTO.getFromUserId());
       userCoinFromLog.setType(CoinLogTypeEnum.TRANSFER);
@@ -129,7 +125,7 @@ public class UserCoinServiceImpl extends ServiceImpl<UserCoinMapper, UserCoin> i
       userCoinFromLog.setBizTime(new Date());
       userCoinFromLog.setCreatedTime(new Date());
       userCoinFromLog.setUpdatedTime(new Date());
-      userCoinLogService.save(userCoinFromLog);
+      userCoinLogList.add(userCoinFromLog);
 
       UserCoinLog userCoinToLog = new UserCoinLog();
       userCoinToLog.setUserId(coinTransferParamDTO.getToUserId());
@@ -141,7 +137,8 @@ public class UserCoinServiceImpl extends ServiceImpl<UserCoinMapper, UserCoin> i
       userCoinToLog.setBizTime(new Date());
       userCoinToLog.setCreatedTime(new Date());
       userCoinToLog.setUpdatedTime(new Date());
-      userCoinLogService.save(userCoinToLog);
+      userCoinLogList.add(userCoinToLog);
+      userCoinLogService.saveBatch(userCoinLogList);
     } finally {
       distributedLocker.unlock(LockKey);
     }