From 2356636387f8bbed20b53135ba45d5b45e382bc8 Mon Sep 17 00:00:00 2001 From: starrySky <1752476835@qq.com> Date: Sun, 31 Mar 2024 15:46:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/GlobalExceptionHandler.java | 24 ++- .../PlayClerkCommodityController.java | 109 ++++++++++++++ .../PlayClerkUserInfoController.java | 5 + .../mapper/PlayClerkCommodityMapper.java | 16 ++ .../entity/PlayClerkCommodityEntity.java | 63 ++++++++ .../module/vo/PlayClerkCommodityEditVo.java | 24 +++ .../module/vo/PlayClerkCommodityQueryVo.java | 20 +++ .../clear/module/vo/PlayClerkUserAddVo.java | 1 - .../service/IPlayClerkCommodityService.java | 88 +++++++++++ .../impl/PlayClerkCommodityServiceImpl.java | 140 ++++++++++++++++++ .../impl/PlayClerkUserInfoServiceImpl.java | 14 +- .../PlayCommodityInfoController.java | 86 +++++++++++ .../controller/PlayUserInfoController.java | 4 +- .../play/mapper/PlayCommodityInfoMapper.java | 16 ++ .../entity/PlayCommodityInfoEntity.java | 51 +++++++ .../module/vo/PlayCommodityInfoAddVo.java | 44 ++++++ .../play/module/vo/PlayUserInfoUpEditVo.java | 20 +++ .../service/IPlayCommodityInfoService.java | 66 +++++++++ .../impl/PlayCommodityInfoServiceImpl.java | 104 +++++++++++++ 19 files changed, 886 insertions(+), 9 deletions(-) create mode 100644 play-admin/src/main/java/com/starry/admin/modules/clear/controller/PlayClerkCommodityController.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/clear/mapper/PlayClerkCommodityMapper.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/clear/module/entity/PlayClerkCommodityEntity.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkCommodityEditVo.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkCommodityQueryVo.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/clear/service/IPlayClerkCommodityService.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/clear/service/impl/PlayClerkCommodityServiceImpl.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/play/controller/PlayCommodityInfoController.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/play/mapper/PlayCommodityInfoMapper.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/play/module/entity/PlayCommodityInfoEntity.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayCommodityInfoAddVo.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayUserInfoUpEditVo.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/play/service/IPlayCommodityInfoService.java create mode 100644 play-admin/src/main/java/com/starry/admin/modules/play/service/impl/PlayCommodityInfoServiceImpl.java diff --git a/play-admin/src/main/java/com/starry/admin/common/exception/handler/GlobalExceptionHandler.java b/play-admin/src/main/java/com/starry/admin/common/exception/handler/GlobalExceptionHandler.java index be021ad..6911264 100644 --- a/play-admin/src/main/java/com/starry/admin/common/exception/handler/GlobalExceptionHandler.java +++ b/play-admin/src/main/java/com/starry/admin/common/exception/handler/GlobalExceptionHandler.java @@ -9,6 +9,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.validation.BindingResult; import org.springframework.validation.FieldError; +import org.springframework.web.HttpRequestMethodNotSupportedException; import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; @@ -54,8 +55,22 @@ public class GlobalExceptionHandler { return R.error("系统出现内部错误,请联系管理员"); } + + /** + * 请求方法异常 + */ + @ExceptionHandler(HttpRequestMethodNotSupportedException.class) + public R httpRequestMethodNotSupportedException() { + return R.error("请求方法异常"); + } + + /** + * 请求参数异常 + * + * @param e HttpRequestMethodNotSupportedException + */ @ExceptionHandler(MethodArgumentNotValidException.class) - public R methodArgumentNotValidException(MethodArgumentNotValidException e, HttpServletRequest request) { + public R methodArgumentNotValidException(MethodArgumentNotValidException e) { BindingResult bindingResult = e.getBindingResult(); StringBuilder errorMessageBuilder = new StringBuilder(); for (FieldError error : bindingResult.getFieldErrors()) { @@ -64,8 +79,13 @@ public class GlobalExceptionHandler { return R.error("请求参数异常," + errorMessageBuilder); } + /** + * 自定义异常 + * + * @param e CustomException + */ @ExceptionHandler(CustomException.class) - public R customException(CustomException e, HttpServletRequest request) { + public R customException(CustomException e) { return R.error(e.getMessage()); } } diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/controller/PlayClerkCommodityController.java b/play-admin/src/main/java/com/starry/admin/modules/clear/controller/PlayClerkCommodityController.java new file mode 100644 index 0000000..d2b1b8c --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/clear/controller/PlayClerkCommodityController.java @@ -0,0 +1,109 @@ +package com.starry.admin.modules.clear.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.starry.admin.modules.clear.module.entity.PlayClerkCommodityEntity; +import com.starry.admin.modules.clear.module.vo.PlayClerkCommodityEditVo; +import com.starry.admin.modules.clear.module.vo.PlayClerkCommodityQueryVo; +import com.starry.admin.modules.clear.service.IPlayClerkCommodityService; +import com.starry.common.annotation.Log; +import com.starry.common.enums.BusinessType; +import com.starry.common.result.R; +import com.starry.common.utils.ConvertUtil; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 陪玩服务项目Controller + * + * @author admin + * @since 2024-03-31 + */ +@RestController +@RequestMapping("/clark/commodity") +public class PlayClerkCommodityController { + @Resource + private IPlayClerkCommodityService playClerkCommodityService; + + /** + * 查询陪玩服务项目列表 + */ + @PreAuthorize("@customSs.hasPermission('play:commodity:list')") + @GetMapping("/listAllCommodity") + public R listAllCommodity() { + List list = playClerkCommodityService.selectAll(); + return R.ok(ConvertUtil.entityToVoList(list, PlayClerkCommodityQueryVo.class)); + } + + + /** + * 查询陪玩服务项目列表 + */ + @PreAuthorize("@customSs.hasPermission('play:commodity:list')") + @GetMapping("/list") + public R list(PlayClerkCommodityEntity playClerkCommodity) { + IPage list = playClerkCommodityService.selectPlayClerkCommodityByPage(playClerkCommodity); + return R.ok(list); + } + + /** + * 获取陪玩服务项目详细信息 + */ + @PreAuthorize("@customSs.hasPermission('play:commodity:query')") + @GetMapping(value = "/{id}") + public R getInfo(@PathVariable("id") String id) { + return R.ok(playClerkCommodityService.selectPlayClerkCommodityById(id)); + } + + /** + * 新增陪玩服务项目 + */ + @PreAuthorize("@customSs.hasPermission('play:commodity:create')") + @Log(title = "陪玩服务项目", businessType = BusinessType.INSERT) + @PostMapping("/create") + public R create(@RequestBody PlayClerkCommodityEntity playClerkCommodity) { + boolean success = playClerkCommodityService.create(playClerkCommodity); + if (success) { + return R.ok(); + } + return R.error("添加失败"); + } + + + @PreAuthorize("@customSs.hasPermission('play:commodity:edit')") + @Log(title = "启停陪玩服务项目", businessType = BusinessType.UPDATE) + @PostMapping(value = "/startStopClerkItem") + public R startStopClerkItem(@Validated @RequestBody PlayClerkCommodityEditVo vo) { + playClerkCommodityService.startStopClerkItem(vo.getCommodityType(), vo.getEnablingState()); + return R.ok("成功"); + } + + + /** + * 修改陪玩服务项目 + */ + @PreAuthorize("@customSs.hasPermission('play:commodity:edit')") + @Log(title = "陪玩服务项目", businessType = BusinessType.UPDATE) + @PostMapping(value = "/update/{id}") + public R update(@PathVariable String id, @RequestBody PlayClerkCommodityEntity playClerkCommodity) { + playClerkCommodity.setId(id); + boolean success = playClerkCommodityService.update(playClerkCommodity); + if (success) { + return R.ok(); + } + return R.error("修改失败"); + } + + /** + * 删除陪玩服务项目 + */ + @PreAuthorize("@customSs.hasPermission('play:commodity:remove')") + @Log(title = "陪玩服务项目", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@PathVariable String[] ids) { + return R.ok(playClerkCommodityService.deletePlayClerkCommodityByIds(ids)); + } +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/controller/PlayClerkUserInfoController.java b/play-admin/src/main/java/com/starry/admin/modules/clear/controller/PlayClerkUserInfoController.java index 509d48b..751b814 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clear/controller/PlayClerkUserInfoController.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clear/controller/PlayClerkUserInfoController.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.starry.admin.modules.clear.module.entity.PlayClerkUserInfoEntity; import com.starry.admin.modules.clear.module.vo.PlayClerkUserAddVo; import com.starry.admin.modules.clear.module.vo.PlayClerkUserEditVo; +import com.starry.admin.modules.clear.service.IPlayClerkCommodityService; import com.starry.admin.modules.clear.service.IPlayClerkUserInfoService; import com.starry.common.annotation.Log; import com.starry.common.enums.BusinessType; @@ -27,6 +28,9 @@ public class PlayClerkUserInfoController { @Resource private IPlayClerkUserInfoService playClerkUserInfoService; + @Resource + private IPlayClerkCommodityService clerkCommodityService; + /** * 查询店员列表 */ @@ -56,6 +60,7 @@ public class PlayClerkUserInfoController { PlayClerkUserInfoEntity entity = ConvertUtil.entityToVo(vo, PlayClerkUserInfoEntity.class); boolean success = playClerkUserInfoService.create(entity); if (success) { + clerkCommodityService.initClerkCommodity(vo.getPlayUserId()); return R.ok(); } return R.error("添加失败"); diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/mapper/PlayClerkCommodityMapper.java b/play-admin/src/main/java/com/starry/admin/modules/clear/mapper/PlayClerkCommodityMapper.java new file mode 100644 index 0000000..2c52213 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/clear/mapper/PlayClerkCommodityMapper.java @@ -0,0 +1,16 @@ +package com.starry.admin.modules.clear.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.starry.admin.modules.clear.module.entity.PlayClerkCommodityEntity; + +/** + * 陪玩服务项目Mapper接口 + * + * @author admin + * @since 2024-03-31 + */ +public interface PlayClerkCommodityMapper extends BaseMapper { + + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/module/entity/PlayClerkCommodityEntity.java b/play-admin/src/main/java/com/starry/admin/modules/clear/module/entity/PlayClerkCommodityEntity.java new file mode 100644 index 0000000..5a50335 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/clear/module/entity/PlayClerkCommodityEntity.java @@ -0,0 +1,63 @@ +package com.starry.admin.modules.clear.module.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.starry.common.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 陪玩服务项目对象 play_clerk_commodity + * + * @author admin + * @since 2024-03-31 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("play_clerk_commodity") +public class PlayClerkCommodityEntity extends BaseEntity { + + + /** + * UUID + */ + private String id; + + /** + * 租户ID + */ + private String tenantId; + + /** + * 店员用户ID + */ + private String playUserId; + + /** + * 服务项目ID + */ + private String commodityId; + + /** + * 项目类型 + */ + private String commodityType; + + /** + * 项目名称 + */ + private String commodityName; + + /** + * 项目价格 + */ + private String commodityPrice; + + /** + * 服务启动状态 + * 0:停用 + * 1:启用 + */ + private String enablingState; + + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkCommodityEditVo.java b/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkCommodityEditVo.java new file mode 100644 index 0000000..c4318d2 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkCommodityEditVo.java @@ -0,0 +1,24 @@ +package com.starry.admin.modules.clear.module.vo; + +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +public class PlayClerkCommodityEditVo { + + /** + * 项目类型 + */ + @NotNull(message = "项目类型名称不能为空") + private String commodityType; + + + /** + * 服务启动状态 + * 0:停用 + * 1:启用 + */ + @NotNull(message = "服务状态不能为空") + private String enablingState; +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkCommodityQueryVo.java b/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkCommodityQueryVo.java new file mode 100644 index 0000000..3226b8f --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkCommodityQueryVo.java @@ -0,0 +1,20 @@ +package com.starry.admin.modules.clear.module.vo; + +import lombok.Data; + +@Data +public class PlayClerkCommodityQueryVo { + + /** + * 项目类型 + */ + private String commodityType; + + + /** + * 服务启动状态 + * 0:停用 + * 1:启用 + */ + private String enablingState; +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkUserAddVo.java b/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkUserAddVo.java index 3bb75b2..6e4cc64 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkUserAddVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clear/module/vo/PlayClerkUserAddVo.java @@ -1,6 +1,5 @@ package com.starry.admin.modules.clear.module.vo; -import com.starry.common.annotation.EnumValue; import lombok.Data; import javax.validation.constraints.NotBlank; diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/service/IPlayClerkCommodityService.java b/play-admin/src/main/java/com/starry/admin/modules/clear/service/IPlayClerkCommodityService.java new file mode 100644 index 0000000..e34f335 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/clear/service/IPlayClerkCommodityService.java @@ -0,0 +1,88 @@ +package com.starry.admin.modules.clear.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.starry.admin.modules.clear.module.entity.PlayClerkCommodityEntity; + +import java.util.List; + +/** + * 陪玩服务项目Service接口 + * + * @author admin + * @since 2024-03-31 + */ +public interface IPlayClerkCommodityService extends IService { + + + /** + * 初始化当前陪玩服务项目 + * + * @param playUserId 账号ID + */ + void initClerkCommodity(String playUserId); + + + /** + * 查询当前陪玩所有服务项目 + */ + List selectAll(); + + + /** + * 启停当前陪玩服务项目 + * + * @param type 项目名称 + * @param enablingState 启停状态 + */ + void startStopClerkItem(String type, String enablingState); + + + /** + * 查询陪玩服务项目 + * + * @param id 陪玩服务项目主键 + * @return 陪玩服务项目 + */ + PlayClerkCommodityEntity selectPlayClerkCommodityById(String id); + + /** + * 查询陪玩服务项目列表 + * + * @param playClerkCommodity 陪玩服务项目 + * @return 陪玩服务项目集合 + */ + IPage selectPlayClerkCommodityByPage(PlayClerkCommodityEntity playClerkCommodity); + + /** + * 新增陪玩服务项目 + * + * @param playClerkCommodity 陪玩服务项目 + * @return 结果 + */ + boolean create(PlayClerkCommodityEntity playClerkCommodity); + + /** + * 修改陪玩服务项目 + * + * @param playClerkCommodity 陪玩服务项目 + * @return 结果 + */ + boolean update(PlayClerkCommodityEntity playClerkCommodity); + + /** + * 批量删除陪玩服务项目 + * + * @param ids 需要删除的陪玩服务项目主键集合 + * @return 结果 + */ + int deletePlayClerkCommodityByIds(String[] ids); + + /** + * 删除陪玩服务项目信息 + * + * @param id 陪玩服务项目主键 + * @return 结果 + */ + int deletePlayClerkCommodityById(String id); +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/service/impl/PlayClerkCommodityServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/clear/service/impl/PlayClerkCommodityServiceImpl.java new file mode 100644 index 0000000..61c1505 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/clear/service/impl/PlayClerkCommodityServiceImpl.java @@ -0,0 +1,140 @@ +package com.starry.admin.modules.clear.service.impl; + +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.starry.admin.modules.clear.mapper.PlayClerkCommodityMapper; +import com.starry.admin.modules.clear.module.entity.PlayClerkCommodityEntity; +import com.starry.admin.modules.clear.service.IPlayClerkCommodityService; +import com.starry.admin.modules.play.module.entity.PlayCommodityInfoEntity; +import com.starry.admin.modules.play.service.IPlayCommodityInfoService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Arrays; +import java.util.List; + +/** + * 陪玩服务项目Service业务层处理 + * + * @author admin + * @since 2024-03-31 + */ +@Service +public class PlayClerkCommodityServiceImpl extends ServiceImpl implements IPlayClerkCommodityService { + @Resource + private PlayClerkCommodityMapper playClerkCommodityMapper; + + + @Resource + private IPlayCommodityInfoService playCommodityInfoService; + + + @Override + public void initClerkCommodity(String playUserId) { + for (PlayCommodityInfoEntity commodityInfo : playCommodityInfoService.selectAll()) { + PlayClerkCommodityEntity entity = new PlayClerkCommodityEntity(); + entity.setPlayUserId(playUserId); + entity.setCommodityId(commodityInfo.getId()); + entity.setCommodityType(commodityInfo.getItemType()); + entity.setCommodityName(commodityInfo.getItemName()); + entity.setCommodityPrice(commodityInfo.getPrice()); + entity.setEnablingState("1"); + this.create(entity); + } + + } + + + @Override + public List selectAll() { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.groupBy(PlayClerkCommodityEntity::getCommodityType); + lambdaQueryWrapper.eq(PlayClerkCommodityEntity::getPlayUserId, "1"); + return this.baseMapper.selectList(lambdaQueryWrapper); + } + + + @Override + public void startStopClerkItem(String type, String enablingState) { + PlayClerkCommodityEntity entity = new PlayClerkCommodityEntity(); + entity.setEnablingState(enablingState); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(PlayClerkCommodityEntity::getPlayUserId, "1"); + lambdaQueryWrapper.eq(PlayClerkCommodityEntity::getCommodityType, type); + this.baseMapper.update(entity, lambdaQueryWrapper); + } + + /** + * 查询陪玩服务项目 + * + * @param id 陪玩服务项目主键 + * @return 陪玩服务项目 + */ + @Override + public PlayClerkCommodityEntity selectPlayClerkCommodityById(String id) { + return this.baseMapper.selectById(id); + } + + /** + * 查询陪玩服务项目列表 + * + * @param playClerkCommodity 陪玩服务项目 + * @return 陪玩服务项目 + */ + @Override + public IPage selectPlayClerkCommodityByPage(PlayClerkCommodityEntity playClerkCommodity) { + Page page = new Page<>(1, 10); + return this.baseMapper.selectPage(page, new LambdaQueryWrapper<>()); + } + + /** + * 新增陪玩服务项目 + * + * @param playClerkCommodity 陪玩服务项目 + * @return 结果 + */ + @Override + public boolean create(PlayClerkCommodityEntity playClerkCommodity) { + if (StrUtil.isBlankIfStr(playClerkCommodity.getId())) { + playClerkCommodity.setId(IdUtil.fastSimpleUUID()); + } + return save(playClerkCommodity); + } + + /** + * 修改陪玩服务项目 + * + * @param playClerkCommodity 陪玩服务项目 + * @return 结果 + */ + @Override + public boolean update(PlayClerkCommodityEntity playClerkCommodity) { + return updateById(playClerkCommodity); + } + + /** + * 批量删除陪玩服务项目 + * + * @param ids 需要删除的陪玩服务项目主键 + * @return 结果 + */ + @Override + public int deletePlayClerkCommodityByIds(String[] ids) { + return playClerkCommodityMapper.deleteBatchIds(Arrays.asList(ids)); + } + + /** + * 删除陪玩服务项目信息 + * + * @param id 陪玩服务项目主键 + * @return 结果 + */ + @Override + public int deletePlayClerkCommodityById(String id) { + return playClerkCommodityMapper.deleteById(id); + } +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/clear/service/impl/PlayClerkUserInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/clear/service/impl/PlayClerkUserInfoServiceImpl.java index c1361fd..9536ca8 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clear/service/impl/PlayClerkUserInfoServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clear/service/impl/PlayClerkUserInfoServiceImpl.java @@ -19,7 +19,7 @@ import java.util.Arrays; * 店员Service业务层处理 * * @author admin - * @since 2024-03-30 + * @since 2024-03-30 */ @Service public class PlayClerkUserInfoServiceImpl extends ServiceImpl implements IPlayClerkUserInfoService { @@ -28,6 +28,7 @@ public class PlayClerkUserInfoServiceImpl extends ServiceImpl selectPlayClerkUserInfoByPage(PlayClerkUserInfoEntity playClerkUserInfo) { Page page = new Page<>(1, 10); - return this.baseMapper.selectPage(page, new LambdaQueryWrapper()); + return this.baseMapper.selectPage(page, new LambdaQueryWrapper<>()); } /** * 新增店员 + * * @param playClerkUserInfo 店员 * @return 结果 */ @Override public boolean create(PlayClerkUserInfoEntity playClerkUserInfo) { - if (StrUtil.isBlankIfStr(playClerkUserInfo.getId())){ + if (StrUtil.isBlankIfStr(playClerkUserInfo.getId())) { playClerkUserInfo.setId(IdUtil.fastSimpleUUID()); } - return save(playClerkUserInfo); + return save(playClerkUserInfo); } /** * 修改店员 + * * @param playClerkUserInfo 店员 * @return 结果 */ @@ -72,6 +76,7 @@ public class PlayClerkUserInfoServiceImpl extends ServiceImpl list = playCommodityInfoService.selectPlayCommodityInfoByPage(playCommodityInfo); + return R.ok(list); + } + + /** + * 获取服务项目详细信息 + */ + @PreAuthorize("@customSs.hasPermission('play:info:query')") + @GetMapping(value = "/{id}") + public R getInfo(@PathVariable("id") String id) { + return R.ok(playCommodityInfoService.selectPlayCommodityInfoById(id)); + } + + /** + * 新增服务项目 + */ + @PreAuthorize("@customSs.hasPermission('play:info:create')") + @Log(title = "服务项目", businessType = BusinessType.INSERT) + @PostMapping("/create") + public R create(@RequestBody PlayCommodityInfoAddVo vo) { + PlayCommodityInfoEntity entity = ConvertUtil.entityToVo(vo, PlayCommodityInfoEntity.class); + boolean success = playCommodityInfoService.create(entity); + if (success) { + return R.ok(); + } + return R.error("添加失败"); + } + + /** + * 修改服务项目 + */ + @PreAuthorize("@customSs.hasPermission('play:info:edit')") + @Log(title = "服务项目", businessType = BusinessType.UPDATE) + @PostMapping(value = "/update/{id}") + public R update(@PathVariable String id, @RequestBody PlayCommodityInfoEntity playCommodityInfo) { + playCommodityInfo.setId(id); + boolean success = playCommodityInfoService.update(playCommodityInfo); + if (success) { + return R.ok(); + } + return R.error("修改失败"); + } + + /** + * 删除服务项目 + */ + @PreAuthorize("@customSs.hasPermission('play:info:remove')") + @Log(title = "服务项目", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@PathVariable String[] ids) { + return R.ok(playCommodityInfoService.deletePlayCommodityInfoByIds(ids)); + } +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/play/controller/PlayUserInfoController.java b/play-admin/src/main/java/com/starry/admin/modules/play/controller/PlayUserInfoController.java index 41c7b61..0d51ce6 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/play/controller/PlayUserInfoController.java +++ b/play-admin/src/main/java/com/starry/admin/modules/play/controller/PlayUserInfoController.java @@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.starry.admin.modules.play.module.entity.PlayUserInfoEntity; import com.starry.admin.modules.play.module.vo.PlayUserInfoAddVo; import com.starry.admin.modules.play.module.vo.PlayUserInfoQueryVo; -import com.starry.admin.modules.play.module.vo.PlayUserInfoUpdateVo; +import com.starry.admin.modules.play.module.vo.PlayUserInfoUpEditVo; import com.starry.admin.modules.play.service.IPlayUserInfoService; import com.starry.common.annotation.Log; import com.starry.common.enums.BusinessType; @@ -68,7 +68,7 @@ public class PlayUserInfoController { @PreAuthorize("@customSs.hasPermission('play:info:edit')") @Log(title = "账号", businessType = BusinessType.UPDATE) @PostMapping(value = "/update") - public R update(@Validated @RequestBody PlayUserInfoUpdateVo vo) { + public R update(@Validated @RequestBody PlayUserInfoUpEditVo vo) { PlayUserInfoEntity entity = ConvertUtil.entityToVo(vo, PlayUserInfoEntity.class); boolean success = playUserInfoService.update(entity); if (success) { diff --git a/play-admin/src/main/java/com/starry/admin/modules/play/mapper/PlayCommodityInfoMapper.java b/play-admin/src/main/java/com/starry/admin/modules/play/mapper/PlayCommodityInfoMapper.java new file mode 100644 index 0000000..ecbf2cf --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/play/mapper/PlayCommodityInfoMapper.java @@ -0,0 +1,16 @@ +package com.starry.admin.modules.play.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.starry.admin.modules.play.module.entity.PlayCommodityInfoEntity; + +/** + * 服务项目Mapper接口 + * + * @author admin + * @since 2024-03-31 + */ +public interface PlayCommodityInfoMapper extends BaseMapper { + + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/play/module/entity/PlayCommodityInfoEntity.java b/play-admin/src/main/java/com/starry/admin/modules/play/module/entity/PlayCommodityInfoEntity.java new file mode 100644 index 0000000..d679d86 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/play/module/entity/PlayCommodityInfoEntity.java @@ -0,0 +1,51 @@ +package com.starry.admin.modules.play.module.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.starry.common.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 服务项目对象 play_commodity_info + * + * @author admin + * @since 2024-03-31 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("play_commodity_info") +public class PlayCommodityInfoEntity extends BaseEntity { + + + /** + * UUID + */ + private String id; + + /** + * 租户ID + */ + private String tenantId; + + /** + * 项目类型 + */ + private String itemType; + + /** + * 项目名称 + */ + private String itemName; + + /** + * 服务时长(文字描述信息,不参与订单计算) + */ + private String serviceDuration; + + /** + * 服务单价 + */ + private String price; + + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayCommodityInfoAddVo.java b/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayCommodityInfoAddVo.java new file mode 100644 index 0000000..ea36877 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayCommodityInfoAddVo.java @@ -0,0 +1,44 @@ +package com.starry.admin.modules.play.module.vo; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; + +/** + * 服务项目对象 play_commodity_info + * + * @author admin + * @since 2024-03-31 + */ +@Data +@EqualsAndHashCode(callSuper = false) +public class PlayCommodityInfoAddVo { + + + /** + * 项目类型 + */ + @NotNull(message = "项目类型不能为空") + private String itemType; + + /** + * 项目名称 + */ + @NotNull(message = "项目名称不能为空") + private String itemName; + + /** + * 服务时长(文字描述信息,不参与订单计算) + */ + @NotNull(message = "服务时长不能为空") + private String serviceDuration; + + /** + * 服务单价 + */ + @NotNull(message = "单价不能为空") + private String price; + + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayUserInfoUpEditVo.java b/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayUserInfoUpEditVo.java new file mode 100644 index 0000000..3389b62 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/play/module/vo/PlayUserInfoUpEditVo.java @@ -0,0 +1,20 @@ +package com.starry.admin.modules.play.module.vo; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +@Data +public class PlayUserInfoUpEditVo { + + @NotBlank(message = "ID不能为空") + private String id; + + /** + * 陪玩用户ID + */ + @NotBlank(message = "绑定用户不能为空") + private String playUserId; + + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/play/service/IPlayCommodityInfoService.java b/play-admin/src/main/java/com/starry/admin/modules/play/service/IPlayCommodityInfoService.java new file mode 100644 index 0000000..96249ac --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/play/service/IPlayCommodityInfoService.java @@ -0,0 +1,66 @@ +package com.starry.admin.modules.play.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.starry.admin.modules.play.module.entity.PlayCommodityInfoEntity; + +import java.util.List; + +/** + * 服务项目Service接口 + * + * @author admin + * @since 2024-03-31 + */ +public interface IPlayCommodityInfoService extends IService { + /** + * 查询服务项目 + * + * @param id 服务项目主键 + * @return 服务项目 + */ + PlayCommodityInfoEntity selectPlayCommodityInfoById(String id); + + + List selectAll(); + + /** + * 查询服务项目列表 + * + * @param playCommodityInfo 服务项目 + * @return 服务项目集合 + */ + IPage selectPlayCommodityInfoByPage(PlayCommodityInfoEntity playCommodityInfo); + + /** + * 新增服务项目 + * + * @param playCommodityInfo 服务项目 + * @return 结果 + */ + boolean create(PlayCommodityInfoEntity playCommodityInfo); + + /** + * 修改服务项目 + * + * @param playCommodityInfo 服务项目 + * @return 结果 + */ + boolean update(PlayCommodityInfoEntity playCommodityInfo); + + /** + * 批量删除服务项目 + * + * @param ids 需要删除的服务项目主键集合 + * @return 结果 + */ + int deletePlayCommodityInfoByIds(String[] ids); + + /** + * 删除服务项目信息 + * + * @param id 服务项目主键 + * @return 结果 + */ + int deletePlayCommodityInfoById(String id); +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/play/service/impl/PlayCommodityInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/play/service/impl/PlayCommodityInfoServiceImpl.java new file mode 100644 index 0000000..54c0b28 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/play/service/impl/PlayCommodityInfoServiceImpl.java @@ -0,0 +1,104 @@ +package com.starry.admin.modules.play.service.impl; + +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.starry.admin.modules.play.mapper.PlayCommodityInfoMapper; +import com.starry.admin.modules.play.module.entity.PlayCommodityInfoEntity; +import com.starry.admin.modules.play.service.IPlayCommodityInfoService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Arrays; +import java.util.List; + +/** + * 服务项目Service业务层处理 + * + * @author admin + * @since 2024-03-31 + */ +@Service +public class PlayCommodityInfoServiceImpl extends ServiceImpl implements IPlayCommodityInfoService { + @Resource + private PlayCommodityInfoMapper playCommodityInfoMapper; + + + @Override + public List selectAll() { + return this.baseMapper.selectList(new LambdaQueryWrapper<>()); + } + + /** + * 查询服务项目 + * + * @param id 服务项目主键 + * @return 服务项目 + */ + @Override + public PlayCommodityInfoEntity selectPlayCommodityInfoById(String id) { + return this.baseMapper.selectById(id); + } + + /** + * 查询服务项目列表 + * + * @param playCommodityInfo 服务项目 + * @return 服务项目 + */ + @Override + public IPage selectPlayCommodityInfoByPage(PlayCommodityInfoEntity playCommodityInfo) { + Page page = new Page<>(1, 10); + return this.baseMapper.selectPage(page, new LambdaQueryWrapper<>()); + } + + /** + * 新增服务项目 + * + * @param playCommodityInfo 服务项目 + * @return 结果 + */ + @Override + public boolean create(PlayCommodityInfoEntity playCommodityInfo) { + if (StrUtil.isBlankIfStr(playCommodityInfo.getId())) { + playCommodityInfo.setId(IdUtil.fastSimpleUUID()); + } + return save(playCommodityInfo); + } + + /** + * 修改服务项目 + * + * @param playCommodityInfo 服务项目 + * @return 结果 + */ + @Override + public boolean update(PlayCommodityInfoEntity playCommodityInfo) { + return updateById(playCommodityInfo); + } + + /** + * 批量删除服务项目 + * + * @param ids 需要删除的服务项目主键 + * @return 结果 + */ + @Override + public int deletePlayCommodityInfoByIds(String[] ids) { + return playCommodityInfoMapper.deleteBatchIds(Arrays.asList(ids)); + } + + /** + * 删除服务项目信息 + * + * @param id 服务项目主键 + * @return 结果 + */ + @Override + public int deletePlayCommodityInfoById(String id) { + return playCommodityInfoMapper.deleteById(id); + } +}