yeshijie 4 tahun lalu
induk
melakukan
a59f6fc917

+ 13 - 4
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/family/FamilyMemberEndpoint.java

@ -314,12 +314,21 @@ public class FamilyMemberEndpoint extends EnvelopRestEndpoint {
    @RequestMapping(value = "/addMemberByCaptcha", method = RequestMethod.POST)
    @ApiOperation(value = "通过手机验证码新增家庭成员")
    public Envelop addMemberByCaptcha(@RequestParam("member") String member,
    public Envelop addMemberByCaptcha(@RequestParam("idcard") String idcard,
                                      @RequestParam("name") String name,
                                      @RequestParam("mobile") String mobile,
                                      @RequestParam("archiveType") Integer archiveType,
                                     @RequestParam("captcha") String captcha,
                                     @RequestParam("relation") int relation){
        try {
            if (StringUtils.isEmpty(member)) {
                return failed( "添加成员不能为空",-1);
            if (StringUtils.isEmpty(idcard)) {
                return failed( "添加成员身份证不能为空",-1);
            }
            if (StringUtils.isEmpty(name)) {
                return failed( "添加成员姓名不能为空",-1);
            }
            if (StringUtils.isEmpty(mobile)) {
                return failed( "添加成员手机号不能为空",-1);
            }
            if (StringUtils.isEmpty(captcha)) {
                return failed( "验证码不能为空",-1);
@ -328,7 +337,7 @@ public class FamilyMemberEndpoint extends EnvelopRestEndpoint {
                return failed( "家庭关系无效",-1);
            }
            int result = familyMemberService.addMemberByCaptcha(getUID(),member,captcha,relation);
            int result = familyMemberService.addMemberByCaptcha(getUID(),idcard,name,mobile,archiveType,captcha,relation);
            if(result==0){
                return failed( "不能添加自己",-1);

+ 28 - 15
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/family/PatientFamilyMemberService.java

@ -19,10 +19,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.PostConstruct;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@ -715,31 +712,47 @@ public class PatientFamilyMemberService extends BaseJpaService<BasePatientFamily
    }
    @Transactional
    public int addMemberByCaptcha(String patient, String member, String captcha, int relation) throws Exception {
        if (patient.equals(member)) {
            return 0;
        }
    public int addMemberByCaptcha(String patient, String idcard, String name, String mobile, Integer archiveType, String captcha, int relation) throws Exception {
        BasePatientDO p = patientDao.findById(patient);
        BasePatientDO m = patientDao.findById(member);
        if (p == null) {
            return -1;
        }
        // 添加的成员是否注册判断
        if (m == null) {
            return -2;
        if(idcard.equals(p.getIdcard())){
            return 0;
        }
//        // 验证码验证
        //        // 验证码验证
//        if (StringUtils.isNotEmpty(captcha)) {
//            int checkStatus = smsService.check(m.getMobile(), 10, captcha);
//            int checkStatus = smsService.check(mobile, 10, captcha);
//            if (checkStatus == -2) {
//                return -6;  // 验证码过期
//            } else if (checkStatus == -1) {
//                return -3; // 验证码错误
//            }
//        }
        BasePatientDO m = patientDao.findByIdcard(idcard);
        String member = "";
        // 添加的成员是否注册判断
        if (m == null) {
            //新增账户
            m = new BasePatientDO();
            String salt = UUID.randomUUID().toString().substring(0,5);
            String pw = idcard.substring(idcard.length()-6,idcard.length());
            m.setPassword(com.yihu.utils.security.MD5.md5Hex(pw + "{" + salt + "}"));
            m.setSalt(salt);
            m.setMobile(mobile);
            m.setDel("1");
            m.setEnabled(1);
            m.setLocked(0);
            m.setCreateTime(new Date());
            m.setUpdateTime(new Date());
            m.setName(name);
            m.setIdcard(idcard);
            m.setArchiveType(archiveType);
            patientDao.save(m);
        }
        member = m.getId();
        return addMemberFamily(p, m, patient, member, relation);
    }