Commit cbdb14f3 by sdif

用户端代码提交

parent 20fab6ea
......@@ -9,6 +9,7 @@ import com.pz.common.core.validate.AddGroup;
import com.pz.common.core.validate.EditGroup;
import com.pz.common.enums.BusinessType;
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.vo.DepartmentVo;
import com.pz.system.service.IDepartmentService;
......@@ -39,11 +40,16 @@ public class AppletDepartmentController extends BaseController {
/**
* 查询科室列表
*/
@SaCheckPermission("system:department:list")
@GetMapping("/list")
public R<List<DepartmentVo>> list(DepartmentBo 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;
import com.pz.merchant.domain.bo.EmployeesBo;
import com.pz.merchant.domain.vo.EmployeesVo;
import com.pz.merchant.service.IEmployeesService;
import com.pz.system.domain.bo.DoctorBo;
import com.pz.system.domain.bo.EmployeesCompanyBo;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
......@@ -41,7 +43,6 @@ public class AppletEmployeesController extends BaseController {
/**
* 需求广场
*/
@SaCheckPermission("merchant:employees:list")
@GetMapping("/needList")
public TableDataInfo<EmployeesVo> needList(EmployeesBo bo, PageQuery pageQuery) {
return iEmployeesService.queryPageAppNeed(bo, pageQuery);
......@@ -50,7 +51,6 @@ public class AppletEmployeesController extends BaseController {
/**
* 排行榜
*/
@SaCheckPermission("merchant:employees:list")
@GetMapping("/rankingList")
public TableDataInfo<EmployeesVo> rankingList(EmployeesBo bo, PageQuery pageQuery) {
return iEmployeesService.queryPageAppRanking(bo, pageQuery);
......@@ -62,13 +62,20 @@ public class AppletEmployeesController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("merchant:employees:query")
@GetMapping("/{id}")
public R<EmployeesVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Integer 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;
import com.pz.common.core.domain.PageQuery;
import com.pz.merchant.domain.vo.OrderInfoVO;
import com.pz.merchant.domain.vo.TodayOrderListVo;
import com.pz.system.domain.bo.EmployeesCompanyBo;
import java.util.Collection;
import java.util.List;
......@@ -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;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
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.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.pz.common.enums.UserType;
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.SetEmployeeWorkingHourBo;
import com.pz.merchant.domain.vo.EmployeesListVo;
......@@ -18,6 +21,7 @@ import com.pz.merchant.domain.vo.OrderInfoVO;
import com.pz.merchant.domain.vo.TodayOrderListVo;
import com.pz.merchant.mapper.CompanyMapper;
import com.pz.system.domain.TotalOrder;
import com.pz.system.domain.bo.EmployeesCompanyBo;
import com.pz.system.mapper.CityMapper;
import com.pz.system.mapper.SysUserMapper;
import com.pz.system.mapper.TotalOrderMapper;
......@@ -116,17 +120,41 @@ public class EmployeesServiceImpl implements IEmployeesService {
}
/**
* 新增陪诊员
* 新增陪诊员/商户
*/
@Override
public Boolean insertByBo(EmployeesBo bo) {
public Boolean insertByBo(EmployeesCompanyBo bo) {
/**
* 陪诊员新增
*/
SysUser sysUser = new SysUser();
sysUser.setUserId(bo.getUid().longValue());
sysUser.setPhonenumber(bo.getPhone());
if(bo.getIdentity() == 2){
Employees add = BeanUtil.toBean(bo, Employees.class);
validEntityBeforeSave(add);
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 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 {
List<DepartmentVo> queryPageList(DepartmentBo bo);
/**
* 根据医院查询科室列表
* @param
* @return
*/
List<Department> departmentByHospitalId(Integer hospitalId);
/**
* 查询科室列表
*/
List<DepartmentVo> queryList(DepartmentBo bo);
......
......@@ -3,6 +3,7 @@ package com.pz.system.service;
import com.pz.common.core.domain.PageQuery;
import com.pz.common.core.domain.entity.SysUser;
import com.pz.common.core.page.TableDataInfo;
import com.pz.system.domain.vo.UserIdentityVo;
import java.util.List;
......@@ -208,4 +209,6 @@ public interface ISysUserService {
*/
int deleteUserByIds(Long[] userIds);
UserIdentityVo checkUserIdentity(Integer userId);
}
......@@ -8,6 +8,8 @@ import com.pz.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.pz.system.domain.Hospital;
import com.pz.system.mapper.HospitalMapper;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.pz.system.domain.bo.DepartmentBo;
......@@ -30,6 +32,8 @@ public class DepartmentServiceImpl implements IDepartmentService {
private final DepartmentMapper baseMapper;
private final HospitalMapper hospitalMapper;
/**
* 查询科室
*/
......@@ -79,6 +83,24 @@ public class DepartmentServiceImpl implements IDepartmentService {
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;
import com.pz.common.core.domain.entity.SysUser;
import com.pz.common.core.page.TableDataInfo;
import com.pz.common.core.service.UserService;
import com.pz.common.enums.UserType;
import com.pz.common.exception.ServiceException;
import com.pz.common.helper.DataBaseHelper;
import com.pz.common.helper.LoginHelper;
import com.pz.common.utils.StreamUtils;
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.SysUserPost;
import com.pz.system.domain.SysUserRole;
import com.pz.system.domain.vo.UserIdentityVo;
import com.pz.system.mapper.*;
import com.pz.system.service.ISysUserService;
import lombok.RequiredArgsConstructor;
......@@ -53,6 +59,8 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
private final SysPostMapper postMapper;
private final SysUserRoleMapper userRoleMapper;
private final SysUserPostMapper userPostMapper;
private final CompanyMapper companyMapper;
private final EmployeesMapper employeesMapper;
@Override
public TableDataInfo<SysUser> selectPageUserList(SysUser user, PageQuery pageQuery) {
......@@ -475,6 +483,27 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
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")
@Override
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