Просмотр исходного кода

Merge branch 'dev' of liuwenbin/wlyy2.0 into dev

liuwenbin 6 лет назад
Родитель
Сommit
07d6bf9dbe

+ 2 - 0
business/base-service/src/main/java/com/yihu/jw/message/dao/MessageDao.java

@ -26,4 +26,6 @@ public interface MessageDao extends PagingAndSortingRepository<BaseMessageDO, St
    @Query("update BaseMessageDO t set t.readState = ?1 where t.id=?2 ")
    int updateStatusById(Integer readState,Integer id);
//    List<BaseMessageDO> getBy(String receiver,String sender,String msgTypeCode,Integer platform);
}

+ 2 - 0
business/base-service/src/main/java/com/yihu/jw/message/service/MessageService.java

@ -74,6 +74,7 @@ public class MessageService extends BaseJpaService<BaseMessageDO, MessageDao> {
        List<Map<String, Object>> unReadResult = messageListSql(platform,code,0,page,unReadPageSize);
        for(Map<String, Object> one:unReadResult){
            Map<String,Object> unReadMap = new HashedMap();
            unReadMap.put("patientCode",one.get("sender"));
            unReadMap.put("name",one.get("sender_name"));
            unReadMap.put("count",one.get("num"));
            unReadMap.put("message",one.get("msg_content"));
@ -85,6 +86,7 @@ public class MessageService extends BaseJpaService<BaseMessageDO, MessageDao> {
            List<Map<String, Object>> readResult = messageListSql(platform,code,1,page,unReadPageSize);
            for(Map<String, Object> one:readResult){
                Map<String,Object> readMap = new HashedMap();
                readMap.put("patientCode",one.get("sender"));
                readMap.put("name",one.get("sender_name"));
                readMap.put("count",one.get("num"));
                readMap.put("message",one.get("msg_content"));

+ 2 - 2
business/base-service/src/main/java/com/yihu/jw/patient/dao/BasePatientDao.java

@ -15,7 +15,7 @@ import java.util.Map;
 */
public interface BasePatientDao extends PagingAndSortingRepository<BasePatientDO, String>, JpaSpecificationExecutor<BasePatientDO> {
    BasePatientDO findByIdAndDel(String id, String del);
    BasePatientDO findById(String id);
    @Query("select id as id,idcard as idcard,name as name,case sex when 1 then '男' when 2 then '女' else '未知' end as sex,mobile as phone,committeeName as committeeName,concat(provinceName,cityName,townName,streetName) as address from BasePatientDO where idcard like ?1")
    List<Map<String,Object>> findByIdcard(String idcard, Pageable pageable);
@ -28,7 +28,7 @@ public interface BasePatientDao extends PagingAndSortingRepository<BasePatientDO
    boolean existsByIdcardAndIdNot(String idcard,String id);
    boolean existsByIdcard(String idcard);
    boolean existsByIdcardAndDel(String idcard,String del);
    @Query("from BasePatientDO where mobile = ?1")
    List<BasePatientDO> findByMobile(String mobile);

+ 2 - 0
business/base-service/src/main/java/com/yihu/jw/patient/dao/BasePatientMedicareCardDao.java

@ -21,4 +21,6 @@ public interface BasePatientMedicareCardDao extends PagingAndSortingRepository<P
    PatientMedicareCardDO findByCode(String code);
    PatientMedicareCardDO findByTypeAndPatientCodeAndDel(String Type,String patientCode,String del);
    boolean existsByCodeAndDel(String code,String del);
}

+ 7 - 0
business/base-service/src/main/java/com/yihu/jw/patient/service/BasePatientMedicardCardService.java

@ -75,4 +75,11 @@ public class BasePatientMedicardCardService<T, R extends CrudRepository> extends
        PatientMedicareCardDO patientMedicareCardDO = basePatientMedicareCardDao.findByTypeAndPatientCodeAndDel(Type,patientCode,del);
        return patientMedicareCardDO;
    }
    public boolean existsByCodeAndDel(String code)throws Exception{
        if(StringUtils.isEmpty(code)){
            throw new Exception("社保卡号不能为空");
        }
        return basePatientMedicareCardDao.existsByCodeAndDel(code,"1");
    }
}

+ 2 - 2
business/base-service/src/main/java/com/yihu/jw/patient/service/BasePatientService.java

@ -169,7 +169,7 @@ public class BasePatientService<T, R extends CrudRepository> extends BaseJpaServ
     * @return
     */
    public BasePatientDO findByIdAndDel(String patient) throws Exception{
        BasePatientDO basePatientDO = basePatientDao.findByIdAndDel(patient,"1");
        BasePatientDO basePatientDO = basePatientDao.findById(patient);
        if(basePatientDO==null){
            throw new Exception("not patient");
        }
@ -184,7 +184,7 @@ public class BasePatientService<T, R extends CrudRepository> extends BaseJpaServ
    public BasePatientDO findByMobileAndDel(String mobile) throws Exception{
        List<BasePatientDO> list = basePatientDao.findByMobileAndDel(mobile,"1");
        if(list.size()<=0){
            throw new Exception("not patient");
            return null;
        }
        return list.get(0);
    }

+ 1 - 1
svr/svr-patient/src/main/java/com/yihu/jw/patient/endpoint/myFamily/MyFamilyEndpoint.java

@ -67,7 +67,7 @@ public class MyFamilyEndpoint extends EnvelopRestEndpoint {
            @ApiParam(name = "familyBindRole", value = "家庭关系关系 1配偶 2父亲 3母亲 4公公 5婆婆 6岳父 7岳母 8子女", required = true)
            @RequestParam(value = "familyBindRole",required = true) Integer familyBindRole) throws Exception {
        try{
            Map<String,Object> patientApplyLog = myFamilyService.bindingMyFamily( getUID(patient), familyMobile, 1,familyBindRole,null);
            Map<String,Object> patientApplyLog = myFamilyService.bindingMyFamily( getUID(patient), familyMobile, 1,familyBindRole,null,null,null);
            return success(patientApplyLog);
        }catch (Exception e){
            e.printStackTrace();

+ 4 - 2
svr/svr-patient/src/main/java/com/yihu/jw/patient/endpoint/personal_info/PatientEndpoint.java

@ -211,8 +211,10 @@ public class PatientEndpoint extends EnvelopRestEndpoint {
            @ApiParam(name = "mobile", value = "手机号")
            @RequestParam(value = "mobile", required = true) String mobile,
            @ApiParam(name = "name", value = "居民名称")
            @RequestParam(value = "name", required = false) String name) throws Exception {
        Map<String, Object> map = patientService.bespeakRegist(mobile,name, 2L);
            @RequestParam(value = "name", required = false) String name,
            @ApiParam(name = "idcard", value = "居民身份证")
            @RequestParam(value = "idcard", required = false) String idcard) throws Exception {
        Map<String, Object> map = patientService.bespeakRegist(mobile,name,idcard, 2L);
        Envelop envelop = new Envelop();
        String code = map.get("code").toString();
        String message = map.get("message").toString();

+ 5 - 1
svr/svr-patient/src/main/java/com/yihu/jw/patient/endpoint/servicepackage/PackageServiceEndpoint.java

@ -116,6 +116,10 @@ public class PackageServiceEndpoint extends EnvelopRestEndpoint {
                                        @RequestParam(value = "patient", required = true)String patient,
                                        @ApiParam(name = "familyName", value = "申请绑定的家人的名称")
                                        @RequestParam(value = "familyName", required = false)String familyName,
                                        @ApiParam(name = "principalNum", value = "医社保号")
                                        @RequestParam(value = "principalNum", required = false)String principalNum,
                                        @ApiParam(name = "idcard", value = "身份证号")
                                        @RequestParam(value = "idcard", required = false)String idcard,
                                        @ApiParam(name = "familyMobile", value = "家人的手机号码")
                                        @RequestParam(value = "familyMobile", required = true)String familyMobile,
                                        @ApiParam(name = "platform", value = "消息平台,1微信端/患者端,2医生APP端")
@ -125,7 +129,7 @@ public class PackageServiceEndpoint extends EnvelopRestEndpoint {
                                        @ApiParam(name = "isAdult", value = "0未成年人 1成年人")
                                        @RequestParam(value = "isAdult", required = true)Integer isAdult) throws Exception {
        ServicePackageSignRecordDO recordDO = toEntity(recordJson, ServicePackageSignRecordDO.class);
        return packageService.signPackageAndFamily(recordDO,patient,familyMobile,platform,familyBindRole,isAdult,familyName);
        return packageService.signPackageAndFamily(recordDO,patient,familyMobile,platform,familyBindRole,isAdult,familyName,principalNum,idcard);
    }
    @GetMapping(value = PatientRequestMapping.SignPackage.findDoctorById)

+ 4 - 0
svr/svr-patient/src/main/java/com/yihu/jw/patient/service/message/MyMessageService.java

@ -25,4 +25,8 @@ public class MyMessageService {
        messageService.updateStatusById(readState,id);
    }
    public void messagedetailList(Integer type,String reciever,String sender){
        
    }
}

+ 42 - 14
svr/svr-patient/src/main/java/com/yihu/jw/patient/service/myFamily/MyFamilyService.java

@ -87,22 +87,32 @@ public class MyFamilyService {
     * @throws Exception
     */
    @Transactional(rollbackFor = Exception.class)
    public Map<String,Object> bindingMyFamily( String patient, String familyMobile, Integer platform,Integer familyBindRole,String familyName) throws Exception{
    public Map<String,Object> bindingMyFamily( String patient, String familyMobile, Integer platform,Integer familyBindRole,String familyName,String principalNum,String idcard) throws Exception{
        BasePatientDO patientDO = patientService.findByIdAndDel(patient);
        //1、检验手机号码是否有存在账号,
        BasePatientDO familyPatient = patientService.findByMobileAndDel(familyMobile);
        Long time = 1000*60*60*24*Long.valueOf(qrCodeFailurTime);
        Long minutes = 60*24*Long.valueOf(qrCodeFailurTime);
        if(familyPatient==null){
            //2、没有存在账号的,预注册一个账号,调用预注册接口
            Map<String,Object> map = patientService.bespeakRegist(familyMobile,familyName,time);
            Map<String,Object> map = patientService.bespeakRegist(familyMobile,familyName,idcard,minutes);
            if(Integer.valueOf(map.get("code")+"")==1){
                familyPatient = (BasePatientDO)map.get("patient");
            }else{
                throw new Exception(map.get("message")+"");
            }
        }
        //生成社保卡号
        if(!StringUtils.isEmpty(principalNum)){
            PatientMedicareCardDO medicareCardDO = new PatientMedicareCardDO();
            medicareCardDO.setCode(principalNum);
            medicareCardDO.setParentType(PatientMedicareCardDO.ParentType.CareCard.getType());
            medicareCardDO.setType(PatientMedicareCardDO.Type.MedicareCard.getType());
            medicareCardDO.setPatientCode(familyPatient.getId());
            medicareCardDO.setDel("1");
            patientMedicareCardService.save(medicareCardDO);
        }
        //3、生成申请绑定的记录
        PatientApplyLog patientApplyLog = patientApplyLogService.findValidOne(patient,familyPatient.getId(),new Date(),familyBindRole);
        if(patientApplyLog==null){
@ -171,9 +181,18 @@ public class MyFamilyService {
     * @param familyBindRole 1"配偶",2"父亲",3"母亲",4"公公",5"婆婆",6"岳父",7"岳母",8"女婿",9"儿媳",10"子女"
     * @param isAdult 0未成年人 1成年人
     */
    public Map<String,Object> signBindFamily( String patient, String familyMobile, Integer platform,Integer familyBindRole,Integer isAdult,String familyName) throws Exception{
    public Map<String,Object> signBindFamily( String patient, String familyMobile, Integer platform,Integer familyBindRole,Integer isAdult,
                                              String familyName,String principalNum,String idcard) throws Exception{
        //判断身份证号和社保卡号重复问题
        if(patientService.existsByIdcard(idcard)){
            throw new Exception("填写身份证已存在!");
        }
        if(patientMedicareCardService.existsByCodeAndDel(principalNum)){
            throw new Exception("填写社保卡号已存在!");
        }
        if(isAdult==1){
            Map<String,Object> p = bindingMyFamily(patient, familyMobile, platform,familyBindRole,familyName);
            Map<String,Object> p = bindingMyFamily(patient, familyMobile, platform,familyBindRole,familyName,principalNum,idcard);
            return p;
        }else if(isAdult==0){
            //注册一个没有手机号码的用户信息
@ -184,6 +203,7 @@ public class MyFamilyService {
            familyPatient.setLoginFailureCount(0);
            familyPatient.setPatientStatus("1");
            familyPatient.setName(familyName);
            familyPatient.setIdcard(idcard);
            familyPatient = patientService.save(familyPatient);
            //生成绑定信息
            BasePatientFamilyMemberDO patientFamilyMember = new BasePatientFamilyMemberDO();
@ -193,15 +213,15 @@ public class MyFamilyService {
            patientFamilyMember.setIsAuthorize(1);//0:未授权,1:已授权
            patientFamilyMember.setDel(1);
            patientFamilyMemberService.save(patientFamilyMember);
//            //生成家人绑定信息
//            BasePatientFamilyMemberDO patientFamilyMember2 = new BasePatientFamilyMemberDO();
//            patientFamilyMember2.setPatient(familyPatient.getId());
//            patientFamilyMember2.setFamilyMember(familyPatient.getName());
//            BasePatientDO createUser = patientService.findByIdAndDel(patient);
//            patientFamilyMember2.setFamilyRelation(familyRelationTrans(familyBindRole,createUser.getSex()));
//            patientFamilyMember2.setIsAuthorize(1);
//            patientFamilyMember2.setDel(1);
//            patientFamilyMemberService.save(patientFamilyMember2);
            //生成家人绑定信息
            BasePatientFamilyMemberDO patientFamilyMember2 = new BasePatientFamilyMemberDO();
            patientFamilyMember2.setPatient(familyPatient.getId());
            patientFamilyMember2.setFamilyMember(patient);
            BasePatientDO createUser = patientService.findByIdAndDel(patient);
            patientFamilyMember2.setFamilyRelation(familyRelationTrans(familyBindRole,createUser.getSex()));
            patientFamilyMember2.setIsAuthorize(1);
            patientFamilyMember2.setDel(1);
            patientFamilyMemberService.save(patientFamilyMember2);
        }
        return null;
    }
@ -379,6 +399,9 @@ public class MyFamilyService {
        map.put("name",basePatientDO.getName());//姓名
        map.put("cardTypeName","身份证");
        map.put("idcard",basePatientDO.getIdcard());//身份证
        map.put("photo",basePatientDO.getPhoto());//头像
        map.put("role","自己");//角色
        map.put("isAuthorize",1);//授权
        PatientMedicareCardDO patientMedicareCardDO = patientMedicareCardService.findByTypeAndPatientCodeAndDel(PatientMedicareCardDO.Type.MedicareCard.getType(),patient,"1");
        if(patientMedicareCardDO!=null){
@ -421,6 +444,11 @@ public class MyFamilyService {
                }
            }
            map2.put("photo",basePatientDO.getPhoto());//头像
            map2.put("role",role.get(one.getFamilyRelation()-1));//角色
            //判断家人是否授权
            BasePatientFamilyMemberDO o = patientFamilyMemberService.findByPatientAndFamilyMemberAndDel(one.getFamilyMember(),one.getPatient());
            map2.put("isAuthorize",o.getIsAuthorize());//授权
            resultList.add(map2);
        }
        return resultList;

+ 4 - 2
svr/svr-patient/src/main/java/com/yihu/jw/patient/service/personal_Info/PatientService.java

@ -120,7 +120,8 @@ public class PatientService extends BasePatientService<BasePatientDO, BasePatien
     * @param time 预注册过期时间 例如: 2 , 则2分钟过期
     * @return
     */
    public Map<String,Object> bespeakRegist(String mobile,String name,long time){
    @Transactional(rollbackFor = Exception.class)
    public Map<String,Object> bespeakRegist(String mobile,String name,String idcard,long time){
        Map<String, Object> map = new HashMap<>();
        boolean b = CommonUtils.isMobile(mobile);
@ -151,6 +152,7 @@ public class PatientService extends BasePatientService<BasePatientDO, BasePatien
            patient.setLoginFailureCount(0);
            patient.setPatientStatus("1");
            patient.setName(name);
            patient.setIdcard(idcard);
            patient = this.save(patient);
        }else{
            patient = list.get(0);
@ -293,7 +295,7 @@ public class PatientService extends BasePatientService<BasePatientDO, BasePatien
     */
    public boolean existsByIdcard(String idcard) {
        Preconditions.checkNotNull(idcard, "身份证不可为空");
        return basePatientDao.existsByIdcard(idcard);
        return basePatientDao.existsByIdcardAndDel(idcard,"1");
    }

+ 3 - 2
svr/svr-patient/src/main/java/com/yihu/jw/patient/service/servicepackage/PackageService.java

@ -251,9 +251,10 @@ public class PackageService {
        return Envelop.getSuccess(PatientRequestMapping.SignPackage.api_success);
    }
    public Envelop signPackageAndFamily(ServicePackageSignRecordDO recordDO,String patient, String familyMobile, Integer platform, Integer familyBindRole, Integer isAdult,String familyName) throws Exception{
    public Envelop signPackageAndFamily(ServicePackageSignRecordDO recordDO,String patient, String familyMobile, Integer platform, Integer familyBindRole,
                                        Integer isAdult,String familyName,String principalNum,String idcard) throws Exception{
        //1.绑定家人
        myFamilyService.signBindFamily(patient,familyMobile,platform,familyBindRole,isAdult,familyName);
        myFamilyService.signBindFamily(patient,familyMobile,platform,familyBindRole,isAdult,familyName,principalNum,idcard);
        //2.服务签约
        servicePackageSignRecordDao.save(recordDO);