hurixing пре 1 година
родитељ
комит
312ea18558

+ 3 - 0
hcp-core/src/main/java/com/yingyangfly/core/domain/Game.java

@@ -57,6 +57,9 @@ public class Game extends BaseEntity {
     @ApiModelProperty("显示顺序")
     private Integer orderNum;
 
+    @ApiModelProperty("首次自由训练推荐")
+    private String recommendedCStatus;
+
 }
 
 

+ 4 - 1
hcp-core/src/main/java/com/yingyangfly/core/recommend/RecommendFacade.java

@@ -234,7 +234,7 @@ public class RecommendFacade {
     }
 
     private void recommendUserBorCByRule(GameRecommendRule rule, AppUser appUser) {
-        List<Game> gameAccordingByRules = getGameAccordingByRules(rule, appUser);
+        List<Game> gameAccordingByRules = recommendationB(appUser);
         if (CollectionUtil.isEmpty(gameAccordingByRules)) {
             return;
         }
@@ -340,6 +340,9 @@ public class RecommendFacade {
             gameUser.setGameDuration(g.getGameDuration());
             gameUser.setGameCoverImage(g.getGameCoverImage());
             gameUser.setOrderNum(g.getOrderNum());
+            if ("C".equals(rule.getRecommendPlayClass())){
+                gameUser.setIsShow(g.getRecommendedCStatus());
+            }
             return gameUser;
         }).collect(Collectors.toList());
     }

+ 5 - 0
hcp-core/src/main/java/com/yingyangfly/core/service/GameUserService.java

@@ -45,5 +45,10 @@ public interface GameUserService extends IService<GameUser> {
      * 每个认知域展示8款,15天为周期,更新8款中随机4款(目前股东要看,没做)
      */
     void isShowGameUser();
+
+    /**
+     *
+     */
+    void isShowGameUserC();
 }
 

+ 20 - 16
hcp-core/src/main/java/com/yingyangfly/core/service/impl/AppUserService.java

@@ -19,13 +19,16 @@ import com.yingyangfly.common.utils.DateUtils;
 import com.yingyangfly.core.api.ImApi;
 import com.yingyangfly.core.domain.*;
 import com.yingyangfly.core.dto.*;
+import com.yingyangfly.core.enums.MsgTemplateEnums;
 import com.yingyangfly.core.enums.StatusEnums;
 import com.yingyangfly.core.mapper.*;
 import com.yingyangfly.core.recommend.RecommendFacade;
 import com.yingyangfly.core.security.util.TokenUtil;
 import com.yingyangfly.core.service.*;
 import com.yingyangfly.core.util.AmountUtils;
+import com.yingyangfly.core.util.EntityConverter;
 import com.yingyangfly.core.util.Sm4Util;
+import com.yingyangfly.core.util.SmgUtil;
 import com.yingyangfly.redis.client.RedisClient;
 import lombok.extern.slf4j.Slf4j;
 import org.assertj.core.util.Sets;
@@ -307,12 +310,12 @@ public class AppUserService extends ServiceImpl<AppUserMapper, AppUser> implemen
         }
 
         //将套餐信息置空
-        appUser.setPadNo("");
-        appUser.setPackageId(null);
-        appUser.setPackageName("");
-        appUser.setEquipmentPledge(null);
-        appUser.setOrderStartTime("");
-        appUser.setOrderEndTime("");
+//        appUser.setPadNo("");
+//        appUser.setPackageId(null);
+//        appUser.setPackageName("");
+//        appUser.setEquipmentPledge(null);
+//        appUser.setOrderStartTime("");
+//        appUser.setOrderEndTime("");
 
         if (appUser.getId() == null) {
             appUser.setStatus("0");
@@ -339,6 +342,7 @@ public class AppUserService extends ServiceImpl<AppUserMapper, AppUser> implemen
             recommendFacade.recommendGameUserJobByAppUser(appUser.getId());
             return ResultResponse.success(appUser.getId());
         }else{
+            AppUser appUserUpdate = EntityConverter.convertToTarget(appUser, AppUser.class);
             AppUser appUserDb = appUserMapper.selectById(appUser.getId());
             String decryptMobile = Sm4Util.decrypt(appUserDb.getMobile());
             if(!decryptMobile.equals(appUser.getMobile())){
@@ -347,12 +351,12 @@ public class AppUserService extends ServiceImpl<AppUserMapper, AppUser> implemen
                     return ResultResponse.fail("手机号已经存在");
                 }
             }
-            appUser.setUpdateBy(currentUser.getUsername());
-            appUser.setUpdateTime(new Date());
+            appUserUpdate.setUpdateBy(currentUser.getUsername());
+            appUserUpdate.setUpdateTime(new Date());
             cacheUserService.delAppUser(Sm4Util.decrypt(appUserDb.getMobile()));
             cacheUserService.delAppUser(appUser.getMobile());
-
-            appUserMapper.updateById(appUser);
+            System.out.println(appUserUpdate);
+            appUserMapper.updateById(appUserUpdate);
             return ResultResponse.success(appUserDb.getId());
         }
 
@@ -615,13 +619,13 @@ public class AppUserService extends ServiceImpl<AppUserMapper, AppUser> implemen
         if (LocalDate.parse(appUser.getOrderEndTime()).isBefore(LocalDate.now())){
             return ResultResponse.success(false);
         }
-//        Random rand = new Random();
-//        int randomNumber = rand.nextInt(1000000);
-//        String random = String.format("%06d", randomNumber);
+        Random rand = new Random();
+        int randomNumber = rand.nextInt(1000000);
+        String random = String.format("%06d", randomNumber);
         //6位随机数
-//        Boolean isSuccess = SmgUtil.sendCheckCode(mobile, MsgTemplateEnums.GET_CHECK_CODE.getTempalteCode(), random);
-        String random = "123456";
-        Boolean isSuccess = true;
+        Boolean isSuccess = SmgUtil.sendCheckCode(mobile, MsgTemplateEnums.GET_CHECK_CODE.getTempalteCode(), random);
+//        String random = "123456";
+//        Boolean isSuccess = true;
         if (isSuccess) {
             // 防机器
             redisClient.set("hcp:sms:mobile:"+mobile,random,60);

+ 36 - 26
hcp-core/src/main/java/com/yingyangfly/core/service/impl/GameTaskServiceImpl.java

@@ -303,21 +303,19 @@ public class GameTaskServiceImpl extends ServiceImpl<GameTaskMapper, GameTask> i
         List<String> day = com.yingyangfly.core.util.DateUtil.getMonthDayList(time);
         Collections.reverse(day);
 
-        //获取用户测评脑力值
-        List<List<ReviewTaskDto>> list2 = reviewTaskService.his(new ReviewTask(), Long.valueOf(userId));
-        int reviewScore = 0;
-        String reviewTime = null;
-        List<ReviewTaskDto> reviewTaskDtos = list2.get(0);
-        for (ReviewTaskDto reviewTaskDto : reviewTaskDtos) {
-            Map<String, Object> result = reviewTaskDto.getResult();
-            reviewTime = reviewTaskDto.getReviewTime();
-            reviewScore += (Integer) result.get("reviewScore");
-        }
+//        //获取用户测评脑力值
+//        List<List<ReviewTaskDto>> list2 = reviewTaskService.his(new ReviewTask(), Long.valueOf(userId));
+//        int reviewScore = 0;
+//        String reviewTime = null;
+//        List<ReviewTaskDto> reviewTaskDtos = list2.get(0);
+//        for (ReviewTaskDto reviewTaskDto : reviewTaskDtos) {
+//            Map<String, Object> result = reviewTaskDto.getResult();
+//            if ("MOCA".equals(reviewTaskDto.getType()) || "MMSE".equals(reviewTaskDto.getType())) {
+//                reviewTime = reviewTaskDto.getReviewTime();
+//                reviewScore += (Integer) result.get("reviewScore");
+//            }
+//        }
 
-        int synthesisScore = (new BigDecimal(reviewScore).divide(new BigDecimal("30"),2,RoundingMode.HALF_UP))
-                .multiply(new BigDecimal("500"))
-                .setScale(0, RoundingMode.DOWN)
-                .intValue();
 
         for (String s : day) {
             map.put(s, "0");
@@ -328,6 +326,15 @@ public class GameTaskServiceImpl extends ServiceImpl<GameTaskMapper, GameTask> i
         for (String s : day) {
             TreeMap<String, Object> m = new TreeMap<>();
             m.put("time", s);
+            int reviewScore = 0;
+            String reviewTime = null;
+            // 查询 当前日期之前最近的一次
+            int synthesisScore = (new BigDecimal(reviewScore).divide(new BigDecimal("30"),2,RoundingMode.HALF_UP))
+                    .multiply(new BigDecimal("500"))
+                    .setScale(0, RoundingMode.DOWN)
+                    .intValue();
+
+
             QueryWrapper<MentalEnergyDetailRecord> gamePlayRecordWrapper = new QueryWrapper();
             gamePlayRecordWrapper.select(" sum(mental_energy_val) as mentalEnergyVal,DATE_FORMAT(mental_energy_detail_record.create_time, '%Y-%m-%d') as time  ");
             gamePlayRecordWrapper.eq("user_id", userId);
@@ -389,13 +396,19 @@ public class GameTaskServiceImpl extends ServiceImpl<GameTaskMapper, GameTask> i
         AppUser appUser = appUserService.selectById(Long.valueOf(userId));
 
         //获取用户测评脑力值
-        List<List<ReviewTaskDto>> list = reviewTaskService.his(new ReviewTask(),appUser.getId());
-        int reviewScore = 0;
-        List<ReviewTaskDto> reviewTaskDtos = list.get(0);
-        for (ReviewTaskDto reviewTaskDto : reviewTaskDtos) {
-            Map<String, Object> result = reviewTaskDto.getResult();
-            reviewScore += (Integer) result.get("reviewScore");
-        }
+//        List<List<ReviewTaskDto>> list = reviewTaskService.his(new ReviewTask(),appUser.getId());
+//        int reviewScore = 0;
+//        List<ReviewTaskDto> reviewTaskDtos = list.get(0);
+//        for (ReviewTaskDto reviewTaskDto : reviewTaskDtos) {
+//            if(reviewTaskDto.getType().equals("MOCA") || reviewTaskDto.getType().equals("MMSE")) {
+//                Map<String, Object> result = reviewTaskDto.getResult();
+//                int synthesisScore = (new BigDecimal((Integer) result.get("reviewScore")).divide(new BigDecimal("30"),2, RoundingMode.HALF_UP))
+//                        .multiply(new BigDecimal("500"))
+//                        .setScale(0, RoundingMode.DOWN)
+//                        .intValue();
+//                reviewScore += synthesisScore;
+//            }
+//        }
         //如果查询出来的脑力值记录为空的话,查询用户测评的脑力值
         if(CollectionUtil.isEmpty(gamePlayRecordMap)){
 
@@ -420,11 +433,8 @@ public class GameTaskServiceImpl extends ServiceImpl<GameTaskMapper, GameTask> i
         }
         for (Map<String, Object> stringObjectMap : todayMap) {
             Object mentalEnergyVal = stringObjectMap.get("mentalEnergyVal");
-            int synthesisScore = (new BigDecimal(reviewScore).divide(new BigDecimal("30"),2, RoundingMode.HALF_UP))
-                    .multiply(new BigDecimal("500"))
-                    .setScale(0, RoundingMode.DOWN)
-                    .intValue();
-            int i = synthesisScore + Integer.valueOf(mentalEnergyVal.toString());
+
+            int i = appUser.getMentalEnergy();
             if(i>=950){
                 map.put("today", 950);
             }else{

+ 7 - 0
hcp-core/src/main/java/com/yingyangfly/core/service/impl/GameUserServiceImpl.java

@@ -391,4 +391,11 @@ public class GameUserServiceImpl extends ServiceImpl<GameUserMapper, GameUser> i
             gameUserMapper.update(null,updateNoneWrapper);
         }
     }
+
+    @Override
+    public void isShowGameUserC() {
+
+    }
+
+
 }

+ 1 - 0
hcp-core/src/main/java/com/yingyangfly/core/service/impl/ReviewTaskServiceImpl.java

@@ -173,6 +173,7 @@ public class ReviewTaskServiceImpl extends ServiceImpl<ReviewTaskMapper, ReviewT
 //        reviewTaskNCSE.setStatus("0");
 //        reviewTaskMapper.insert(reviewTaskNCSE);
         //修改患者测评状态为未测评
+
         AppUser appUser = new AppUser();
         appUser.setTestFlag("1");
         appUser.setId(reviewTask.getUserId());

+ 4 - 3
hcp-core/src/main/java/com/yingyangfly/core/service/impl/SysUserService.java

@@ -305,9 +305,10 @@ public class SysUserService extends  ServiceImpl<SysUserMapper,SysUser> {
             if (!StringUtils.isEmpty(sysUser.getMobile())) {
                 String mobile = sysUserDb.getMobile();
                 if(!Sm4Util.decrypt(mobile).equals(sysUser.getMobile())){
-                    SysUser sysUserDb2 = selectByMobile(sysUser.getMobile());
-                    Assert.isTrue(sysUserDb2 !=null,"手机号已经存在");
-                    cacheUserService.delSysUser(sysUserDb2.getMobile());
+                    SysUser sysUserDb2 = selectByMobile(Sm4Util.encrypt(sysUser.getMobile()));
+//                    Assert.isTrue(sysUserDb2 !=null,"手机号已经存在");
+                    if(sysUserDb2 != null) throw new RuntimeException("手机号已经存在");
+                    cacheUserService.delSysUser(Sm4Util.decrypt(sysUserDb.getMobile()));
                     cacheUserService.delSysUser(sysUser.getMobile());
                 }else {
                     cacheUserService.delSysUser(sysUser.getMobile());

+ 2 - 0
hcp-core/src/main/java/com/yingyangfly/core/vo/GameVo.java

@@ -55,6 +55,8 @@ public class GameVo {
     @ApiModelProperty("显示顺序")
     private Integer orderNum;
 
+    @ApiModelProperty("首次自由训练推荐")
+    private String recommendedCStatus;
 
     private Date createTime;
     private Date updateTime;

+ 35 - 2
hcp-platform/src/main/java/com/yingyangfly/platform/controller/DoctorController.java

@@ -6,8 +6,12 @@ import com.yingyangfly.common.dto.ResultResponse;
 import com.yingyangfly.common.log.annotation.TraceLog;
 import com.yingyangfly.core.annotation.Log;
 import com.yingyangfly.core.domain.SysUser;
+import com.yingyangfly.core.dto.CurrentLoginUser;
 import com.yingyangfly.core.dto.IdDto;
+import com.yingyangfly.core.mapper.SysUserMapper;
+import com.yingyangfly.core.security.util.TokenUtil;
 import com.yingyangfly.core.service.impl.SysUserService;
+import com.yingyangfly.core.util.CryptoUtil;
 import com.yingyangfly.core.util.EntityConverter;
 import com.yingyangfly.core.util.PasswordValidator;
 import com.yingyangfly.core.vo.SysUserVo;
@@ -23,6 +27,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @description:
@@ -37,6 +42,12 @@ public class DoctorController {
     @Autowired
     SysUserService sysUserService;
 
+    @Autowired
+    private TokenUtil tokenUtil;
+
+    @Autowired
+    private SysUserMapper userMapper;
+
 
     @Log(title = "保存医师信息")
     @PreAuthorize("@SSPermissionChecker.hasPermission('physician_save')")
@@ -72,6 +83,28 @@ public class DoctorController {
         return ResultResponse.success();
     }
 
+    /**
+     * 强制重置密码
+     */
+    @Log(title = "强制重置密码")
+    @PreAuthorize("@SSPermissionChecker.hasPermission('violent_reset_pwd')")
+    @PostMapping("/violentResetPwd")
+    @TraceLog
+    public ResultResponse violentResetPwd(@RequestBody Map<String, String> params) {
+        CurrentLoginUser currentUser = tokenUtil.getCurrentUser();
+        Long id = Long.parseLong(params.get("id"));
+        SysUser sysUser = userMapper.selectById(id);
+        if (ObjectUtils.isNull(sysUser)) {
+            if (!currentUser.getOrgCode().equals("system")){
+                if (!currentUser.getOrgCode().equals(sysUser.getOrgCode())){
+                    throw new RuntimeException("权限不足,无法修改");
+                }
+            }
+        }
+        String pwd =  CryptoUtil.decrypt(params.get("pwd"));
+        return sysUserService.violentResetPwd(id, pwd);
+    }
+
 
     @Log(title = "查找医师列表")
     @PreAuthorize("@SSPermissionChecker.hasPermission('physician')")
@@ -82,8 +115,8 @@ public class DoctorController {
         user.setRoleCodes("doctor");
         IPage<SysUser> list = sysUserService.selectByPage(user);
 
-        IPage<SysUserVo> sysUserVoIPage = EntityConverter.convertPage(list, SysUserVo.class);
-        return ResultResponse.success(sysUserVoIPage);
+//        IPage<SysUserVo> sysUserVoIPage = EntityConverter.convertPage(list, SysUserVo.class);
+        return ResultResponse.success(list);
     }
 
     @Log(title = "删除医师")

+ 2 - 2
hcp-platform/src/main/java/com/yingyangfly/platform/controller/TherapistsController.java

@@ -80,8 +80,8 @@ public class TherapistsController {
         user.setRoleCodes("therapists");
         IPage<SysUser> list = sysUserService.selectByPage(user);
 
-        IPage<SysUserVo> sysUserVoIPage = EntityConverter.convertPage(list, SysUserVo.class);
-        return ResultResponse.success(sysUserVoIPage);
+//        IPage<SysUserVo> sysUserVoIPage = EntityConverter.convertPage(list, SysUserVo.class);
+        return ResultResponse.success(list);
     }
 
     @Log(title = "删除康复师")

+ 6 - 0
hcp-platform/src/main/java/com/yingyangfly/platform/job/RemoveDelUserGameJob.java

@@ -27,4 +27,10 @@ public class RemoveDelUserGameJob {
         gameUserService.isShowGameUser();
         log.info("<<<<<<<<<<<<<<<<<<<<<更改自由训练游戏列表结束>>>>>>>>>>>>>>>>>>>>>>>>>>>");
     }
+
+    public void isShowGameUserC() {
+        log.info("<<<<<<<<<<<<<<<<<<<<<改为和game自由训练首次推荐游戏列表开始>>>>>>>>>>>>>>>>>>>>>>>>>>>");
+
+        log.info("<<<<<<<<<<<<<<<<<<<<<改为和game自由训练首次推荐游戏列表结束>>>>>>>>>>>>>>>>>>>>>>>>>>>");
+    }
 }

+ 0 - 1
hcp-platform/src/main/java/com/yingyangfly/platform/sys/controller/SysUserController.java

@@ -68,7 +68,6 @@ public class SysUserController {
      * 修改
      */
     @Log(title = "修改用户")
-    @PreAuthorize("@SSPermissionChecker.hasPermission('user_add')")
     @PostMapping("/edit")
     @TraceLog
     public ResultResponse edit(@RequestBody SysUser sysUser) {

+ 5 - 3
hcp-platform/src/test/java/com/yingyangfly/core/service/AppUserServiceTest.java

@@ -3,6 +3,7 @@ package com.yingyangfly.core.service;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.yingyangfly.HcpPlatPlatformApplication;
 import com.yingyangfly.common.utils.DateUtils;
+import com.yingyangfly.core.domain.AppUser;
 import com.yingyangfly.core.domain.PayOrder;
 import com.yingyangfly.core.domain.SysUser;
 import com.yingyangfly.core.mapper.PayOrderMapper;
@@ -58,11 +59,12 @@ class AppUserServiceTest {
 
     @Test
     public void saveSysUser(){
-        String encrypt = Sm4Util.encrypt("13899997777");
+        String encrypt = Sm4Util.encrypt("18373810429");
         SysUser sysUser = sysUserService.selectByMobile(encrypt);
         System.out.println(sysUser);
-
-        sysUserService.violentResetPwd(sysUser.getId(),"@Hrx123456");
+        AppUser appUser = appUserService.selectByMobile(encrypt, "0");
+        System.out.println(appUser);
+//        sysUserService.violentResetPwd(sysUser.getId(),"@Hrx123456");
     }
     
 }