forked from kidgrow-microservices-platform

houruijun
2020-08-09 92257d291a9d171a15b22c1fc6527b1a909ac3f6
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java
@@ -9,10 +9,10 @@
import com.kidgrow.common.utils.StringUtils;
import com.kidgrow.redis.util.RedisConstant;
import com.kidgrow.redis.util.RedisUtils;
import com.kidgrow.usercenter.mapper.SysDoctorMapper;
import com.kidgrow.usercenter.mapper.SysRoleMapper;
import com.kidgrow.usercenter.mapper.SysUserRoleMapper;
import com.kidgrow.usercenter.mapper.*;
import com.kidgrow.usercenter.model.SysDepartment;
import com.kidgrow.usercenter.model.SysDoctor;
import com.kidgrow.usercenter.model.SysHospital;
import com.kidgrow.usercenter.model.SysRoleUser;
import com.kidgrow.usercenter.service.ISysDoctorService;
import com.kidgrow.usercenter.service.ISysUserOrgService;
@@ -61,6 +61,10 @@
    private SysRoleOrganizationServiceImpl SysRoleOrganizationServiceImpl;
    @Autowired
    private SysRoleMapper sysRoleMapper;
    @Autowired
    private SysHospitalMapper sysHospitalMapper;
    @Autowired
    private SysDepartmentMapper sysDepartmentMapper;
    @Autowired
    private SysUserRoleMapper sysUserRoleMapper;
    @Autowired
@@ -125,6 +129,22 @@
        params.put("userId", userId);
        return baseMapper.deleteByMap(params);
    }
    /**
     * 统计医生的数量
     * @param datatype 业务类型
     *                 0 自注册医生
     *                 1 签约医生
     *                 2 医答医生
     *                 3 C端医生
     *                 4 H端医生
     *                 5 待审核医生
     * @return
     */
    @Override
    public int chartDoctor(int datatype) {
        return baseMapper.chartDoctor(datatype);
    }
    @Override
    public ResultBody enable(Map<String, Object> params) {
        Long aLong = MapUtils.getLong(params,"id");
@@ -193,7 +213,8 @@
         if(sysUserServiceImpl.departmetAccountsCount(sysDoctor.getDepartmentId())<=0){
             return ResultBody.failed("该部门创建人数已经达到上限");
         }
            Long departmentId = sysDoctor.getDepartmentId();
            SysHospital sysHospital= sysHospitalMapper.selectById(sysDoctor.getHospitalId());
            SysDepartment sysDepartment= sysDepartmentMapper.selectById(sysDoctor.getDepartmentId());
            if (sysDoctor.getId()==null) {
                //保存
                SysUser sysUser=new SysUser();
@@ -202,7 +223,7 @@
                sysUser.setNickname(sysDoctor.getHospitalName());
                sysUser.setHeadImgUrl(sysDoctor.getDoctorLogo());
                sysUser.setMobile(sysDoctor.getDoctorTel());
                sysUser.setType(CommonConstant.H_DOCTOR);
                sysUser.setType(UserType.DOCTOR.name());
                sysUser.setTenantId(CommonConstant.H_TENANT);
                sysUser.setCreateTime(new Date());
                SysUser byId = iSysUserService.getById(id);
@@ -239,12 +260,16 @@
                //保存将sys_user_org 保存部门
                SysUserOrg sysUserOrg=new SysUserOrg();
                sysUserOrg.setUserId(sysUser.getId());
                sysUserOrg.setOrgId(sysDoctor.getDepartmentId());
                sysUserOrg.setFromId(sysDoctor.getDepartmentId());
                sysUserOrg.setFromLevel(CommonConstant.SYSTEM_ORG_DEP_LEVEL);
                sysUserOrg.setOrgId(sysDepartment.getOrgId());
                //保存公司
                sysUserOrgService.saveOrUpdate(sysUserOrg);
                SysUserOrg sysGongsi=new SysUserOrg();
                sysGongsi.setUserId(sysUser.getId());
                sysGongsi.setOrgId(sysDoctor.getHospitalId());
                sysGongsi.setOrgId(sysHospital.getOrgId());
                sysGongsi.setFromId(sysDoctor.getHospitalId());
                sysGongsi.setFromLevel(CommonConstant.SYSTEM_ORG_DEP_LEVEL);
                sysUserOrgService.saveOrUpdate(sysGongsi);
                //保存到Redis
                boolean hset = redisUtils.hset(RedisConstant.USER_ORGANIZATION, sysUserOrg.getUserId().toString(), sysUserOrg);
@@ -258,12 +283,16 @@
                SysUserOrg sysUserOrg=new SysUserOrg();
                sysUserOrg.setUserId(getOne.getUserId());
                sysUserOrg.setEnabled(false);
                sysUserOrg.setOrgId(sysDoctor.getDepartmentId());
                sysUserOrg.setFromId(sysDoctor.getDepartmentId());
                sysUserOrg.setFromLevel(CommonConstant.SYSTEM_ORG_DEP_LEVEL);
                sysUserOrg.setOrgId(sysDepartment.getOrgId());
                sysUserOrg.setCreateTime(new Date());
                sysUserOrgService.saveOrUpdate(sysUserOrg);
                SysUserOrg sysGongsi=new SysUserOrg();
                sysGongsi.setUserId(getOne.getId());
                sysGongsi.setOrgId(sysDoctor.getHospitalId());
                sysGongsi.setOrgId(sysHospital.getOrgId());
                sysGongsi.setFromId(sysDoctor.getHospitalId());
                sysGongsi.setFromLevel(CommonConstant.SYSTEM_ORG_DEP_LEVEL);
                sysUserOrgService.saveOrUpdate(sysGongsi);
                baseMapper.updateById(sysDoctor);
                if(redisUtils.hHasKey(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString())){