Browse Source

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into dev

wsl 2 years ago
parent
commit
d18f4e0a6d

+ 5 - 4
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java

@ -11740,7 +11740,6 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                    }
                }
            }
            String result = "作废成功";
            if("xm_zsyy_wx".equalsIgnoreCase(wechatId)){
                /*prescriptionDao.updateCheckStatus(prescriptionId,2,reason,20);*/
                logger.info("作废处方开始" + prescriptionDO.getCheckStatus());
@ -11775,13 +11774,15 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                        }
                    }
                }
                try {
                    net.sf.json.JSONObject jsonObject = entranceService.BS10112(jsonData.toJSONString(), demoFlag);
                    wlyyHttpLogDO.setResponse(jsonObject.toString());
                    result = jsonObject.getString("@MSG");
                    if(jsonObject.getString("@RESULT").equalsIgnoreCase("-1")){
                        throw new Exception(jsonObject.getString("@MSG"));
                    }
                }catch (Exception e){
                    e.printStackTrace();
                    throw new Exception("作废失败");
                }
                wlyyHttpLogDO.setRequest(jsonData.toJSONString());
                wlyyHttpLogDO.setName("作废处方");
@ -11801,7 +11802,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            prescriptionDO.setCheckStatus(5);
            prescriptionDO.setCheckReason("已作废");
            prescriptionDao.save(prescriptionDO);
            return result;
            return "已作废";
        }else {
            return "作废失败";
        }

+ 12 - 3
gateway/ag-basic/src/main/java/com/yihu/jw/gateway/filter/BasicZuulFilter.java

@ -273,7 +273,10 @@ public class BasicZuulFilter extends ZuulFilter {
            if (resourceId.equals("/**")) {
                System.out.println("/**"+true);
                //判断用户操作间隔
                if (null!=platform&&"city-ihealth-admin-web".equalsIgnoreCase(platform)){
                if (null!=platform&&(
                        "city-ihealth-admin-web".equalsIgnoreCase(platform)||
                        "wlyy-iot-web".equalsIgnoreCase(platform)
                )){
                    //判断用户操作间隔
                    String userId = userAgent.getUID();
                    System.out.println(userId);
@ -293,7 +296,10 @@ public class BasicZuulFilter extends ZuulFilter {
                    && (path.length() == resourceId.length() || path.charAt(resourceId.length()) == '/')) {
                System.out.println("158"+true);
                //判断用户操作间隔
                if (null!=platform&&"city-ihealth-admin-web".equalsIgnoreCase(platform)){
                if (null!=platform&&(
                        "city-ihealth-admin-web".equalsIgnoreCase(platform)||
                        "wlyy-iot-web".equalsIgnoreCase(platform)
                )){
                    //判断用户操作间隔
                    String userId = userAgent.getUID();
                    System.out.println(userId);
@ -307,7 +313,10 @@ public class BasicZuulFilter extends ZuulFilter {
            }
        }
        if (null!=platform&&"city-ihealth-admin-web".equalsIgnoreCase(platform)){
        if (null!=platform&&(
                "city-ihealth-admin-web".equalsIgnoreCase(platform)||
                "wlyy-iot-web".equalsIgnoreCase(platform)
        )){
            //判断用户操作间隔
            String userId = userAgent.getUID();
            System.out.println(userId);

+ 1 - 1
server/svr-authentication/src/main/java/com/yihu/jw/security/oauth2/provider/endpoint/WlyyIotLoginEndpoint.java

@ -78,7 +78,7 @@ public class WlyyIotLoginEndpoint {
        }
        //发送短信获取验证码
        String captcha = wlyyRedisVerifyCodeService.getCodeNumber();
        String result = iotSMSService.IotSendSMS(mobile, "您好,你的手机注册短信验证码是:" + captcha + ",5分钟内有效。");
        String result = iotSMSService.IotSendSMS(mobile, "您好,你的手机短信验证码是:" + captcha + ",5分钟内有效。");
        if (result.equals("success")) {
            Captcha _captcha = new Captcha();

+ 41 - 2
server/svr-authentication/src/main/java/com/yihu/jw/security/oauth2/provider/endpoint/WlyyLoginEndpoint.java

@ -168,6 +168,8 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
    private String wechatId;
    @Value("${wechat.id}")
    private String wxId;//微信id
    @Value("${spring.profiles}")
    private String springProfile;//环境
    @Value("${kick.eachOther}")
    private String kickEachOther;
    @Autowired
@ -188,6 +190,8 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
    private BaseDoctorDao baseDoctorDao;
    @Resource
    private WechatService wechatService;
    @Autowired
    private UserService userService;
    @PostConstruct
    private void init() {
@ -429,7 +433,11 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
            }
            //账户密码登录的才验证密码强度
        if ("hz_yyyzh_wx".equals(wechatId)) {
        if ("hz_yyyzh_wx".equals(wechatId)||
                "iottest".equals(springProfile)||//物联网
                "iotprod".equals(springProfile)||//物联网
                "iotprodIn".equals(springProfile)//物联网
        ) {
            String grant_type = parameters.get("grant_type");
            if ("password".equals(grant_type)) {
                if (!testPwd(parameters.get("password"))) {
@ -787,7 +795,7 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
            String captcha = wlyyRedisVerifyCodeService.getCodeNumber();
            int result =  zhongShanSMSService.ZhongShangSendSMS(username,"您好,你的手机登录短信验证码是:"+captcha+",5分钟内有效。");
            if (0 == result) {
            if (1 == result) {
                Captcha _captcha = new Captcha();
                _captcha.setCode(captcha);
@ -3095,6 +3103,37 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
        }
    }
    @RequestMapping(value = "/oauth/updateUserPw", method = RequestMethod.POST)
    @ApiOperation("修改后台管理员密码")
    public Envelop updateUserPw(String mobile,String client_id,String captcha,String pw) throws Exception{
        if ("iottest".equals(springProfile)||//物联网
                "iotprod".equals(springProfile)||//物联网
                "iotprodIn".equals(springProfile)//物联网
        ){
            WlyyHospitalSysDictDO wlyyHospitalSysDictDO = wlyyhospitalSysdictDao.findDictById("isNeedSMS");
            if (wlyyHospitalSysDictDO!=null&&!StringUtils.isEmpty(wlyyHospitalSysDictDO.getDictValue())){
                if (captcha.equalsIgnoreCase(wlyyHospitalSysDictDO.getDictValue())){
                }else {
                    return ObjEnvelop.getError("验证码错误!");
                }
            }else if (wlyyRedisVerifyCodeService.verification(client_id, mobile, captcha)) {
                    //验证码正确
            } else {
                return ObjEnvelop.getError("验证码错误!");
            }
            if (!testPwd(pw)) {
                throw new PwdException("密码强度低,密码长度不低于8位且应包含字母数字特殊字符3种");
            }
            String rs = userService.updateUserDoPw(mobile,pw);
            if("ok".equals(rs)){
                return ObjEnvelop.getSuccess("修改成功!");
            }
            return ObjEnvelop.getError("手机号未注册!");
        }
        return ObjEnvelop.getError("未知错误!");
    }
    /**
     * 登陆

+ 26 - 0
server/svr-authentication/src/main/java/com/yihu/jw/security/service/UserService.java

@ -9,6 +9,7 @@ import com.yihu.jw.patient.util.ConstantUtils;
import com.yihu.jw.security.dao.iot.UserDao;
import com.yihu.utils.security.MD5;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
@ -31,6 +32,8 @@ public class UserService {
    private ObjectMapper objectMapper;
    @Autowired
    private UserDao userDao;
    @Autowired
    private StringRedisTemplate redisTemplate;
    //用手机号注册账号
    public UserDO registerWithMobile(UserDO userDO) {
@ -101,4 +104,27 @@ public class UserService {
            return false;
        }
    }
    public String updateUserDoPw(String mobile,String pw){
        UserDO userDO = userDao.findByMobile(mobile);
        if (null!=userDO){
            String salt = randomString(5);
            userDO.setPassword(MD5.md5Hex(pw + "{" + salt + "}"));
            userDO.setSalt(salt);
            userDao.save(userDO);
            saveUserPwlimitDate(userDO.getId());
            return "ok";
        }
        return "false";
    }
    public boolean saveUserPwlimitDate(String user){
        String key = "base:authPw:user:" + user;
        com.alibaba.fastjson.JSONObject valueJson = new com.alibaba.fastjson.JSONObject();
        valueJson.put("updateTime",new Date().getTime());
        valueJson.put("isChanged",true);
        redisTemplate.opsForValue().set(key,valueJson.toJSONString());
        return true;
    }
}

+ 12 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/common/FileUploadController.java

@ -59,6 +59,8 @@ public class FileUploadController extends EnvelopRestEndpoint {
    private String isClose;
    @Value("${testPattern.remote_inner_url}")
    private String remote_inner_url;
    @Value("${spring.profiles}")
    private String springProfile;//环境
    @Autowired
    private ObjectMapper objectMapper;
@ -195,6 +197,16 @@ public class FileUploadController extends EnvelopRestEndpoint {
            /*@ApiParam(value = "jsonData", required = true)
            @RequestBody MutilFileInfo param, HttpServletResponse response, HttpServletRequest request*/){
        try {
            if ("iottest".equals(springProfile)||//物联网
                    "iotprod".equals(springProfile)||//物联网
                    "iotprodIn".equals(springProfile)//物联网
            ){
                String originalFileName = file.getOriginalFilename();
                String fileType = originalFileName.substring(originalFileName.lastIndexOf(".") + 1).toLowerCase();
                if (org.apache.commons.lang3.StringUtils.isBlank(fileType) || !"doc、docx、pdf、xls、xlsx、jpg、jpeg、png".contains(fileType)) {
                    return ObjEnvelop.getError("附件文件格式不正确");
                }
            }
            UploadVO uploadVO = new UploadVO();
            if (isClose.equalsIgnoreCase("1")){
                Map<String, Object> map = fileUploadService.uploadImg(file);

+ 11 - 3
svr/svr-base/src/main/java/com/yihu/jw/base/service/user/UserService.java

@ -89,7 +89,8 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
    @Value("${wechat.flag}")
    private boolean flag;
    @Value("${spring.profiles}")
    private String springProfile;//环境
    public UserDO registerWithIdcard(UserDO userDO) {
        userDO.setSalt(randomString(5));
@ -752,9 +753,16 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
        user.setEnabled(true);
        user.setLocked(false);
        user.setLoginFailureCount(0);
        user.setPassword(MD5.md5Hex(password + "{" + user.getSalt() + "}"));
        if ("iottest".equals(springProfile)||//物联网
             "iotprod".equals(springProfile)||//物联网
             "iotprodIn".equals(springProfile)//物联网
        ) {
            user.setPassword(MD5.md5Hex("a"+password+"*" + "{" + user.getSalt() + "}"));
        }else {
            user.setPassword(MD5.md5Hex(password + "{" + user.getSalt() + "}"));
        }
        userDao.save(user);
        
        saveUserPwlimitDate(userId);
        result.put("response",ConstantUtils.SUCCESS);
        result.put("msg", password);
        return result;

+ 2 - 2
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/hospital/WlyyFamilyMemberController.java

@ -216,7 +216,7 @@ public class WlyyFamilyMemberController extends EnvelopRestEndpoint {
                } else {
                    result = 2;
                }
                if (0 == result) {
                if (1 == result) {
                    this.store(client_id, phoneNum, captcha, 120);
                    mixEnvelop.setMessage("验证码发送成功");
                } else if (2 == result) {
@ -307,7 +307,7 @@ public class WlyyFamilyMemberController extends EnvelopRestEndpoint {
            System.out.println("发送中山验证码开始");
            int result = 1;
            result = zhongShanSMSService.ZhongShangSendSMS(phoneNum, "您好,您当前操作的验证码是:" + captcha + ",2分钟内有效。如非本人操作,请忽略");
            if (0 == result) {
            if (1 == result) {
                this.store(client_id, phoneNum, captcha, 120);
                mixEnvelop.setMessage("验证码发送成功");
            } else {