Commit cbdb14f3 by sdif

用户端代码提交

parent 20fab6ea
...@@ -9,6 +9,7 @@ import com.pz.common.core.validate.AddGroup; ...@@ -9,6 +9,7 @@ import com.pz.common.core.validate.AddGroup;
import com.pz.common.core.validate.EditGroup; import com.pz.common.core.validate.EditGroup;
import com.pz.common.enums.BusinessType; import com.pz.common.enums.BusinessType;
import com.pz.common.utils.poi.ExcelUtil; import com.pz.common.utils.poi.ExcelUtil;
import com.pz.system.domain.Department;
import com.pz.system.domain.bo.DepartmentBo; import com.pz.system.domain.bo.DepartmentBo;
import com.pz.system.domain.vo.DepartmentVo; import com.pz.system.domain.vo.DepartmentVo;
import com.pz.system.service.IDepartmentService; import com.pz.system.service.IDepartmentService;
...@@ -39,11 +40,16 @@ public class AppletDepartmentController extends BaseController { ...@@ -39,11 +40,16 @@ public class AppletDepartmentController extends BaseController {
/** /**
* 查询科室列表 * 查询科室列表
*/ */
@SaCheckPermission("system:department:list")
@GetMapping("/list") @GetMapping("/list")
public R<List<DepartmentVo>> list(DepartmentBo bo) { public R<List<DepartmentVo>> list(DepartmentBo bo) {
return R.ok(iDepartmentService.queryPageList(bo)); return R.ok(iDepartmentService.queryPageList(bo));
} }
/**
* 根据医院查询科室列表
*/
@GetMapping("/DepartmentByHospitalId")
public R<List<Department>> departmentByHospitalId(Integer hospitalId) {
return R.ok(iDepartmentService.departmentByHospitalId(hospitalId));
}
} }
...@@ -14,6 +14,8 @@ import com.pz.common.utils.poi.ExcelUtil; ...@@ -14,6 +14,8 @@ import com.pz.common.utils.poi.ExcelUtil;
import com.pz.merchant.domain.bo.EmployeesBo; import com.pz.merchant.domain.bo.EmployeesBo;
import com.pz.merchant.domain.vo.EmployeesVo; import com.pz.merchant.domain.vo.EmployeesVo;
import com.pz.merchant.service.IEmployeesService; import com.pz.merchant.service.IEmployeesService;
import com.pz.system.domain.bo.DoctorBo;
import com.pz.system.domain.bo.EmployeesCompanyBo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -41,7 +43,6 @@ public class AppletEmployeesController extends BaseController { ...@@ -41,7 +43,6 @@ public class AppletEmployeesController extends BaseController {
/** /**
* 需求广场 * 需求广场
*/ */
@SaCheckPermission("merchant:employees:list")
@GetMapping("/needList") @GetMapping("/needList")
public TableDataInfo<EmployeesVo> needList(EmployeesBo bo, PageQuery pageQuery) { public TableDataInfo<EmployeesVo> needList(EmployeesBo bo, PageQuery pageQuery) {
return iEmployeesService.queryPageAppNeed(bo, pageQuery); return iEmployeesService.queryPageAppNeed(bo, pageQuery);
...@@ -50,7 +51,6 @@ public class AppletEmployeesController extends BaseController { ...@@ -50,7 +51,6 @@ public class AppletEmployeesController extends BaseController {
/** /**
* 排行榜 * 排行榜
*/ */
@SaCheckPermission("merchant:employees:list")
@GetMapping("/rankingList") @GetMapping("/rankingList")
public TableDataInfo<EmployeesVo> rankingList(EmployeesBo bo, PageQuery pageQuery) { public TableDataInfo<EmployeesVo> rankingList(EmployeesBo bo, PageQuery pageQuery) {
return iEmployeesService.queryPageAppRanking(bo, pageQuery); return iEmployeesService.queryPageAppRanking(bo, pageQuery);
...@@ -62,13 +62,20 @@ public class AppletEmployeesController extends BaseController { ...@@ -62,13 +62,20 @@ public class AppletEmployeesController extends BaseController {
* *
* @param id 主键 * @param id 主键
*/ */
@SaCheckPermission("merchant:employees:query")
@GetMapping("/{id}") @GetMapping("/{id}")
public R<EmployeesVo> getInfo(@NotNull(message = "主键不能为空") public R<EmployeesVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Integer id) { @PathVariable Integer id) {
return R.ok(iEmployeesService.queryByApp(id)); return R.ok(iEmployeesService.queryByApp(id));
} }
/**
* 新增陪诊员或者商家
*/
@RepeatSubmit()
@PostMapping("/add")
public R<Void> add(@Validated(AddGroup.class) @RequestBody EmployeesCompanyBo bo) {
bo.setUid(1);
return toAjax(iEmployeesService.insertByBo(bo));
}
} }
package com.pz.applet;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.secure.BCrypt;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.tree.Tree;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import com.pz.common.annotation.Log;
import com.pz.common.core.controller.BaseController;
import com.pz.common.core.domain.PageQuery;
import com.pz.common.core.domain.R;
import com.pz.common.core.domain.entity.SysDept;
import com.pz.common.core.domain.entity.SysRole;
import com.pz.common.core.domain.entity.SysUser;
import com.pz.common.core.page.TableDataInfo;
import com.pz.common.enums.BusinessType;
import com.pz.common.excel.ExcelResult;
import com.pz.common.helper.LoginHelper;
import com.pz.common.utils.StreamUtils;
import com.pz.common.utils.StringUtils;
import com.pz.common.utils.poi.ExcelUtil;
import com.pz.system.domain.vo.SysUserExportVo;
import com.pz.system.domain.vo.SysUserImportVo;
import com.pz.system.domain.vo.UserIdentityVo;
import com.pz.system.listener.SysUserImportListener;
import com.pz.system.service.ISysDeptService;
import com.pz.system.service.ISysPostService;
import com.pz.system.service.ISysRoleService;
import com.pz.system.service.ISysUserService;
import lombok.RequiredArgsConstructor;
import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 用户信息
*
* @author Lion Li
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/applet/user")
public class AppletSysUserController extends BaseController {
private final ISysUserService userService;
private final ISysRoleService roleService;
private final ISysPostService postService;
private final ISysDeptService deptService;
/**
* 获取用户列表
*/
@GetMapping("/list")
public TableDataInfo<SysUser> list(SysUser user, PageQuery pageQuery) {
return userService.selectPageUserList(user, pageQuery);
}
/**
* 获取用户角色
*/
@GetMapping("/getIdentity")
public R<UserIdentityVo> getIdentity() {
return R.ok(userService.checkUserIdentity(1));
}
/**
* 根据用户编号获取详细信息
*
* @param userId 用户ID
*/
@GetMapping(value = {"/", "/{userId}"})
public R<Map<String, Object>> getInfo(@PathVariable(value = "userId", required = false) Long userId) {
userService.checkUserDataScope(userId);
Map<String, Object> ajax = new HashMap<>();
List<SysRole> roles = roleService.selectRoleAll();
ajax.put("roles", LoginHelper.isAdmin(userId) ? roles : StreamUtils.filter(roles, r -> !r.isAdmin()));
ajax.put("posts", postService.selectPostAll());
if (ObjectUtil.isNotNull(userId)) {
SysUser sysUser = userService.selectUserById(userId);
ajax.put("user", sysUser);
ajax.put("postIds", postService.selectPostListByUserId(userId));
ajax.put("roleIds", StreamUtils.toList(sysUser.getRoles(), SysRole::getRoleId));
}
return R.ok(ajax);
}
/**
* 修改用户
*/
@PutMapping
public R<Void> edit(@Validated @RequestBody SysUser user) {
userService.checkUserAllowed(user);
userService.checkUserDataScope(user.getUserId());
if (!userService.checkUserNameUnique(user)) {
return R.fail("修改用户'" + user.getUserName() + "'失败,登录账号已存在");
} else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
return R.fail("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
} else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
return R.fail("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
}
return toAjax(userService.updateUser(user));
}
}
...@@ -10,6 +10,7 @@ import com.pz.common.core.page.TableDataInfo; ...@@ -10,6 +10,7 @@ import com.pz.common.core.page.TableDataInfo;
import com.pz.common.core.domain.PageQuery; import com.pz.common.core.domain.PageQuery;
import com.pz.merchant.domain.vo.OrderInfoVO; import com.pz.merchant.domain.vo.OrderInfoVO;
import com.pz.merchant.domain.vo.TodayOrderListVo; import com.pz.merchant.domain.vo.TodayOrderListVo;
import com.pz.system.domain.bo.EmployeesCompanyBo;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
...@@ -45,7 +46,7 @@ public interface IEmployeesService { ...@@ -45,7 +46,7 @@ public interface IEmployeesService {
/** /**
* 新增陪诊员 * 新增陪诊员
*/ */
Boolean insertByBo(EmployeesBo bo); Boolean insertByBo(EmployeesCompanyBo bo);
/** /**
* 修改陪诊员 * 修改陪诊员
......
...@@ -5,12 +5,15 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; ...@@ -5,12 +5,15 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.pz.common.core.domain.entity.SysUser;
import com.pz.common.core.page.TableDataInfo; import com.pz.common.core.page.TableDataInfo;
import com.pz.common.core.domain.PageQuery; import com.pz.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.pz.common.enums.UserType;
import com.pz.common.utils.StringUtils; import com.pz.common.utils.StringUtils;
import com.pz.merchant.domain.Company;
import com.pz.merchant.domain.bo.EmployeesListBo; import com.pz.merchant.domain.bo.EmployeesListBo;
import com.pz.merchant.domain.bo.SetEmployeeWorkingHourBo; import com.pz.merchant.domain.bo.SetEmployeeWorkingHourBo;
import com.pz.merchant.domain.vo.EmployeesListVo; import com.pz.merchant.domain.vo.EmployeesListVo;
...@@ -18,6 +21,7 @@ import com.pz.merchant.domain.vo.OrderInfoVO; ...@@ -18,6 +21,7 @@ import com.pz.merchant.domain.vo.OrderInfoVO;
import com.pz.merchant.domain.vo.TodayOrderListVo; import com.pz.merchant.domain.vo.TodayOrderListVo;
import com.pz.merchant.mapper.CompanyMapper; import com.pz.merchant.mapper.CompanyMapper;
import com.pz.system.domain.TotalOrder; import com.pz.system.domain.TotalOrder;
import com.pz.system.domain.bo.EmployeesCompanyBo;
import com.pz.system.mapper.CityMapper; import com.pz.system.mapper.CityMapper;
import com.pz.system.mapper.SysUserMapper; import com.pz.system.mapper.SysUserMapper;
import com.pz.system.mapper.TotalOrderMapper; import com.pz.system.mapper.TotalOrderMapper;
...@@ -116,17 +120,41 @@ public class EmployeesServiceImpl implements IEmployeesService { ...@@ -116,17 +120,41 @@ public class EmployeesServiceImpl implements IEmployeesService {
} }
/** /**
* 新增陪诊员 * 新增陪诊员/商户
*/ */
@Override @Override
public Boolean insertByBo(EmployeesBo bo) { public Boolean insertByBo(EmployeesCompanyBo bo) {
Employees add = BeanUtil.toBean(bo, Employees.class); /**
validEntityBeforeSave(add); * 陪诊员新增
boolean flag = baseMapper.insert(add) > 0; */
if (flag) { SysUser sysUser = new SysUser();
bo.setId(add.getId()); sysUser.setUserId(bo.getUid().longValue());
sysUser.setPhonenumber(bo.getPhone());
if(bo.getIdentity() == 2){
Employees add = BeanUtil.toBean(bo, Employees.class);
add.setNowType(1);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
//修改系统表角色
sysUser.setUserType(UserType.APP_USER.getUserType());
sysUserMapper.updateById(sysUser);
}
return flag;
}else if(bo.getIdentity() == 3){//商户新增
Company add = BeanUtil.toBean(bo, Company.class);
boolean flag = companyMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
//修改系统表角色
sysUser.setUserType(UserType.AMERCHANT_USER.getUserType());
sysUserMapper.updateById(sysUser);
}
return flag;
} }
return flag; return false;
} }
/** /**
......
package com.pz.system.domain.bo;
import com.pz.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 新增陪诊员或者商户
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class EmployeesCompanyBo extends BaseEntity {
private Integer id;
/**
* 系统用户id
*/
private Integer uid;
/**
* 身份 2-陪诊员。3-商户
*/
private Integer identity;
/**
* 陪诊员/商户 名称
*/
private String name;
/**
* 身份证正面
*/
private String cardFront;
/**
* 身份证反面
*/
private String cardReverse;
/**
* 健康证
*/
private String healthCertificate;
/**
* 职业开始年份 .demo: 2023-01-23
*/
private String startYear;
/**
* 经度
*/
private String lng;
/**
* 纬度
*/
private String lat;
/**
* 所属商户id
*/
private Integer companyId;
/**
* 商户或者陪诊员手机
*/
private String phone;
/**
* 商户地址
*/
private String address;
/**
* 营业执照
*/
private String businessLicense;
/**
* 是否缴纳保证金
*/
private Integer isCashDeposit;
/**
* 保证金金额
*/
private Double cashDeposit;
}
package com.pz.system.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import lombok.Data;
/**
* 用户身份
*/
@Data
@ExcelIgnoreUnannotated
public class UserIdentityVo {
private static final long serialVersionUID = 1L;
/**
* 用户身份,1-普通用户,2-陪诊员,3-商户
*/
private Integer userType;
/**
* 陪诊员/商户 id
*/
private Integer emCmId;
/**
* 陪诊员/商户 状态:0-待审核,1-正常,2-禁用
*/
private Integer emCmStatus;
}
...@@ -28,6 +28,13 @@ public interface IDepartmentService { ...@@ -28,6 +28,13 @@ public interface IDepartmentService {
List<DepartmentVo> queryPageList(DepartmentBo bo); List<DepartmentVo> queryPageList(DepartmentBo bo);
/** /**
* 根据医院查询科室列表
* @param
* @return
*/
List<Department> departmentByHospitalId(Integer hospitalId);
/**
* 查询科室列表 * 查询科室列表
*/ */
List<DepartmentVo> queryList(DepartmentBo bo); List<DepartmentVo> queryList(DepartmentBo bo);
......
...@@ -3,6 +3,7 @@ package com.pz.system.service; ...@@ -3,6 +3,7 @@ package com.pz.system.service;
import com.pz.common.core.domain.PageQuery; import com.pz.common.core.domain.PageQuery;
import com.pz.common.core.domain.entity.SysUser; import com.pz.common.core.domain.entity.SysUser;
import com.pz.common.core.page.TableDataInfo; import com.pz.common.core.page.TableDataInfo;
import com.pz.system.domain.vo.UserIdentityVo;
import java.util.List; import java.util.List;
...@@ -208,4 +209,6 @@ public interface ISysUserService { ...@@ -208,4 +209,6 @@ public interface ISysUserService {
*/ */
int deleteUserByIds(Long[] userIds); int deleteUserByIds(Long[] userIds);
UserIdentityVo checkUserIdentity(Integer userId);
} }
...@@ -8,6 +8,8 @@ import com.pz.common.core.domain.PageQuery; ...@@ -8,6 +8,8 @@ import com.pz.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.pz.system.domain.Hospital;
import com.pz.system.mapper.HospitalMapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.pz.system.domain.bo.DepartmentBo; import com.pz.system.domain.bo.DepartmentBo;
...@@ -30,6 +32,8 @@ public class DepartmentServiceImpl implements IDepartmentService { ...@@ -30,6 +32,8 @@ public class DepartmentServiceImpl implements IDepartmentService {
private final DepartmentMapper baseMapper; private final DepartmentMapper baseMapper;
private final HospitalMapper hospitalMapper;
/** /**
* 查询科室 * 查询科室
*/ */
...@@ -79,6 +83,24 @@ public class DepartmentServiceImpl implements IDepartmentService { ...@@ -79,6 +83,24 @@ public class DepartmentServiceImpl implements IDepartmentService {
return result; return result;
} }
@Override
public List<Department> departmentByHospitalId(Integer hospitalId) {
Hospital hospital = hospitalMapper.selectById(hospitalId);
// 去除方括号
String numbers = hospital.getDepartments().substring(1, hospital.getDepartments().length() - 1);
// 使用逗号分割字符串
String[] numberArray = numbers.split(", ");
// 创建 List<Integer> 并将转换后的整数加入列表中
List<Integer> integerList = new ArrayList<>();
for (String num : numberArray) {
integerList.add(Integer.parseInt(num.trim()));
}
return baseMapper.selectList(new LambdaQueryWrapper<Department>().in(Department::getId,integerList));
}
/** /**
* 获取子节点 * 获取子节点
* *
......
...@@ -17,14 +17,20 @@ import com.pz.common.core.domain.entity.SysRole; ...@@ -17,14 +17,20 @@ import com.pz.common.core.domain.entity.SysRole;
import com.pz.common.core.domain.entity.SysUser; import com.pz.common.core.domain.entity.SysUser;
import com.pz.common.core.page.TableDataInfo; import com.pz.common.core.page.TableDataInfo;
import com.pz.common.core.service.UserService; import com.pz.common.core.service.UserService;
import com.pz.common.enums.UserType;
import com.pz.common.exception.ServiceException; import com.pz.common.exception.ServiceException;
import com.pz.common.helper.DataBaseHelper; import com.pz.common.helper.DataBaseHelper;
import com.pz.common.helper.LoginHelper; import com.pz.common.helper.LoginHelper;
import com.pz.common.utils.StreamUtils; import com.pz.common.utils.StreamUtils;
import com.pz.common.utils.StringUtils; import com.pz.common.utils.StringUtils;
import com.pz.merchant.domain.Company;
import com.pz.merchant.domain.Employees;
import com.pz.merchant.mapper.CompanyMapper;
import com.pz.merchant.mapper.EmployeesMapper;
import com.pz.system.domain.SysPost; import com.pz.system.domain.SysPost;
import com.pz.system.domain.SysUserPost; import com.pz.system.domain.SysUserPost;
import com.pz.system.domain.SysUserRole; import com.pz.system.domain.SysUserRole;
import com.pz.system.domain.vo.UserIdentityVo;
import com.pz.system.mapper.*; import com.pz.system.mapper.*;
import com.pz.system.service.ISysUserService; import com.pz.system.service.ISysUserService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
...@@ -53,6 +59,8 @@ public class SysUserServiceImpl implements ISysUserService, UserService { ...@@ -53,6 +59,8 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
private final SysPostMapper postMapper; private final SysPostMapper postMapper;
private final SysUserRoleMapper userRoleMapper; private final SysUserRoleMapper userRoleMapper;
private final SysUserPostMapper userPostMapper; private final SysUserPostMapper userPostMapper;
private final CompanyMapper companyMapper;
private final EmployeesMapper employeesMapper;
@Override @Override
public TableDataInfo<SysUser> selectPageUserList(SysUser user, PageQuery pageQuery) { public TableDataInfo<SysUser> selectPageUserList(SysUser user, PageQuery pageQuery) {
...@@ -475,6 +483,27 @@ public class SysUserServiceImpl implements ISysUserService, UserService { ...@@ -475,6 +483,27 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
return baseMapper.deleteBatchIds(ids); return baseMapper.deleteBatchIds(ids);
} }
@Override
public UserIdentityVo checkUserIdentity(Integer userId) {
UserIdentityVo userIdentityVo = new UserIdentityVo();
SysUser sysUser = baseMapper.selectById(userId);
if(null == sysUser){
return userIdentityVo;
}
if(sysUser.getUserType().equals(UserType.SYS_USER.getUserType())){
userIdentityVo.setUserType(1);
}else if(sysUser.getUserType().equals(UserType.APP_USER.getUserType())){
Employees employees = employeesMapper.selectOne(new LambdaQueryWrapper<Employees>().eq(Employees::getUid, sysUser.getUserId()));
userIdentityVo.setUserType(employees.getStatus());
userIdentityVo.setEmCmId(employees.getId());
}else if(sysUser.getUserType().equals(UserType.AMERCHANT_USER.getUserType())){
Company company = companyMapper.selectOne(new LambdaQueryWrapper<Company>().eq(Company::getUid, sysUser.getUserId()));
userIdentityVo.setUserType(company.getStatus());
userIdentityVo.setEmCmId(company.getId());
}
return userIdentityVo;
}
@Cacheable(cacheNames = CacheNames.SYS_USER_NAME, key = "#userId") @Cacheable(cacheNames = CacheNames.SYS_USER_NAME, key = "#userId")
@Override @Override
public String selectUserNameById(Long userId) { public String selectUserNameById(Long userId) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment