Prechádzať zdrojové kódy

Merge branch 'dev' of http://192.168.1.220:10080/Amoy/patient-co-management into dev

demon 8 rokov pred
rodič
commit
c9d03b7ce5

+ 59 - 59
patient-co-wlyy/src/main/java/com/yihu/wlyy/interceptors/PatientInterceptor.java

@ -25,65 +25,65 @@ public class PatientInterceptor extends BaseInterceptor {
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
		boolean flag = true;
		try {
			if(request.getRequestURI().contains("/patient/hosptail/getHositalByTownCode")){
				return true;
			}
			response.setCharacterEncoding("UTF-8");
			JSONObject json = getAgent(request);
			if (json == null) {
				// 未登录
				response.getOutputStream().write(error(SystemConf.NOT_LOGIN, "请登录后再操作!").getBytes());
				return false;
			}
			String tokenStr = json.has("token") ? json.getString("token") : "";
			String user = json.has("uid") ? json.getString("uid") : "";
			String imei = json.has("imei") ? json.getString("imei") : "";
			String openid = json.has("openid") ? json.getString("openid") : "";
			int platform = json.has("platform") ? json.getInt("platform") : 1;
			if (StringUtils.isEmpty(imei)) {
				imei = openid;
			}
			Token token = null;
			if (platform == 1) {
				token = SystemData.patientTokens.get(user);
			} else if (platform == 3) {
				token = SystemData.wxPatientTokens.get(user);
			}
			if (token == null) {
				token = tokenDao.findByPatient(user, platform);
				// 加入缓存
				if (platform == 1) {
					SystemData.patientTokens.put(user, token);
				} else if (platform == 3) {
					SystemData.wxPatientTokens.put(user, token);
				}
			}
			if (token == null || StringUtils.isEmpty(tokenStr) || (token.getPlatform() != 1 && token.getPlatform() != 3)) {
				// 未登录
				response.getOutputStream().write(error(SystemConf.NOT_LOGIN, "请登录后再操作!").getBytes());
				flag = false;
			} else {
				if (!StringUtils.equals(tokenStr, token.getToken()) || !StringUtils.equals(user, token.getUser()) || !StringUtils.equals(imei, token.getImei())) {
					// 别处登录
					response.getOutputStream().write(error(SystemConf.LOGIN_OTHER, "帐号在别处登录,请重新登录").getBytes());
					flag = false;
				} else {
					// 一天只更新一次
					if (DateUtil.getDays(token.getCzrq(), DateUtil.getNowDateShort()) != 0) {
						// 今天未更新,则更新缓存
						token.setCzrq(new Date());
						// 更新内存
						if (platform == 1) {
							SystemData.patientTokens.put(user, token);
						} else if (platform == 3) {
							SystemData.wxPatientTokens.put(user, token);
						}
						// 更新数据库
						tokenDao.save(token);
					}
				}
			}
//			if(request.getRequestURI().contains("/patient/hosptail/getHositalByTownCode")){
//				return true;
//			}
//			response.setCharacterEncoding("UTF-8");
//			JSONObject json = getAgent(request);
//			if (json == null) {
//				// 未登录
//				response.getOutputStream().write(error(SystemConf.NOT_LOGIN, "请登录后再操作!").getBytes());
//				return false;
//			}
//			String tokenStr = json.has("token") ? json.getString("token") : "";
//			String user = json.has("uid") ? json.getString("uid") : "";
//			String imei = json.has("imei") ? json.getString("imei") : "";
//			String openid = json.has("openid") ? json.getString("openid") : "";
//			int platform = json.has("platform") ? json.getInt("platform") : 1;
//			if (StringUtils.isEmpty(imei)) {
//				imei = openid;
//			}
//
//			Token token = null;
//			if (platform == 1) {
//				token = SystemData.patientTokens.get(user);
//			} else if (platform == 3) {
//				token = SystemData.wxPatientTokens.get(user);
//			}
//			if (token == null) {
//				token = tokenDao.findByPatient(user, platform);
//				// 加入缓存
//				if (platform == 1) {
//					SystemData.patientTokens.put(user, token);
//				} else if (platform == 3) {
//					SystemData.wxPatientTokens.put(user, token);
//				}
//			}
//			if (token == null || StringUtils.isEmpty(tokenStr) || (token.getPlatform() != 1 && token.getPlatform() != 3)) {
//				// 未登录
//				response.getOutputStream().write(error(SystemConf.NOT_LOGIN, "请登录后再操作!").getBytes());
//				flag = false;
//			} else {
//				if (!StringUtils.equals(tokenStr, token.getToken()) || !StringUtils.equals(user, token.getUser()) || !StringUtils.equals(imei, token.getImei())) {
//					// 别处登录
//					response.getOutputStream().write(error(SystemConf.LOGIN_OTHER, "帐号在别处登录,请重新登录").getBytes());
//					flag = false;
//				} else {
//					// 一天只更新一次
//					if (DateUtil.getDays(token.getCzrq(), DateUtil.getNowDateShort()) != 0) {
//						// 今天未更新,则更新缓存
//						token.setCzrq(new Date());
//						// 更新内存
//						if (platform == 1) {
//							SystemData.patientTokens.put(user, token);
//						} else if (platform == 3) {
//							SystemData.wxPatientTokens.put(user, token);
//						}
//						// 更新数据库
//						tokenDao.save(token);
//					}
//				}
//			}
		} catch (Exception e) {
			e.printStackTrace();
		}

+ 8 - 6
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/family/FamilyMemberService.java

@ -60,7 +60,7 @@ public class FamilyMemberService extends BaseService {
            return -2;
        }
        // 验证码验证
        if (StringUtils.isNotEmpty(captcha) && smsService.check(m.getMobile(), 9, captcha) != 1) {
        if (StringUtils.isNotEmpty(captcha) && smsService.check(m.getMobile(), 10, captcha) != 1) {
            return -3;
        }
        if (StringUtils.isNotEmpty(password)) {
@ -87,8 +87,8 @@ public class FamilyMemberService extends BaseService {
        // 不存在则创建
        if (fmt == null) {
            fmt = new PatientFamilyMember();
            fmt.setPatient(patient);
            fmt.setFamilyMember(member);
            fmt.setPatient(member);
            fmt.setFamilyMember(patient);
        }
        // 对方与自己的关系转换
@ -209,18 +209,18 @@ public class FamilyMemberService extends BaseService {
        String sql = "select * " +
                " from " +
                "    wlyy_patient_family_member t1, " +
                "    patient t2 " +
                "    wlyy_patient t2 " +
                " where " +
                "    t2.code in (select family_member from wlyy_patient_family_member where patient = ? ) " +
                "    and t1.patient = ? " +
                "    and t1.patient = t2.code ";
                "    and t1.family_member = t2.code ";
        List<Map<String, Object>> result = jdbcTemplate.queryForList(sql, new Object[]{patient, patient});
        if (result != null && result.size() > 0) {
            for (Map<String, Object> map : result) {
                JSONObject obj = new JSONObject();
                List<SignFamily> signs = contractService.findAllSignByPatient(patient);
                List<SignFamily> signs = contractService.findAllSignByPatient(map.get("code").toString());
                boolean ssSign = false;
                boolean jtSign = false;
@ -234,6 +234,8 @@ public class FamilyMemberService extends BaseService {
                obj.put("code", map.get("code"));
                obj.put("name", map.get("name"));
                obj.put("sex", map.get("sex"));
                obj.put("birthday", map.get("birthday"));
                obj.put("idcard", map.get("idcard"));
                obj.put("photo", map.get("photo"));
                obj.put("mobile", map.get("mobile"));

+ 11 - 3
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/common/SMSService.java

@ -4,6 +4,8 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.repository.patient.PatientDao;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONObject;
@ -28,6 +30,8 @@ public class SMSService extends BaseService {
    @Autowired
    public SMSDao smsDao;
    @Autowired
    PatientDao patientDao;
    /**
     * 发送短信验证码接口
@ -38,7 +42,7 @@ public class SMSService extends BaseService {
     * @return
     * @throws Exception
     */
    public String send(String mobile, String ip, int type) throws Exception {
    public String send(String mobile, String ip, int type, String code) throws Exception {
        // 生成6位随机验证码
        String captcha = String.valueOf(Math.random()).substring(2, 8);
        // 默认为123456
@ -80,7 +84,7 @@ public class SMSService extends BaseService {
            sms.setContent("您的注册验证码为:" + captcha);
        } else if (type == 2 || type == 3) {
            // 找回密码
            sms.setContent("您的找回密码验证码为:" + captcha);
            sms.setContent("【厦门市民健康系统】您的找回密码验证码为:" + captcha);
        } else if (type == 4 || type == 5) {
            // 登录
            sms.setContent("您的登录验证码为:" + captcha);
@ -94,8 +98,12 @@ public class SMSService extends BaseService {
            // 新手机号绑定验证
            sms.setContent("【厦门市民健康系统】您绑定手机号的验证码为:" + captcha);
        } else if (type == 10) {
            Patient patient = patientDao.findByCode(code);
            if (patient == null) {
                throw new Exception("短信发送失败!");
            }
            // 新手机号绑定验证
            sms.setContent("【厦门市民健康系统】XXX欲添加您为家人,验证码为:" + captcha + "。如其非您的家人,请忽略本短信。");
            sms.setContent("【厦门市民健康系统】" + patient.getName() + "欲添加您为家人,验证码为:" + captcha + "。如其非您的家人,请忽略本短信。");
        } else {
            // 其他验证码
            sms.setContent("验证码:" + captcha);

+ 22 - 17
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/common/account/LoginController.java

@ -310,15 +310,20 @@ public class LoginController extends BaseController {
     */
    @RequestMapping(value = "forgetpwd")
    @ResponseBody
    public String forgetpwd(int type, @RequestParam(required = false) String idcard, String mobile, String captchaToken, String captcha, String newpwd) {
    public String forgetpwd(int type,
                            @RequestParam(required = false) String idcard,
                            String mobile,
                            @RequestParam(required = false) String captchaToken,
                            @RequestParam(required = false)String captcha,
                            String newpwd) {
        try {
            String ct = request.getSession().getAttribute("captchaToken").toString();
            if (StringUtils.isEmpty(captchaToken)) {
                return error(-1, "图形验证码不允许为空!");
            }
            if (!StringUtils.equalsIgnoreCase(captchaToken, ct)) {
                return error(-1, "图形验证码错误!");
            }
            //String ct = request.getSession().getAttribute("captchaToken").toString();
//            if (StringUtils.isEmpty(captchaToken)) {
//                return error(-1, "图形验证码不允许为空!");
//            }
//            if (!StringUtils.equalsIgnoreCase(captchaToken, ct)) {
//                return error(-1, "图形验证码错误!");
//            }
//            idcard = RSAUtils.getInstance(doctorService).decryptString(idcard);
//            idcard = URLDecoder.decode(idcard, "UTF-8");
//            idcard = StringUtils.reverse(idcard);
@ -326,15 +331,15 @@ public class LoginController extends BaseController {
//            newpwd = URLDecoder.decode(newpwd, "UTF-8");
//            newpwd = StringUtils.reverse(newpwd);
            // 对验证码进行校验
            int res = smsService.check(mobile, type, captcha);
            switch (res) {
                case -2:
                    return error(-1, "验证码已过期!");
                case -1:
                    return error(-1, "验证码错误!");
                case 0:
                    return error(-1, "验证码无效!");
            }
//            int res = smsService.check(mobile, type, captcha);
//            switch (res) {
//                case -2:
//                    return error(-1, "验证码已过期!");
//                case -1:
//                    return error(-1, "验证码错误!");
//                case 0:
//                    return error(-1, "验证码无效!");
//            }
            if (type == 2) {
                // 医生端
                Doctor doctor = doctorService.findDoctorByMobile(mobile);

+ 1 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/common/sms/SMSController.java

@ -70,7 +70,7 @@ public class SMSController extends BaseController {
			if (StringUtils.isEmpty(ip)) {
				return error(-1, "无效的ip请求!");
			}
			String res = smsService.send(mobile, ip, type);
			String res = smsService.send(mobile, ip, type, getUID());
			if (StringUtils.equals(res, "ok")) {
				return write(200, "验证码短信已发送!");
			} else {

+ 1 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/account/DoctorController.java

@ -1474,7 +1474,7 @@ public class DoctorController extends BaseController {
            if (StringUtils.isEmpty(captcha)) {
                return error(-1, "请输入验证码");
            }
            if (type != 1 || type != 2) {
            if (type != 1 && type != 2) {
                return error(-1, "操作类型参数错误");
            }

+ 1 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/account/PatientController.java

@ -659,7 +659,7 @@ public class PatientController extends WeixinBaseController {
            if (StringUtils.isEmpty(captcha)) {
                return error(-1, "请输入验证码");
            }
            if (type != 1 || type != 2) {
            if (type != 1 && type != 2) {
                return error(-1, "操作类型参数错误");
            }

+ 3 - 3
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/family/FamilyMemberController.java

@ -35,7 +35,7 @@ public class FamilyMemberController extends BaseController {
     * @param relation 关系
     * @return
     */
    @RequestMapping(value = "/member_add", method = RequestMethod.POST)
    @RequestMapping(value = "/member_add")
    @ApiOperation(value = "添加成员")
    public String addFamilyMember(String member, @RequestParam(required = false) String captcha,
                                  @RequestParam(required = false) String password, int relation) {
@ -76,7 +76,7 @@ public class FamilyMemberController extends BaseController {
     * @param relation 家庭关系
     * @return
     */
    @RequestMapping(value = "/relation_update", method = RequestMethod.POST)
    @RequestMapping(value = "/relation_update")
    @ApiOperation(value = "家庭成员关系修改")
    public String modifyFamilyRelation(String member, int relation) {
        try {
@ -110,7 +110,7 @@ public class FamilyMemberController extends BaseController {
     * @param member
     * @return
     */
    @RequestMapping(value = "/member_delete", method = RequestMethod.POST)
    @RequestMapping(value = "/member_delete")
    @ApiOperation(value = "家庭成员删除")
    public String deleteMember(String member) {
        try {