服务项目

This commit is contained in:
starrySky
2024-03-31 15:46:23 +08:00
parent c7f81acbe5
commit 2356636387
19 changed files with 886 additions and 9 deletions

View File

@@ -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());
}
}

View File

@@ -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<PlayClerkCommodityEntity> 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<PlayClerkCommodityEntity> 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));
}
}

View File

@@ -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("添加失败");

View File

@@ -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<PlayClerkCommodityEntity> {
}

View File

@@ -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<PlayClerkCommodityEntity> {
/**
* 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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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<PlayClerkCommodityEntity> {
/**
* 初始化当前陪玩服务项目
*
* @param playUserId 账号ID
*/
void initClerkCommodity(String playUserId);
/**
* 查询当前陪玩所有服务项目
*/
List<PlayClerkCommodityEntity> selectAll();
/**
* 启停当前陪玩服务项目
*
* @param type 项目名称
* @param enablingState 启停状态
*/
void startStopClerkItem(String type, String enablingState);
/**
* 查询陪玩服务项目
*
* @param id 陪玩服务项目主键
* @return 陪玩服务项目
*/
PlayClerkCommodityEntity selectPlayClerkCommodityById(String id);
/**
* 查询陪玩服务项目列表
*
* @param playClerkCommodity 陪玩服务项目
* @return 陪玩服务项目集合
*/
IPage<PlayClerkCommodityEntity> 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);
}

View File

@@ -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<PlayClerkCommodityMapper, PlayClerkCommodityEntity> 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<PlayClerkCommodityEntity> selectAll() {
LambdaQueryWrapper<PlayClerkCommodityEntity> 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<PlayClerkCommodityEntity> 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<PlayClerkCommodityEntity> selectPlayClerkCommodityByPage(PlayClerkCommodityEntity playClerkCommodity) {
Page<PlayClerkCommodityEntity> 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);
}
}

View File

@@ -28,6 +28,7 @@ public class PlayClerkUserInfoServiceImpl extends ServiceImpl<PlayClerkUserInfoM
/**
* 查询店员
*
* @param id 店员主键
* @return 店员
*/
@@ -38,23 +39,25 @@ public class PlayClerkUserInfoServiceImpl extends ServiceImpl<PlayClerkUserInfoM
/**
* 查询店员列表
*
* @param playClerkUserInfo 店员
* @return 店员
*/
@Override
public IPage<PlayClerkUserInfoEntity> selectPlayClerkUserInfoByPage(PlayClerkUserInfoEntity playClerkUserInfo) {
Page<PlayClerkUserInfoEntity> page = new Page<>(1, 10);
return this.baseMapper.selectPage(page, new LambdaQueryWrapper<PlayClerkUserInfoEntity>());
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);
@@ -62,6 +65,7 @@ public class PlayClerkUserInfoServiceImpl extends ServiceImpl<PlayClerkUserInfoM
/**
* 修改店员
*
* @param playClerkUserInfo 店员
* @return 结果
*/
@@ -72,6 +76,7 @@ public class PlayClerkUserInfoServiceImpl extends ServiceImpl<PlayClerkUserInfoM
/**
* 批量删除店员
*
* @param ids 需要删除的店员主键
* @return 结果
*/
@@ -82,6 +87,7 @@ public class PlayClerkUserInfoServiceImpl extends ServiceImpl<PlayClerkUserInfoM
/**
* 删除店员信息
*
* @param id 店员主键
* @return 结果
*/

View File

@@ -0,0 +1,86 @@
package com.starry.admin.modules.play.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.starry.admin.modules.play.module.entity.PlayCommodityInfoEntity;
import com.starry.admin.modules.play.module.vo.PlayCommodityInfoAddVo;
import com.starry.admin.modules.play.service.IPlayCommodityInfoService;
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.web.bind.annotation.*;
import javax.annotation.Resource;
/**
* 服务项目Controller
*
* @author admin
* @since 2024-03-31
*/
@RestController
@RequestMapping("/play/commodity")
public class PlayCommodityInfoController {
@Resource
private IPlayCommodityInfoService playCommodityInfoService;
/**
* 查询服务项目列表
*/
@PreAuthorize("@customSs.hasPermission('play:info:list')")
@GetMapping("/list")
public R list(PlayCommodityInfoEntity playCommodityInfo) {
IPage<PlayCommodityInfoEntity> 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));
}
}

View File

@@ -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) {

View File

@@ -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<PlayCommodityInfoEntity> {
}

View File

@@ -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<PlayCommodityInfoEntity> {
/**
* UUID
*/
private String id;
/**
* 租户ID
*/
private String tenantId;
/**
* 项目类型
*/
private String itemType;
/**
* 项目名称
*/
private String itemName;
/**
* 服务时长(文字描述信息,不参与订单计算)
*/
private String serviceDuration;
/**
* 服务单价
*/
private String price;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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<PlayCommodityInfoEntity> {
/**
* 查询服务项目
*
* @param id 服务项目主键
* @return 服务项目
*/
PlayCommodityInfoEntity selectPlayCommodityInfoById(String id);
List<PlayCommodityInfoEntity> selectAll();
/**
* 查询服务项目列表
*
* @param playCommodityInfo 服务项目
* @return 服务项目集合
*/
IPage<PlayCommodityInfoEntity> 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);
}

View File

@@ -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<PlayCommodityInfoMapper, PlayCommodityInfoEntity> implements IPlayCommodityInfoService {
@Resource
private PlayCommodityInfoMapper playCommodityInfoMapper;
@Override
public List<PlayCommodityInfoEntity> 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<PlayCommodityInfoEntity> selectPlayCommodityInfoByPage(PlayCommodityInfoEntity playCommodityInfo) {
Page<PlayCommodityInfoEntity> 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);
}
}