店员管理/店员等级/账户管理

This commit is contained in:
starrySky
2024-03-31 13:52:29 +08:00
parent ccaa00990f
commit c7f81acbe5
125 changed files with 2670 additions and 1033 deletions

View File

@@ -0,0 +1,85 @@
package com.starry.admin.modules.commodity.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.starry.admin.modules.commodity.module.entity.PlayServiceInfoEntity;
import com.starry.admin.modules.commodity.service.IPlayServiceInfoService;
import com.starry.common.annotation.Log;
import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
* 服务项目列表Controller
*
* @author admin
* @since 2024-03-28
*/
@RestController
@RequestMapping("/commodity/info")
public class PlayServiceInfoController {
@Resource
private IPlayServiceInfoService playServiceInfoService;
/**
* 查询服务项目列表列表
*/
@PreAuthorize("@customSs.hasPermission('play:info:list')")
@GetMapping("/list")
public R list(PlayServiceInfoEntity playServiceInfo) {
IPage<PlayServiceInfoEntity> list = playServiceInfoService.selectPlayServiceInfoByPage(playServiceInfo);
return R.ok(list);
}
/**
* 获取服务项目列表详细信息
*/
@PreAuthorize("@customSs.hasPermission('play:info:query')")
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
return R.ok(playServiceInfoService.selectPlayServiceInfoById(id));
}
/**
* 新增服务项目列表
*/
@PreAuthorize("@customSs.hasPermission('play:info:create')")
@Log(title = "服务项目列表", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@RequestBody PlayServiceInfoEntity playServiceInfo) {
boolean success = playServiceInfoService.create(playServiceInfo);
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 PlayServiceInfoEntity playServiceInfo) {
playServiceInfo.setId(id);
boolean success = playServiceInfoService.update(playServiceInfo);
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(playServiceInfoService.deletePlayServiceInfoByIds(ids));
}
}

View File

@@ -0,0 +1,17 @@
package com.starry.admin.modules.commodity.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.starry.admin.modules.commodity.module.entity.PlayClearServiceEntity;
/**
* 陪玩引用服务项目Mapper接口
*
* @author admin
* @since 2024-03-28
*/
public interface PlayClearServiceMapper extends BaseMapper<PlayClearServiceEntity> {
}

View File

@@ -0,0 +1,17 @@
package com.starry.admin.modules.commodity.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.starry.admin.modules.commodity.module.entity.PlayServiceInfoEntity;
/**
* 服务项目列表Mapper接口
*
* @author admin
* @since 2024-03-28
*/
public interface PlayServiceInfoMapper extends BaseMapper<PlayServiceInfoEntity> {
}

View File

@@ -0,0 +1,51 @@
package com.starry.admin.modules.commodity.module.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.starry.common.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 陪玩引用服务项目对象 play_clear_service
*
* @author admin
* @since 2024-03-28
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("play_clear_service")
public class PlayClearServiceEntity extends BaseEntity<PlayClearServiceEntity> {
/**
* UUID
*/
private String id;
/**
* 租户ID
*/
private String tenantId;
/**
* 店员用户ID
*/
private String playUserId;
/**
* 服务项目ID
*/
private String serviceId;
/**
* 项目启用状态
* 1:启用
* 0:停用
*
* @since 2024/3/28 11:20
**/
private String enablingState;
}

View File

@@ -0,0 +1,46 @@
package com.starry.admin.modules.commodity.module.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.starry.common.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 服务项目信息对象 play_service_info
*
* @author admin
* @since 2024-03-28
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("play_service_info")
public class PlayServiceInfoEntity extends BaseEntity<PlayServiceInfoEntity> {
/**
* UUID
*/
private String id;
/**
* 租户ID
*/
private String tenantId;
/**
* 项目名称
*/
private String itemName;
/**
* 服务时长(文字描述信息,不参与订单计算)
*/
private String serviceDuration;
/**
* 服务单价
*/
private String price;
}

View File

@@ -0,0 +1,84 @@
package com.starry.admin.modules.commodity.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.starry.admin.modules.commodity.module.entity.PlayClearServiceEntity;
/**
* 陪玩引用服务项目Service接口
*
* @author admin
* @since 2024-03-28
*/
public interface IPlayClearServiceService extends IService<PlayClearServiceEntity> {
/**
* 初始化陪玩的服务项目
*
* @param playUserId 陪玩用户ID
* @author 杭州世平信息科技有限公司-xuhq
* @since 2024/3/28 11:13
**/
void initPlayService(String playUserId);
/**
* 查询陪玩引用服务项目
*
* @param id 陪玩引用服务项目主键
* @return 陪玩引用服务项目
*/
PlayClearServiceEntity selectPlayClearServiceById(String id);
/**
* 查询陪玩引用服务项目列表
*
* @param playClearService 陪玩引用服务项目
* @return 陪玩引用服务项目集合
*/
IPage<PlayClearServiceEntity> selectPlayClearServiceByPage(PlayClearServiceEntity playClearService);
/**
* 新增陪玩引用服务项目
*
* @param playClearService 陪玩引用服务项目
* @return 结果
*/
boolean create(PlayClearServiceEntity playClearService);
/**
* 修改陪玩服务启停状态
*
* @param playUserId 陪玩用户ID
* @param serviceId 服务ID
* @param enablingState * 项目启用状态【0:停用1启用】
* @author 杭州世平信息科技有限公司-xuhq
* @since 2024/3/28 11:35
**/
void updateServiceEnablingState(String playUserId, String serviceId, String enablingState);
/**
* 修改陪玩引用服务项目
*
* @param playClearService 陪玩引用服务项目
* @return 结果
*/
boolean update(PlayClearServiceEntity playClearService);
/**
* 批量删除陪玩引用服务项目
*
* @param ids 需要删除的陪玩引用服务项目主键集合
* @return 结果
*/
int deletePlayClearServiceByIds(String[] ids);
/**
* 删除陪玩引用服务项目信息
*
* @param id 陪玩引用服务项目主键
* @return 结果
*/
int deletePlayClearServiceById(String id);
}

View File

@@ -0,0 +1,74 @@
package com.starry.admin.modules.commodity.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.starry.admin.modules.commodity.module.entity.PlayServiceInfoEntity;
import java.util.List;
/**
* 服务项目列表Service接口
*
* @author admin
* @since 2024-03-28
*/
public interface IPlayServiceInfoService extends IService<PlayServiceInfoEntity> {
/**
* 查询服务项目列表
*
* @param id 服务项目列表主键
* @return 服务项目列表
*/
PlayServiceInfoEntity selectPlayServiceInfoById(String id);
/**
* 查询所有的服务项目
*
* @return List<PlayServiceInfoEntity>
* @author 杭州世平信息科技有限公司-xuhq
* @since 2024/3/28 11:18
**/
List<PlayServiceInfoEntity> selectPlayServiceInfoAll();
/**
* 查询服务项目列表列表
*
* @param playServiceInfo 服务项目列表
* @return 服务项目列表集合
*/
IPage<PlayServiceInfoEntity> selectPlayServiceInfoByPage(PlayServiceInfoEntity playServiceInfo);
/**
* 新增服务项目列表
*
* @param playServiceInfo 服务项目列表
* @return 结果
*/
boolean create(PlayServiceInfoEntity playServiceInfo);
/**
* 修改服务项目列表
*
* @param playServiceInfo 服务项目列表
* @return 结果
*/
boolean update(PlayServiceInfoEntity playServiceInfo);
/**
* 批量删除服务项目列表
*
* @param ids 需要删除的服务项目列表主键集合
* @return 结果
*/
int deletePlayServiceInfoByIds(String[] ids);
/**
* 删除服务项目列表信息
*
* @param id 服务项目列表主键
* @return 结果
*/
int deletePlayServiceInfoById(String id);
}

View File

@@ -0,0 +1,134 @@
package com.starry.admin.modules.commodity.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.common.exception.CustomException;
import com.starry.admin.modules.commodity.mapper.PlayClearServiceMapper;
import com.starry.admin.modules.commodity.module.entity.PlayClearServiceEntity;
import com.starry.admin.modules.commodity.module.entity.PlayServiceInfoEntity;
import com.starry.admin.modules.commodity.service.IPlayClearServiceService;
import com.starry.admin.modules.commodity.service.IPlayServiceInfoService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
/**
* 陪玩引用服务项目Service业务层处理
*
* @author admin
* @since 2024-03-28
*/
@Service
public class PlayClearServiceServiceImpl extends ServiceImpl<PlayClearServiceMapper, PlayClearServiceEntity> implements IPlayClearServiceService {
@Resource
private PlayClearServiceMapper playClearServiceMapper;
@Resource
private IPlayServiceInfoService playServiceInfoService;
@Override
public void initPlayService(String playUserId) {
for (PlayServiceInfoEntity playServiceInfoEntity : playServiceInfoService.selectPlayServiceInfoAll()) {
PlayClearServiceEntity entity = new PlayClearServiceEntity();
entity.setServiceId(playServiceInfoEntity.getId());
entity.setTenantId(playServiceInfoEntity.getTenantId());
entity.setPlayUserId(playUserId);
entity.setEnablingState("0");
this.create(entity);
}
}
/**
* 查询陪玩引用服务项目
*
* @param id 陪玩引用服务项目主键
* @return 陪玩引用服务项目
*/
@Override
public PlayClearServiceEntity selectPlayClearServiceById(String id) {
return this.baseMapper.selectById(id);
}
/**
* 查询陪玩引用服务项目列表
*
* @param playClearService 陪玩引用服务项目
* @return 陪玩引用服务项目
*/
@Override
public IPage<PlayClearServiceEntity> selectPlayClearServiceByPage(PlayClearServiceEntity playClearService) {
Page<PlayClearServiceEntity> page = new Page<>(1, 10);
return this.baseMapper.selectPage(page, new LambdaQueryWrapper<PlayClearServiceEntity>());
}
/**
* 新增陪玩引用服务项目
*
* @param playClearService 陪玩引用服务项目
* @return 结果
*/
@Override
public boolean create(PlayClearServiceEntity playClearService) {
if (StrUtil.isBlankIfStr(playClearService.getId())) {
playClearService.setId(IdUtil.fastSimpleUUID());
}
return save(playClearService);
}
@Override
public void updateServiceEnablingState(String playUserId, String serviceId, String enablingState) {
LambdaQueryWrapper<PlayClearServiceEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(PlayClearServiceEntity::getServiceId, serviceId);
lambdaQueryWrapper.eq(PlayClearServiceEntity::getPlayUserId, playUserId);
List<PlayClearServiceEntity> list = this.baseMapper.selectList(lambdaQueryWrapper);
if (list.size() != 1) {
throw new CustomException("服务不存在,请查证");
}
// 更新服务状态
PlayClearServiceEntity item = list.get(0);
item.setEnablingState(enablingState);
this.update(item);
}
/**
* 修改陪玩引用服务项目
*
* @param playClearService 陪玩引用服务项目
* @return 结果
*/
@Override
public boolean update(PlayClearServiceEntity playClearService) {
return updateById(playClearService);
}
/**
* 批量删除陪玩引用服务项目
*
* @param ids 需要删除的陪玩引用服务项目主键
* @return 结果
*/
@Override
public int deletePlayClearServiceByIds(String[] ids) {
return playClearServiceMapper.deleteBatchIds(Arrays.asList(ids));
}
/**
* 删除陪玩引用服务项目信息
*
* @param id 陪玩引用服务项目主键
* @return 结果
*/
@Override
public int deletePlayClearServiceById(String id) {
return playClearServiceMapper.deleteById(id);
}
}

View File

@@ -0,0 +1,105 @@
package com.starry.admin.modules.commodity.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.commodity.mapper.PlayServiceInfoMapper;
import com.starry.admin.modules.commodity.module.entity.PlayServiceInfoEntity;
import com.starry.admin.modules.commodity.service.IPlayServiceInfoService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
/**
* 服务项目列表Service业务层处理
*
* @author admin
* @since 2024-03-28
*/
@Service
public class PlayServiceInfoServiceImpl extends ServiceImpl<PlayServiceInfoMapper, PlayServiceInfoEntity> implements IPlayServiceInfoService {
@Resource
private PlayServiceInfoMapper playServiceInfoMapper;
/**
* 查询服务项目列表
*
* @param id 服务项目列表主键
* @return 服务项目列表
*/
@Override
public PlayServiceInfoEntity selectPlayServiceInfoById(String id) {
return this.baseMapper.selectById(id);
}
@Override
public List<PlayServiceInfoEntity> selectPlayServiceInfoAll() {
return this.baseMapper.selectList(new LambdaQueryWrapper<>());
}
/**
* 查询服务项目列表列表
*
* @param playServiceInfo 服务项目列表
* @return 服务项目列表
*/
@Override
public IPage<PlayServiceInfoEntity> selectPlayServiceInfoByPage(PlayServiceInfoEntity playServiceInfo) {
Page<PlayServiceInfoEntity> page = new Page<>(1, 10);
return this.baseMapper.selectPage(page, new LambdaQueryWrapper<PlayServiceInfoEntity>());
}
/**
* 新增服务项目列表
*
* @param playServiceInfo 服务项目列表
* @return 结果
*/
@Override
public boolean create(PlayServiceInfoEntity playServiceInfo) {
if (StrUtil.isBlankIfStr(playServiceInfo.getId())) {
playServiceInfo.setId(IdUtil.fastSimpleUUID());
}
return save(playServiceInfo);
}
/**
* 修改服务项目列表
*
* @param playServiceInfo 服务项目列表
* @return 结果
*/
@Override
public boolean update(PlayServiceInfoEntity playServiceInfo) {
return updateById(playServiceInfo);
}
/**
* 批量删除服务项目列表
*
* @param ids 需要删除的服务项目列表主键
* @return 结果
*/
@Override
public int deletePlayServiceInfoByIds(String[] ids) {
return playServiceInfoMapper.deleteBatchIds(Arrays.asList(ids));
}
/**
* 删除服务项目列表信息
*
* @param id 服务项目列表主键
* @return 结果
*/
@Override
public int deletePlayServiceInfoById(String id) {
return playServiceInfoMapper.deleteById(id);
}
}