浏览代码

95:红德堂APP调试 添加积分、达人搜索修改

Long 10 小时之前
父节点
当前提交
1612c08e68

+ 6 - 0
fs-admin/src/main/java/com/fs/course/controller/FsUserTalentController.java

@@ -2,9 +2,12 @@ package com.fs.course.controller;
 
 import java.math.BigDecimal;
 import java.util.List;
+import java.util.Objects;
 
 import com.fs.common.core.domain.R;
 import com.fs.common.utils.DateUtils;
+import com.fs.common.utils.StringUtils;
+import com.fs.his.utils.PhoneUtil;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -121,6 +124,9 @@ public class FsUserTalentController extends BaseController
     @GetMapping("/listBySearch")
     public R listBySearCh(FsUserTalent fsUserTalent)
     {
+        if (Objects.nonNull(fsUserTalent) && StringUtils.isNotBlank(fsUserTalent.getPhone())){
+            fsUserTalent.setPhone(PhoneUtil.encryptPhone(fsUserTalent.getPhone()));
+        }
         List<FsUserTalent> list = fsUserTalentService.selectFsUserTalentList(fsUserTalent);
         return R.ok().put("data",list);
     }

+ 26 - 0
fs-admin/src/main/java/com/fs/his/controller/FsUserController.java

@@ -3,14 +3,21 @@ package com.fs.his.controller;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.fs.common.core.domain.R;
 import com.fs.common.core.domain.ResponseResult;
+import com.fs.common.exception.CustomException;
 import com.fs.common.utils.ParseUtils;
 import com.fs.common.utils.SecurityUtils;
+import com.fs.common.utils.StringUtils;
 import com.fs.his.domain.FsUserAddress;
+import com.fs.his.enums.FsUserIntegralLogTypeEnum;
+import com.fs.his.param.FsUserAddIntegralTemplateParam;
+import com.fs.his.param.FsUserAddPointsParam;
 import com.fs.his.param.FsUserParam;
+import com.fs.his.service.IFsUserIntegralLogsService;
 import com.fs.his.utils.PhoneUtil;
 import com.fs.his.vo.FsUserExportListVO;
 import com.fs.his.vo.FsUserVO;
@@ -22,6 +29,7 @@ import com.github.pagehelper.PageInfo;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PutMapping;
@@ -53,6 +61,8 @@ public class FsUserController extends BaseController
 {
     @Autowired
     private IFsUserService fsUserService;
+    @Autowired
+    private IFsUserIntegralLogsService userIntegralLogsService;
 
     /**
      * 查询用户列表
@@ -188,6 +198,9 @@ public class FsUserController extends BaseController
     @GetMapping("/listBySearch")
     public R listBySearch(FsUser user)
     {
+        if (Objects.nonNull(user) && StringUtils.isNotBlank(user.getPhone())){
+            user.setPhone(PhoneUtil.encryptPhone(user.getPhone()));
+        }
         List<FsUser> list = fsUserService.selectFsUserList(user);
         return R.ok().put("data",list);
     }
@@ -219,4 +232,17 @@ public class FsUserController extends BaseController
         return ResponseResult.ok(r);
     }
 
+    @PreAuthorize("@ss.hasPermi('his:user:addPoints')")
+    @PostMapping("/addPoints")
+    @ApiOperation("添加积分")
+    public R addPoints(@RequestBody @Validated FsUserAddPointsParam param) {
+        FsUserAddIntegralTemplateParam integralTemplateParam = new FsUserAddIntegralTemplateParam();
+        integralTemplateParam.setUserId(param.getUserId());
+        integralTemplateParam.setLogType(FsUserIntegralLogTypeEnum.TYPE_23.getValue());
+        integralTemplateParam.setBusinessId(SecurityUtils.getUserId().toString());
+        integralTemplateParam.setPoints(param.getPoint());
+        integralTemplateParam.setRemark(param.getRemark());
+        return userIntegralLogsService.addIntegralTemplate(integralTemplateParam);
+    }
+
 }

+ 1 - 0
fs-service/src/main/java/com/fs/his/enums/FsUserIntegralLogTypeEnum.java

@@ -30,6 +30,7 @@ public enum FsUserIntegralLogTypeEnum {
     TYPE_20(20,"首次完成手机号绑定注册"),
     TYPE_21(21,"首次完成专家咨询"),
     TYPE_22(22,"首次完成积分商城下单"),
+    TYPE_23(23,"管理员添加"),
     ;
 
 

+ 3 - 2
fs-service/src/main/java/com/fs/his/param/FsUserAddIntegralTemplateParam.java

@@ -3,7 +3,6 @@ package com.fs.his.param;
 
 import lombok.Data;
 
-import java.math.BigDecimal;
 
 @Data
 public class FsUserAddIntegralTemplateParam {
@@ -13,5 +12,7 @@ public class FsUserAddIntegralTemplateParam {
 
     private String businessId;
 
-    private BigDecimal amount;
+    private Integer points;
+
+    private String remark;
 }

+ 19 - 0
fs-service/src/main/java/com/fs/his/param/FsUserAddPointsParam.java

@@ -0,0 +1,19 @@
+package com.fs.his.param;
+
+import lombok.Data;
+
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotNull;
+
+@Data
+public class FsUserAddPointsParam {
+
+    @NotNull(message = "会员ID不能为空")
+    private Long userId;
+
+    @NotNull(message = "积分不能为空")
+    @Min(value = 1, message = "允许添加积分最小为1")
+    private Integer point;
+
+    private String remark;
+}

+ 13 - 14
fs-service/src/main/java/com/fs/his/service/impl/FsUserIntegralLogsServiceImpl.java

@@ -26,12 +26,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.math.BigDecimal;
-import java.time.Duration;
 import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.ZoneId;
-import java.time.temporal.ChronoUnit;
 import java.util.*;
 
 /**
@@ -254,7 +249,7 @@ public class FsUserIntegralLogsServiceImpl implements IFsUserIntegralLogsService
 //                    logsType = FsUserIntegralLogTypeEnum.TYPE_1;
 //                    break;
                 case 2: //消费获得积分
-                    integralNum = param.getAmount().multiply(BigDecimal.valueOf(config.getIntegralRatio())).intValue();
+                    integralNum = param.getPoints() * config.getIntegralRatio();
                     logsType = FsUserIntegralLogTypeEnum.TYPE_2;
                     break;
                 case 3: //分享获得积分
@@ -361,11 +356,15 @@ public class FsUserIntegralLogsServiceImpl implements IFsUserIntegralLogsService
                     integralNum = config.getIntegralFirstOrderPoint();
                     logsType = FsUserIntegralLogTypeEnum.TYPE_22;
                     break;
+                case 23: //完成首次积分商城下单
+                    integralNum = param.getPoints();
+                    logsType = FsUserIntegralLogTypeEnum.TYPE_23;
+                    break;
                 default:
                     return R.error("积分类型错误,联系管理员");
             }
             if (integralNum!=null && logsType!=null){
-                R r = updateAddIntegral(integralNum, user.getUserId(), user.getIntegral(), logsType, param.getBusinessId());
+                R r = updateAddIntegral(integralNum, user.getUserId(), user.getIntegral(), logsType, param.getBusinessId(), param.getRemark());
                 log.info("用户id为{},{}", user.getUserId(),r.get("msg").toString());
                 return R.ok();
             }
@@ -376,13 +375,12 @@ public class FsUserIntegralLogsServiceImpl implements IFsUserIntegralLogsService
 
 
     /**
-     *
      * @param integralNum
      * @param userId
      * @param userIntegral
      * @return
      */
-    public R updateAddIntegral(Integer integralNum,Long userId,Long userIntegral, FsUserIntegralLogTypeEnum logsType,String businessId) {
+    public R updateAddIntegral(Integer integralNum, Long userId, Long userIntegral, FsUserIntegralLogTypeEnum logsType, String businessId, String remark) {
         FsUser userMap=new FsUser();
         userMap.setUserId(userId);
         userMap.setIntegral(userIntegral+integralNum);
@@ -394,6 +392,7 @@ public class FsUserIntegralLogsServiceImpl implements IFsUserIntegralLogsService
         integralLogs.setLogType(logsType.getValue());
         integralLogs.setCreateTime(new Date());
         integralLogs.setBusinessId(businessId);
+        integralLogs.setRemark(remark);
         if (fsUserIntegralLogsMapper.insertFsUserIntegralLogs(integralLogs)>0){
             return R.ok(logsType.getDesc()+":"+integralNum+"积分");
         }
@@ -469,14 +468,14 @@ public class FsUserIntegralLogsServiceImpl implements IFsUserIntegralLogsService
         int taskThree = 0;
         int taskFour = 0;
         int taskFive = 0;
-        int isNewUser = 0;
+        int isNewUser = 1;
         int isFinishConsultation = 0;
         int isFinishFirstOrderPoint = 0;
 //        long expireDays = 0;
         Date createTime = null;
-        FsUser fsUser = fsUserMapper.selectFsUserIsNew(userId);
-        if (fsUser!=null){
-            isNewUser = 1;
+//        FsUser fsUser = fsUserMapper.selectFsUserIsNew(userId);
+//        if (fsUser!=null){
+//            isNewUser = 1;
 
 //            Date createTime = fsUser.getCreateTime(); // 获取用户创建时间
 //            LocalDateTime createDateTime = LocalDateTime.ofInstant(createTime.toInstant(), ZoneId.systemDefault()); // 将 Date 转换为 LocalDateTime
@@ -490,7 +489,7 @@ public class FsUserIntegralLogsServiceImpl implements IFsUserIntegralLogsService
 //            expireDays = remainingDays;
 
 
-        }
+//        }
         FsUserNewTask newTask = fsUserNewTaskMapper.selectFsUserNewTaskByUserId(userId);
         if (newTask!=null){
             taskOne = newTask.getTaskOne();

+ 7 - 7
fs-service/src/main/java/com/fs/his/service/impl/FsUserInvitedServiceImpl.java

@@ -175,13 +175,13 @@ public class FsUserInvitedServiceImpl extends ServiceImpl<FsUserInvitedMapper, F
             }
         }
         //1.4 被邀请人注册超过7天填写不奖励
-        Date createTime = invitedUser.getCreateTime();
-        if (createTime != null) {
-            Date nowDate = DateUtils.getNowDate();
-            if (nowDate.after(DateUtils.addDays(createTime, 7))) {
-                return AjaxResult.error("超时填写,无奖励");
-            }
-        }
+//        Date createTime = invitedUser.getCreateTime();
+//        if (createTime != null) {
+//            Date nowDate = DateUtils.getNowDate();
+//            if (nowDate.after(DateUtils.addDays(createTime, 7))) {
+//                return AjaxResult.error("超时填写,无奖励");
+//            }
+//        }
         //2.添加奖励
         //2.1被邀请人获得2000芳华币
         FsUserAddIntegralTemplateParam invitedParam = new FsUserAddIntegralTemplateParam();

+ 1 - 1
fs-service/src/main/java/com/fs/his/service/impl/FsUserServiceImpl.java

@@ -270,7 +270,7 @@ public class FsUserServiceImpl implements IFsUserService
         integralTemplateParam.setUserId(userId);
         integralTemplateParam.setLogType(FsUserIntegralLogTypeEnum.TYPE_2.getValue());
         integralTemplateParam.setBusinessId(orderId.toString());
-        integralTemplateParam.setAmount(payMoney);
+        integralTemplateParam.setPoints(payMoney.intValue());
         userIntegralLogsService.addIntegralTemplate(integralTemplateParam);
     }