Parcourir la source

早筛接入,早筛后台管理

hurixing il y a 1 mois
Parent
commit
0bfaa92369

+ 1 - 1
hcp-app/src/main/java/com/yingyangfly/app/controller/AppUpgradeRecordController.java

@@ -37,7 +37,7 @@ public class AppUpgradeRecordController {
     /**
      * 获取新版本
      */
-//    @Log(title = "获取新版本",operatorType= OperatorType.MOBILE)
+    @Log(title = "获取新版本",operatorType= OperatorType.MOBILE)
     @PostMapping("/selectNewVersion")
     @TraceLog
     @ApiOperation("获取新版本")

+ 12 - 1
hcp-app/src/main/java/com/yingyangfly/app/controller/LoginController.java

@@ -49,7 +49,18 @@ public class LoginController {
     @ApiOperation("手机短信登录")
     @PostMapping("/loginMsg")
     @TraceLog
-    public ResultResponse loginMsg(@RequestBody LoginDto dto){
+    public ResultResponse loginMsg(String checkCode,String mobile){
+        if (StringUtils.isEmpty(checkCode)){
+            return ResultResponse.fail("请输入验证码");
+        }
+        return appUserService.loginMsg(checkCode,mobile,true);
+    }
+
+    @Log(title = "手机短信登录",operatorType = OperatorType.MOBILE)
+    @ApiOperation("手机短信登录")
+    @PostMapping("/loginMsg2")
+    @TraceLog
+    public ResultResponse loginMsg(@RequestBody LoginDto dto) {
         if (StringUtils.isEmpty(dto.getPassWord())){
             return ResultResponse.fail("请输入验证码");
         }

+ 19 - 0
hcp-app/src/main/java/com/yingyangfly/app/controller/SysOrgController.java

@@ -7,15 +7,21 @@ import com.yingyangfly.core.domain.SysOrg;
 import com.yingyangfly.core.enums.OperatorType;
 import com.yingyangfly.core.service.impl.SysOrgService;
 import com.yingyangfly.core.util.EntityConverter;
+import com.yingyangfly.core.vo.HospitalVo;
 import com.yingyangfly.core.vo.SysOrgVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * @description:
  * @author: why
@@ -29,6 +35,9 @@ public class SysOrgController {
     @Autowired
     SysOrgService sysOrgService;
 
+    @Value("${ea-url}")
+    private String eaUrl;
+
 
 //    @Log(title = "获取机构信息",operatorType = OperatorType.MOBILE)
     @ApiOperation("/获取机构信息")
@@ -40,5 +49,15 @@ public class SysOrgController {
         return ResultResponse.success(sysOrgVo);
     }
 
+    @ApiOperation("/获取机构信息列表")
+    @PostMapping("/getHospitalList")
+    @TraceLog
+    public ResultResponse getHospitalList() {
+        List<HospitalVo> hospitalList = sysOrgService.getHospitalList();
+        Map<String,Object> map = new HashMap<>();
+        map.put("hospitalList",hospitalList);
+        map.put("url", eaUrl);
+        return ResultResponse.success(map);
+    }
 
 }

+ 1 - 0
hcp-app/src/main/resources/application-dev.yml

@@ -102,5 +102,6 @@ baidu:
   apiKey: IsH2OofFaYYB88lO1zHTLDsF
   secretKey: IkFp0lMRKN35g1Mw2LW9sFtylPfeTNl7
 query-daily-trai: http://60.205.122.15/h5-training-daily/index.html
+ea-url: http://yaorongtest.yaorongmedical.com/analysis/game/index.html
 
 review-task-space: 30

+ 1 - 0
hcp-app/src/main/resources/application-prod.yml

@@ -102,5 +102,6 @@ baidu:
   apiKey: IsH2OofFaYYB88lO1zHTLDsF
   secretKey: IkFp0lMRKN35g1Mw2LW9sFtylPfeTNl7
 query-daily-trai: https://yaorong.yaorongmedical.com/h5-training-daily/index.html
+ea-url: https://yaorong.yaorongmedical.com/analysis/game/index.html
 
 review-task-space: 30

+ 2 - 0
hcp-app/src/main/resources/application.yml

@@ -25,6 +25,7 @@ security:
       - /app/register
       - /app/login
       - /app/loginMsg
+      - /app/loginMsg2
       - /app/getCheckCode
       - /app/loginMsg
       - /app/logout
@@ -39,3 +40,4 @@ security:
       - /app/pay/white/list/createPreOrder
       - /app/getChangePasswordCode
       - /app/reset/password
+      - /app/sysOrg/getHospitalList

+ 10 - 2
hcp-core/src/main/java/com/yingyangfly/core/domain/EaDetectInfo.java

@@ -1,5 +1,6 @@
 package com.yingyangfly.core.domain;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 
 import java.util.Date;
@@ -21,8 +22,15 @@ public class EaDetectInfo {
     private Date createTime;
     private String remark;
 
-    @com.baomidou.mybatisplus.annotation.TableField(exist = false)
+    private String hospitalName;
+
+    private String hospitalId;
+
+    @TableField(exist = false)
+    private int status = 0;
+
+    @TableField(exist = false)
     private java.lang.Integer page;
-    @com.baomidou.mybatisplus.annotation.TableField(exist = false)
+    @TableField(exist = false)
     private java.lang.Integer limit;
 }

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

@@ -72,4 +72,7 @@ public class SysOrg extends BaseEntity {
 
     private String workTime;
     private String remark;
+
+
+    private String isShow;
 }

+ 13 - 8
hcp-core/src/main/java/com/yingyangfly/core/service/impl/AppUserService.java

@@ -159,6 +159,9 @@ public class AppUserService extends ServiceImpl<AppUserMapper, AppUser> implemen
         if (appUser == null) {
             throw new BadCredentialsException("用户不存在");
         }
+        if (ObjectUtils.isNull(dto.getComboCheck())) {
+            dto.setComboCheck(true);
+        }
         if (dto.getComboCheck()) {
             if (ObjectUtils.isNull(appUser.getOrderEndTime())){
                 return ResultResponse.success(false);
@@ -733,14 +736,14 @@ public class AppUserService extends ServiceImpl<AppUserMapper, AppUser> implemen
         if (appUser == null) {
             return ResultResponse.fail("患者不存在");
         }
-//        if ("app".equals(appType)){
-//            if (ObjectUtils.isNull(appUser.getOrderEndTime())){
-//                return ResultResponse.success(false);
-//            }
-//            if (LocalDate.parse(appUser.getOrderEndTime()).isBefore(LocalDate.now())){
-//                return ResultResponse.success(false);
-//            }
-//        }
+        if ("app".equals(appType)){
+            if (ObjectUtils.isNull(appUser.getOrderEndTime())){
+                return ResultResponse.success(false);
+            }
+            if (LocalDate.parse(appUser.getOrderEndTime()).isBefore(LocalDate.now())){
+                return ResultResponse.success(false);
+            }
+        }
         Random rand = new Random();
         int randomNumber = rand.nextInt(1000000);
         String random = "";
@@ -749,6 +752,8 @@ public class AppUserService extends ServiceImpl<AppUserMapper, AppUser> implemen
             random = "123456";
             isSuccess = true;
         }else {
+//            random = "123456";
+//            isSuccess = true;
             random = String.format("%06d", randomNumber);
             //6位随机数
             isSuccess = SmgUtil.sendCheckCode(mobile, MsgTemplateEnums.GET_CHECK_CODE.getTempalteCode(), random);

+ 34 - 0
hcp-core/src/main/java/com/yingyangfly/core/service/impl/EaDetectInfoServiceImpl.java

@@ -5,29 +5,63 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yingyangfly.core.domain.EaDetectInfo;
+import com.yingyangfly.core.domain.SysOrg;
+import com.yingyangfly.core.dto.CurrentLoginUser;
 import com.yingyangfly.core.mapper.EaDetectInfoMapper;
+import com.yingyangfly.core.security.util.TokenUtil;
 import com.yingyangfly.core.service.EaDetectInfoService;
 import com.yingyangfly.core.util.Sm4Util;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.nio.charset.StandardCharsets;
 import java.util.Base64;
+import java.util.Iterator;
 
 @Slf4j
 @Service
 public class EaDetectInfoServiceImpl extends ServiceImpl<EaDetectInfoMapper, EaDetectInfo> implements EaDetectInfoService {
 
 
+    @Resource
+    private TokenUtil tokenUtil;
+
+    @Resource
+    private SysOrgService sysOrgService;
+
     @Override
     public IPage<EaDetectInfo> selectByPage(EaDetectInfo eaDetectInfo) {
         LambdaQueryWrapper<EaDetectInfo> lambdaQueryWrapper = new LambdaQueryWrapper<>();
         if (ObjectUtils.isNotEmpty(eaDetectInfo.getPhone())) {
             lambdaQueryWrapper.eq(EaDetectInfo::getPhone, eaDetectInfo.getPhone());
         }
+        if (eaDetectInfo.getStatus() != 0){
+            if (!hasPermission()) {
+                CurrentLoginUser currentUser = tokenUtil.getCurrentUser();
+                SysOrg oryCodeSysOrg = sysOrgService.getOryCodeSysOrg(currentUser.getOrgCode());
+                lambdaQueryWrapper.eq(EaDetectInfo::getHospitalId,oryCodeSysOrg.getId());
+            }
+        }
         lambdaQueryWrapper.orderByDesc(EaDetectInfo::getCreateTime);
         Page<EaDetectInfo> eaDetectInfoPage = new Page<>(eaDetectInfo.getPage(), eaDetectInfo.getLimit());
         return baseMapper.selectPage(eaDetectInfoPage,lambdaQueryWrapper);
     }
+
+
+
+
+
+    public boolean hasPermission() {
+        CurrentLoginUser currentUser = tokenUtil.getCurrentUser();
+
+        // 检查是否包含超级管理员角色
+        if (currentUser.getRoleCodes().contains("super_admin")) {
+            return true;  // 超级管理员拥有权限
+        }
+
+        // 其他情况:无角色或非超级管理员角色
+        return !currentUser.getRoleCodes().isEmpty();
+    }
 }

+ 4 - 0
hcp-core/src/main/java/com/yingyangfly/core/service/impl/EaUserServiceImpl.java

@@ -5,15 +5,19 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yingyangfly.core.domain.EaUser;
+import com.yingyangfly.core.dto.CurrentLoginUser;
 import com.yingyangfly.core.mapper.EaUserMapper;
+import com.yingyangfly.core.security.util.TokenUtil;
 import com.yingyangfly.core.service.EaUserService;
 import com.yingyangfly.core.util.Sm4Util;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.nio.charset.StandardCharsets;
 import java.util.Base64;
+import java.util.Iterator;
 
 @Slf4j
 @Service

+ 13 - 0
hcp-core/src/main/java/com/yingyangfly/core/service/impl/SysOrgService.java

@@ -10,6 +10,8 @@ import com.yingyangfly.core.domain.SysOrg;
 import com.yingyangfly.core.dto.CurrentLoginUser;
 import com.yingyangfly.core.mapper.SysOrgMapper;
 import com.yingyangfly.core.security.util.TokenUtil;
+import com.yingyangfly.core.util.EntityConverter;
+import com.yingyangfly.core.vo.HospitalVo;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -100,4 +102,15 @@ public class SysOrgService extends ServiceImpl<SysOrgMapper,SysOrg> {
         return sysOrgMapper.selectOne(orgLambdaQueryWrapper);
     }
 
+
+    /**
+     * 获取 机构医院的下拉框
+     * @return
+     */
+    public List<HospitalVo> getHospitalList() {
+        List<SysOrg> sysOrgs = sysOrgMapper.selectList(new LambdaQueryWrapper<SysOrg>().eq(SysOrg::getIsShow, "1"));
+        List<HospitalVo> hospitalVos = EntityConverter.convertList(sysOrgs, HospitalVo.class);
+        return hospitalVos;
+    }
+
 }

+ 9 - 0
hcp-core/src/main/java/com/yingyangfly/core/vo/HospitalVo.java

@@ -0,0 +1,9 @@
+package com.yingyangfly.core.vo;
+
+import lombok.Data;
+
+@Data
+public class HospitalVo {
+    private Long id;
+    private String orgName;
+}

+ 61 - 0
hcp-large-screen/src/main/java/com/yingyangfly/large/screen/controller/SysOrgController.java

@@ -0,0 +1,61 @@
+package com.yingyangfly.large.screen.controller;
+
+import com.yingyangfly.common.dto.ResultResponse;
+import com.yingyangfly.common.log.annotation.TraceLog;
+import com.yingyangfly.core.domain.SysOrg;
+import com.yingyangfly.core.service.impl.SysOrgService;
+import com.yingyangfly.core.util.EntityConverter;
+import com.yingyangfly.core.vo.HospitalVo;
+import com.yingyangfly.core.vo.SysOrgVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @description:
+ * @author: why
+ * @date: 2023-09-28
+ */
+@RestController
+@RequestMapping("/app/sysOrg")
+@Slf4j
+@Api(tags = "机构")
+public class SysOrgController {
+    @Autowired
+    SysOrgService sysOrgService;
+
+    @Value("${ea-url}")
+    private String eaUrl;
+
+
+//    @Log(title = "获取机构信息",operatorType = OperatorType.MOBILE)
+    @ApiOperation("/获取机构信息")
+    @PostMapping("/findByOrgCode")
+    @TraceLog
+    public ResultResponse findByOrgCode(String orgCode) {
+        SysOrg sysOrg = sysOrgService.findByOrgCode(orgCode);
+        SysOrgVo sysOrgVo = EntityConverter.convertToTarget(sysOrg, SysOrgVo.class);
+        return ResultResponse.success(sysOrgVo);
+    }
+
+    @ApiOperation("/获取机构信息列表")
+    @PostMapping("/getHospitalList")
+    @TraceLog
+    public ResultResponse getHospitalList() {
+        List<HospitalVo> hospitalList = sysOrgService.getHospitalList();
+        Map<String,Object> map = new HashMap<>();
+        map.put("hospitalList",hospitalList);
+        map.put("url", eaUrl);
+        return ResultResponse.success(map);
+    }
+
+}

+ 2 - 0
hcp-large-screen/src/main/resources/application-dev.yml

@@ -124,11 +124,13 @@ security:
       - /game_voice/**
       - /home/index
       - /version/selectNewVersion
+      - /app/sysOrg/getHospitalList
 
 baidu:
   appId: 116714556
   apiKey: IsH2OofFaYYB88lO1zHTLDsF
   secretKey: IkFp0lMRKN35g1Mw2LW9sFtylPfeTNl7
 query-daily-trai: http://60.205.122.15/h5-training-daily/index.html
+ea-url: http://yaorongtest.yaorongmedical.com/analysis/game/index.html
 
 review-task-space: 30

+ 2 - 0
hcp-large-screen/src/main/resources/application-prod.yml

@@ -119,11 +119,13 @@ security:
       - /game_voice/**
       - /home/index
       - /version/selectNewVersion
+      - /app/sysOrg/getHospitalList
 
 baidu:
   appId: 116714556
   apiKey: IsH2OofFaYYB88lO1zHTLDsF
   secretKey: IkFp0lMRKN35g1Mw2LW9sFtylPfeTNl7
 query-daily-trai: https://yaorong.yaorongmedical.com/h5-training-daily/index.html
+ea-url: https://yaorong.yaorongmedical.com/analysis/game/index.html
 
 review-task-space: 30

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

@@ -25,4 +25,5 @@ public class EaDetectInfoController {
     public ResultResponse list(@RequestBody EaDetectInfo eaDetectInfo){
         return ResultResponse.success(eaDetectInfoService.selectByPage(eaDetectInfo));
     }
+
 }