Commit 60c7d961 by 邹磊浩

Merge remote-tracking branch 'origin/dev' into dev

parents 41090553 67c47c19
...@@ -6,6 +6,7 @@ import com.pz.common.core.domain.R; ...@@ -6,6 +6,7 @@ import com.pz.common.core.domain.R;
import com.pz.common.core.page.TableDataInfo; import com.pz.common.core.page.TableDataInfo;
import com.pz.system.domain.bo.CarouselBo; import com.pz.system.domain.bo.CarouselBo;
import com.pz.system.domain.vo.CarouselVo; import com.pz.system.domain.vo.CarouselVo;
import com.pz.system.domain.vo.HomeVo;
import com.pz.system.service.ICarouselService; import com.pz.system.service.ICarouselService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
...@@ -26,7 +27,13 @@ import javax.validation.constraints.NotNull; ...@@ -26,7 +27,13 @@ import javax.validation.constraints.NotNull;
public class AppletCarouselController extends BaseController { public class AppletCarouselController extends BaseController {
private final ICarouselService iCarouselService; private final ICarouselService iCarouselService;
/**
* 首页
*/
@GetMapping("/home")
public R<HomeVo> getHome() {
return R.ok(iCarouselService.selectHome(1));
}
/** /**
* 查询轮播图列表 * 查询轮播图列表
*/ */
......
...@@ -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.insertByEmployeesCompanyBo(bo));
}
} }
package com.pz.applet;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.pz.common.annotation.Log;
import com.pz.common.annotation.RepeatSubmit;
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.page.TableDataInfo;
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.bo.StoreApplyBo;
import com.pz.system.domain.vo.StoreApplyVo;
import com.pz.system.service.IStoreApplyService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Arrays;
import java.util.List;
/**
* 商城商户申请
*
* @author ruoyi
* @date 2023-09-10
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/applet/apply")
public class AppletStoreApplyController extends BaseController {
private final IStoreApplyService iStoreApplyService;
/**
* 新增商城商户申请
*/
@SaCheckPermission("system:apply:add")
@Log(title = "商城商户申请", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody StoreApplyBo bo) {
return toAjax(iStoreApplyService.insertByBo(bo));
}
}
package com.pz.applet;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.pz.common.annotation.Log;
import com.pz.common.annotation.RepeatSubmit;
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.page.TableDataInfo;
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.StoreApply;
import com.pz.system.domain.bo.StoreGoodsBo;
import com.pz.system.domain.vo.StoreApplyVo;
import com.pz.system.domain.vo.StoreGoodsVo;
import com.pz.system.service.IStoreGoodsService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Arrays;
import java.util.List;
/**
* 商品
*
* @author ruoyi
* @date 2023-09-08
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/applet/goods")
public class AppletStoreGoodsController extends BaseController {
private final IStoreGoodsService iStoreGoodsService;
/**
* 商城首页数据
*/
@GetMapping("/shopList")
public TableDataInfo<StoreGoodsVo> shopList(StoreGoodsBo bo, PageQuery pageQuery) {
return iStoreGoodsService.shopAppShop(bo, pageQuery);
}
/**
* 搜索商品
*/
@GetMapping("/searchShop")
public TableDataInfo<StoreGoodsVo> searchShop(StoreGoodsBo bo, PageQuery pageQuery) {
return iStoreGoodsService.searchAppShop(bo, pageQuery);
}
/**
* 商城商品分类列表
*/
@GetMapping("/shopGoodsClassify")
public List<StoreApplyVo> shopGoodsClassify() {
return iStoreGoodsService.shopGoodsClassify();
}
/**
* 商城商户列表
*/
@GetMapping("/shopCommercial")
public TableDataInfo<StoreGoodsVo> shopCommercial(StoreGoodsBo bo, PageQuery pageQuery) {
return iStoreGoodsService.queryPageList(bo, pageQuery);
}
/**
* 商城商品详情
*
* @param id 主键
*/
@GetMapping("/{id}")
public R<StoreGoodsVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Integer id) {
return R.ok(iStoreGoodsService.queryAppById(id));
}
}
package com.pz.applet;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.pz.common.annotation.Log;
import com.pz.common.annotation.RepeatSubmit;
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.page.TableDataInfo;
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.bo.StoreInfoBo;
import com.pz.system.domain.vo.StoreInfoVo;
import com.pz.system.service.IStoreInfoService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Arrays;
import java.util.List;
/**
* 商城商户
*
* @author ruoyi
* @date 2023-09-08
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/applet/info")
public class AppletStoreInfoController extends BaseController {
private final IStoreInfoService iStoreInfoService;
/**
* 查询商户列表
*/
@GetMapping("/list")
public TableDataInfo<StoreInfoVo> list(StoreInfoBo bo, PageQuery pageQuery) {
return iStoreInfoService.queryPageList(bo, pageQuery);
}
/**
* 获取商户详细信息
*
* @param id 主键
*/
@SaCheckPermission("system:info:query")
@GetMapping("/{id}")
public R<StoreInfoVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Integer id) {
return R.ok(iStoreInfoService.queryById(id));
}
/**
* 新增商户
*/
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody StoreInfoBo bo) {
return toAjax(iStoreInfoService.insertByBo(bo));
}
/**
* 修改商户
*/
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody StoreInfoBo bo) {
return toAjax(iStoreInfoService.updateByBo(bo));
}
/**
* 删除商户
*
* @param ids 主键串
*/
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Integer[] ids) {
return toAjax(iStoreInfoService.deleteWithValidByIds(Arrays.asList(ids), true));
}
}
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));
}
}
...@@ -11,6 +11,7 @@ import com.pz.merchant.domain.bo.SetEmployeeWorkingHourBo; ...@@ -11,6 +11,7 @@ import com.pz.merchant.domain.bo.SetEmployeeWorkingHourBo;
import com.pz.merchant.domain.vo.EmployeesListVo; import com.pz.merchant.domain.vo.EmployeesListVo;
import com.pz.merchant.service.ICompanyService; import com.pz.merchant.service.ICompanyService;
import com.pz.merchant.service.IEmployeesService; import com.pz.merchant.service.IEmployeesService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
...@@ -25,42 +26,12 @@ import org.springframework.web.bind.annotation.*; ...@@ -25,42 +26,12 @@ import org.springframework.web.bind.annotation.*;
@Validated @Validated
@RestController("AppCompanyController") @RestController("AppCompanyController")
@RequestMapping("/merchant/app/company") @RequestMapping("/merchant/app/company")
@RequiredArgsConstructor
@SaIgnore @SaIgnore
public class CompanyController extends BaseController { public class CompanyController extends BaseController {
private ICompanyService companyService; private final ICompanyService companyService;
private IEmployeesService employeesService;
@Autowired
@Qualifier("merchantCompanyService")
public void setCompanyService(ICompanyService companyService) {
this.companyService = companyService;
}
@Autowired
@Qualifier("merchantEmployeesService")
public void setEmployeesService(IEmployeesService employeesService) {
this.employeesService = employeesService;
}
/**
* 查询陪诊员列表
*/
@GetMapping("/employee/list")
public TableDataInfo<EmployeesListVo> employeesList(EmployeesListBo bo, PageQuery pageQuery) {
return employeesService.employeesList(bo, pageQuery);
}
/**
* 设置员工工作时间段
*
* @param bo 员工参数信息
* @return 操作结果
*/
@PutMapping("/employee/setWorkHour")
public R<Boolean> setEmployeesWorkHour(@RequestBody @Validated(EditGroup.class) SetEmployeeWorkingHourBo bo) {
return R.ok(employeesService.setEmployeesWorkHours(bo));
}
} }
package com.pz.merchant.controller.applet;
import cn.dev33.satoken.annotation.SaIgnore;
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.page.TableDataInfo;
import com.pz.common.core.validate.EditGroup;
import com.pz.common.helper.LoginHelper;
import com.pz.merchant.domain.bo.EmployeesListBo;
import com.pz.merchant.domain.bo.OrderBo;
import com.pz.merchant.domain.bo.SetEmployeeWorkingHourBo;
import com.pz.merchant.domain.vo.EmployeesListVo;
import com.pz.merchant.domain.vo.OrderInfoVO;
import com.pz.merchant.domain.vo.TodayOrderListVo;
import com.pz.merchant.service.IEmployeesService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
/**
* 商户[小程序]
*
* @author WangMin
* @date 2023-09-11
*/
@Validated
@RequiredArgsConstructor
@RestController("AppEmployeesController")
@RequestMapping("/merchant/app/employees")
public class EmployeesController extends BaseController {
private final IEmployeesService employeesService;
/**
* 查询陪诊员列表
*/
@GetMapping("/list")
public TableDataInfo<EmployeesListVo> employeesList(EmployeesListBo bo, PageQuery pageQuery) {
return employeesService.employeesList(bo, pageQuery);
}
/**
* 设置员工工作时间段
*
* @param bo 员工参数信息
* @return 操作结果
*/
@PutMapping("/setWorkHour")
public R<Boolean> setEmployeesWorkHour(@RequestBody @Validated(EditGroup.class) SetEmployeeWorkingHourBo bo) {
return R.ok(employeesService.setEmployeesWorkHours(bo));
}
/**
* 查询员工详情及今日订单数据
*
* @param emId 员工ID
*/
@GetMapping("/detail")
public R<TodayOrderListVo> getEmployeeTodayData(@NotNull(message = "员工ID不能为空") Integer emId) {
return R.ok(employeesService.queryEmployeesInfo(emId));
}
/**
* 查询员工所有订单
*
* @param bo 筛选条件
* @param pageQuery 分页
* @return 订单列表
*/
@GetMapping("/order/list")
public TableDataInfo<OrderInfoVO> getAllOrders(OrderBo bo, PageQuery pageQuery) {
return employeesService.queryAllOrder(bo, pageQuery);
}
/**
* 切换用户 身份
*
* @param emId 陪诊员ID
* @return 切换用户身份结果
*/
@GetMapping("/switchIdentity")
public R<Boolean> switchIdentity(@NotNull(message = "陪诊员ID不能为空") Integer emId) {
return R.ok(employeesService.switchEmployeeIdentity(emId));
}
/**
* 切换用户状态
*
* @param emId 陪诊员ID
* @return 切换用户状态结果
*/
@GetMapping("/switchStatus")
public R<Boolean> switchStatus(@NotNull(message = "陪诊员ID不能为空") Integer emId) {
return R.ok(employeesService.disableOrRecover(emId));
}
}
...@@ -24,7 +24,7 @@ import com.pz.common.enums.BusinessType; ...@@ -24,7 +24,7 @@ import com.pz.common.enums.BusinessType;
import com.pz.common.utils.poi.ExcelUtil; import com.pz.common.utils.poi.ExcelUtil;
/** /**
* 商户 * 商户[PC端]
* *
* @author WangMin * @author WangMin
* @date 2023-09-11 * @date 2023-09-11
......
package com.pz.merchant.domain.bo;
/**
* <p>created in 2023/9/12 14:11
*
* @author WangMin
* @version 1.0
*/
public class ModifyCompanyInfoBo {
}
...@@ -55,6 +55,11 @@ public class TodayOrderListVo { ...@@ -55,6 +55,11 @@ public class TodayOrderListVo {
private Integer todayOrderNum; private Integer todayOrderNum;
/** /**
* 陪诊员状态 1-正常,2禁用,0-审核中
*/
private Integer status;
/**
* 今日订单列表 * 今日订单列表
*/ */
private List<OrderInfoVO> todayOrderList; private List<OrderInfoVO> todayOrderList;
......
...@@ -41,13 +41,14 @@ public interface EmployeesMapper extends BaseMapperPlus<EmployeesMapper, Employe ...@@ -41,13 +41,14 @@ public interface EmployeesMapper extends BaseMapperPlus<EmployeesMapper, Employe
*/ */
TodayOrderListVo selectEmployeesInfoById(@Param("id") Integer emId); TodayOrderListVo selectEmployeesInfoById(@Param("id") Integer emId);
/** /**
* 员工今日订单 * 查询订单
* * @param queryWrapper 查询条件
* @param emId 员工Id * @return 订单
* @return 订单列表
*/ */
List<OrderInfoVO> selectTodayOrderByEid(@Param("id") Integer emId); IPage<OrderInfoVO> selectOrder(IPage<EmployeesListBo> page, @Param(Constants.WRAPPER) Wrapper<Employees> queryWrapper);
Page<EmployeesVo> selectEmployees(EmployeesBo bo, PageQuery pageQuery); Page<EmployeesVo> selectEmployees(EmployeesBo bo, PageQuery pageQuery);
......
...@@ -2,6 +2,7 @@ package com.pz.merchant.service; ...@@ -2,6 +2,7 @@ package com.pz.merchant.service;
import com.pz.merchant.domain.Employees; import com.pz.merchant.domain.Employees;
import com.pz.merchant.domain.bo.EmployeesListBo; import com.pz.merchant.domain.bo.EmployeesListBo;
import com.pz.merchant.domain.bo.OrderBo;
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;
import com.pz.merchant.domain.vo.EmployeesVo; import com.pz.merchant.domain.vo.EmployeesVo;
...@@ -10,6 +11,7 @@ import com.pz.common.core.page.TableDataInfo; ...@@ -10,6 +11,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;
...@@ -48,6 +50,13 @@ public interface IEmployeesService { ...@@ -48,6 +50,13 @@ public interface IEmployeesService {
Boolean insertByBo(EmployeesBo bo); Boolean insertByBo(EmployeesBo bo);
/** /**
* 新增陪诊员/商户
* @param bo
* @return
*/
Boolean insertByEmployeesCompanyBo(EmployeesCompanyBo bo);
/**
* 修改陪诊员 * 修改陪诊员
*/ */
Boolean updateByBo(EmployeesBo bo); Boolean updateByBo(EmployeesBo bo);
...@@ -71,12 +80,12 @@ public interface IEmployeesService { ...@@ -71,12 +80,12 @@ public interface IEmployeesService {
TodayOrderListVo queryEmployeesInfo(Integer emId); TodayOrderListVo queryEmployeesInfo(Integer emId);
/** /**
* 员工今日订单 * 查询所有订单
* *
* @param emId 员工Id * @param bo 查询条件
* @return 订单列表 * @return 订单列表
*/ */
List<OrderInfoVO> queryTodayOrders(Integer emId); TableDataInfo<OrderInfoVO> queryAllOrder(OrderBo bo, PageQuery pageQuery);
/** /**
* 排行榜 * 排行榜
...@@ -92,4 +101,20 @@ public interface IEmployeesService { ...@@ -92,4 +101,20 @@ public interface IEmployeesService {
* 查询陪诊员 * 查询陪诊员
*/ */
EmployeesVo queryByApp(Integer id); EmployeesVo queryByApp(Integer id);
/**
* 切换陪诊员身份
*
* @param emId 陪诊员Id
* @return 操作结果
*/
boolean switchEmployeeIdentity(Integer emId);
/**
* 冻结/解冻陪诊员
*
* @param emId 陪诊员Id
* @return 操作结果
*/
boolean disableOrRecover(Integer emId);
} }
...@@ -5,18 +5,25 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; ...@@ -5,18 +5,25 @@ 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.dtflys.forest.annotation.Get;
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.exception.ServiceException;
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.OrderBo;
import com.pz.merchant.domain.bo.SetEmployeeWorkingHourBo; import com.pz.merchant.domain.bo.SetEmployeeWorkingHourBo;
import com.pz.merchant.domain.vo.*; import com.pz.merchant.domain.vo.*;
import com.pz.merchant.mapper.CompanyMapper; import com.pz.merchant.mapper.CompanyMapper;
import com.pz.merchant.service.ISonOrderService; import com.pz.merchant.service.ISonOrderService;
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;
...@@ -26,6 +33,7 @@ import com.pz.merchant.domain.bo.EmployeesBo; ...@@ -26,6 +33,7 @@ import com.pz.merchant.domain.bo.EmployeesBo;
import com.pz.merchant.domain.Employees; import com.pz.merchant.domain.Employees;
import com.pz.merchant.mapper.EmployeesMapper; import com.pz.merchant.mapper.EmployeesMapper;
import com.pz.merchant.service.IEmployeesService; import com.pz.merchant.service.IEmployeesService;
import org.springframework.web.bind.annotation.GetMapping;
import java.util.*; import java.util.*;
...@@ -115,7 +123,7 @@ public class EmployeesServiceImpl implements IEmployeesService { ...@@ -115,7 +123,7 @@ public class EmployeesServiceImpl implements IEmployeesService {
} }
/** /**
* 新增陪诊员 * 新增陪诊员/商户
*/ */
@Override @Override
public Boolean insertByBo(EmployeesBo bo) { public Boolean insertByBo(EmployeesBo bo) {
...@@ -128,6 +136,41 @@ public class EmployeesServiceImpl implements IEmployeesService { ...@@ -128,6 +136,41 @@ public class EmployeesServiceImpl implements IEmployeesService {
return flag; return flag;
} }
@Override
public Boolean insertByEmployeesCompanyBo(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);
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;
}
/** /**
* 修改陪诊员 * 修改陪诊员
*/ */
...@@ -200,6 +243,42 @@ public class EmployeesServiceImpl implements IEmployeesService { ...@@ -200,6 +243,42 @@ public class EmployeesServiceImpl implements IEmployeesService {
} }
/** /**
* 切换陪诊员用户身份
*
* @param emId 陪诊员Id
* @return 操作结果
*/
@Override
public boolean switchEmployeeIdentity(Integer emId) {
EmployeesVo employeesVo = baseMapper.selectVoById(emId);
Objects.requireNonNull(employeesVo, "查无此人");
Integer identity = employeesVo.getNowType();
// 切换当前用户身份
Integer modifyIdentity = identity == 1 ? 2 : 1;
employeesVo.setNowType(modifyIdentity);
return baseMapper.updateById(BeanUtil.toBean(employeesVo, Employees.class)) > 0;
}
/**
* 冻结/解冻陪诊员账户
*
* @param emId 陪诊员Id
* @return 操作结果
*/
@Override
public boolean disableOrRecover(Integer emId) {
EmployeesVo employeesVo = baseMapper.selectVoById(emId);
Objects.requireNonNull(employeesVo, "查无此人");
Integer status = employeesVo.getStatus();
if (status == 0) {
throw new ServiceException("该用户待审核通过,暂无法修改状态");
}
Integer modifyStatus = status == 1 ? 2 : 1;
employeesVo.setStatus(modifyStatus);
return baseMapper.updateById(BeanUtil.toBean(employeesVo, Employees.class)) > 0;
}
/**
* 保存前的数据校验 * 保存前的数据校验
*/ */
private void validEntityBeforeSave(Employees entity) { private void validEntityBeforeSave(Employees entity) {
...@@ -231,7 +310,7 @@ public class EmployeesServiceImpl implements IEmployeesService { ...@@ -231,7 +310,7 @@ public class EmployeesServiceImpl implements IEmployeesService {
} }
/** /**
* 查询员工今日订单 * 查询员工数据以及今日订单
* *
* @param emId 员工ID * @param emId 员工ID
* @return 今日订单数据信息 * @return 今日订单数据信息
...@@ -239,8 +318,12 @@ public class EmployeesServiceImpl implements IEmployeesService { ...@@ -239,8 +318,12 @@ public class EmployeesServiceImpl implements IEmployeesService {
@Override @Override
public TodayOrderListVo queryEmployeesInfo(Integer emId) { public TodayOrderListVo queryEmployeesInfo(Integer emId) {
TodayOrderListVo result = baseMapper.selectEmployeesInfoById(emId); TodayOrderListVo result = baseMapper.selectEmployeesInfoById(emId);
List<OrderInfoVO> orders = baseMapper.selectTodayOrderByEid(emId); QueryWrapper<Employees> query = Wrappers.query();
query.apply("date_format(total_order.create_time,'%Y-%m-%d') = current_date")
.eq("total_order.em_id", emId);
IPage<OrderInfoVO> page = baseMapper.selectOrder(new PageQuery().build(), query);
// 根据不同子订单装载就诊人员信息和子订单状态 // 根据不同子订单装载就诊人员信息和子订单状态
List<OrderInfoVO> orders = page.getRecords();
orders.forEach(suborder -> { orders.forEach(suborder -> {
ISonOrderService orderService = sonOrderServiceBuilder.getSonOrderService(suborder.getBid()); ISonOrderService orderService = sonOrderServiceBuilder.getSonOrderService(suborder.getBid());
SonOrderVo orderStatus; SonOrderVo orderStatus;
...@@ -254,8 +337,29 @@ public class EmployeesServiceImpl implements IEmployeesService { ...@@ -254,8 +337,29 @@ public class EmployeesServiceImpl implements IEmployeesService {
return result; return result;
} }
/**
* 查询所有订单
*
* @param bo 查询条件
* @return 订单列表
*/
@Override @Override
public List<OrderInfoVO> queryTodayOrders(Integer emId) { public TableDataInfo<OrderInfoVO> queryAllOrder(OrderBo bo, PageQuery pageQuery) {
return null; QueryWrapper<Employees> query = Wrappers.query();
query.eq(bo.getEmId() != null, "total_order.em_id", bo.getEmId())
.eq(bo.getServiceStatus() != null, "total_order.status", bo.getServiceStatus());
IPage<OrderInfoVO> page = baseMapper.selectOrder(pageQuery.build(), query);
// 根据不同子订单装载就诊人员信息和子订单状态
page.getRecords().forEach(suborder -> {
ISonOrderService orderService = sonOrderServiceBuilder.getSonOrderService(suborder.getBid());
SonOrderVo orderStatus;
if (orderService != null && (orderStatus = orderService.getSonOrderInfoByTotalId(suborder.getOrderId())) != null) {
suborder.setUserName(orderStatus.getUserName());
suborder.setSonOrderStatus(orderStatus.getOrderStatus());
}
});
return TableDataInfo.build(page);
} }
} }
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 tel;
/**
* 商户地址
*/
private String address;
/**
* 营业执照
*/
private String businessLicense;
/**
* 是否缴纳保证金
*/
private Integer isCashDeposit;
/**
* 保证金金额
*/
private Double cashDeposit;
}
...@@ -81,7 +81,10 @@ public class ArticleVo { ...@@ -81,7 +81,10 @@ public class ArticleVo {
* 是否收藏 * 是否收藏
*/ */
private boolean isCollect; private boolean isCollect;
/**
* 轮播图
*/
private List<String> coverList;
/** /**
* 评论列表 * 评论列表
*/ */
......
package com.pz.system.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.pz.system.domain.Business;
import com.pz.system.domain.Carousel;
import lombok.Data;
import java.util.List;
/**
* 首页
*/
@Data
@ExcelIgnoreUnannotated
public class HomeVo {
private static final long serialVersionUID = 1L;
/**
* 头部公告
*/
private String notice;
/**
* 轮播图数组
*/
private List<Carousel> carousel;
/**
* 业务数组
*/
private List<Business> business;
}
...@@ -2,10 +2,14 @@ package com.pz.system.domain.vo; ...@@ -2,10 +2,14 @@ package com.pz.system.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.pz.common.annotation.ExcelDictFormat; import com.pz.common.annotation.ExcelDictFormat;
import com.pz.common.convert.ExcelDictConvert; import com.pz.common.convert.ExcelDictConvert;
import lombok.Data; import lombok.Data;
import java.util.Date;
/** /**
* 新闻资讯视图对象 information * 新闻资讯视图对象 information
...@@ -53,4 +57,10 @@ public class InformationVo { ...@@ -53,4 +57,10 @@ public class InformationVo {
* 城市名称 * 城市名称
*/ */
private String cityName; private String cityName;
/**
* 创建时间
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date createTime;
} }
package com.pz.system.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.pz.system.domain.Carousel;
import lombok.Data;
/**
* 小程序商城首页
*/
@Data
@ExcelIgnoreUnannotated
public class ShopCarouseVo {
private static final long serialVersionUID = 1L;
private Carousel carousel;
/**
* 商品列表
*/
private StoreGoodsVo list;
}
package com.pz.system.domain.vo; package com.pz.system.domain.vo;
import java.util.Date; import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
...@@ -117,4 +118,9 @@ public class StoreApplyVo extends BaseEntity { ...@@ -117,4 +118,9 @@ public class StoreApplyVo extends BaseEntity {
*/ */
@ExcelProperty(value = "") @ExcelProperty(value = "")
private Integer status; private Integer status;
/**
* 商品
*/
private List<StoreGoodsVo> storeGoodsVo;
} }
...@@ -4,8 +4,11 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; ...@@ -4,8 +4,11 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.pz.common.annotation.ExcelDictFormat; import com.pz.common.annotation.ExcelDictFormat;
import com.pz.common.convert.ExcelDictConvert; import com.pz.common.convert.ExcelDictConvert;
import com.pz.system.domain.Carousel;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* 商品视图对象 store_goods * 商品视图对象 store_goods
...@@ -103,5 +106,5 @@ public class StoreGoodsVo { ...@@ -103,5 +106,5 @@ public class StoreGoodsVo {
@ExcelProperty(value = "") @ExcelProperty(value = "")
private Integer saleNum; private Integer saleNum;
private List<Carousel> carousel;
} }
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;
}
...@@ -5,6 +5,7 @@ import com.pz.system.domain.vo.CarouselVo; ...@@ -5,6 +5,7 @@ import com.pz.system.domain.vo.CarouselVo;
import com.pz.system.domain.bo.CarouselBo; import com.pz.system.domain.bo.CarouselBo;
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.pz.system.domain.vo.HomeVo;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
...@@ -46,4 +47,6 @@ public interface ICarouselService { ...@@ -46,4 +47,6 @@ public interface ICarouselService {
* 校验并批量删除轮播图信息 * 校验并批量删除轮播图信息
*/ */
Boolean deleteWithValidByIds(Collection<Integer> ids, Boolean isValid); Boolean deleteWithValidByIds(Collection<Integer> ids, Boolean isValid);
HomeVo selectHome(Integer cityId);
} }
...@@ -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);
......
package com.pz.system.service; package com.pz.system.service;
import com.pz.system.domain.StoreGoods; import com.pz.system.domain.StoreGoods;
import com.pz.system.domain.vo.StoreApplyVo;
import com.pz.system.domain.vo.StoreGoodsVo; import com.pz.system.domain.vo.StoreGoodsVo;
import com.pz.system.domain.bo.StoreGoodsBo; import com.pz.system.domain.bo.StoreGoodsBo;
import com.pz.common.core.page.TableDataInfo; import com.pz.common.core.page.TableDataInfo;
...@@ -21,6 +22,10 @@ public interface IStoreGoodsService { ...@@ -21,6 +22,10 @@ public interface IStoreGoodsService {
* 查询商品 * 查询商品
*/ */
StoreGoodsVo queryById(Integer id); StoreGoodsVo queryById(Integer id);
/**
* 小程序查询商品
*/
StoreGoodsVo queryAppById(Integer id);
/** /**
* 查询商品列表 * 查询商品列表
...@@ -28,6 +33,21 @@ public interface IStoreGoodsService { ...@@ -28,6 +33,21 @@ public interface IStoreGoodsService {
TableDataInfo<StoreGoodsVo> queryPageList(StoreGoodsBo bo, PageQuery pageQuery); TableDataInfo<StoreGoodsVo> queryPageList(StoreGoodsBo bo, PageQuery pageQuery);
/** /**
* 商城首页数据
*/
TableDataInfo<StoreGoodsVo> shopAppShop(StoreGoodsBo bo, PageQuery pageQuery);
/**
* 搜索商品
*/
TableDataInfo<StoreGoodsVo> searchAppShop(StoreGoodsBo bo, PageQuery pageQuery);
/**
*查询商品分类
*/
List<StoreApplyVo> shopGoodsClassify();
/**
* 查询商品列表 * 查询商品列表
*/ */
List<StoreGoodsVo> queryList(StoreGoodsBo bo); List<StoreGoodsVo> queryList(StoreGoodsBo 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);
} }
...@@ -182,7 +182,18 @@ public class ArticleServiceImpl implements IArticleService { ...@@ -182,7 +182,18 @@ public class ArticleServiceImpl implements IArticleService {
// 设置城市名称、点赞数和收藏数 // 设置城市名称、点赞数和收藏数
articleVos.forEach(articleVo -> { articleVos.forEach(articleVo -> {
// 去除方括号
String numbers = articleVo.getCover().substring(1, articleVo.getCover().length() - 1);
// 使用逗号分割字符串
String[] numberArray = numbers.split(", ");
// 创建 List<Integer> 并将转换后的整数加入列表中
List<String> integerList = new ArrayList<>();
for (String num : numberArray) {
integerList.add(num.trim());
}
articleVo.setCoverList(integerList);
// 设置点赞数 // 设置点赞数
articleVo.setAppreciateNum(appreciateNumMap.getOrDefault(articleVo.getId(), 0)); articleVo.setAppreciateNum(appreciateNumMap.getOrDefault(articleVo.getId(), 0));
......
...@@ -7,13 +7,15 @@ import com.pz.common.core.domain.PageQuery; ...@@ -7,13 +7,15 @@ 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.mapper.CityMapper; import com.pz.system.domain.Notice;
import com.pz.system.domain.vo.HomeVo;
import com.pz.system.mapper.*;
import com.pz.system.service.ISysNoticeService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.pz.system.domain.bo.CarouselBo; import com.pz.system.domain.bo.CarouselBo;
import com.pz.system.domain.vo.CarouselVo; import com.pz.system.domain.vo.CarouselVo;
import com.pz.system.domain.Carousel; import com.pz.system.domain.Carousel;
import com.pz.system.mapper.CarouselMapper;
import com.pz.system.service.ICarouselService; import com.pz.system.service.ICarouselService;
import java.util.List; import java.util.List;
...@@ -35,6 +37,10 @@ public class CarouselServiceImpl implements ICarouselService { ...@@ -35,6 +37,10 @@ public class CarouselServiceImpl implements ICarouselService {
private final CityMapper cityMapper; private final CityMapper cityMapper;
private final BusinessMapper businessMapper;
private final NoticeMapper noticeMapper;
/** /**
* 查询轮播图 * 查询轮播图
*/ */
...@@ -123,4 +129,22 @@ public class CarouselServiceImpl implements ICarouselService { ...@@ -123,4 +129,22 @@ public class CarouselServiceImpl implements ICarouselService {
} }
return baseMapper.deleteBatchIds(ids) > 0; return baseMapper.deleteBatchIds(ids) > 0;
} }
@Override
public HomeVo selectHome(Integer cityId) {
HomeVo homeVo = new HomeVo();
List<Notice> notices = noticeMapper.selectList();
if(null != notices && notices.size() != 0){
homeVo.setNotice(notices.get(0).getInfo());
}
homeVo.setCarousel(baseMapper.selectList(
new LambdaQueryWrapper<Carousel>().eq(
Carousel::getSite,1
).eq(
Carousel::getStatus,1
)
));
homeVo.setBusiness(businessMapper.selectList());
return homeVo;
}
} }
...@@ -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));
}
/** /**
* 获取子节点 * 获取子节点
* *
......
...@@ -7,6 +7,9 @@ import com.pz.common.core.domain.PageQuery; ...@@ -7,6 +7,9 @@ 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.StoreApply;
import com.pz.system.domain.vo.StoreApplyVo;
import com.pz.system.mapper.StoreApplyMapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.pz.system.domain.bo.StoreGoodsBo; import com.pz.system.domain.bo.StoreGoodsBo;
...@@ -31,6 +34,8 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService { ...@@ -31,6 +34,8 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService {
private final StoreGoodsMapper baseMapper; private final StoreGoodsMapper baseMapper;
private final StoreApplyMapper storeApplyMapper;
/** /**
* 查询商品 * 查询商品
*/ */
...@@ -40,6 +45,18 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService { ...@@ -40,6 +45,18 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService {
} }
/** /**
* 小程序查询商品
*/
@Override
public StoreGoodsVo queryAppById(Integer id){
StoreGoodsVo storeGoodsVo = baseMapper.selectVoById(id);
StoreGoods storeGoods = new StoreGoods();
storeGoods.setId(id);
storeGoods.setLookNum(storeGoodsVo.getLookNum() + 1);
baseMapper.updateById(storeGoods);
return storeGoodsVo;
}
/**
* 查询商品列表 * 查询商品列表
*/ */
@Override @Override
...@@ -49,6 +66,35 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService { ...@@ -49,6 +66,35 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService {
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
@Override
public TableDataInfo<StoreGoodsVo> shopAppShop(StoreGoodsBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<StoreGoods> lqw = buildQueryWrapper(bo);
Page<StoreGoodsVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
@Override
public TableDataInfo<StoreGoodsVo> searchAppShop(StoreGoodsBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<StoreGoods> lqw = buildQueryWrapper(bo);
Page<StoreGoodsVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
@Override
public List<StoreApplyVo> shopGoodsClassify() {
//查询所有商户分类
List<StoreApplyVo> storeApplies = storeApplyMapper.selectVoList(
new LambdaQueryWrapper<StoreApply>().eq(StoreApply::getStatus,1)
);
//查询商户下面的商品
for (StoreApplyVo storeApply : storeApplies) {
storeApply.setStoreGoodsVo(baseMapper.selectVoList(new LambdaQueryWrapper<StoreGoods>()
.eq(StoreGoods::getStoreId,storeApply.getId())));
}
return storeApplies;
}
/** /**
* 查询商品列表 * 查询商品列表
*/ */
......
...@@ -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) {
......
...@@ -47,6 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -47,6 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select employees.id as emId, select employees.id as emId,
employees.name, employees.name,
employees.working_hours, employees.working_hours,
employees.status,
year(current_date) - ifnull(employees.start_year, 0) as workYear, year(current_date) - ifnull(employees.start_year, 0) as workYear,
employees.now_type, employees.now_type,
user.avatar, user.avatar,
...@@ -62,23 +63,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -62,23 +63,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
group by employees.id group by employees.id
</select> </select>
<select id="selectTodayOrderByEid" resultType="com.pz.merchant.domain.vo.OrderInfoVO">
select total_order.id as orderId,
total_order.status as orderStatus,
services.name as project,
services.cover,
services.price,
CONVERT((1 - services.fenmo / 100), decimal(10, 2)) * CONVERT(services.price, decimal(10, 2)) as commission,
services.bid
from total_order
left join services on total_order.service_id = services.id
<where>
date_format(total_order.create_time,'%Y-%m-%d')
<if test="id != null and id > 0">
and total_order.id = #{id}
</if>
</where>
</select>
<select id="selectEmployees" resultType="com.pz.merchant.domain.vo.EmployeesVo"> <select id="selectEmployees" resultType="com.pz.merchant.domain.vo.EmployeesVo">
SELECT e.id, s.avatar ,e.name,e.working_hours,(SUM(CASE WHEN o.is_satisfaction = 1 THEN 1 ELSE 0 END) / NULLIF(COUNT(o.is_satisfaction), 0)) * 100 AS satisfaction_rate SELECT e.id, s.avatar ,e.name,e.working_hours,(SUM(CASE WHEN o.is_satisfaction = 1 THEN 1 ELSE 0 END) / NULLIF(COUNT(o.is_satisfaction), 0)) * 100 AS satisfaction_rate
FROM employees e FROM employees e
...@@ -112,5 +96,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -112,5 +96,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
satisfaction_rate >= #{favorableRate}; satisfaction_rate >= #{favorableRate};
</select> </select>
<select id="selectOrder" resultType="com.pz.merchant.domain.vo.OrderInfoVO">
select total_order.id as orderId,
total_order.status as orderStatus,
services.name as project,
services.cover,
services.price,
CONVERT((1 - services.fenmo / 100), decimal(10, 2)) * CONVERT(services.price, decimal(10, 2)) as commission,
services.bid
from total_order
left join services on total_order.service_id = services.id
<where>
<if test="ew.emptyOfWhere == false">
and ${ew.sqlSegment}
</if>
</where>
</select>
</mapper> </mapper>
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