forked from kidgrow-microservices-platform

zhaoxiaohao
2020-07-01 03f4f6946461026ed63580556c17664d37833c75
修改  添加医生的接口
12 files modified
173 ■■■■ changed files
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysDoctorDto.java 3 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java 2 ●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysRoleService.java 6 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java 69 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysRoleServiceImpl.java 6 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java 3 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml 2 ●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java 9 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysRoleController.java 10 ●●●●● patch | view | raw | blame | history
kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml 2 ●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/apiUrl.js 4 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html 57 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysDoctorDto.java
@@ -2,8 +2,11 @@
import lombok.Data;
import java.util.List;
@Data
public class SysDoctorDto extends  SysDoctorVo {
    private String username;
    private String password;
    private List<Long> roles;
}
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java
@@ -40,7 +40,7 @@
    ResultBody enable(Map<String, Object> params);
    boolean saveOrUpdateSer(SysDoctorDto sysDoctor, HttpServletRequest request,SysUser user);
    ResultBody saveOrUpdateSer(SysDoctorDto sysDoctor, HttpServletRequest request,SysUser user);
    List<SysDoctor> findByMap(Map<String, Object> map);
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysRoleService.java
@@ -47,4 +47,10 @@
     * @return
     */
    ResultBody updateEnabled(Map<String, Object> params);
    /**
     * 用户管理根据条件查询角色
     * @return
     */
    List<SysRole> findByMap(Map<String, Object> params);
}
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java
@@ -29,6 +29,7 @@
import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.stream.Collectors;
/**
 * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
@@ -62,8 +63,10 @@
    private SysRoleMapper sysRoleMapper;
    @Autowired
    private SysUserRoleMapper sysUserRoleMapper;
    @Autowired
    private SysUserServiceImpl sysUserServiceImpl;
    private final String HOSPITAL_ADMIN="hospital_admin";
//    private final String HOSPITAL_ADMIN="hospital_admin";
    @Override
    public PageResult<SysDoctorVo> findList(Map<String, Object> params, SysUser user) {
@@ -146,11 +149,51 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean saveOrUpdateSer(SysDoctorDto sysDoctor, HttpServletRequest request,SysUser user) {
    public ResultBody saveOrUpdateSer(SysDoctorDto sysDoctor, HttpServletRequest request,SysUser user) {
        String id = request.getHeader(SecurityConstants.USER_ID_HEADER);
        if(null==sysDoctor){
           return  false;
           return  ResultBody.failed("请填写信息");
        }else {
            if(sysDoctor.getRoles()==null||sysDoctor.getRoles().size()<=0){
                return  ResultBody.failed("选择一个角色");
            }
            /**
             * 限制管理员只有一个
             */
            Boolean flag=false;
            if(sysDoctor.getRoles().contains(CommonConstant.HOSPITAL_ADMIN_ID)){
                //查询一个部门下的所有医生
                QueryWrapper wrapper=new QueryWrapper();
                wrapper.eq("is_del",0);
                wrapper.eq("enabled",1);
                wrapper.eq("department_id",sysDoctor.getDepartmentId());
                List<SysDoctor> doctoerList = this.baseMapper.selectList(wrapper);
                if(doctoerList.size()>0){
                    //查询role——user
                    List<Long> collect = doctoerList.stream().map(e -> e.getUserId()).collect(Collectors.toList());
                    wrapper=new QueryWrapper();
                    wrapper.in("user_id",collect);
                    List<SysRoleUser>  list= this.sysUserRoleMapper.selectList(wrapper);
                    for (SysRoleUser sysRoleUser : list) {
                        if(sysRoleUser.getRoleId()==CommonConstant.HOSPITAL_ADMIN_ID){
                            flag=true;
                        }
                    }
                }
            }
            if(flag){
                return  ResultBody.failed("该部门已经有管理员");
            }
            /**
             * 限制只有创建医生的个数
             *
             */
         if(sysUserServiceImpl.departmetAccountsCount(sysDoctor.getDepartmentId())<=0){
             return ResultBody.failed("该部门创建人数已经达到上限");
         }
            Long departmentId = sysDoctor.getDepartmentId();
            if (sysDoctor.getId()==null) {
                //保存
                SysUser sysUser=new SysUser();
@@ -169,19 +212,19 @@
                }
                iSysUserService.save(sysUser);
                //保存  角色信息
                Map<String,Object> map= new HashMap<>();
                map.put("code",HOSPITAL_ADMIN);
                map.put("enabled",1);
                map.put("is_del",0);
                List<SysRole> sysRoles = sysRoleMapper.selectByMap(map);
                if(sysRoles.size()>0){
//                Map<String,Object> map= new HashMap<>();
//                map.put("code",HOSPITAL_ADMIN);
//                map.put("enabled",1);
//                map.put("is_del",0);
//                List<SysRole> sysRoles = sysRoleMapper.selectByMap(map);
//                if(sysRoles.size()>0){
                    //保存一个角色
                    SysRole sysRole = sysRoles.get(0);
                sysDoctor.getRoles().forEach(e->{
                    SysRoleUser sysRoleUser=new SysRoleUser();
                    sysRoleUser.setRoleId(sysRole.getId());
                    sysRoleUser.setRoleId(e);
                    sysRoleUser.setUserId(sysUser.getId());
                    int insert = sysUserRoleMapper.insert(sysRoleUser);
                }
                });
                //保存doctor的数据
                SysDoctor sysDoc=new SysDoctor();
                BeanCopier beanCopier = BeanCopier.create(SysDoctorDto.class, SysDoctor.class, false);
@@ -229,7 +272,7 @@
                redisUtils.hset(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString(), sysUserOrg);
            }
        }
        return true;
        return ResultBody.ok();
    }
    @Override
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysRoleServiceImpl.java
@@ -85,6 +85,12 @@
        return baseMapper.findAll();
    }
    @Override
    public List<SysRole> findByMap(Map<String, Object> params) {
        params.put("is_del",0);
        params.put("enabled",1);
        return baseMapper.selectByMap(params);
    }
    @Override
    public ResultBody updateEnabled(Map<String, Object> params) {
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java
@@ -940,6 +940,7 @@
    public boolean phoneIsUsed(String phone) {
        Map<String, Object> selectMap = new HashMap<>();
        selectMap.put("mobile", phone);
        selectMap.put("is_del", 0);
        List<SysUser> sysUsers = baseMapper.selectByMap(selectMap);
        return (sysUsers.size() > 0);
    }
@@ -950,7 +951,7 @@
     * @param depatmentId
     * @return
     */
    private Integer departmetAccountsCount(Long depatmentId) {
    public Integer departmetAccountsCount(Long depatmentId) {
        SysDepartment sysDepartment = departmentService.getById(depatmentId);
        if (sysDepartment == null) {
            return 0;
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml
@@ -22,7 +22,7 @@
                and hospital_id = #{p.hospitalId}
            </if>
            <if test="p.hospitalName != null and p.hospitalName !=''">
                and hospital_name = #{p.hospitalName}
                and hospital_name like '%${p.hospitalName}%'
            </if>
            <if test="p.departmentId != null and p.departmentId !=''">
                and department_id = #{p.departmentId}
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java
@@ -110,14 +110,7 @@
            }
            return ResultBody.failed().msg(errMsg.toString());
        } else {
            boolean v= sysDoctorService.saveOrUpdateSer(sysDoctor,request,user);
            if(v) {
                return ResultBody.ok().data(sysDoctor).msg("保存成功");
            }
            else {
                return ResultBody.failed().msg("保存失败");
            }
            return sysDoctorService.saveOrUpdateSer(sysDoctor,request,user);
        }
    }
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysRoleController.java
@@ -71,6 +71,16 @@
        List<SysRole> result = sysRoleService.findAll();
        return ResultBody.ok().data(result);
    }
    /**
     * 用户管理根据条件查询角色
     * @return
     */
    @ApiOperation(value = "后台管理查询角色")
    @GetMapping("/findByMap")
    public ResultBody<List<SysRole>> findByMap(@RequestParam Map<String, Object> params) {
        List<SysRole> result = sysRoleService.findByMap(params);
        return ResultBody.ok().data(result);
    }
    /**
     * 角色新增或者更新
kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml
@@ -264,7 +264,7 @@
          - kidgrow
      renew:
        #是否开启token自动续签(目前只有redis实现)
        enable: false
        enable: true
        #白名单
        includeClientIds:
          - webApp
kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/apiUrl.js
@@ -1,4 +1,4 @@
// var my_api_server_url = 'http://zuul.kidgrow.com/';
var my_api_server_url = 'http://192.168.2.240:8888/';
// var my_api_server_url = 'http://127.0.0.1:8888/';
// var my_api_server_url = 'http://192.168.2.240:8888/';
var my_api_server_url = 'http://127.0.0.1:8888/';
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html
@@ -17,7 +17,7 @@
                        <option value="true">正常</option>
                        <option value="false">试用</option>
                    </select>&emsp;
                    <input name="hospitalName-seach" id="hospitalName-seach" placeholder="请输入医院名称" type="text"
                    <input name="hospitalName" id="hospitalName-seach" placeholder="请输入医院名称" type="text"
                        class="layui-input search-input" maxlength="50" autocomplete="off" />&emsp;
                </div>
                <button id="app-btn-search" class="layui-btn icon-btn permissions" layt="abc"
@@ -298,13 +298,13 @@
        <div class="layui-form-item">
            <label class="layui-form-label" >登录密码</label>
            <div class="layui-input-block">
                <input name="password"  type="text" lay-verify="required" class="layui-input" maxlength="15" lay-verify="required" required/>
                <input name="password"  type="password" lay-verify="required" class="layui-input" maxlength="15" lay-verify="required|phone" required/>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label" >确认密码</label>
            <div class="layui-input-block">
                <input name="passwordSure"  type="text" lay-verify="required|confirmPass" class="layui-input" maxlength="15"/>
                <input name="passwordSure"  type="password" lay-verify="required|confirmPass" class="layui-input" maxlength="15"/>
            </div>
        </div>
    </div>
@@ -322,6 +322,13 @@
                </blockquote>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label" >角色</label>
            <div class="layui-input-block">
                <select name="roleId" xm-select="roleId" lay-verify="required">
                </select>
            </div>
        </div>
    </div>
    
        <div class="layui-form-item model-form-footer">
@@ -333,7 +340,7 @@
<script>
    layui.use(['form', 'table', 'laydate', 'util', 'config', 'upload', 'admin', 'autocomplete'], function () {
    layui.use(['form', 'table', 'laydate', 'util', 'config', 'upload', 'admin', 'autocomplete','formSelects'], function () {
        var form = layui.form;
        var table = layui.table;
        var config = layui.config;
@@ -342,6 +349,7 @@
        var admin = layui.admin;
        var upload = layui.upload;
        var autocomplete = layui.autocomplete;
        var formSelects = layui.formSelects;
        var $ = layui.jquery;
        form.verify({ confirmPass: function (value) { if ($('input[name=password]').val() !== value) return '两次密码输入不一致!'; } });
@@ -537,12 +545,41 @@
                $("#hospitalId").val("");
            }
            var doctorState = $('#doctorState').val();
            var hospitalName = $("#hospitalId").val();
            var hospitalName = $("#hospitalName-seach").val();
            var doctorTel = $('#doctorTel').val();
            var doctorName = $('#doctorName').val();
            table.reload('app-table', { where: { doctorState: doctorState, hospitalId: hospitalName, doctorTel: doctorTel, doctorName: doctorName } });
            table.reload('app-table', { where: { doctorState: doctorState, hospitalName: hospitalName, doctorTel: doctorTel, doctorName: doctorName } });
        });
        //获取角色
        var get_role=function(){
            admin.req('api-user/findByMap?tenant_id=hospital',{}, function (data) {
            layer.closeAll('loading');
            if (0 == data.code) {
                // 渲染多选下拉框
                var roleSelectData = new Array();
                for (var i = 0; i < data.data.length; i++) {
                    roleSelectData.push({name: data.data[i].name, value: data.data[i].id});
                }
                formSelects.data('roleId', 'local', {arr: roleSelectData});
                // 回显user数据
                var user = admin.getTempData('t_user');
                $('#user-form').attr('method', 'POST');
                if (user) {
                    form.val('user-form', user);
                    $('#user-form').attr('method', 'POST');
                    var rds = new Array();
                    for (var i = 0; i < user.roles.length; i++) {
                        rds.push(user.roles[i].id);
                    }
                    formSelects.value('roleId', rds);
                }
            } else {
                layer.msg('获取角色失败', {icon: 2, time: 500});
            }
        }, 'GET');
        }
        // 显示新增弹窗
        var showEditModel_add = function () {
            layer.open({
@@ -561,6 +598,8 @@
                    getZhiCheng();
                    //获取销售代表
                    getXiaoShouDaiBiao();
                    //获取角色
                    get_role();
                    var upload = layui.upload;
                    //执行实例
                    upload.render({
@@ -698,6 +737,10 @@
        form.on('submit(user-form-submit)', function (data) {
            layer.load(2);
            data.field.hospitalId = parseInt(data.field.hospitalId);
            if(data.field.roleId!=null&&data.field.roleId!=""){
                data.field.roles=data.field.roleId.split(',');
            }
            data.field.roleId=null;
            admin.req('api-user/sysdoctor', JSON.stringify(data.field), function (data) {
                layer.closeAll('loading');
                if (data.code == 0) {