From 03f4f6946461026ed63580556c17664d37833c75 Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <913652501@qq.com> Date: Wed, 01 Jul 2020 21:23:23 +0800 Subject: [PATCH] 修改 添加医生的接口 --- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysRoleService.java | 6 ++ kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysRoleController.java | 10 +++ kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java | 2 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java | 3 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysRoleServiceImpl.java | 6 ++ kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html | 57 ++++++++++++++++-- kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml | 2 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java | 9 -- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java | 69 ++++++++++++++++++---- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml | 2 kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/apiUrl.js | 4 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysDoctorDto.java | 3 + 12 files changed, 139 insertions(+), 34 deletions(-) diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysDoctorDto.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysDoctorDto.java index b8900fe..d12312f 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/SysDoctorDto.java +++ b/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; } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java index 616b200..fe8bada 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java +++ b/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); diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysRoleService.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysRoleService.java index 587d490..065f752 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysRoleService.java +++ b/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); } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java index 2eb93eb..5c1eed2 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java +++ b/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 diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysRoleServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysRoleServiceImpl.java index 6fbe510..f6c2c54 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysRoleServiceImpl.java +++ b/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) { diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java index dd955aa..9724248 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java +++ b/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; diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml index 9a55190..26d1d51 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml +++ b/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} diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java index c3c62d7..8095b82 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java +++ b/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); } } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysRoleController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysRoleController.java index 16f9b80..65168fa 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysRoleController.java +++ b/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); + } /** * 角色新增或者更新 diff --git a/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml b/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml index 21c1f92..1b4e921 100644 --- a/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml +++ b/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml @@ -264,7 +264,7 @@ - kidgrow renew: #是否开启token自动续签(目前只有redis实现) - enable: false + enable: true #白名单 includeClientIds: - webApp diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/apiUrl.js b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/apiUrl.js index 6834f25..953b73e 100644 --- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/module/apiUrl.js +++ b/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/'; diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html index d26f60e..15ea8b3 100644 --- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html +++ b/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>  - <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" />  </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) { -- Gitblit v1.8.0