docs: swagger docs refacto & perf

This commit is contained in:
huchuansai
2025-06-12 10:23:22 +08:00
parent 725d14c125
commit d5a51faf8b
155 changed files with 3655 additions and 281 deletions

246
list_OpenAPI.json Normal file
View File

@@ -0,0 +1,246 @@
{
"swagger": "2.0",
"info": {
"description": "# 接口文档",
"version": "1.0",
"title": "接口文档",
"termsOfService": "http://www.xx.com/",
"contact": {
"name": "277769738@qq.com"
}
},
"host": "localhost:7002",
"basePath": "/api",
"schemes": [],
"consumes": [
"*/*"
],
"produces": [
"*/*"
],
"paths": {
"/api/clerk/user/list": {
"get": {
"tags": [
"play-clerk-user-info-controller"
],
"summary": "list",
"operationId": "listUsingGET_5",
"produces": [
"*/*"
],
"parameters": [
{
"name": "beginTime",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "clerkState",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "createdBy",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "createdTime",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
},
{
"name": "currentPage",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "deleted",
"in": "query",
"required": false,
"type": "boolean"
},
{
"name": "endTime",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "levelId",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "listingState",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "nickname",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "onboardingState",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "pageNum",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "pageSize",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "phone",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "province",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "recommendationState",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "sex",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "typeId",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "updatedBy",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "updatedTime",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"originalRef": "全局统一返回结果",
"$ref": "#/definitions/全局统一返回结果"
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Not Found"
}
},
"deprecated": false
}
}
},
"definitions": {
"全局统一返回结果": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32",
"description": "返回码"
},
"data": {
"type": "object",
"description": "返回数据"
},
"message": {
"type": "string",
"description": "返回消息"
},
"pageInfo": {
"description": "分页信息",
"originalRef": "PageInfo",
"$ref": "#/definitions/PageInfo"
},
"success": {
"type": "boolean",
"description": "是否成功"
},
"total": {
"type": "integer",
"format": "int64",
"description": "总条数"
}
},
"title": "全局统一返回结果"
},
"PageInfo": {
"type": "object",
"properties": {
"currentPage": {
"type": "integer",
"format": "int32",
"description": "当前页",
"refType": null
},
"pageSize": {
"type": "integer",
"format": "int32",
"description": "页大小",
"refType": null
},
"totalCount": {
"type": "integer",
"format": "int64",
"description": "总记录数",
"refType": null
},
"totalPage": {
"type": "integer",
"format": "int64",
"description": "总页数",
"refType": null
}
},
"title": "PageInfo"
}
}
}

View File

@@ -11,6 +11,13 @@ 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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -24,6 +31,7 @@ import java.io.IOException;
* @author admin
* @since 2024-06-06
*/
@Api(tags = "店员头像框管理", description = "店员头像框信息管理相关接口,包括查询、新增、修改、删除和赠送等操作")
@RestController
@RequestMapping("/clerk/avatarFrame")
public class PlayAvatarFrameInfoController {
@@ -35,22 +43,34 @@ public class PlayAvatarFrameInfoController {
private IOssFileService ossFileService;
@ApiOperation(value = "分页查询头像框", notes = "分页查询店员头像框信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayAvatarFrameInfoEntity.class, responseContainer = "Page")
})
@PostMapping("/listByPage")
public R listByPage(@Validated @RequestBody PlayAvatarFrameInfoQueryVo vo) {
public R listByPage(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayAvatarFrameInfoQueryVo vo) {
return R.ok(playAvatarFrameInfoService.selectByPage(vo));
}
/**
* 查询店员头像框列表
*/
@ApiOperation(value = "查询所有头像框", notes = "获取所有店员头像框信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayAvatarFrameInfoEntity.class, responseContainer = "List")
})
@GetMapping("/listAll")
public R listAll() {
return R.ok(playAvatarFrameInfoService.selectAll());
}
@ApiOperation(value = "上传头像框图片", notes = "上传店员头像框图片文件")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = String.class, responseContainer = "R")
})
@PostMapping("/uploadFile")
public R uploadFile(@RequestParam("file") MultipartFile file) throws IOException {
public R uploadFile(@ApiParam(value = "图片文件", required = true) @RequestParam("file") MultipartFile file) throws IOException {
String fileAddress = ossFileService.upload(file.getInputStream(), SecurityUtils.getTenantId(), file.getOriginalFilename());
return R.ok(fileAddress);
}
@@ -59,9 +79,14 @@ public class PlayAvatarFrameInfoController {
/**
* 新增店员头像框
*/
@ApiOperation(value = "新增头像框", notes = "创建新的店员头像框信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败")
})
@Log(title = "店员头像框", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@Validated @RequestBody PlayAvatarFrameInfoAddVo vo) {
public R create(@ApiParam(value = "头像框信息", required = true) @Validated @RequestBody PlayAvatarFrameInfoAddVo vo) {
boolean success = playAvatarFrameInfoService.create(ConvertUtil.entityToVo(vo, PlayAvatarFrameInfoEntity.class));
if (success) {
return R.ok();
@@ -72,9 +97,15 @@ public class PlayAvatarFrameInfoController {
/**
* 修改店员头像框
*/
@ApiOperation(value = "修改头像框", notes = "根据ID修改店员头像框信息")
@ApiImplicitParam(name = "id", value = "头像框ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败")
})
@Log(title = "店员头像框", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody PlayAvatarFrameInfoEntity playAvatarFrameInfo) {
public R update(@PathVariable String id, @ApiParam(value = "头像框信息", required = true) @RequestBody PlayAvatarFrameInfoEntity playAvatarFrameInfo) {
playAvatarFrameInfo.setId(id);
boolean success = playAvatarFrameInfoService.update(playAvatarFrameInfo);
if (success) {
@@ -86,6 +117,11 @@ public class PlayAvatarFrameInfoController {
/**
* 删除店员头像框
*/
@ApiOperation(value = "删除头像框", notes = "根据ID批量删除店员头像框信息")
@ApiImplicitParam(name = "ids", value = "头像框ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = Integer.class)
})
@Log(title = "店员头像框", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R remove(@PathVariable String[] ids) {
@@ -95,9 +131,14 @@ public class PlayAvatarFrameInfoController {
/**
* 新增店员头像框
*/
@ApiOperation(value = "赠送头像框", notes = "赠送头像框给指定店员")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败")
})
@Log(title = "赠送店员头像框", businessType = BusinessType.INSERT)
@PostMapping("/sendAvatarFrame")
public R sendAvatarFrame(@Validated @RequestBody PlayAvatarFrameSendVo vo) {
public R sendAvatarFrame(@ApiParam(value = "赠送信息", required = true) @Validated @RequestBody PlayAvatarFrameSendVo vo) {
System.out.println(vo);
return R.error("添加失败");
}

View File

@@ -11,6 +11,13 @@ 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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -22,6 +29,7 @@ import javax.annotation.Resource;
* @author admin
* @since 2024-05-04
*/
@Api(tags = "店员动态管理", description = "店员动态信息管理相关接口,包括查询、审核和删除等操作")
@RestController
@RequestMapping("/clerk/article")
public class PlayClerkArticleInfoController {
@@ -34,8 +42,12 @@ public class PlayClerkArticleInfoController {
/**
* 查询店员动态信息列表
*/
@ApiOperation(value = "分页查询动态列表", notes = "分页查询店员动态信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkArticleReturnVo.class, responseContainer = "Page")
})
@PostMapping("/listByPage")
public R list(@Validated @RequestBody PlayClerkArticleQueryVo vo) {
public R list(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayClerkArticleQueryVo vo) {
IPage<PlayClerkArticleReturnVo> list = playClerkArticleInfoService.selectByPage(vo,false);
return R.ok(list);
}
@@ -44,10 +56,15 @@ public class PlayClerkArticleInfoController {
/**
* 修改店员动态信息
*/
@ApiOperation(value = "修改动态审核状态", notes = "更新店员动态审核状态,通过或拒绝")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败")
})
//@PreAuthorize("@customSs.hasPermission('clerk:article:update')")
@Log(title = "店员动态信息", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update")
public R update(@RequestBody PlayClerkArticleReviewStateEditVo vo) {
public R update(@ApiParam(value = "审核状态信息", required = true) @RequestBody PlayClerkArticleReviewStateEditVo vo) {
PlayClerkArticleInfoEntity entity = ConvertUtil.entityToVo(vo, PlayClerkArticleInfoEntity.class);
boolean success = playClerkArticleInfoService.update(entity);
if (success) {
@@ -59,6 +76,11 @@ public class PlayClerkArticleInfoController {
/**
* 删除店员动态信息
*/
@ApiOperation(value = "删除动态", notes = "根据ID批量删除店员动态信息")
@ApiImplicitParam(name = "ids", value = "动态ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功")
})
//@PreAuthorize("@customSs.hasPermission('clerk:article:delete')")
@Log(title = "店员动态信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")

View File

@@ -6,6 +6,13 @@ import com.starry.admin.modules.clerk.service.IPlayClerkClassificationInfoServic
import com.starry.common.annotation.Log;
import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -17,6 +24,7 @@ import java.util.List;
* @author admin
* @since 2024-04-06
*/
@Api(tags = "店员分类管理", description = "店员分类信息管理相关接口,包括查询、新增、修改和删除等操作")
@RestController
@RequestMapping("/clerk/class")
public class PlayClerkClassificationInfoController {
@@ -26,6 +34,10 @@ public class PlayClerkClassificationInfoController {
/**
* 查询店员分类列表
*/
@ApiOperation(value = "查询所有分类", notes = "获取所有店员分类信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkClassificationInfoEntity.class, responseContainer = "List")
})
@GetMapping("/listAll")
public R listAll() {
List<PlayClerkClassificationInfoEntity> list = playClerkClassificationInfoService.selectAll();
@@ -36,8 +48,12 @@ public class PlayClerkClassificationInfoController {
/**
* 查询店员分类列表
*/
@ApiOperation(value = "分页查询分类", notes = "分页查询店员分类信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkClassificationInfoEntity.class, responseContainer = "Page")
})
@GetMapping("/list")
public R list(PlayClerkClassificationInfoEntity playClerkClassificationInfo) {
public R list(@ApiParam(value = "查询条件") PlayClerkClassificationInfoEntity playClerkClassificationInfo) {
IPage<PlayClerkClassificationInfoEntity> list = playClerkClassificationInfoService.selectPlayClerkClassificationInfoByPage(playClerkClassificationInfo);
return R.ok(list);
}
@@ -45,6 +61,11 @@ public class PlayClerkClassificationInfoController {
/**
* 获取店员分类详细信息
*/
@ApiOperation(value = "获取分类详情", notes = "根据ID获取店员分类详细信息")
@ApiImplicitParam(name = "id", value = "分类ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkClassificationInfoEntity.class)
})
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
return R.ok(playClerkClassificationInfoService.selectPlayClerkClassificationInfoById(id));
@@ -53,9 +74,14 @@ public class PlayClerkClassificationInfoController {
/**
* 新增店员分类
*/
@ApiOperation(value = "新增分类", notes = "创建新的店员分类信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败")
})
@Log(title = "店员分类", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@RequestBody PlayClerkClassificationInfoEntity playClerkClassificationInfo) {
public R create(@ApiParam(value = "分类信息", required = true) @RequestBody PlayClerkClassificationInfoEntity playClerkClassificationInfo) {
boolean success = playClerkClassificationInfoService.create(playClerkClassificationInfo);
if (success) {
return R.ok();
@@ -66,9 +92,15 @@ public class PlayClerkClassificationInfoController {
/**
* 修改店员分类
*/
@ApiOperation(value = "修改分类", notes = "根据ID修改店员分类信息")
@ApiImplicitParam(name = "id", value = "分类ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败")
})
@Log(title = "店员分类", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody PlayClerkClassificationInfoEntity playClerkClassificationInfo) {
public R update(@PathVariable String id, @ApiParam(value = "分类信息", required = true) @RequestBody PlayClerkClassificationInfoEntity playClerkClassificationInfo) {
playClerkClassificationInfo.setId(id);
boolean success = playClerkClassificationInfoService.update(playClerkClassificationInfo);
if (success) {
@@ -80,6 +112,11 @@ public class PlayClerkClassificationInfoController {
/**
* 删除店员分类
*/
@ApiOperation(value = "删除分类", notes = "根据ID批量删除店员分类信息")
@ApiImplicitParam(name = "ids", value = "分类ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = Integer.class)
})
@Log(title = "店员分类", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R remove(@PathVariable String[] ids) {

View File

@@ -8,6 +8,13 @@ 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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -19,6 +26,7 @@ import java.util.List;
* @author admin
* @since 2024-03-31
*/
@Api(tags = "陪聊服务项目", description = "陪聊服务项目管理相关接口,包括查询、新增、修改和删除等操作")
@RestController
@RequestMapping("/clerk/commodity")
public class PlayClerkCommodityController {
@@ -28,6 +36,10 @@ public class PlayClerkCommodityController {
/**
* 查询陪聊服务项目列表
*/
@ApiOperation(value = "查询所有服务项目", notes = "获取所有陪聊服务项目列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkCommodityQueryVo.class, responseContainer = "List")
})
@GetMapping("/listAllCommodity")
public R listAllCommodity() {
List<PlayClerkCommodityEntity> list = playClerkCommodityService.selectAll();
@@ -38,8 +50,12 @@ public class PlayClerkCommodityController {
/**
* 查询陪聊服务项目列表
*/
@ApiOperation(value = "分页查询服务项目", notes = "分页查询陪聊服务项目列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkCommodityEntity.class, responseContainer = "Page")
})
@GetMapping("/list")
public R list(PlayClerkCommodityEntity playClerkCommodity) {
public R list(@ApiParam(value = "查询条件") PlayClerkCommodityEntity playClerkCommodity) {
IPage<PlayClerkCommodityEntity> list = playClerkCommodityService.selectPlayClerkCommodityByPage(playClerkCommodity);
return R.ok(list);
}
@@ -47,6 +63,11 @@ public class PlayClerkCommodityController {
/**
* 获取陪聊服务项目详细信息
*/
@ApiOperation(value = "获取服务项目详情", notes = "根据ID获取陪聊服务项目详细信息")
@ApiImplicitParam(name = "id", value = "服务项目ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkCommodityEntity.class)
})
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
return R.ok(playClerkCommodityService.selectPlayClerkCommodityById(id));
@@ -55,9 +76,14 @@ public class PlayClerkCommodityController {
/**
* 新增陪聊服务项目
*/
@ApiOperation(value = "新增服务项目", notes = "创建新的陪聊服务项目")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败")
})
@Log(title = "陪聊服务项目", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@RequestBody PlayClerkCommodityEntity playClerkCommodity) {
public R create(@ApiParam(value = "服务项目信息", required = true) @RequestBody PlayClerkCommodityEntity playClerkCommodity) {
boolean success = playClerkCommodityService.create(playClerkCommodity);
if (success) {
return R.ok();
@@ -69,9 +95,15 @@ public class PlayClerkCommodityController {
/**
* 修改陪聊服务项目
*/
@ApiOperation(value = "修改服务项目", notes = "根据ID修改陪聊服务项目信息")
@ApiImplicitParam(name = "id", value = "服务项目ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败")
})
@Log(title = "陪聊服务项目", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody PlayClerkCommodityEntity playClerkCommodity) {
public R update(@PathVariable String id, @ApiParam(value = "服务项目信息", required = true) @RequestBody PlayClerkCommodityEntity playClerkCommodity) {
playClerkCommodity.setId(id);
boolean success = playClerkCommodityService.update(playClerkCommodity);
if (success) {
@@ -83,6 +115,11 @@ public class PlayClerkCommodityController {
/**
* 删除陪聊服务项目
*/
@ApiOperation(value = "删除服务项目", notes = "根据ID批量删除陪聊服务项目")
@ApiImplicitParam(name = "ids", value = "服务项目ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = Integer.class)
})
@Log(title = "陪聊服务项目", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R remove(@PathVariable String[] ids) {

View File

@@ -8,6 +8,13 @@ import com.starry.admin.modules.clerk.service.IPlayClerkDataReviewInfoService;
import com.starry.common.annotation.Log;
import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -19,6 +26,7 @@ import javax.annotation.Resource;
* @author admin
* @since 2024-05-19
*/
@Api(tags = "店员资料内容审核", description = "店员资料内容审核相关接口,包括昵称、头像、相册、录音等资料的审核")
@RestController
@RequestMapping("/clerk/data/review")
public class PlayClerkDataReviewInfoController {
@@ -30,8 +38,12 @@ public class PlayClerkDataReviewInfoController {
/**
* 查询店员资料审核列表
*/
@ApiOperation(value = "查询资料审核列表", notes = "分页查询店员资料审核列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkDataReviewReturnVo.class, responseContainer = "Page")
})
@PostMapping("/listByPage")
public R list(@Validated @RequestBody PlayClerkDataReviewQueryVo vo) {
public R list(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayClerkDataReviewQueryVo vo) {
IPage<PlayClerkDataReviewReturnVo> list = playClerkDataReviewInfoService.selectByPage(vo);
return R.ok(list);
}
@@ -39,10 +51,14 @@ public class PlayClerkDataReviewInfoController {
/**
* 修改店员资料审核
*/
@ApiOperation(value = "修改资料审核状态", notes = "更新店员资料审核状态,通过或拒绝")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功")
})
//@PreAuthorize("@customSs.hasPermission('clerk:dataReview:update')")
@Log(title = "店员资料审核", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update")
public R update(@Validated @RequestBody PlayClerkDataReviewStateEditVo vo) {
public R update(@ApiParam(value = "审核状态信息", required = true) @Validated @RequestBody PlayClerkDataReviewStateEditVo vo) {
playClerkDataReviewInfoService.updateDataReviewState(vo);
return R.ok();
}
@@ -50,6 +66,11 @@ public class PlayClerkDataReviewInfoController {
/**
* 删除店员资料审核
*/
@ApiOperation(value = "删除资料审核记录", notes = "根据ID批量删除店员资料审核记录")
@ApiImplicitParam(name = "ids", value = "审核记录ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = Integer.class)
})
//@PreAuthorize("@customSs.hasPermission('clerk:dataReview:delete')")
@Log(title = "店员资料审核", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")

View File

@@ -9,6 +9,13 @@ 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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -20,6 +27,7 @@ import javax.annotation.Resource;
* @author admin
* @since 2024-03-30
*/
@Api(tags = "店员等级管理", description = "店员等级信息管理相关接口,包括查询、新增、修改和删除等操作")
@RestController
@RequestMapping("/clerk/level")
public class PlayClerkLevelInfoController {
@@ -29,6 +37,10 @@ public class PlayClerkLevelInfoController {
/**
* 查询店员等级列表
*/
@ApiOperation(value = "查询所有等级", notes = "获取所有店员等级信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkLevelInfoEntity.class, responseContainer = "List")
})
@GetMapping("/listAll")
public R listAll() {
return R.ok(playClerkLevelInfoService.selectAll());
@@ -37,6 +49,11 @@ public class PlayClerkLevelInfoController {
/**
* 获取店员等级详细信息
*/
@ApiOperation(value = "获取等级详情", notes = "根据ID获取店员等级详细信息")
@ApiImplicitParam(name = "id", value = "等级ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkLevelInfoEntity.class)
})
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
return R.ok(playClerkLevelInfoService.selectPlayClerkLevelInfoById(id));
@@ -45,9 +62,14 @@ public class PlayClerkLevelInfoController {
/**
* 新增店员等级
*/
@ApiOperation(value = "新增等级", notes = "创建新的店员等级信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败")
})
@Log(title = "店员等级", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@RequestBody PlayClerkLevelAddVo vo) {
public R create(@ApiParam(value = "等级信息", required = true) @RequestBody PlayClerkLevelAddVo vo) {
PlayClerkLevelInfoEntity entity = ConvertUtil.entityToVo(vo, PlayClerkLevelInfoEntity.class);
int level = playClerkLevelInfoService.selectMaxLevel();
entity.setLevel(level + 1);
@@ -61,9 +83,14 @@ public class PlayClerkLevelInfoController {
/**
* 修改店员等级
*/
@ApiOperation(value = "修改等级", notes = "修改店员等级信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败")
})
@Log(title = "店员等级", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update")
public R update(@Validated @RequestBody PlayClerkLevelEditVo vo) {
public R update(@ApiParam(value = "等级信息", required = true) @Validated @RequestBody PlayClerkLevelEditVo vo) {
PlayClerkLevelInfoEntity entity = ConvertUtil.entityToVo(vo, PlayClerkLevelInfoEntity.class);
boolean success = playClerkLevelInfoService.update(entity);
if (success) {
@@ -75,6 +102,11 @@ public class PlayClerkLevelInfoController {
/**
* 删除店员等级
*/
@ApiOperation(value = "删除最高等级", notes = "删除系统中最高的店员等级")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "最后一级,不允许删除")
})
@Log(title = "店员等级", businessType = BusinessType.DELETE)
@DeleteMapping("delMaxLevel")
public R remove() {

View File

@@ -6,6 +6,12 @@ import com.starry.admin.modules.clerk.service.IPlayClerkPkService;
import com.starry.common.annotation.Log;
import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -16,6 +22,7 @@ import javax.annotation.Resource;
* @author admin
* @since 2024-08-02
*/
@Api(tags = "店员PK管理", description = "店员PK信息管理相关接口包括查询、新增、修改和删除等操作")
@RestController
@RequestMapping("/play/pk")
public class PlayClerkPkController {
@@ -25,8 +32,12 @@ public class PlayClerkPkController {
/**
* 查询店员pk列表
*/
@ApiOperation(value = "分页查询PK列表", notes = "分页查询店员PK信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkPkEntity.class, responseContainer = "Page")
})
@GetMapping("/list")
public R list(PlayClerkPkEntity playClerkPk) {
public R list(@ApiParam(value = "查询条件") PlayClerkPkEntity playClerkPk) {
IPage<PlayClerkPkEntity> list = playClerkPkService.selectPlayClerkPkByPage(playClerkPk);
return R.ok(list);
}
@@ -34,6 +45,11 @@ public class PlayClerkPkController {
/**
* 获取店员pk详细信息
*/
@ApiOperation(value = "获取PK详情", notes = "根据ID获取店员PK详细信息")
@ApiImplicitParam(name = "id", value = "PK记录ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkPkEntity.class)
})
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
return R.ok(playClerkPkService.selectPlayClerkPkById(id));
@@ -42,9 +58,14 @@ public class PlayClerkPkController {
/**
* 新增店员pk
*/
@ApiOperation(value = "新增PK记录", notes = "创建新的店员PK信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败")
})
@Log(title = "店员pk", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@RequestBody PlayClerkPkEntity playClerkPk) {
public R create(@ApiParam(value = "PK信息", required = true) @RequestBody PlayClerkPkEntity playClerkPk) {
boolean success = playClerkPkService.create(playClerkPk);
if (success) {
return R.ok();
@@ -55,9 +76,15 @@ public class PlayClerkPkController {
/**
* 修改店员pk
*/
@ApiOperation(value = "修改PK记录", notes = "根据ID修改店员PK信息")
@ApiImplicitParam(name = "id", value = "PK记录ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败")
})
@Log(title = "店员pk", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody PlayClerkPkEntity playClerkPk) {
public R update(@PathVariable String id, @ApiParam(value = "PK信息", required = true) @RequestBody PlayClerkPkEntity playClerkPk) {
playClerkPk.setId(id);
boolean success = playClerkPkService.update(playClerkPk);
if (success) {
@@ -69,6 +96,11 @@ public class PlayClerkPkController {
/**
* 删除店员pk
*/
@ApiOperation(value = "删除PK记录", notes = "根据ID批量删除店员PK信息")
@ApiImplicitParam(name = "ids", value = "PK记录ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = Integer.class)
})
@Log(title = "店员pk", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R remove(@PathVariable String[] ids) {

View File

@@ -8,6 +8,13 @@ import com.starry.admin.modules.clerk.service.IPlayClerkRankingInfoService;
import com.starry.common.annotation.Log;
import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -19,6 +26,7 @@ import javax.annotation.Resource;
* @author admin
* @since 2024-05-25
*/
@Api(tags = "店员排行管理", description = "店员排行榜信息管理相关接口,包括查询、新增、修改和删除等操作")
@RestController
@RequestMapping("/clerk/ranking")
public class PlayClerkRankingInfoController {
@@ -28,8 +36,12 @@ public class PlayClerkRankingInfoController {
/**
* 查询店员排行列表
*/
@ApiOperation(value = "查询排行列表", notes = "分页查询店员排行信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = IPlayClerkRankingInfoReturnVo.class, responseContainer = "Page")
})
@PostMapping("/listByPage")
public R list(@Validated @RequestBody IPlayClerkRankingInfoQueryVo vo) {
public R list(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody IPlayClerkRankingInfoQueryVo vo) {
IPage<IPlayClerkRankingInfoReturnVo> list = playClerkRankingInfoService.selectByPage(vo);
return R.ok(list);
}
@@ -37,6 +49,11 @@ public class PlayClerkRankingInfoController {
/**
* 获取店员排行详细信息
*/
@ApiOperation(value = "获取排行详情", notes = "根据ID获取店员排行详细信息")
@ApiImplicitParam(name = "id", value = "排行ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkRankingInfoEntity.class)
})
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
return R.ok(playClerkRankingInfoService.selectPlayClerkRankingInfoById(id));
@@ -45,10 +62,15 @@ public class PlayClerkRankingInfoController {
/**
* 新增店员排行
*/
@ApiOperation(value = "新增排行", notes = "创建新的店员排行记录")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败")
})
//@PreAuthorize("@customSs.hasPermission('clerk:ranking:add')")
@Log(title = "店员排行", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@RequestBody PlayClerkRankingInfoEntity playClerkRankingInfo) {
public R create(@ApiParam(value = "排行信息", required = true) @RequestBody PlayClerkRankingInfoEntity playClerkRankingInfo) {
boolean success = playClerkRankingInfoService.create(playClerkRankingInfo);
if (success) {
return R.ok();
@@ -59,10 +81,16 @@ public class PlayClerkRankingInfoController {
/**
* 修改店员排行
*/
@ApiOperation(value = "修改排行", notes = "根据ID修改店员排行信息")
@ApiImplicitParam(name = "id", value = "排行ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败")
})
//@PreAuthorize("@customSs.hasPermission('clerk:ranking:update')")
@Log(title = "店员排行", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody PlayClerkRankingInfoEntity playClerkRankingInfo) {
public R update(@PathVariable String id, @ApiParam(value = "排行信息", required = true) @RequestBody PlayClerkRankingInfoEntity playClerkRankingInfo) {
playClerkRankingInfo.setId(id);
boolean success = playClerkRankingInfoService.update(playClerkRankingInfo);
if (success) {
@@ -74,6 +102,11 @@ public class PlayClerkRankingInfoController {
/**
* 删除店员排行
*/
@ApiOperation(value = "删除排行", notes = "根据ID批量删除店员排行信息")
@ApiImplicitParam(name = "ids", value = "排行ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = Integer.class)
})
//@PreAuthorize("@customSs.hasPermission('clerk:ranking:delete')")
@Log(title = "店员排行", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")

View File

@@ -8,6 +8,13 @@ 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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -19,6 +26,7 @@ import javax.annotation.Resource;
* @author admin
* @since 2024-05-31
*/
@Api(tags = "店员分类管理", description = "店员分类信息管理相关接口,包括查询、新增、修改和删除等操作")
@RestController
@RequestMapping("/clerk/type")
public class PlayClerkTypeInfoController {
@@ -28,13 +36,21 @@ public class PlayClerkTypeInfoController {
/**
* 查询店员分类信息列表
*/
@ApiOperation(value = "查询所有分类", notes = "获取所有店员分类信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkTypeInfoEntity.class, responseContainer = "List")
})
@GetMapping("/listByAll")
public R listByAll() {
return R.ok(playClerkTypeInfoService.selectByAll());
}
@ApiOperation(value = "分页查询分类", notes = "分页查询店员分类信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkTypeInfoEntity.class, responseContainer = "Page")
})
@PostMapping("/listByPage")
public R listByPage(@Validated @RequestBody PlayClerkTypeInfoQueryVo vo) {
public R listByPage(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayClerkTypeInfoQueryVo vo) {
return R.ok(playClerkTypeInfoService.selectByPage(vo));
}
@@ -44,9 +60,14 @@ public class PlayClerkTypeInfoController {
/**
* 新增店员分类信息
*/
@ApiOperation(value = "新增分类", notes = "创建新的店员分类信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败")
})
@Log(title = "店员分类信息", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@Validated @RequestBody PlayClerkTypeInfoAddVo vo) {
public R create(@ApiParam(value = "分类信息", required = true) @Validated @RequestBody PlayClerkTypeInfoAddVo vo) {
boolean success = playClerkTypeInfoService.create(ConvertUtil.entityToVo(vo, PlayClerkTypeInfoEntity.class));
if (success) {
return R.ok();
@@ -57,9 +78,15 @@ public class PlayClerkTypeInfoController {
/**
* 修改店员分类信息
*/
@ApiOperation(value = "修改分类", notes = "根据ID修改店员分类信息")
@ApiImplicitParam(name = "id", value = "分类ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败")
})
@Log(title = "店员分类信息", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody PlayClerkTypeInfoEntity playClerkTypeInfo) {
public R update(@PathVariable String id, @ApiParam(value = "分类信息", required = true) @RequestBody PlayClerkTypeInfoEntity playClerkTypeInfo) {
playClerkTypeInfo.setId(id);
boolean success = playClerkTypeInfoService.update(playClerkTypeInfo);
if (success) {
@@ -71,6 +98,11 @@ public class PlayClerkTypeInfoController {
/**
* 删除店员分类信息
*/
@ApiOperation(value = "删除分类", notes = "根据ID批量删除店员分类信息")
@ApiImplicitParam(name = "ids", value = "分类ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = Integer.class)
})
@Log(title = "店员分类信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R remove(@PathVariable String[] ids) {

View File

@@ -17,6 +17,13 @@ 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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -29,6 +36,7 @@ import java.util.List;
* @author admin
* @since 2024-03-30
*/
@Api(tags = "店员管理", description = "店员信息管理相关接口,包括店员的增删改查、分类、分组以及状态管理等功能")
@RestController
@RequestMapping("/clerk/user")
public class PlayClerkUserInfoController {
@@ -41,8 +49,12 @@ public class PlayClerkUserInfoController {
/**
* 查询店员列表
*/
@ApiOperation(value = "分页查询店员列表", notes = "根据条件分页查询店员列表信息,支持多种筛选条件")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkUserReturnVo.class, responseContainer = "Page")
})
@PostMapping("listByPage")
public R listByPage(@Validated @RequestBody PlayClerkUserQueryVo vo) {
public R listByPage(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayClerkUserQueryVo vo) {
IPage<PlayClerkUserReturnVo> list = playClerkUserInfoService.selectByPage(vo);
return R.ok(list);
}
@@ -50,6 +62,11 @@ public class PlayClerkUserInfoController {
/**
* 按照店员分类查询店员列表
*/
@ApiOperation(value = "按分类查询店员列表", notes = "根据店员分类ID查询所有属于该分类的店员列表")
@ApiImplicitParam(name = "id", value = "店员分类ID", required = true, paramType = "query", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkUserInfoEntity.class, responseContainer = "List")
})
@GetMapping("listAllByTypeId")
public R listAllByTypeId(@RequestParam("id") String id) {
List<PlayClerkUserInfoEntity> list = playClerkUserInfoService.listAllByTypeId(id);
@@ -59,6 +76,11 @@ public class PlayClerkUserInfoController {
/**
* 按照店员分组查询店员列表
*/
@ApiOperation(value = "按分组查询店员列表", notes = "根据店员分组ID查询所有属于该分组的店员列表")
@ApiImplicitParam(name = "id", value = "店员分组ID", required = true, paramType = "query", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkUserInfoEntity.class, responseContainer = "List")
})
@GetMapping("listAllByGroupId")
public R listAllByGroupId(@RequestParam("id") String id) {
List<PlayClerkUserInfoEntity> list = playClerkUserInfoService.listAllByGroupId(id);
@@ -68,8 +90,12 @@ public class PlayClerkUserInfoController {
/**
* 修改店员分类
*/
@ApiOperation(value = "修改店员分类", notes = "将指定店员分配到指定分类中,会先清空该分类下所有店员,再重新分配")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = String.class)
})
@PostMapping("editClerkType")
public R listByPage(@Validated @RequestBody PlayClerkUserTypeEditVo vo) {
public R listByPage(@ApiParam(value = "店员分类修改参数", required = true) @Validated @RequestBody PlayClerkUserTypeEditVo vo) {
//先清空当前分类下店员
List<PlayClerkUserInfoEntity> list = playClerkUserInfoService.listAllByTypeId(vo.getTypeId());
for (PlayClerkUserInfoEntity clerkUserInfo : list) {
@@ -93,8 +119,12 @@ public class PlayClerkUserInfoController {
* 1、修改店员分组
* 2、将对应账号角色ID设为组长
*/
@ApiOperation(value = "修改店员分组", notes = "将指定店员分配到指定分组中,会先清空该分组下所有店员,再重新分配,并可设置组长")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = String.class)
})
@PostMapping("editClerkGroup")
public R editClerkGroup(@Validated @RequestBody PlayClerkUserTypeEditVo vo) {
public R editClerkGroup(@ApiParam(value = "店员分组修改参数", required = true) @Validated @RequestBody PlayClerkUserTypeEditVo vo) {
//先清空当前分类下店员
List<PlayClerkUserInfoEntity> list = playClerkUserInfoService.listAllByGroupId(vo.getTypeId());
for (PlayClerkUserInfoEntity clerkUserInfo : list) {
@@ -114,7 +144,10 @@ public class PlayClerkUserInfoController {
return R.ok("成功");
}
@ApiOperation(value = "获取简单列表", notes = "获取店员和客户的简单列表信息,用于下拉选择等场景")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = JSONObject.class)
})
@GetMapping("/simple/list")
public R simpleList() {
List<PlayClerkUserInfoEntity> clerkList = playClerkUserInfoService.simpleList();
@@ -126,8 +159,12 @@ public class PlayClerkUserInfoController {
/**
* 查询店员列表
*/
@ApiOperation(value = "查询店员列表", notes = "分页查询店员信息列表,支持多种条件筛选,返回详细的店员信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkUserInfoResultVo.class, responseContainer = "Page")
})
@GetMapping("/list")
public R list(PlayClerkUserInfoQueryVo vo) {
public R list(@ApiParam(value = "查询条件") PlayClerkUserInfoQueryVo vo) {
IPage<PlayClerkUserInfoResultVo> list = playClerkUserInfoService.selectPlayClerkUserInfoByPage(vo);
return R.ok(list);
}
@@ -135,6 +172,11 @@ public class PlayClerkUserInfoController {
/**
* 获取店员详细信息
*/
@ApiOperation(value = "获取店员详情", notes = "根据店员ID获取店员的详细信息")
@ApiImplicitParam(name = "id", value = "店员ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkUserInfoEntity.class)
})
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
return R.ok(playClerkUserInfoService.selectById(id));
@@ -183,8 +225,13 @@ public class PlayClerkUserInfoController {
*/
//@PreAuthorize("@customSs.hasPermission('clerk:user:update')")
@Log(title = "店员", businessType = BusinessType.UPDATE)
@ApiOperation(value = "修改店员信息", notes = "修改店员的基本信息,如昵称、头像、签名等")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败")
})
@PostMapping(value = "/update")
public R update(@Validated @RequestBody PlayClerkUserEditVo vo) {
public R update(@ApiParam(value = "店员信息", required = true) @Validated @RequestBody PlayClerkUserEditVo vo) {
PlayClerkUserInfoEntity entity = ConvertUtil.entityToVo(vo, PlayClerkUserInfoEntity.class);
boolean success = playClerkUserInfoService.update(entity);
if (success) {
@@ -199,8 +246,13 @@ public class PlayClerkUserInfoController {
*/
//@PreAuthorize("@customSs.hasPermission('clerk:user:update')")
@Log(title = "店员", businessType = BusinessType.UPDATE)
@PostMapping(value = "/updateState")
public R updateState(@Validated @RequestBody PlayClerkUserStateEditVo vo) {
@ApiOperation(value = "修改店员状态", notes = "修改店员的状态信息,如上下架状态、推荐状态、在线状态等")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败")
})
@PostMapping(value = "/update/state")
public R updateState(@ApiParam(value = "店员状态信息", required = true) @Validated @RequestBody PlayClerkUserStateEditVo vo) {
PlayClerkUserInfoEntity entity = ConvertUtil.entityToVo(vo, PlayClerkUserInfoEntity.class);
boolean success = playClerkUserInfoService.update(entity);
if (success) {
@@ -212,8 +264,13 @@ public class PlayClerkUserInfoController {
/**
* 删除店员
*/
//@PreAuthorize("@customSs.hasPermission('clerk:user:delete')")
//@PreAuthorize("@customSs.hasPermission('clerk:user:remove')")
@Log(title = "店员", businessType = BusinessType.DELETE)
@ApiOperation(value = "删除店员", notes = "根据ID批量删除店员信息")
@ApiImplicitParam(name = "ids", value = "店员ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = Integer.class)
})
@DeleteMapping("/{ids}")
public R remove(@PathVariable String[] ids) {
return R.ok(playClerkUserInfoService.deletePlayClerkUserInfoByIds(ids));

View File

@@ -8,6 +8,13 @@ import com.starry.admin.modules.clerk.service.IPlayClerkUserReviewInfoService;
import com.starry.common.annotation.Log;
import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -19,6 +26,7 @@ import javax.annotation.Resource;
* @author admin
* @since 2024-05-19
*/
@Api(tags = "店员资料审核", description = "店员资料审核相关接口,包括审核列表查询、审核状态修改和删除等操作")
@RestController
@RequestMapping("/clerk/user/review")
public class PlayClerkUserReviewInfoController {
@@ -28,8 +36,12 @@ public class PlayClerkUserReviewInfoController {
/**
* 查询店员资料审核列表
*/
@ApiOperation(value = "查询审核列表", notes = "分页查询店员资料审核列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkUserReviewReturnVo.class, responseContainer = "Page")
})
@PostMapping("/listByPage")
public R listByPage(@Validated @RequestBody PlayClerkUserReviewQueryVo vo) {
public R listByPage(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayClerkUserReviewQueryVo vo) {
IPage<PlayClerkUserReviewReturnVo> list = playClerkUserReviewInfoService.selectByPage(vo);
return R.ok(list);
}
@@ -37,10 +49,14 @@ public class PlayClerkUserReviewInfoController {
/**
* 修改店员资料审核
*/
@ApiOperation(value = "修改审核状态", notes = "更新店员资料审核状态,通过或拒绝")
@ApiResponses({
@ApiResponse(code = 200, message = "修改成功")
})
//@PreAuthorize("@customSs.hasPermission('clerk:userReview:update')")
@Log(title = "店员资料审核", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update")
public R update(@Validated @RequestBody PlayClerkUserReviewStateEditVo vo) {
public R update(@ApiParam(value = "审核状态信息", required = true) @Validated @RequestBody PlayClerkUserReviewStateEditVo vo) {
playClerkUserReviewInfoService.updateDataReviewState(vo);
return R.ok("修改成功");
}
@@ -48,6 +64,11 @@ public class PlayClerkUserReviewInfoController {
/**
* 删除店员资料审核
*/
@ApiOperation(value = "删除审核记录", notes = "根据ID批量删除店员资料审核记录")
@ApiImplicitParam(name = "ids", value = "审核记录ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = Integer.class)
})
//@PreAuthorize("@customSs.hasPermission('clerk:userReview:delete')")
@Log(title = "店员资料审核", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")

View File

@@ -6,6 +6,13 @@ import com.starry.admin.modules.clerk.service.IPlayClerkWagesDetailsInfoService;
import com.starry.common.annotation.Log;
import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -16,6 +23,7 @@ import javax.annotation.Resource;
* @author admin
* @since 2024-05-31
*/
@Api(tags = "店员工资明细", description = "店员工资明细信息管理相关接口,包括查询、新增、修改和删除等操作")
@RestController
@RequestMapping("/wages/details")
public class PlayClerkWagesDetailsInfoController {
@@ -25,8 +33,12 @@ public class PlayClerkWagesDetailsInfoController {
/**
* 查询店员工资明细信息列表
*/
@ApiOperation(value = "查询工资明细列表", notes = "分页查询店员工资明细信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkWagesDetailsInfoEntity.class, responseContainer = "Page")
})
@GetMapping("/list")
public R list(PlayClerkWagesDetailsInfoEntity playClerkWagesDetailsInfo) {
public R list(@ApiParam(value = "查询条件") PlayClerkWagesDetailsInfoEntity playClerkWagesDetailsInfo) {
IPage<PlayClerkWagesDetailsInfoEntity> list = playClerkWagesDetailsInfoService.selectPlayClerkWagesDetailsInfoByPage(playClerkWagesDetailsInfo);
return R.ok(list);
}
@@ -34,6 +46,11 @@ public class PlayClerkWagesDetailsInfoController {
/**
* 获取店员工资明细信息详细信息
*/
@ApiOperation(value = "获取工资明细详情", notes = "根据ID获取店员工资明细详细信息")
@ApiImplicitParam(name = "id", value = "工资明细ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkWagesDetailsInfoEntity.class)
})
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
return R.ok(playClerkWagesDetailsInfoService.selectPlayClerkWagesDetailsInfoById(id));
@@ -42,9 +59,14 @@ public class PlayClerkWagesDetailsInfoController {
/**
* 新增店员工资明细信息
*/
@ApiOperation(value = "新增工资明细", notes = "创建新的店员工资明细记录")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败")
})
@Log(title = "店员工资明细信息", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@RequestBody PlayClerkWagesDetailsInfoEntity playClerkWagesDetailsInfo) {
public R create(@ApiParam(value = "工资明细信息", required = true) @RequestBody PlayClerkWagesDetailsInfoEntity playClerkWagesDetailsInfo) {
boolean success = playClerkWagesDetailsInfoService.create(playClerkWagesDetailsInfo);
if (success) {
return R.ok();
@@ -55,9 +77,15 @@ public class PlayClerkWagesDetailsInfoController {
/**
* 修改店员工资明细信息
*/
@ApiOperation(value = "修改工资明细", notes = "根据ID修改店员工资明细信息")
@ApiImplicitParam(name = "id", value = "工资明细ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败")
})
@Log(title = "店员工资明细信息", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody PlayClerkWagesDetailsInfoEntity playClerkWagesDetailsInfo) {
public R update(@PathVariable String id, @ApiParam(value = "工资明细信息", required = true) @RequestBody PlayClerkWagesDetailsInfoEntity playClerkWagesDetailsInfo) {
playClerkWagesDetailsInfo.setId(id);
boolean success = playClerkWagesDetailsInfoService.update(playClerkWagesDetailsInfo);
if (success) {
@@ -69,6 +97,11 @@ public class PlayClerkWagesDetailsInfoController {
/**
* 删除店员工资明细信息
*/
@ApiOperation(value = "删除工资明细", notes = "根据ID批量删除店员工资明细信息")
@ApiImplicitParam(name = "ids", value = "工资明细ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = Integer.class)
})
@Log(title = "店员工资明细信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R remove(@PathVariable String[] ids) {

View File

@@ -14,6 +14,13 @@ import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity;
import com.starry.admin.modules.weichat.entity.wages.ClerkWagesDetailsReturnVo;
import com.starry.common.result.R;
import com.starry.common.utils.ConvertUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -28,6 +35,7 @@ import java.util.List;
* @author admin
* @since 2024-05-31
*/
@Api(tags = "店员工资结算", description = "店员工资结算信息管理相关接口,包括查询历史工资、未结算工资和工资明细等")
@RestController
@RequestMapping("/clerk/wages")
public class PlayClerkWagesInfoController {
@@ -43,16 +51,24 @@ public class PlayClerkWagesInfoController {
/**
* 查询店员工资结算信息列表
*/
@ApiOperation(value = "查询历史工资列表", notes = "分页查询店员历史工资结算信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = Object.class, responseContainer = "Page")
})
@PostMapping("/listByPage")
public R list(@Validated @RequestBody PlayClerkWagesInfoQueryVo vo) {
public R list(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayClerkWagesInfoQueryVo vo) {
return R.ok(playClerkWagesInfoService.selectHistoricalByPage(vo));
}
/**
* 查询店员工未结算工资
*/
@ApiOperation(value = "查询未结算工资", notes = "分页查询店员未结算工资信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkUnsettledWagesInfoReturnVo.class, responseContainer = "Page")
})
@PostMapping("/listUnsettledWagesByPage")
public R list(@Validated @RequestBody PlayClerkUnsettledWagesInfoQueryVo vo) {
public R list(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayClerkUnsettledWagesInfoQueryVo vo) {
IPage<PlayClerkUnsettledWagesInfoReturnVo> page = playClerkUserInfoService.listUnsettledWagesByPage(vo);
for (PlayClerkUnsettledWagesInfoReturnVo record : page.getRecords()) {
Integer orderState1Number = 0;
@@ -90,6 +106,12 @@ public class PlayClerkWagesInfoController {
}
@ApiOperation(value = "查询工资明细", notes = "根据工资结算ID查询工资明细信息")
@ApiImplicitParam(name = "id", value = "工资结算ID", required = true, paramType = "query", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = ClerkWagesDetailsReturnVo.class, responseContainer = "List"),
@ApiResponse(code = 500, message = "ID不能为空")
})
@GetMapping("queryWagesDetailsById")
public R clerkQueryWagesDetails(@RequestParam("id") String id) {
if (StrUtil.isBlankIfStr(id)) {

View File

@@ -6,6 +6,13 @@ import com.starry.admin.modules.clerk.service.IPlayCustomArticleInfoService;
import com.starry.common.annotation.Log;
import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@@ -17,6 +24,7 @@ import javax.annotation.Resource;
* @author admin
* @since 2024-05-04
*/
@Api(tags = "陪聊动态管理", description = "陪聊点赞动态信息管理相关接口,包括查询、新增、修改和删除等操作")
@RestController
@RequestMapping("/custom/article")
public class PlayCustomArticleInfoController {
@@ -26,8 +34,12 @@ public class PlayCustomArticleInfoController {
/**
* 查询陪聊点赞动态信息列表
*/
@ApiOperation(value = "查询动态列表", notes = "分页查询陪聊点赞动态信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayCustomArticleInfoEntity.class, responseContainer = "Page")
})
@GetMapping("/list")
public R list(PlayCustomArticleInfoEntity playCustomArticleInfo) {
public R list(@ApiParam(value = "查询条件") PlayCustomArticleInfoEntity playCustomArticleInfo) {
IPage<PlayCustomArticleInfoEntity> list = playCustomArticleInfoService.selectPlayCustomArticleInfoByPage(playCustomArticleInfo);
return R.ok(list);
}
@@ -35,6 +47,11 @@ public class PlayCustomArticleInfoController {
/**
* 获取陪聊点赞动态信息详细信息
*/
@ApiOperation(value = "获取动态详情", notes = "根据ID获取陪聊点赞动态详细信息")
@ApiImplicitParam(name = "id", value = "动态ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayCustomArticleInfoEntity.class)
})
@PreAuthorize("@customSs.hasPermission('play:info:query')")
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
@@ -44,10 +61,15 @@ public class PlayCustomArticleInfoController {
/**
* 新增陪聊点赞动态信息
*/
@ApiOperation(value = "新增动态", notes = "创建新的陪聊点赞动态信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败")
})
@PreAuthorize("@customSs.hasPermission('play:info:create')")
@Log(title = "陪聊点赞动态信息", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@RequestBody PlayCustomArticleInfoEntity playCustomArticleInfo) {
public R create(@ApiParam(value = "动态信息", required = true) @RequestBody PlayCustomArticleInfoEntity playCustomArticleInfo) {
boolean success = playCustomArticleInfoService.create(playCustomArticleInfo);
if (success) {
return R.ok();
@@ -58,10 +80,16 @@ public class PlayCustomArticleInfoController {
/**
* 修改陪聊点赞动态信息
*/
@ApiOperation(value = "修改动态", notes = "根据ID修改陪聊点赞动态信息")
@ApiImplicitParam(name = "id", value = "动态ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败")
})
@PreAuthorize("@customSs.hasPermission('play:info:edit')")
@Log(title = "陪聊点赞动态信息", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody PlayCustomArticleInfoEntity playCustomArticleInfo) {
public R update(@PathVariable String id, @ApiParam(value = "动态信息", required = true) @RequestBody PlayCustomArticleInfoEntity playCustomArticleInfo) {
playCustomArticleInfo.setId(id);
boolean success = playCustomArticleInfoService.update(playCustomArticleInfo);
if (success) {
@@ -73,6 +101,11 @@ public class PlayCustomArticleInfoController {
/**
* 删除陪聊点赞动态信息
*/
@ApiOperation(value = "删除动态", notes = "根据ID批量删除陪聊点赞动态信息")
@ApiImplicitParam(name = "ids", value = "动态ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = Integer.class)
})
@PreAuthorize("@customSs.hasPermission('play:info:remove')")
@Log(title = "陪聊点赞动态信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")

View File

@@ -1,6 +1,8 @@
package com.starry.admin.modules.clerk.module.entity;
import com.starry.common.domain.BasePageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -14,119 +16,142 @@ import java.util.List;
*/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "店员分页查询参数", description = "分页查询店员列表的条件参数")
public class PlayClerkUserQueryVo extends BasePageEntity {
/**
* UUID
*/
@ApiModelProperty(value = "店员ID", notes = "唯一标识")
private String id;
/**
* 昵称
*/
@ApiModelProperty(value = "店员昵称", notes = "支持模糊查询")
private String nickname;
/**
* 电话号码
*/
@ApiModelProperty(value = "电话号码")
private String phone;
/**
* 分组ID
*/
@ApiModelProperty(value = "分组ID")
private String groupId;
/**
* 性别[0:未知;1:男;2:女]
*/
@ApiModelProperty(value = "性别", notes = "0:未知;1:男;2:女")
private String sex;
/**
* 是否固定等级(0:固定等级1:不固定)
*/
@ApiModelProperty(value = "是否固定等级", notes = "0:固定等级1:不固定")
private String fixingLevel;
/**
* 店员等级
*/
@ApiModelProperty(value = "店员等级ID")
private String levelId;
/**
* 年龄
*/
@ApiModelProperty(value = "年龄范围", notes = "年龄区间查询,如[18, 25]")
private List<Integer> ages;
/**
* 所在国家
*/
@ApiModelProperty(value = "所在国家", example = "中国")
private String country;
/**
* 所在省份
*/
@ApiModelProperty(value = "所在省份", example = "广东省")
private String province;
/**
* 所在城市
*/
@ApiModelProperty(value = "所在城市", example = "深圳市")
private String city;
/**
* 在职状态1在职0离职
*/
@ApiModelProperty(value = "在职状态", notes = "1在职0离职", example = "1")
private String onboardingState = "1";
/**
* 是否推荐状态1已推荐0未推荐
*/
@ApiModelProperty(value = "是否推荐", notes = "1已推荐0未推荐")
private String recommendationState;
/**
* 是否置顶状态1已置顶0未置顶
*/
@ApiModelProperty(value = "是否置顶", notes = "1已置顶0未置顶")
private String pinToTopState;
/**
* 在线状态【1在线0离线】
*/
@ApiModelProperty(value = "在线状态", notes = "1在线0离线")
private String onlineState;
/**
* 上架状态【1上架0下架】
*/
@ApiModelProperty(value = "上架状态", notes = "1上架0下架")
private String listingState;
/**
* 显示状态【1显示0隐藏】
*/
@ApiModelProperty(value = "显示状态", notes = "1显示0隐藏")
private String displayState;
/**
* 实名状态【1已实名0未实名】
*/
@ApiModelProperty(value = "实名状态", notes = "1已实名0未实名")
private String realState;
/**
* 是否必须实名【0:非必须实名;1:必须实名;2:跟随店铺设置】
*/
@ApiModelProperty(value = "是否必须实名", notes = "0:非必须实名;1:必须实名;2:跟随店铺设置")
private String mandatoryRealState;
/**
* 随机接单状态【1允许0禁止】
*/
@ApiModelProperty(value = "随机接单状态", notes = "1允许0禁止")
private String randomOrderState;
/**
* 店员状态0:不是陪聊1:陪聊2:资料审核中)
*/
@ApiModelProperty(value = "店员状态", notes = "0:不是陪聊1:陪聊2:资料审核中", example = "1")
private String clerkState = "1";
/**
* 身份证号
*/
@ApiModelProperty(value = "身份证号")
private String code;

View File

@@ -3,6 +3,8 @@ package com.starry.admin.modules.clerk.module.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
@@ -18,150 +20,179 @@ import java.util.List;
* @since 2024-03-30
*/
@Data
@ApiModel(value = "店员详细信息返回对象", description = "分页查询店员详细信息的返回结果")
public class PlayClerkUserReturnVo {
/**
* UUID
*/
@ApiModelProperty(value = "店员ID", notes = "唯一标识")
private String id;
/**
* 店员昵称
*/
@ApiModelProperty(value = "店员昵称")
private String nickname;
/**
* 店员等级
*/
@ApiModelProperty(value = "店员等级ID")
private String levelId;
/**
* 店员等级
*/
@ApiModelProperty(value = "店员等级名称")
private String levelName;
/**
* 分组ID
*/
@ApiModelProperty(value = "分组ID")
private String groupId;
/**
* 分组ID
*/
@ApiModelProperty(value = "分组名称")
private String groupName;
/**
* 性别[0:未知;1:男;2:女]
*/
@ApiModelProperty(value = "性别", notes = "0:未知;1:男;2:女")
private String sex;
/**
* 头像
*/
@ApiModelProperty(value = "头像", notes = "头像图片URL")
private String avatar;
/**
* 音频
*/
@ApiModelProperty(value = "音频", notes = "音频文件URL")
private String audio;
/**
* 星座
*/
@ApiModelProperty(value = "星座", example = "天蝎座")
private String constellation;
/**
* 标签
*/
@ApiModelProperty(value = "标签列表", notes = "店员个人标签")
private List<String> label = new ArrayList<>();
/**
* 相册
*/
@ApiModelProperty(value = "相册列表", notes = "店员相册图片URL列表")
private List<String> album = new ArrayList<>();
/**
* 个性签名
*/
@ApiModelProperty(value = "个性签名")
private String signature;
/**
* 年龄
*/
@ApiModelProperty(value = "年龄", example = "25")
private Integer age;
/**
* 所在省份
*/
@ApiModelProperty(value = "所在省份", example = "广东省")
private String province;
/**
* 所在城市
*/
@ApiModelProperty(value = "所在城市", example = "深圳市")
private String city;
/**
* 在线状态【1在线0离线】
*/
@ApiModelProperty(value = "在线状态", notes = "1在线0离线")
private String onlineState;
/**
* 上架状态【1上架0下架】
*/
@ApiModelProperty(value = "上架状态", notes = "1上架0下架")
private String listingState;
/**
* 实名状态【1已实名0未实名】
*/
@ApiModelProperty(value = "实名状态", notes = "1已实名0未实名")
private String realState;
/**
* 是否必须实名【0:非必须实名;1:必须实名;2:跟随店铺设置】
*/
@ApiModelProperty(value = "是否必须实名", notes = "0:非必须实名;1:必须实名;2:跟随店铺设置")
private String mandatoryRealState;
/**
* 随机接单状态【1允许0禁止】
*/
@ApiModelProperty(value = "随机接单状态", notes = "1允许0禁止")
private String randomOrderState;
/**
* 地址
*/
@ApiModelProperty(value = "地址", notes = "店员所在详细地址")
private String address;
/**
* 地址
*/
@ApiModelProperty(value = "备注")
private String remark;
/**
* 订单列表
*/
@JsonIgnore
@ApiModelProperty(value = "订单列表", hidden = true)
private List<PlayOrderInfoEntity> orderInfos;
/**
* 订单总数
*/
@ApiModelProperty(value = "订单总数")
private String orderNumber;
/**
* 续单总数
*/
@ApiModelProperty(value = "续单总数")
private String orderContinueNumber;
/**
* 订单总金额
*/
@ApiModelProperty(value = "订单总金额")
private BigDecimal orderTotalAmount;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "添加时间", example = "2024-01-01 12:00:00")
private LocalDateTime addTime;
@@ -170,6 +201,7 @@ public class PlayClerkUserReturnVo {
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty(value = "入职时间", example = "2024-01-01")
private LocalDateTime entryTime;
/**
@@ -177,38 +209,45 @@ public class PlayClerkUserReturnVo {
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty(value = "离职时间", example = "2024-01-01")
private LocalDateTime resignationTime;
/**
* 是否推荐状态1已推荐0未推荐
*/
@ApiModelProperty(value = "是否推荐", notes = "1已推荐0未推荐")
private String recommendationState;
/**
* 是否置顶状态1已置顶0未置顶
*/
@ApiModelProperty(value = "是否置顶", notes = "1已置顶0未置顶")
private String pinToTopState;
/**
* 显示状态【1显示0隐藏】
*/
@ApiModelProperty(value = "显示状态", notes = "1显示0隐藏")
private String displayState;
/**
* 是否固定等级(0:固定等级1:不固定)
*/
@ApiModelProperty(value = "是否固定等级", notes = "0:固定等级1:不固定")
private String fixingLevel;
/**
* 在职状态1在职0离职
*/
@ApiModelProperty(value = "在职状态", notes = "1在职0离职")
private String onboardingState;
/**
* 在职天数
*/
@ApiModelProperty(value = "在职天数", example = "365")
private Integer workingHours = 0;

View File

@@ -1,5 +1,7 @@
package com.starry.admin.modules.clerk.module.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@@ -12,6 +14,7 @@ import java.util.List;
* @since 2024-03-30
*/
@Data
@ApiModel(value = "店员分类编辑对象", description = "修改店员分类或分组的参数对象")
public class PlayClerkUserTypeEditVo {
@@ -19,12 +22,14 @@ public class PlayClerkUserTypeEditVo {
* 店员分类ID
*/
@NotNull(message = "类型不能为空")
@ApiModelProperty(value = "店员分类/分组ID", required = true, notes = "分类ID或分组ID")
private String typeId;
/**
* 店员列表
*/
@NotNull(message = "店员列表不能为空")
@ApiModelProperty(value = "店员ID列表", required = true, notes = "要添加到分类/分组中的店员ID列表")
private List<String> clerkUserIds;

View File

@@ -1,6 +1,8 @@
package com.starry.admin.modules.clerk.module.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
@@ -12,6 +14,7 @@ import java.time.LocalDateTime;
* @since 2024/6/6 下午11:13
**/
@Data
@ApiModel(value = "店员头像框添加参数", description = "新增店员头像框信息的请求参数")
public class PlayAvatarFrameInfoAddVo {
/**
@@ -19,33 +22,40 @@ public class PlayAvatarFrameInfoAddVo {
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "添加时间", hidden = true, notes = "系统自动生成,无需传入")
private final LocalDateTime addTime = LocalDateTime.now();
/**
* 头像框名称
*/
@NotNull(message = "头像框名称不能为空")
@ApiModelProperty(value = "头像框名称", required = true, example = "年度贡献者", notes = "头像框的名称")
private String avatarFrameName;
/**
* 头像框地址
*/
@NotNull(message = "头像框图片不能为空")
@ApiModelProperty(value = "头像框地址", required = true, example = "https://example.com/frame.png", notes = "头像框图片的URL地址")
private String avatarFrameAddress;
/**
* 获取方式(0:手动赠送;1:自动赠送)
*/
@NotNull(message = "头像框获取方式不能为空")
@ApiModelProperty(value = "获取方式", required = true, example = "0", notes = "0:手动赠送;1:自动赠送")
private String accessType;
/**
* 获取条件名称
*/
@ApiModelProperty(value = "获取条件名称", example = "年度贡献奖", notes = "获取该头像框的条件名称")
private String accessName;
/**
* 获取条件
*/
@ApiModelProperty(value = "获取条件", example = "年度贡献超过10000元", notes = "获取该头像框的具体条件")
private String accessValue;
/**
* 有效期(单位:天,-1:永久有效)
*/
@NotNull(message = "有效期不能为空")
@ApiModelProperty(value = "有效期", required = true, example = "365", notes = "头像框的有效期,单位:天,-1表示永久有效")
private String periodValidity;
}

View File

@@ -1,6 +1,8 @@
package com.starry.admin.modules.clerk.module.vo;
import com.starry.common.domain.BasePageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -10,6 +12,7 @@ import lombok.EqualsAndHashCode;
**/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "店员头像框查询参数", description = "查询店员头像框信息的条件参数")
public class PlayAvatarFrameInfoQueryVo extends BasePageEntity {
}

View File

@@ -1,5 +1,7 @@
package com.starry.admin.modules.clerk.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@@ -9,12 +11,15 @@ import javax.validation.constraints.NotNull;
* @since 2024/6/6 下午11:13
**/
@Data
@ApiModel(value = "店员头像框赠送参数", description = "赠送头像框给店员的请求参数")
public class PlayAvatarFrameSendVo {
@ApiModelProperty(value = "店员ID", required = true, example = "1", notes = "接收头像框的店员ID")
private String clerkId;
@NotNull(message = "头像框获取方式不能为空")
@ApiModelProperty(value = "头像框ID", required = true, example = "1", notes = "要赠送的头像框ID")
private String avatarFrameId;
}

View File

@@ -1,6 +1,8 @@
package com.starry.admin.modules.clerk.module.vo;
import com.starry.common.domain.BasePageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -12,28 +14,34 @@ import java.util.List;
*/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "店员动态查询参数", description = "查询店员动态信息的条件参数")
public class PlayClerkArticleQueryVo extends BasePageEntity {
@ApiModelProperty(value = "动态ID", example = "1", notes = "特定动态的ID")
private String id;
/**
* 店员ID
*/
@ApiModelProperty(value = "店员ID", example = "1", notes = "特定店员的ID")
private String clerkId;
/**
* 审核状态0未审核:1审核通过2审核不通过
*/
@ApiModelProperty(value = "审核状态", example = "0", notes = "0未审核:1审核通过2审核不通过")
private String reviewState;
/**
* 发布时间
*/
@ApiModelProperty(value = "发布时间范围", example = "['2024-01-01 00:00:00','2024-12-31 23:59:59']", notes = "动态发布时间范围,包含开始和结束时间")
private List<String> releaseTime;
/**
* 顾客ID
*/
@ApiModelProperty(value = "顾客ID", example = "1", notes = "特定顾客的ID")
private String customId;
}

View File

@@ -3,6 +3,8 @@ package com.starry.admin.modules.clerk.module.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.starry.admin.modules.clerk.module.entity.PlayCustomArticleInfoEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
@@ -14,41 +16,49 @@ import java.util.List;
* 动态信息查询返回对象
*/
@Data
@ApiModel(value = "店员动态返回数据", description = "店员动态信息的返回数据")
public class PlayClerkArticleReturnVo {
/**
* UUID
*/
@ApiModelProperty(value = "动态ID", example = "1")
private String id;
/**
* 陪聊用户ID
*/
@ApiModelProperty(value = "店员ID", example = "1")
private String clerkId;
/**
* 陪聊用户昵称
*/
@ApiModelProperty(value = "店员昵称", example = "小明")
private String clerkNickname;
/**
* 陪聊用户头像
*/
@ApiModelProperty(value = "店员头像", example = "https://example.com/avatar.jpg")
private String clerkAvatar;
/**
* 动态内容
*/
@ApiModelProperty(value = "动态内容", example = "今天天气真好,感谢大家的支持!")
private String articleCon;
/**
* 动态附件类型0:图片;1:视频;2:音频)
*/
@ApiModelProperty(value = "附件类型", example = "0", notes = "0:图片;1:视频;2:音频")
private String annexType;
/**
* 动态附件内容
*/
@ApiModelProperty(value = "附件内容", example = "[\"https://example.com/photo1.jpg\"]", notes = "附件内容,根据附件类型有不同格式")
private List<String> annexCon;
@@ -57,26 +67,31 @@ public class PlayClerkArticleReturnVo {
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "发布时间", example = "2024-01-01 12:00:00")
private LocalDateTime releaseTime;
/**
* 备注(审核理由)
*/
@ApiModelProperty(value = "审核理由", example = "内容健康,通过审核")
private String reviewCon;
/**
* 点赞人数
*/
@ApiModelProperty(value = "点赞人数", example = "10")
private Integer agreedQuantity = 0;
/**
* 审核状态0未审核:1审核通过2审核不通过
*/
@ApiModelProperty(value = "审核状态", example = "0", notes = "0未审核:1审核通过2审核不通过")
private String reviewState;
/**
* 陪聊点赞动态
*/
@JsonIgnore
@ApiModelProperty(value = "点赞动态", hidden = true)
private List<PlayCustomArticleInfoEntity> articleInfoEntities;
}

View File

@@ -1,5 +1,7 @@
package com.starry.admin.modules.clerk.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@@ -11,10 +13,12 @@ import java.time.LocalDateTime;
* 动态审核
*/
@Data
@ApiModel(value = "店员动态审核状态修改参数", description = "修改店员动态审核状态的请求参数")
public class PlayClerkArticleReviewStateEditVo {
@NotBlank(message = "ID不能为空")
@ApiModelProperty(value = "动态ID", required = true, example = "1", notes = "店员动态的ID")
private String id;
/**
@@ -22,15 +26,18 @@ public class PlayClerkArticleReviewStateEditVo {
*/
@NotBlank(message = "审核状态不能为空")
@Pattern(regexp = "[12]", message = "审核状态必须为1或2")
@ApiModelProperty(value = "审核状态", required = true, example = "1", notes = "1审核通过2审核不通过")
private String reviewState;
/**
* 发布时间
*/
@ApiModelProperty(value = "备注", example = "内容健康,通过审核", notes = "审核的备注内容或拒绝原因")
private String remark;
/**
* 审核时间
*/
@ApiModelProperty(value = "审核时间", hidden = true, notes = "系统自动生成,无需传入")
private LocalDateTime reviewTime = LocalDateTime.now();
}

View File

@@ -1,16 +1,20 @@
package com.starry.admin.modules.clerk.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author admin
*/
@Data
@ApiModel(value = "陪聊服务项目查询参数", description = "查询陪聊服务项目的条件参数")
public class PlayClerkCommodityQueryVo {
/**
* 项目类型
*/
@ApiModelProperty(value = "项目类型", example = "1", notes = "服务项目的类型")
private String commodityType;
@@ -19,6 +23,7 @@ public class PlayClerkCommodityQueryVo {
* 0:停用
* 1:启用
*/
@ApiModelProperty(value = "启用状态", example = "1", notes = "0:停用,1:启用")
private String enablingState;
public PlayClerkCommodityQueryVo(String commodityType, String enablingState) {

View File

@@ -1,6 +1,8 @@
package com.starry.admin.modules.clerk.module.vo;
import com.starry.common.domain.BasePageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -14,25 +16,30 @@ import java.util.List;
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "店员资料内容审核查询参数", description = "查询店员资料内容审核信息的条件参数")
public class PlayClerkDataReviewQueryVo extends BasePageEntity {
/**
* UUID
*/
@ApiModelProperty(value = "店员ID", example = "1", notes = "特定店员的ID")
private String clerkId;
/**
* 资料类型[0:昵称;1:头像;2:相册;3:录音]
*/
@ApiModelProperty(value = "资料类型", example = "1", notes = "0:昵称;1:头像;2:相册;3:录音")
private String dataType;
/**
* 审核状态0未审核:1审核通过2审核不通过
*/
@ApiModelProperty(value = "审核状态", example = "0", notes = "0未审核:1审核通过2审核不通过")
private String reviewState;
/**
* 资料添加时间
*/
@ApiModelProperty(value = "添加时间范围", example = "['2024-01-01 00:00:00','2024-12-31 23:59:59']", notes = "资料添加时间范围,包含开始和结束时间")
private List<String> addTime;
}

View File

@@ -1,5 +1,7 @@
package com.starry.admin.modules.clerk.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
@@ -12,69 +14,82 @@ import java.util.List;
* @since 2024-05-19
*/
@Data
@ApiModel(value = "店员资料内容审核返回数据", description = "店员资料内容审核信息的返回数据")
public class PlayClerkDataReviewReturnVo {
/**
* UUID
*/
@ApiModelProperty(value = "审核记录ID", example = "1")
private String id;
/**
* 店员ID
*/
@ApiModelProperty(value = "店员ID", example = "1")
private String clerkId;
/**
* 店员昵称
*/
@ApiModelProperty(value = "店员昵称", example = "小明")
private String clerkNickname;
/**
* 店员头像
*/
@ApiModelProperty(value = "店员头像", example = "https://example.com/avatar.jpg")
private String clerkAvatar;
/**
* 资料类型[0:昵称;1:头像;2:相册;3:录音]
*/
@ApiModelProperty(value = "资料类型", example = "1", notes = "0:昵称;1:头像;2:相册;3:录音")
private String dataType;
/**
* 资料内容
*/
@ApiModelProperty(value = "资料内容", example = "[\"https://example.com/photo1.jpg\"]", notes = "资料内容,根据资料类型有不同格式")
private List<String> dataContent;
/**
* 审核状态0未审核:1审核通过2审核不通过
*/
@ApiModelProperty(value = "审核状态", example = "0", notes = "0未审核:1审核通过2审核不通过")
private String reviewState;
/**
* 资料添加时间
*/
@ApiModelProperty(value = "添加时间", example = "2024-01-01 12:00:00")
private LocalDateTime addTime;
/**
* 审核时间
*/
@ApiModelProperty(value = "审核时间", example = "2024-01-02 12:00:00")
private LocalDateTime reviewTime;
/**
* 审核人
*/
@ApiModelProperty(value = "审核人", example = "admin")
private String reviewBy;
/**
* 审核内容
*/
@ApiModelProperty(value = "审核内容", example = "资料完整,通过审核")
private String reviewCon;
/**
* 备注
*/
@ApiModelProperty(value = "备注", example = "资料清晰可见")
private String remark;
}

View File

@@ -1,5 +1,7 @@
package com.starry.admin.modules.clerk.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@@ -11,10 +13,12 @@ import java.time.LocalDateTime;
* 动态审核
*/
@Data
@ApiModel(value = "店员资料审核状态修改参数", description = "修改店员资料审核状态的请求参数")
public class PlayClerkDataReviewStateEditVo {
@NotBlank(message = "ID不能为空")
@ApiModelProperty(value = "审核记录ID", required = true, example = "1", notes = "店员资料审核记录的ID")
private String id;
/**
@@ -22,15 +26,18 @@ public class PlayClerkDataReviewStateEditVo {
*/
@NotBlank(message = "审核状态不能为空")
@Pattern(regexp = "[12]", message = "审核状态必须为1或2")
@ApiModelProperty(value = "审核状态", required = true, example = "1", notes = "1审核通过2审核不通过")
private String reviewState;
/**
* 审核内容
*/
@ApiModelProperty(value = "审核内容", example = "资料完整,通过审核", notes = "审核的备注内容或拒绝原因")
private String reviewCon;
/**
* 审核时间
*/
@ApiModelProperty(value = "审核时间", hidden = true, notes = "系统自动生成,无需传入")
private LocalDateTime reviewTime = LocalDateTime.now();
}

View File

@@ -1,5 +1,7 @@
package com.starry.admin.modules.clerk.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@@ -8,42 +10,50 @@ import javax.validation.constraints.NotBlank;
* @author admin
*/
@Data
@ApiModel(value = "店员等级添加参数", description = "新增店员等级信息的请求参数")
public class PlayClerkLevelAddVo {
/**
* 等级名称
*/
@NotBlank(message = "等级名称不能为空")
@ApiModelProperty(value = "等级名称", required = true, example = "高级店员", notes = "店员等级的名称")
private String name;
/**
* 首次固定单比例[0 - 100%]
*/
@ApiModelProperty(value = "首次固定单比例", example = "70", notes = "首次固定单提成比例范围0-100%")
private Integer firstRegularRatio;
/**
* 非首次固定单比例[0 - 100%]
*/
@ApiModelProperty(value = "非首次固定单比例", example = "60", notes = "非首次固定单提成比例范围0-100%")
private Integer notFirstRegularRatio;
/**
* 首次打赏比例[0 - 100%]
*/
@ApiModelProperty(value = "首次打赏比例", example = "80", notes = "首次打赏提成比例范围0-100%")
private Integer firstRewardRatio;
/**
* 非首次打赏比例[0 - 100%]
*/
@ApiModelProperty(value = "非首次打赏比例", example = "70", notes = "非首次打赏提成比例范围0-100%")
private Integer notFirstRewardRatio;
/**
* 首次随机单比例[0 - 100%]
*/
@ApiModelProperty(value = "首次随机单比例", example = "75", notes = "首次随机单提成比例范围0-100%")
private Integer firstRandomRadio;
/**
* 非首次随机单比例[0 - 100%]
*/
@ApiModelProperty(value = "非首次随机单比例", example = "65", notes = "非首次随机单提成比例范围0-100%")
private Integer notFirstRandomRadio;
}

View File

@@ -1,5 +1,7 @@
package com.starry.admin.modules.clerk.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@@ -8,53 +10,64 @@ import javax.validation.constraints.NotBlank;
* @author admin
*/
@Data
@ApiModel(value = "店员等级修改参数", description = "修改店员等级信息的请求参数")
public class PlayClerkLevelEditVo {
/**
* 等级名称
*/
@NotBlank(message = "ID不能为空")
@ApiModelProperty(value = "等级ID", required = true, example = "1", notes = "店员等级的ID")
private String id;
/**
* 等级名称
*/
@NotBlank(message = "等级名称不能为空")
@ApiModelProperty(value = "等级名称", required = true, example = "高级店员", notes = "店员等级的名称")
private String name;
/**
* 首次固定单比例[0 - 100%]
*/
@ApiModelProperty(value = "首次固定单比例", example = "70", notes = "首次固定单提成比例范围0-100%")
private Integer firstRegularRatio;
/**
* 非首次固定单比例[0 - 100%]
*/
@ApiModelProperty(value = "非首次固定单比例", example = "60", notes = "非首次固定单提成比例范围0-100%")
private Integer notFirstRegularRatio;
/**
* 首次打赏比例[0 - 100%]
*/
@ApiModelProperty(value = "首次打赏比例", example = "80", notes = "首次打赏提成比例范围0-100%")
private Integer firstRewardRatio;
/**
* 非首次打赏比例[0 - 100%]
*/
@ApiModelProperty(value = "非首次打赏比例", example = "70", notes = "非首次打赏提成比例范围0-100%")
private Integer notFirstRewardRatio;
/**
* 首次随机单比例[0 - 100%]
*/
@ApiModelProperty(value = "首次随机单比例", example = "75", notes = "首次随机单提成比例范围0-100%")
private Integer firstRandomRadio;
/**
* 非首次随机单比例[0 - 100%]
*/
@ApiModelProperty(value = "非首次随机单比例", example = "65", notes = "非首次随机单提成比例范围0-100%")
private Integer notFirstRandomRadio;
@ApiModelProperty(value = "样式类型", example = "1", notes = "等级样式类型")
private Integer styleType;
private String styleImageUrl;
@ApiModelProperty(value = "样式图片URL", example = "https://example.com/style.jpg", notes = "等级样式图片URL")
private String styleImageUrl;
}

View File

@@ -1,5 +1,7 @@
package com.starry.admin.modules.clerk.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@@ -9,6 +11,7 @@ import javax.validation.constraints.NotNull;
* @since 2024/6/2 下午5:59
**/
@Data
@ApiModel(value = "店员分类添加参数", description = "新增店员分类信息的请求参数")
public class PlayClerkTypeInfoAddVo {
@@ -16,18 +19,21 @@ public class PlayClerkTypeInfoAddVo {
* 分类名称
*/
@NotNull(message = "分类名称不能为空")
@ApiModelProperty(value = "分类名称", required = true, example = "新人店员", notes = "店员分类的名称")
private String typeName;
/**
* 是否在首页显示0:不显示,1:显示)
*/
@NotNull(message = "是否在首页显示不能为空")
@ApiModelProperty(value = "是否在首页显示", required = true, example = "1", notes = "0:不显示,1:显示")
private String homeDisplayed;
/**
* 排序
*/
@NotNull(message = "排序不能为空")
@ApiModelProperty(value = "排序", required = true, example = "1", notes = "数字越小排序越靠前")
private Integer sort;
}

View File

@@ -1,6 +1,8 @@
package com.starry.admin.modules.clerk.module.vo;
import com.starry.common.domain.BasePageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -10,8 +12,10 @@ import lombok.EqualsAndHashCode;
**/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "店员分类查询参数", description = "查询店员分类信息的条件参数")
public class PlayClerkTypeInfoQueryVo extends BasePageEntity {
@ApiModelProperty(value = "分类ID", example = "1", notes = "店员分类的ID")
private String id;
}

View File

@@ -1,6 +1,8 @@
package com.starry.admin.modules.clerk.module.vo;
import com.starry.common.domain.BasePageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -10,16 +12,19 @@ import lombok.EqualsAndHashCode;
**/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "未结算工资查询参数", description = "查询店员未结算工资信息的条件参数")
public class PlayClerkUnsettledWagesInfoQueryVo extends BasePageEntity {
/**
* 店员ID
*/
@ApiModelProperty(value = "店员ID", example = "1", notes = "特定店员的ID")
private String clerkId;
/**
* 店员上架状态
*/
@ApiModelProperty(value = "店员上架状态", example = "1", notes = "1上架0下架")
private String listingState;
}

View File

@@ -1,5 +1,7 @@
package com.starry.admin.modules.clerk.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@@ -10,100 +12,117 @@ import javax.validation.constraints.NotNull;
* @author admin
*/
@Data
@ApiModel(value = "店员编辑对象", description = "修改店员基本信息的参数对象")
public class PlayClerkUserEditVo {
/**
* id
*/
@NotBlank(message = "id不能为空")
@ApiModelProperty(value = "店员ID", required = true, notes = "唯一标识")
private String id;
/**
* 账号ID
*/
@NotBlank(message = "账号不能为空")
@ApiModelProperty(value = "账号ID", required = true, notes = "关联的用户账号ID")
private String playUserId;
/**
* 用户的标识,对当前公众号唯一
*/
@ApiModelProperty(value = "微信OpenID", notes = "用户在微信公众号中的唯一标识")
private String openid;
/**
* 店员昵称
*/
@NotBlank(message = "昵称不能为空")
@ApiModelProperty(value = "店员昵称", required = true)
private String nickname;
/**
* 店员等级
*/
@NotBlank(message = "等级不能为空")
@ApiModelProperty(value = "店员等级ID", required = true)
private String levelId;
/**
* 性别[0:未知;1:男;2:女]
*/
@NotNull(message = "性别不能为空")
@ApiModelProperty(value = "性别", required = true, notes = "0:未知;1:男;2:女")
private String sex;
/**
* 头像
*/
@NotBlank(message = "头像不能为空")
@ApiModelProperty(value = "头像", required = true, notes = "头像图片URL")
private String avatar;
/**
* 音频
*/
@NotBlank(message = "音频不能为空")
@ApiModelProperty(value = "音频", required = true, notes = "音频文件URL")
private String audioFrequency;
/**
* 星座
*/
@NotBlank(message = "星座不能为空")
@ApiModelProperty(value = "星座", required = true, example = "天蝎座")
private String constellation;
/**
* 标签
*/
@ApiModelProperty(value = "标签", notes = "店员个人标签,多个标签用逗号分隔")
private String label;
/**
* 个性签名
*/
@NotBlank(message = "签名不能为空")
@ApiModelProperty(value = "个性签名", required = true)
private String signature;
/**
* 年龄
*/
@NotNull(message = "年龄不能为空")
@ApiModelProperty(value = "年龄", required = true, example = "25")
private Long age;
/**
* 所在国家
*/
@NotBlank(message = "国家不能为空")
@ApiModelProperty(value = "所在国家", required = true, example = "中国")
private String country;
/**
* 所在省份
*/
@NotBlank(message = "省份不能为空")
@ApiModelProperty(value = "所在省份", required = true, example = "广东省")
private String province;
/**
* 所在城市
*/
@NotBlank(message = "城市不能为空")
@ApiModelProperty(value = "所在城市", required = true, example = "深圳市")
private String city;
/**
* 备注
*/
@ApiModelProperty(value = "备注", notes = "店员的备注信息")
private String remark;
}

View File

@@ -1,6 +1,8 @@
package com.starry.admin.modules.clerk.module.vo;
import com.starry.common.domain.BasePageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -14,44 +16,52 @@ import java.util.List;
**/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "店员资料审核查询参数", description = "查询店员资料审核信息的条件参数")
public class PlayClerkUserReviewQueryVo extends BasePageEntity {
/**
* 店员ID
*/
@ApiModelProperty(value = "店员ID", example = "1", notes = "特定店员的ID")
private String clerkId;
/**
* 店员昵称
*/
@ApiModelProperty(value = "店员昵称", example = "小明", notes = "店员的昵称,支持模糊查询")
private String nickname;
/**
* 性别[0:未知;1:男;2:女]
*/
@ApiModelProperty(value = "性别", example = "1", notes = "0:未知;1:男;2:女")
private String sex;
/**
* 手机号码
*/
@ApiModelProperty(value = "手机号码", example = "13800138000", notes = "店员的手机号码")
private String phone;
/**
* 微信号
*/
@ApiModelProperty(value = "微信号", example = "wx123456", notes = "店员的微信号")
private String weiChatCode;
/**
* 审核状态0未审核:1审核通过2审核不通过
*/
@ApiModelProperty(value = "审核状态", example = "0", notes = "0未审核:1审核通过2审核不通过")
private String reviewState;
/**
* 申请时间
*/
@ApiModelProperty(value = "申请时间范围", example = "['2024-01-01 00:00:00','2024-12-31 23:59:59']", notes = "申请时间范围,包含开始和结束时间")
private List<String> addTime;
}

View File

@@ -3,6 +3,8 @@ package com.starry.admin.modules.clerk.module.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.starry.admin.common.conf.StringTypeHandler;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
@@ -17,74 +19,89 @@ import java.util.List;
* @since 2024/5/19 下午4:21
**/
@Data
@ApiModel(value = "店员资料审核返回数据", description = "店员资料审核信息的返回数据")
public class PlayClerkUserReviewReturnVo {
@ApiModelProperty(value = "审核记录ID", example = "1")
private String id;
/**
* 店员ID
*/
@ApiModelProperty(value = "店员ID", example = "1")
private String clerkId;
/**
* 店员昵称
*/
@ApiModelProperty(value = "店员昵称", example = "小明")
private String clerkNickname;
/**
* 店员头像
*/
@ApiModelProperty(value = "店员头像", example = "https://example.com/avatar.jpg")
private String clerkAvatar;
/**
* 微信号码
*/
@ApiModelProperty(value = "微信号", example = "wx123456")
private String weiChatCode;
/**
* 手机号码
*/
@ApiModelProperty(value = "手机号码", example = "13800138000")
private String phone;
/**
* 昵称
*/
@ApiModelProperty(value = "昵称", example = "小明")
private String nickname;
/**
* 性别[0:未知;1:男;2:女]
*/
@ApiModelProperty(value = "性别", example = "1", notes = "0:未知;1:男;2:女")
private String sex;
/**
* 年龄
*/
@ApiModelProperty(value = "年龄", example = "25")
private Integer age;
/**
* 所在省份
*/
@ApiModelProperty(value = "所在省份", example = "广东省")
private String province;
/**
* 所在城市
*/
@ApiModelProperty(value = "所在城市", example = "深圳市")
private String city;
/**
* 备注(相关经验)
*/
@ApiModelProperty(value = "备注", example = "有3年相关经验")
private String remark;
/**
* 音频
*/
@ApiModelProperty(value = "音频", example = "https://example.com/audio.mp3")
private String audio;
/**
* 照片
*/
@TableField(typeHandler = StringTypeHandler.class)
@ApiModelProperty(value = "照片", example = "[\"https://example.com/photo1.jpg\",\"https://example.com/photo2.jpg\"]")
private List<String> album = new ArrayList<>();
/**
@@ -92,32 +109,37 @@ public class PlayClerkUserReviewReturnVo {
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "申请时间", example = "2024-01-01 12:00:00")
private LocalDateTime addTime;
/**
* 审核状态0未审核:1审核通过2审核不通过
*/
@ApiModelProperty(value = "审核状态", example = "0", notes = "0未审核:1审核通过2审核不通过")
private String reviewState;
/**
* 审核时间
*/
@ApiModelProperty(value = "审核时间", example = "2024-01-02 12:00:00")
private LocalDateTime reviewTime;
/**
* 审核人
*/
@ApiModelProperty(value = "审核人", example = "admin")
private String reviewBy;
/**
* 审核内容
*/
@ApiModelProperty(value = "审核内容", example = "资料完整,通过审核")
private String reviewCon;
/**
* 个性签名
*/
@ApiModelProperty(value = "个性签名", example = "用心服务每一位客户")
private String signature;
}

View File

@@ -1,5 +1,7 @@
package com.starry.admin.modules.clerk.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@@ -11,10 +13,12 @@ import java.time.LocalDateTime;
* 动态审核
*/
@Data
@ApiModel(value = "店员资料审核状态修改参数", description = "修改店员资料审核状态的请求参数")
public class PlayClerkUserReviewStateEditVo {
@NotBlank(message = "ID不能为空")
@ApiModelProperty(value = "审核记录ID", required = true, example = "1", notes = "店员资料审核记录的ID")
private String id;
/**
@@ -22,15 +26,18 @@ public class PlayClerkUserReviewStateEditVo {
*/
@NotBlank(message = "审核状态不能为空")
@Pattern(regexp = "[12]", message = "审核状态必须为1或2")
@ApiModelProperty(value = "审核状态", required = true, example = "1", notes = "1审核通过2审核不通过")
private String reviewState;
/**
* 发布时间
*/
@ApiModelProperty(value = "审核内容", example = "资料完整,通过审核", notes = "审核的备注内容或拒绝原因")
private String reviewCon;
/**
* 审核时间
*/
@ApiModelProperty(value = "审核时间", hidden = true, notes = "系统自动生成,无需传入")
private LocalDateTime reviewTime = LocalDateTime.now();
}

View File

@@ -1,5 +1,7 @@
package com.starry.admin.modules.clerk.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@@ -9,74 +11,89 @@ import javax.validation.constraints.NotBlank;
* @author admin
*/
@Data
@ApiModel(value = "店员状态编辑对象", description = "修改店员状态信息的参数对象")
public class PlayClerkUserStateEditVo {
/**
* id
*/
@NotBlank(message = "id不能为空")
@ApiModelProperty(value = "店员ID", required = true, notes = "唯一标识")
private String id;
/**
* 是否推荐状态1已推荐0未推荐
*/
@ApiModelProperty(value = "是否推荐", notes = "1已推荐0未推荐")
private String recommendationState;
/**
* 是否置顶状态1已置顶0未置顶
*/
@ApiModelProperty(value = "是否置顶", notes = "1已置顶0未置顶")
private String pinToTopState;
/**
* 在线状态【1在线0离线】
*/
@ApiModelProperty(value = "在线状态", notes = "1在线0离线")
private String onlineState;
/**
* 上架状态【1上架0下架】
*/
@ApiModelProperty(value = "上架状态", notes = "1上架0下架")
private String listingState;
/**
* 显示状态【1显示0隐藏】
*/
@ApiModelProperty(value = "显示状态", notes = "1显示0隐藏")
private String displayState;
/**
* 实名状态【1已实名0未实名】
*/
@ApiModelProperty(value = "实名状态", notes = "1已实名0未实名")
private String realState;
/**
* 是否必须实名【0:非必须实名;1:必须实名;2:跟随店铺设置】
*/
@ApiModelProperty(value = "是否必须实名", notes = "0:非必须实名;1:必须实名;2:跟随店铺设置")
private String mandatoryRealState;
/**
* 随机接单状态【1允许0禁止】
*/
@ApiModelProperty(value = "随机接单状态", notes = "1允许0禁止")
private String randomOrderState;
/**
* 是否固定等级(0:固定等级1:不固定)
*/
@ApiModelProperty(value = "是否固定等级", notes = "0:固定等级1:不固定")
private String fixingLevel;
/**
* 在职状态1在职0离职
*/
@ApiModelProperty(value = "在职状态", notes = "1在职0离职", example = "1")
private String onboardingState = "1";
/**
* 在职状态1在职0离职
*/
@ApiModelProperty(value = "店员等级ID")
private String levelId;
@ApiModelProperty(value = "备注", notes = "店员状态的备注信息")
private String remark;
@ApiModelProperty(value = "性别", notes = "0:未知;1:男;2:女")
private String sex;
}

View File

@@ -1,6 +1,8 @@
package com.starry.admin.modules.clerk.module.vo;
import com.starry.common.domain.BasePageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -10,24 +12,29 @@ import lombok.EqualsAndHashCode;
**/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "工资历史查询参数", description = "查询店员历史工资结算信息的条件参数")
public class PlayClerkWagesInfoQueryVo extends BasePageEntity {
/**
* 店员ID
*/
@ApiModelProperty(value = "店员ID", example = "1", notes = "特定店员的ID")
private String clerkId;
/**
* 店员分组
*/
@ApiModelProperty(value = "店员分组ID", example = "1", notes = "店员所属分组的ID")
private String groupId;
/**
* 店员上架状态
*/
@ApiModelProperty(value = "店员上架状态", example = "1", notes = "1上架0下架")
private String listingState;
/**
* 统计时间
*/
@ApiModelProperty(value = "统计时间", example = "2024-06", notes = "工资结算的月份格式为yyyy-MM")
private String settlementDate;
}

View File

@@ -6,6 +6,13 @@ import com.starry.admin.modules.custom.service.IPlayCustomFollowInfoService;
import com.starry.common.annotation.Log;
import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@@ -17,6 +24,7 @@ import javax.annotation.Resource;
* @author admin
* @since 2024-04-30
*/
@Api(tags = "顾客关注管理", description = "顾客关注店员信息管理相关接口,包括查询、新增、修改和删除等操作")
@RestController
@RequestMapping("/play/follow")
public class PlayCustomFollowInfoController {
@@ -26,9 +34,13 @@ public class PlayCustomFollowInfoController {
/**
* 查询顾客关注陪聊信息列表
*/
@ApiOperation(value = "分页查询关注列表", notes = "分页查询顾客关注店员信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayCustomFollowInfoEntity.class, responseContainer = "Page")
})
@PreAuthorize("@customSs.hasPermission('play:info:list')")
@GetMapping("/list")
public R list(PlayCustomFollowInfoEntity playCustomFollowInfo) {
public R list(@ApiParam(value = "查询条件") PlayCustomFollowInfoEntity playCustomFollowInfo) {
IPage<PlayCustomFollowInfoEntity> list = playCustomFollowInfoService.selectPlayCustomFollowInfoByPage(playCustomFollowInfo);
return R.ok(list);
}
@@ -36,6 +48,11 @@ public class PlayCustomFollowInfoController {
/**
* 获取顾客关注陪聊信息详细信息
*/
@ApiOperation(value = "获取关注详情", notes = "根据ID获取顾客关注店员详细信息")
@ApiImplicitParam(name = "id", value = "关注记录ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayCustomFollowInfoEntity.class)
})
@PreAuthorize("@customSs.hasPermission('play:info:query')")
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
@@ -45,10 +62,15 @@ public class PlayCustomFollowInfoController {
/**
* 新增顾客关注陪聊信息
*/
@ApiOperation(value = "新增关注记录", notes = "创建新的顾客关注店员信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败")
})
@PreAuthorize("@customSs.hasPermission('play:info:create')")
@Log(title = "顾客关注陪聊信息", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@RequestBody PlayCustomFollowInfoEntity playCustomFollowInfo) {
public R create(@ApiParam(value = "关注信息", required = true) @RequestBody PlayCustomFollowInfoEntity playCustomFollowInfo) {
boolean success = playCustomFollowInfoService.create(playCustomFollowInfo);
if (success) {
return R.ok();
@@ -59,10 +81,16 @@ public class PlayCustomFollowInfoController {
/**
* 修改顾客关注陪聊信息
*/
@ApiOperation(value = "修改关注记录", notes = "根据ID修改顾客关注店员信息")
@ApiImplicitParam(name = "id", value = "关注记录ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败")
})
@PreAuthorize("@customSs.hasPermission('play:info:edit')")
@Log(title = "顾客关注陪聊信息", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody PlayCustomFollowInfoEntity playCustomFollowInfo) {
public R update(@PathVariable String id, @ApiParam(value = "关注信息", required = true) @RequestBody PlayCustomFollowInfoEntity playCustomFollowInfo) {
playCustomFollowInfo.setId(id);
boolean success = playCustomFollowInfoService.update(playCustomFollowInfo);
if (success) {
@@ -74,6 +102,11 @@ public class PlayCustomFollowInfoController {
/**
* 删除顾客关注陪聊信息
*/
@ApiOperation(value = "删除关注记录", notes = "根据ID批量删除顾客关注店员信息")
@ApiImplicitParam(name = "ids", value = "关注记录ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = Integer.class)
})
@PreAuthorize("@customSs.hasPermission('play:info:remove')")
@Log(title = "顾客关注陪聊信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")

View File

@@ -6,6 +6,13 @@ import com.starry.admin.modules.custom.service.IPlayCustomGiftInfoService;
import com.starry.common.annotation.Log;
import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -16,6 +23,7 @@ import javax.annotation.Resource;
* @author admin
* @since 2024-06-05
*/
@Api(tags = "顾客礼物管理", description = "顾客与礼物关系管理相关接口,包括查询、新增、修改和删除等操作")
@RestController
@RequestMapping("/custom/giff")
public class PlayCustomGiftInfoController {
@@ -25,8 +33,12 @@ public class PlayCustomGiftInfoController {
/**
* 查询顾客和礼物关系列表
*/
@ApiOperation(value = "分页查询礼物列表", notes = "分页查询顾客与礼物关系列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayCustomGiftInfoEntity.class, responseContainer = "Page")
})
@GetMapping("/list")
public R list(PlayCustomGiftInfoEntity playCustomGiftInfo) {
public R list(@ApiParam(value = "查询条件") PlayCustomGiftInfoEntity playCustomGiftInfo) {
IPage<PlayCustomGiftInfoEntity> list = playCustomGiftInfoService.selectPlayCustomGiftInfoByPage(playCustomGiftInfo);
return R.ok(list);
}
@@ -34,6 +46,11 @@ public class PlayCustomGiftInfoController {
/**
* 获取顾客和礼物关系详细信息
*/
@ApiOperation(value = "获取礼物详情", notes = "根据ID获取顾客与礼物关系详细信息")
@ApiImplicitParam(name = "id", value = "礼物关系ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayCustomGiftInfoEntity.class)
})
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
return R.ok(playCustomGiftInfoService.selectPlayCustomGiftInfoById(id));
@@ -42,9 +59,14 @@ public class PlayCustomGiftInfoController {
/**
* 新增顾客和礼物关系
*/
@ApiOperation(value = "新增礼物关系", notes = "创建新的顾客与礼物关系信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败")
})
@Log(title = "顾客和礼物关系", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@RequestBody PlayCustomGiftInfoEntity playCustomGiftInfo) {
public R create(@ApiParam(value = "礼物关系信息", required = true) @RequestBody PlayCustomGiftInfoEntity playCustomGiftInfo) {
boolean success = playCustomGiftInfoService.create(playCustomGiftInfo);
if (success) {
return R.ok();
@@ -55,9 +77,15 @@ public class PlayCustomGiftInfoController {
/**
* 修改顾客和礼物关系
*/
@ApiOperation(value = "修改礼物关系", notes = "根据ID修改顾客与礼物关系信息")
@ApiImplicitParam(name = "id", value = "礼物关系ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败")
})
@Log(title = "顾客和礼物关系", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody PlayCustomGiftInfoEntity playCustomGiftInfo) {
public R update(@PathVariable String id, @ApiParam(value = "礼物关系信息", required = true) @RequestBody PlayCustomGiftInfoEntity playCustomGiftInfo) {
playCustomGiftInfo.setId(id);
boolean success = playCustomGiftInfoService.update(playCustomGiftInfo);
if (success) {
@@ -69,6 +97,11 @@ public class PlayCustomGiftInfoController {
/**
* 删除顾客和礼物关系
*/
@ApiOperation(value = "删除礼物关系", notes = "根据ID批量删除顾客与礼物关系信息")
@ApiImplicitParam(name = "ids", value = "礼物关系ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = Integer.class)
})
@Log(title = "顾客和礼物关系", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R remove(@PathVariable String[] ids) {

View File

@@ -8,6 +8,13 @@ import com.starry.admin.modules.custom.service.IPlayCustomLeaveMsgService;
import com.starry.common.annotation.Log;
import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -19,6 +26,7 @@ import javax.annotation.Resource;
* @author admin
* @since 2024-05-07
*/
@Api(tags = "顾客留言管理", description = "顾客留言信息管理相关接口,包括查询、新增、修改和删除等操作")
@RestController
@RequestMapping("/custom/leave")
public class PlayCustomLeaveMsgController {
@@ -28,8 +36,12 @@ public class PlayCustomLeaveMsgController {
/**
* 分页查询顾客留言列表
*/
@ApiOperation(value = "分页查询留言列表", notes = "分页查询顾客留言信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayCustomLeaveMsgReturnVo.class, responseContainer = "Page")
})
@PostMapping("/listByPage")
public R list(@Validated @RequestBody PlayCustomLeaveMsgQueryVo vo) {
public R list(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayCustomLeaveMsgQueryVo vo) {
IPage<PlayCustomLeaveMsgReturnVo> list = playCustomLeaveMsgService.selectByPage(vo);
return R.ok(list);
}
@@ -37,6 +49,11 @@ public class PlayCustomLeaveMsgController {
/**
* 获取顾客留言详细信息
*/
@ApiOperation(value = "获取留言详情", notes = "根据ID获取顾客留言详细信息")
@ApiImplicitParam(name = "id", value = "留言ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayCustomLeaveMsgEntity.class)
})
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
return R.ok(playCustomLeaveMsgService.selectPlayCustomLeaveMsgById(id));
@@ -45,10 +62,15 @@ public class PlayCustomLeaveMsgController {
/**
* 新增顾客留言
*/
@ApiOperation(value = "新增留言", notes = "创建新的顾客留言信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败")
})
//@PreAuthorize("@customSs.hasPermission('custom:leave:add')")
@Log(title = "顾客留言", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@RequestBody PlayCustomLeaveMsgEntity playCustomLeaveMsg) {
public R create(@ApiParam(value = "留言信息", required = true) @RequestBody PlayCustomLeaveMsgEntity playCustomLeaveMsg) {
boolean success = playCustomLeaveMsgService.create(playCustomLeaveMsg);
if (success) {
return R.ok();
@@ -59,10 +81,16 @@ public class PlayCustomLeaveMsgController {
/**
* 修改顾客留言
*/
@ApiOperation(value = "修改留言", notes = "根据ID修改顾客留言信息")
@ApiImplicitParam(name = "id", value = "留言ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败")
})
//@PreAuthorize("@customSs.hasPermission('custom:leave:update')")
@Log(title = "顾客留言", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody PlayCustomLeaveMsgEntity playCustomLeaveMsg) {
public R update(@PathVariable String id, @ApiParam(value = "留言信息", required = true) @RequestBody PlayCustomLeaveMsgEntity playCustomLeaveMsg) {
playCustomLeaveMsg.setId(id);
boolean success = playCustomLeaveMsgService.update(playCustomLeaveMsg);
if (success) {
@@ -74,6 +102,11 @@ public class PlayCustomLeaveMsgController {
/**
* 删除顾客留言
*/
@ApiOperation(value = "删除留言", notes = "根据ID批量删除顾客留言信息")
@ApiImplicitParam(name = "ids", value = "留言ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = Integer.class)
})
//@PreAuthorize("@customSs.hasPermission('custom:leave:delete')")
@Log(title = "顾客留言", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")

View File

@@ -10,6 +10,12 @@ 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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -23,6 +29,7 @@ import java.util.List;
*/
@RestController
@RequestMapping("/custom/level")
@Api(tags = "顾客等级管理", description = "顾客等级信息管理相关接口,包括查询、新增、修改和删除等操作")
public class PlayCustomLevelInfoController {
@Resource
private IPlayCustomLevelInfoService playCustomLevelInfoService;
@@ -31,6 +38,10 @@ public class PlayCustomLevelInfoController {
* 查询顾客等级列表
*/
@PostMapping("/listAll")
@ApiOperation(value = "查询等级列表", notes = "获取所有顾客等级信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayCustomLevelReturnVo.class, responseContainer = "List")
})
public R listAll() {
List<PlayCustomLevelInfoEntity> list = playCustomLevelInfoService.selectPlayCustomLevelInfoByPage();
return R.ok(ConvertUtil.entityToVoList(list, PlayCustomLevelReturnVo.class));
@@ -40,6 +51,11 @@ public class PlayCustomLevelInfoController {
* 获取顾客等级详细信息
*/
@GetMapping(value = "/{id}")
@ApiOperation(value = "获取等级详情", notes = "根据ID获取顾客等级详细信息")
@ApiImplicitParam(name = "id", value = "等级ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayCustomLevelInfoEntity.class)
})
public R getInfo(@PathVariable("id") String id) {
return R.ok(playCustomLevelInfoService.selectPlayCustomLevelInfoById(id));
}
@@ -51,7 +67,12 @@ public class PlayCustomLevelInfoController {
//@PreAuthorize("@customSs.hasPermission('custom:level:add')")
@Log(title = "店员等级", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@RequestBody PlayCustomLevelAddVo vo) {
@ApiOperation(value = "新增等级", notes = "创建新的顾客等级信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败")
})
public R create(@ApiParam(value = "等级信息", required = true) @RequestBody PlayCustomLevelAddVo vo) {
PlayCustomLevelInfoEntity entity = ConvertUtil.entityToVo(vo, PlayCustomLevelInfoEntity.class);
int level = playCustomLevelInfoService.selectMaxLevel();
entity.setLevel(level + 1);
@@ -69,7 +90,13 @@ public class PlayCustomLevelInfoController {
//@PreAuthorize("@customSs.hasPermission('custom:level:update')")
@Log(title = "顾客等级", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update")
public R update(@RequestBody PlayCustomLevelEditVo vo) {
@ApiOperation(value = "修改等级", notes = "修改顾客等级信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败"),
@ApiResponse(code = 400, message = "对象不存在")
})
public R update(@ApiParam(value = "等级信息", required = true) @RequestBody PlayCustomLevelEditVo vo) {
if (playCustomLevelInfoService.selectPlayCustomLevelInfoById(vo.getId()) == null) {
throw new CustomException("对象不存在");
}
@@ -86,6 +113,11 @@ public class PlayCustomLevelInfoController {
*/
@Log(title = "店员等级", businessType = BusinessType.DELETE)
@DeleteMapping("delMaxLevel")
@ApiOperation(value = "删除最高等级", notes = "删除系统中的最高等级")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 400, message = "最后一级,不允许删除")
})
public R remove() {
int level = playCustomLevelInfoService.selectMaxLevel();
if (level <= 1) {

View File

@@ -5,6 +5,11 @@ import com.starry.admin.modules.custom.module.vo.PlayCustomRankingQueryVo;
import com.starry.admin.modules.custom.module.vo.PlayCustomRankingReturnVo;
import com.starry.admin.modules.custom.service.IPlayCustomUserInfoService;
import com.starry.common.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -19,6 +24,7 @@ import javax.annotation.Resource;
* @author admin
* @since 2024-04-08
*/
@Api(tags = "顾客排名管理", description = "顾客消费排名相关接口,包括查询排名列表等操作")
@RestController
@RequestMapping("/custom/ranking")
public class PlayCustomRankingController {
@@ -28,8 +34,12 @@ public class PlayCustomRankingController {
/**
* 查询顾客排名列表
*/
@ApiOperation(value = "分页查询排名列表", notes = "分页查询顾客消费排名信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayCustomRankingReturnVo.class, responseContainer = "Page")
})
@PostMapping("/listByPage")
public R list(@Validated @RequestBody PlayCustomRankingQueryVo vo) {
public R list(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayCustomRankingQueryVo vo) {
IPage<PlayCustomRankingReturnVo> list = playCustomUserInfoService.selectRankingByPage(vo);
return R.ok(list);
}

View File

@@ -10,6 +10,13 @@ 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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -21,6 +28,7 @@ import javax.annotation.Resource;
* @author admin
* @since 2024-04-08
*/
@Api(tags = "顾客管理", description = "顾客信息管理相关接口,包括查询、新增、修改和删除等操作")
@RestController
@RequestMapping("/custom/user")
public class PlayCustomUserInfoController {
@@ -30,8 +38,12 @@ public class PlayCustomUserInfoController {
/**
* 查询顾客列表
*/
@ApiOperation(value = "分页查询顾客列表", notes = "分页查询顾客信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayCustomUserReturnVo.class, responseContainer = "Page")
})
@PostMapping("/listByPage")
public R list(@Validated @RequestBody PlayCustomUserQueryVo vo) {
public R list(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayCustomUserQueryVo vo) {
IPage<PlayCustomUserReturnVo> list = playCustomUserInfoService.selectByPage(vo);
return R.ok(list);
}
@@ -39,6 +51,11 @@ public class PlayCustomUserInfoController {
/**
* 获取顾客详细信息
*/
@ApiOperation(value = "获取顾客详情", notes = "根据ID获取顾客详细信息")
@ApiImplicitParam(name = "id", value = "顾客ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayCustomUserInfoEntity.class)
})
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
return R.ok(playCustomUserInfoService.selectById(id));
@@ -47,9 +64,14 @@ public class PlayCustomUserInfoController {
/**
* 新增顾客
*/
@ApiOperation(value = "新增顾客", notes = "创建新的顾客信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败")
})
@Log(title = "顾客", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@RequestBody PlayCustomUserInfoEntity playCustomUserInfo) {
public R create(@ApiParam(value = "顾客信息", required = true) @RequestBody PlayCustomUserInfoEntity playCustomUserInfo) {
boolean success = playCustomUserInfoService.create(playCustomUserInfo);
if (success) {
return R.ok();
@@ -60,9 +82,14 @@ public class PlayCustomUserInfoController {
/**
* 修改顾客状态
*/
@ApiOperation(value = "修改顾客状态", notes = "修改顾客的状态信息,如黑名单状态、关注状态等")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败")
})
@Log(title = "顾客", businessType = BusinessType.UPDATE)
@PostMapping(value = "/updateState")
public R updateState(@Validated @RequestBody PlayCustomUserStateEditVo vo) {
public R updateState(@ApiParam(value = "顾客状态信息", required = true) @Validated @RequestBody PlayCustomUserStateEditVo vo) {
PlayCustomUserInfoEntity entity = ConvertUtil.entityToVo(vo, PlayCustomUserInfoEntity.class);
boolean success = playCustomUserInfoService.update(entity);
if (success) {
@@ -74,9 +101,15 @@ public class PlayCustomUserInfoController {
/**
* 修改顾客
*/
@ApiOperation(value = "修改顾客信息", notes = "根据ID修改顾客基本信息")
@ApiImplicitParam(name = "id", value = "顾客ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败")
})
@Log(title = "顾客", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody PlayCustomUserInfoEntity playCustomUserInfo) {
public R update(@PathVariable String id, @ApiParam(value = "顾客信息", required = true) @RequestBody PlayCustomUserInfoEntity playCustomUserInfo) {
playCustomUserInfo.setId(id);
boolean success = playCustomUserInfoService.update(playCustomUserInfo);
if (success) {
@@ -88,6 +121,11 @@ public class PlayCustomUserInfoController {
/**
* 删除顾客
*/
@ApiOperation(value = "删除顾客", notes = "根据ID批量删除顾客信息")
@ApiImplicitParam(name = "ids", value = "顾客ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = Integer.class)
})
@Log(title = "顾客", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R remove(@PathVariable String[] ids) {

View File

@@ -1,6 +1,10 @@
package com.starry.admin.modules.custom.module.vo;
import com.starry.common.domain.BasePageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 顾客留言查询对象
@@ -8,5 +12,14 @@ import com.starry.common.domain.BasePageEntity;
* @author admin
* @since 2024/5/7 16:29
**/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "顾客留言查询参数", description = "查询顾客留言信息的条件参数")
public class PlayCustomLeaveMsgQueryVo extends BasePageEntity {
@ApiModelProperty(value = "顾客ID", example = "1", notes = "特定顾客的ID")
private String customId;
@ApiModelProperty(value = "留言内容", example = "服务很好", notes = "留言的内容,支持模糊查询")
private String content;
}

View File

@@ -2,6 +2,8 @@ package com.starry.admin.modules.custom.module.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.starry.admin.common.conf.StringTypeHandler;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@@ -14,47 +16,56 @@ import java.util.List;
* @since 2024/5/7 16:29
**/
@Data
@ApiModel(value = "顾客留言返回数据", description = "顾客留言信息的返回数据")
public class PlayCustomLeaveMsgReturnVo {
/**
* UUID
*/
@ApiModelProperty(value = "留言ID", example = "1")
private String id;
/**
* 留言内容
*/
@ApiModelProperty(value = "留言内容", example = "服务很好,希望以后再次合作")
private String content;
/**
* 图片
*/
@ApiModelProperty(value = "留言图片", example = "[\"https://example.com/image1.jpg\",\"https://example.com/image2.jpg\"]")
@TableField(typeHandler = StringTypeHandler.class)
private List<String> images;
/**
* 留言时间
*/
@ApiModelProperty(value = "留言时间", example = "2024-01-01 12:00:00")
private Date msgTime;
/**
* 备注
*/
@ApiModelProperty(value = "备注", example = "重要留言")
private String remark;
/**
* 顾客Id
*/
@ApiModelProperty(value = "顾客ID", example = "1")
private String customId;
/**
* 顾客昵称
*/
@ApiModelProperty(value = "顾客头像", example = "https://example.com/avatar.jpg")
private String customAvatar;
/**
* 头像
*/
@ApiModelProperty(value = "顾客昵称", example = "张三")
private String customNickname;
}

View File

@@ -1,16 +1,20 @@
package com.starry.admin.modules.custom.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
@ApiModel(value = "顾客等级添加参数", description = "新增顾客等级信息的请求参数")
public class PlayCustomLevelAddVo {
/**
* 等级名称
*/
@NotBlank(message = "等级名称不能为空")
@ApiModelProperty(value = "等级名称", required = true, example = "钻石会员", notes = "顾客等级的名称")
private String name;
@@ -18,17 +22,20 @@ public class PlayCustomLevelAddVo {
* 上一级消费金额
*/
@NotBlank(message = "消费金额不能为空")
@ApiModelProperty(value = "消费金额", required = true, example = "1000", notes = "达到该等级需要的消费金额")
private String consumptionAmount;
/**
* 满减比例
*/
@NotBlank(message = "满减比例不能为空")
@ApiModelProperty(value = "满减比例", required = true, example = "95", notes = "该等级享受的满减折扣比例如95表示95折")
private Integer discount;
/**
* 头像框地址
*/
@ApiModelProperty(value = "头像框地址", example = "https://example.com/frame.png", notes = "该等级专属的头像框图片地址")
private String avatarFrameAddress;
}

View File

@@ -1,22 +1,27 @@
package com.starry.admin.modules.custom.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
@ApiModel(value = "顾客等级修改参数", description = "修改顾客等级信息的请求参数")
public class PlayCustomLevelEditVo {
/**
* UUID
*/
@NotBlank(message = "ID不能为空")
@ApiModelProperty(value = "等级ID", required = true, example = "1", notes = "顾客等级的ID")
private String id;
/**
* 等级名称
*/
@NotBlank(message = "等级名称不能为空")
@ApiModelProperty(value = "等级名称", required = true, example = "钻石会员", notes = "顾客等级的名称")
private String name;
@@ -24,17 +29,20 @@ public class PlayCustomLevelEditVo {
* 上一级消费金额
*/
@NotBlank(message = "消费金额不能为空")
@ApiModelProperty(value = "消费金额", required = true, example = "1000", notes = "达到该等级需要的消费金额")
private String consumptionAmount;
/**
* 满减比例
*/
@NotBlank(message = "满减比例不能为空")
@ApiModelProperty(value = "满减比例", required = true, example = "95", notes = "该等级享受的满减折扣比例如95表示95折")
private Integer discount;
/**
* 头像框地址
*/
@ApiModelProperty(value = "头像框地址", example = "https://example.com/frame.png", notes = "该等级专属的头像框图片地址")
private String avatarFrameAddress;
}

View File

@@ -1,5 +1,7 @@
package com.starry.admin.modules.custom.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@@ -8,36 +10,43 @@ import lombok.Data;
* @author admin
*/
@Data
@ApiModel(value = "顾客等级返回数据", description = "顾客等级信息的返回数据")
public class PlayCustomLevelReturnVo {
/**
* UUID
*/
@ApiModelProperty(value = "等级ID", example = "1")
private String id;
/**
* 等级名称
*/
@ApiModelProperty(value = "等级名称", example = "钻石会员")
private String name;
/**
* 等级数字(排序字段)
*/
@ApiModelProperty(value = "等级数值", example = "3", notes = "等级数字,用于排序")
private Integer level;
/**
* 上一级消费金额
*/
@ApiModelProperty(value = "消费金额", example = "1000", notes = "达到该等级需要的消费金额")
private String consumptionAmount;
/**
* 满减比例
*/
@ApiModelProperty(value = "满减比例", example = "95", notes = "该等级享受的满减折扣比例如95表示95折")
private Integer discount;
/**
* 头像框地址
*/
@ApiModelProperty(value = "头像框地址", example = "https://example.com/frame.png")
private String avatarFrameAddress;

View File

@@ -1,6 +1,8 @@
package com.starry.admin.modules.custom.module.vo;
import com.starry.common.domain.BasePageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -14,14 +16,17 @@ import java.util.List;
**/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "顾客排名查询参数", description = "查询顾客消费排名信息的条件参数")
public class PlayCustomRankingQueryVo extends BasePageEntity {
/**
* userId
*/
@ApiModelProperty(value = "顾客ID", example = "1", notes = "特定顾客的ID")
private String id;
/**
* 下单时间
*/
@ApiModelProperty(value = "下单时间范围", example = "['2024-01-01 00:00:00','2024-12-31 23:59:59']", notes = "下单时间范围,包含开始和结束时间")
private List<String> purchaserTime;
}

View File

@@ -2,6 +2,8 @@ package com.starry.admin.modules.custom.module.vo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@@ -15,67 +17,80 @@ import java.util.List;
* @since 2024/5/14 下午7:47
**/
@Data
@ApiModel(value = "顾客排名返回数据", description = "顾客消费排名信息的返回数据")
public class PlayCustomRankingReturnVo {
/**
* UUID
*/
@ApiModelProperty(value = "顾客ID", example = "1")
private String id;
/**
* 顾客昵称
*/
@ApiModelProperty(value = "顾客昵称", example = "张三")
private String nickname;
/**
* 头像
*/
@ApiModelProperty(value = "头像", example = "https://example.com/avatar.jpg")
private String avatar;
/**
* 排名
*/
@ApiModelProperty(value = "排名", example = "1", notes = "顾客消费排名索引")
private Integer rankingIndex;
/**
* 订单列表
*/
@JsonIgnore
@ApiModelProperty(value = "订单列表", hidden = true)
private List<PlayOrderInfoEntity> orderInfos;
/**
* 下单时间-起始时间
*/
@ApiModelProperty(value = "下单起始时间", example = "2024-01-01 00:00:00")
private String beginPurchaserTime;
/**
* 下单时间-终止时间
*/
@ApiModelProperty(value = "下单终止时间", example = "2024-12-31 23:59:59")
private String endPurchaserTime;
/**
* 订单总数
*/
@ApiModelProperty(value = "订单总数", example = "10")
private String orderNumber;
/**
* 续单总数
*/
@ApiModelProperty(value = "续单总数", example = "5", notes = "顾客续费订单的总数量")
private String orderContinueNumber;
/**
* 订单单价
*/
@ApiModelProperty(value = "订单单价", example = "100.00")
private String orderPrice;
/**
* 订单总金额
*/
@ApiModelProperty(value = "订单总金额", example = "1000.00")
private BigDecimal orderTotalAmount;
/**
* 统计时间
*/
@ApiModelProperty(value = "统计时间", example = "2024-01-01")
private String statisticalTime = LocalDate.now().toString();
}

View File

@@ -1,6 +1,8 @@
package com.starry.admin.modules.custom.module.vo;
import com.starry.common.domain.BasePageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -14,99 +16,118 @@ import java.util.List;
**/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "顾客查询参数", description = "查询顾客信息的条件参数")
public class PlayCustomUserQueryVo extends BasePageEntity {
@ApiModelProperty(value = "顾客ID", example = "1", notes = "特定顾客的ID")
private String id;
/**
* 用户的标识,对当前公众号唯一
*/
@ApiModelProperty(value = "OpenID", example = "o6_bmjrPTlm6_2sgVt7hMZOPfL2M", notes = "微信用户的唯一标识")
private String openid;
/**
* 顾客昵称
*/
@ApiModelProperty(value = "昵称", example = "张三", notes = "顾客的昵称,支持模糊查询")
private String nickname;
/**
* 顾客性别0:未知;1:男,2:女)
*/
@ApiModelProperty(value = "性别", example = "1", notes = "0:未知;1:男;2:女")
private String sex;
/**
* 微信号
*/
@ApiModelProperty(value = "微信号", example = "zhangsan123", notes = "顾客的微信号")
private String weiChatCode;
/**
* 绑定手机状态[0:未绑定,1:绑定]
*/
@ApiModelProperty(value = "绑定手机状态", example = "1", notes = "0:未绑定,1:绑定")
private String mobilePhoneState;
/**
* 手机号码
*/
@ApiModelProperty(value = "手机号码", example = "13800138000", notes = "顾客的手机号码")
private String phone;
/**
* 等级ID
*/
@ApiModelProperty(value = "等级ID", example = "1", notes = "顾客等级的ID")
private String levelId;
/**
* 余额状态[0:不存在余额1:存在余额]
*/
@ApiModelProperty(value = "余额状态", example = "1", notes = "0:不存在余额1:存在余额")
private String accountState;
/**
* 关注状态[0:未关注1:已关注]
*/
@ApiModelProperty(value = "关注状态", example = "1", notes = "0:未关注1:已关注")
private String subscribeState;
/**
* 违规状态[0:未违规,1:违规]
*/
@ApiModelProperty(value = "违规状态", example = "0", notes = "0:未违规,1:违规")
private String violationState;
/**
* 是否下单状态[0:未下单过1:下单过]
*/
@ApiModelProperty(value = "下单状态", example = "1", notes = "0:未下单过1:下单过")
private String purchaseState;
/**
* 黑名单状态[0:非黑名单1:黑名单]
*/
@ApiModelProperty(value = "黑名单状态", example = "0", notes = "0:非黑名单1:黑名单")
private String blacklistState;
/**
* 注册时间
*/
@ApiModelProperty(value = "注册时间范围", example = "['2024-01-01 00:00:00','2024-12-31 23:59:59']", notes = "注册时间范围,包含开始和结束时间")
private List<String> registrationTime;
/**
* 首次下单时间
*/
@ApiModelProperty(value = "首次下单时间范围", example = "['2024-01-01 00:00:00','2024-12-31 23:59:59']", notes = "首次下单时间范围,包含开始和结束时间")
private List<String> firstPurchaseTime;
/**
* 最后一次下单时间
*/
@ApiModelProperty(value = "最后下单时间范围", example = "['2024-01-01 00:00:00','2024-12-31 23:59:59']", notes = "最后一次下单时间范围,包含开始和结束时间")
private List<String> lastPurchaseTime;
/**
* 备注
*/
@ApiModelProperty(value = "备注", example = "重要客户", notes = "顾客相关备注信息")
private String remark;
/**
* 排序字段
*/
@ApiModelProperty(value = "排序字段", example = "registrationTime", notes = "排序的字段名称")
private String sort;

View File

@@ -1,6 +1,8 @@
package com.starry.admin.modules.custom.module.vo;
import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@@ -14,161 +16,190 @@ import java.util.List;
* @since 2024/5/14 下午7:47
**/
@Data
@ApiModel(value = "顾客返回数据", description = "顾客信息的返回数据")
public class PlayCustomUserReturnVo {
/**
* UUID
*/
@ApiModelProperty(value = "顾客ID", example = "1")
private String id;
/**
* 租户ID
*/
@ApiModelProperty(value = "租户ID", example = "tenant123", notes = "系统租户标识")
private String tenantId;
/**
* 用户的标识,对当前公众号唯一
*/
@ApiModelProperty(value = "OpenID", example = "o6_bmjrPTlm6_2sgVt7hMZOPfL2M", notes = "微信用户的唯一标识")
private String openid;
/**
* 顾客昵称
*/
@ApiModelProperty(value = "昵称", example = "张三")
private String nickname;
/**
* 顾客性别0:未知;1:男,2:女)
*/
@ApiModelProperty(value = "性别", example = "1", notes = "0:未知;1:男;2:女")
private Integer sex;
/**
* 头像
*/
@ApiModelProperty(value = "头像", example = "https://example.com/avatar.jpg")
private String avatar;
/**
* 手机号码
*/
@ApiModelProperty(value = "手机号码", example = "13800138000")
private String phone;
/**
* 微信号码
*/
@ApiModelProperty(value = "微信号", example = "zhangsan123")
private String weiChatCode;
/**
* 所在国家
*/
@ApiModelProperty(value = "国家", example = "中国")
private String country;
/**
* 所在省份
*/
@ApiModelProperty(value = "省份", example = "广东省")
private String province;
/**
* 所在城市
*/
@ApiModelProperty(value = "城市", example = "深圳市")
private String city;
/**
* 账户余额
*/
@ApiModelProperty(value = "账户余额", example = "1000.50")
private BigDecimal accountBalance;
/**
* 余额状态[0:不存在余额1:存在余额]
*/
@ApiModelProperty(value = "余额状态", example = "1", notes = "0:不存在余额1:存在余额")
private String accountState;
/**
* 关注状态[0:未关注1:已关注]
*/
@ApiModelProperty(value = "关注状态", example = "1", notes = "0:未关注1:已关注")
private String subscribeState;
/**
* 黑名单状态[0:非黑名单1:黑名单]
*/
@ApiModelProperty(value = "黑名单状态", example = "0", notes = "0:非黑名单1:黑名单")
private String blacklistState;
/**
* 违规状态[0:未违规,1:违规]
*/
@ApiModelProperty(value = "违规状态", example = "0", notes = "0:未违规,1:违规")
private String violationState;
/**
* 是否下单状态[0:未下单过1:下单过]
*/
@ApiModelProperty(value = "下单状态", example = "1", notes = "0:未下单过1:下单过")
private String purchaseState;
/**
* 绑定手机状态[0:未绑定,1:绑定]
*/
@ApiModelProperty(value = "绑定手机状态", example = "1", notes = "0:未绑定,1:绑定")
private String mobilePhoneState;
/**
* 实名状态【1已实名0未实名】
*/
@ApiModelProperty(value = "实名状态", example = "1", notes = "1已实名0未实名")
private String realState;
/**
* 是否必须实名【2:跟随店铺设置1必须实名0非必须实名】
*/
@ApiModelProperty(value = "必须实名状态", example = "1", notes = "2:跟随店铺设置1必须实名0非必须实名")
private String mandatoryRealState;
/**
* 注册时间
*/
@ApiModelProperty(value = "注册时间", example = "2024-01-01 12:00:00")
private Date registrationTime;
/**
* 上次登录时间
*/
@ApiModelProperty(value = "上次登录时间", example = "2024-01-15 12:00:00")
private Date lastLoginTime;
/**
* 首次下单时间
*/
@ApiModelProperty(value = "首次下单时间", example = "2024-01-05 12:00:00")
private Date firstPurchaseTime;
/**
* 最后一次下单时间
*/
@ApiModelProperty(value = "最后下单时间", example = "2024-01-20 12:00:00")
private Date lastPurchaseTime;
/**
* 备注
*/
@ApiModelProperty(value = "备注", example = "重要客户")
private String remark;
/**
* 等级ID
*/
@ApiModelProperty(value = "等级ID", example = "1")
private String levelId;
/**
* 等级名称
*/
@ApiModelProperty(value = "等级名称", example = "钻石会员")
private String levelName;
/**
* 订单列表
*/
@ApiModelProperty(value = "订单列表", notes = "顾客的订单列表")
private List<PlayOrderInfoEntity> orderInfos;
/**
* 订单总数
*/
@ApiModelProperty(value = "订单总数", example = "10")
private String orderNumber;
/**
* 订单单价
*/
@ApiModelProperty(value = "订单单价", example = "100.00")
private String orderPrice;
/**
* 订单总金额
*/
@ApiModelProperty(value = "订单总金额", example = "1000.00")
private BigDecimal orderTotalAmount;
}

View File

@@ -1,5 +1,7 @@
package com.starry.admin.modules.custom.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@@ -9,55 +11,66 @@ import javax.validation.constraints.NotBlank;
* @author admin
*/
@Data
@ApiModel(value = "顾客状态修改参数", description = "修改顾客状态信息的请求参数")
public class PlayCustomUserStateEditVo {
/**
* id
*/
@NotBlank(message = "id不能为空")
@ApiModelProperty(value = "顾客ID", required = true, example = "1", notes = "顾客的ID")
private String id;
/**
* 余额状态[0:不存在余额1:存在余额]
*/
@ApiModelProperty(value = "余额状态", example = "1", notes = "0:不存在余额1:存在余额")
private String accountState;
/**
* 关注状态[0:未关注1:已关注]
*/
@ApiModelProperty(value = "关注状态", example = "1", notes = "0:未关注1:已关注")
private String subscribeState;
/**
* 黑名单状态[0:非黑名单1:黑名单]
*/
@ApiModelProperty(value = "黑名单状态", example = "0", notes = "0:非黑名单1:黑名单")
private String blacklistState;
/**
* 违规状态[0:未违规,1:违规]
*/
@ApiModelProperty(value = "违规状态", example = "0", notes = "0:未违规,1:违规")
private String violationState;
/**
* 是否下单状态[0:未未下单1:下单过]
*/
@ApiModelProperty(value = "下单状态", example = "1", notes = "0:未下单过1:下单过")
private String purchaseState;
/**
* 绑定手机状态[0:未绑定,1:绑定]
*/
@ApiModelProperty(value = "绑定手机状态", example = "1", notes = "0:未绑定,1:绑定")
private String mobilePhoneState;
/**
* 实名状态【1已实名0未实名】
*/
@ApiModelProperty(value = "实名状态", example = "1", notes = "1已实名0未实名")
private String realState;
/**
* 是否必须实名【0:非必须实名;1:必须实名;2:跟随店铺设置】
*/
@ApiModelProperty(value = "必须实名状态", example = "1", notes = "2:跟随店铺设置1必须实名0非必须实名")
private String mandatoryRealState;
@ApiModelProperty(value = "备注", example = "重要客户", notes = "顾客相关备注信息")
private String remark;

View File

@@ -8,6 +8,12 @@ import com.starry.admin.modules.order.service.IPlayOrderComplaintInfoService;
import com.starry.common.annotation.Log;
import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -19,6 +25,7 @@ import javax.annotation.Resource;
* @author admin
* @since 2024-05-07
*/
@Api(tags = "订单投诉管理", description = "订单投诉信息管理相关接口,包括查询、新增、修改和删除等操作")
@RestController
@RequestMapping("/order/complaint")
public class PlayOrderComplaintInfoController {
@@ -28,8 +35,12 @@ public class PlayOrderComplaintInfoController {
/**
* 查询订单投诉信息列表
*/
@ApiOperation(value = "分页查询投诉列表", notes = "分页查询订单投诉信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayOrderComplaintReturnVo.class, responseContainer = "Page")
})
@PostMapping("/listByPage")
public R list(@Validated @RequestBody PlayOrderComplaintQueryVo vo) {
public R list(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayOrderComplaintQueryVo vo) {
IPage<PlayOrderComplaintReturnVo> list = playOrderComplaintInfoService.selectByPage(vo);
return R.ok(list);
}
@@ -37,6 +48,11 @@ public class PlayOrderComplaintInfoController {
/**
* 获取订单投诉信息详细信息
*/
@ApiOperation(value = "获取投诉详情", notes = "根据ID获取订单投诉详细信息")
@ApiImplicitParam(name = "id", value = "投诉记录ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayOrderComplaintInfoEntity.class)
})
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
return R.ok(playOrderComplaintInfoService.selectPlayOrderComplaintInfoById(id));
@@ -45,10 +61,15 @@ public class PlayOrderComplaintInfoController {
/**
* 新增订单投诉信息
*/
@ApiOperation(value = "新增投诉记录", notes = "创建新的订单投诉信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败")
})
//@PreAuthorize("@customSs.hasPermission('order:complaint:add')")
@Log(title = "订单投诉信息", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@RequestBody PlayOrderComplaintInfoEntity playOrderComplaintInfo) {
public R create(@ApiParam(value = "投诉信息", required = true) @RequestBody PlayOrderComplaintInfoEntity playOrderComplaintInfo) {
boolean success = playOrderComplaintInfoService.create(playOrderComplaintInfo);
if (success) {
return R.ok();
@@ -59,10 +80,16 @@ public class PlayOrderComplaintInfoController {
/**
* 修改订单投诉信息
*/
@ApiOperation(value = "修改投诉记录", notes = "根据ID修改订单投诉信息")
@ApiImplicitParam(name = "id", value = "投诉记录ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败")
})
//@PreAuthorize("@customSs.hasPermission('order:complaint:update')")
@Log(title = "订单投诉信息", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody PlayOrderComplaintInfoEntity playOrderComplaintInfo) {
public R update(@PathVariable String id, @ApiParam(value = "投诉信息", required = true) @RequestBody PlayOrderComplaintInfoEntity playOrderComplaintInfo) {
playOrderComplaintInfo.setId(id);
boolean success = playOrderComplaintInfoService.update(playOrderComplaintInfo);
if (success) {
@@ -74,6 +101,11 @@ public class PlayOrderComplaintInfoController {
/**
* 删除订单投诉信息
*/
@ApiOperation(value = "删除投诉记录", notes = "根据ID批量删除订单投诉信息")
@ApiImplicitParam(name = "ids", value = "投诉记录ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = Integer.class)
})
//@PreAuthorize("@customSs.hasPermission('order:complaint:delete')")
@Log(title = "订单投诉信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")

View File

@@ -6,6 +6,11 @@ import com.starry.admin.modules.order.module.vo.PlayOrderContinueReturnVo;
import com.starry.admin.modules.order.module.vo.PlayOrderReviewStateEditVo;
import com.starry.admin.modules.order.service.IPlayOrderContinueInfoService;
import com.starry.common.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -20,6 +25,7 @@ import javax.annotation.Resource;
* @author admin
* @since 2024-05-10
*/
@Api(tags = "订单续单管理", description = "订单续单信息管理相关接口,包括查询和审核等操作")
@RestController
@RequestMapping("/order/continue")
public class PlayOrderContinueInfoController {
@@ -29,8 +35,12 @@ public class PlayOrderContinueInfoController {
/**
* 查询订单续单信息列表
*/
@ApiOperation(value = "分页查询续单列表", notes = "分页查询订单续单信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayOrderContinueReturnVo.class, responseContainer = "Page")
})
@PostMapping("/listByPage")
public R list(@Validated @RequestBody PlayOrderContinueQueryVo vo) {
public R list(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayOrderContinueQueryVo vo) {
IPage<PlayOrderContinueReturnVo> list = playOrderContinueInfoService.selectPlayByPage(vo);
return R.ok(list);
}
@@ -38,9 +48,14 @@ public class PlayOrderContinueInfoController {
/**
* 审批续单申申请
*/
@ApiOperation(value = "审批续单申请", notes = "审核店员的续单申请")
@ApiResponses({
@ApiResponse(code = 200, message = "审批成功"),
@ApiResponse(code = 500, message = "审批失败")
})
//@PreAuthorize("@customSs.hasPermission('order:continue:update')")
@PostMapping("/updateReviewState")
public R updateReviewState(@Validated @RequestBody PlayOrderReviewStateEditVo vo) {
public R updateReviewState(@ApiParam(value = "审批信息", required = true) @Validated @RequestBody PlayOrderReviewStateEditVo vo) {
playOrderContinueInfoService.updateReviewState(vo);
return R.ok("成功");
}

View File

@@ -10,6 +10,12 @@ 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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -21,6 +27,7 @@ import javax.annotation.Resource;
* @author admin
* @since 2024-05-07
*/
@Api(tags = "订单评价管理", description = "订单评价信息管理相关接口,包括查询、修改和删除等操作")
@RestController
@RequestMapping("/order/evaluate")
public class PlayOrderEvaluateInfoController {
@@ -30,8 +37,12 @@ public class PlayOrderEvaluateInfoController {
/**
* 查询订单评价信息列表
*/
@ApiOperation(value = "分页查询评价列表", notes = "分页查询订单评价信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayOrderEvaluateReturnVo.class, responseContainer = "Page")
})
@PostMapping("/listByPage")
public R list(@Validated @RequestBody PlayOrderEvaluateQueryVo vo) {
public R list(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayOrderEvaluateQueryVo vo) {
IPage<PlayOrderEvaluateReturnVo> list = playOrderEvaluateInfoService.selectByPage(vo);
return R.ok(list);
}
@@ -41,10 +52,15 @@ public class PlayOrderEvaluateInfoController {
/**
* 修改订单评价信息
*/
@ApiOperation(value = "修改评价状态", notes = "修改订单评价的显示状态")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败")
})
//@PreAuthorize("@customSs.hasPermission('order:evaluate:update')")
@Log(title = "修改订单评价状态", businessType = BusinessType.UPDATE)
@PostMapping(value = "/updateStatus")
public R update(@Validated @RequestBody PlayOrderEvaluateEditStateVo vo) {
public R update(@ApiParam(value = "评价状态信息", required = true) @Validated @RequestBody PlayOrderEvaluateEditStateVo vo) {
PlayOrderEvaluateInfoEntity entity = ConvertUtil.entityToVo(vo, PlayOrderEvaluateInfoEntity.class);
boolean success = playOrderEvaluateInfoService.update(entity);
if (success) {
@@ -56,6 +72,11 @@ public class PlayOrderEvaluateInfoController {
/**
* 删除订单评价信息
*/
@ApiOperation(value = "删除评价记录", notes = "根据ID批量删除订单评价信息")
@ApiImplicitParam(name = "ids", value = "评价记录ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = Integer.class)
})
//@PreAuthorize("@customSs.hasPermission('order:evaluate:delete')")
@Log(title = "订单评价信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")

View File

@@ -17,6 +17,12 @@ import com.starry.common.annotation.Log;
import com.starry.common.context.CustomSecurityContextHolder;
import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -30,6 +36,7 @@ import java.math.BigDecimal;
* @author admin
* @since 2024-03-20
*/
@Api(tags = "订单管理", description = "订单信息管理相关接口,包括查询、修改、退款和删除等操作")
@RestController
@RequestMapping("/order/order/")
public class PlayOrderInfoController {
@@ -54,8 +61,12 @@ public class PlayOrderInfoController {
/**
* 分页查询订单列表
*/
@ApiOperation(value = "分页查询订单列表", notes = "分页查询订单信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayOrderInfoEntity.class, responseContainer = "Page")
})
@PostMapping("/listByPage")
public R listByPage(@Validated @RequestBody PlayOrderInfoQueryVo vo) {
public R listByPage(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayOrderInfoQueryVo vo) {
return R.ok(orderInfoService.selectOrderInfoPage(vo));
}
@@ -63,9 +74,14 @@ public class PlayOrderInfoController {
/**
* 订单退款
*/
@ApiOperation(value = "订单退款", notes = "处理订单退款操作")
@ApiResponses({
@ApiResponse(code = 200, message = "退款成功"),
@ApiResponse(code = 500, message = "退款失败,包含详细错误信息")
})
//@PreAuthorize("@customSs.hasPermission('order:order:update')")
@PostMapping("/orderRefund")
public R orderRefund(@Validated @RequestBody PlayOrderRefundAddVo vo) {
public R orderRefund(@ApiParam(value = "退款信息", required = true) @Validated @RequestBody PlayOrderRefundAddVo vo) {
PlayOrderInfoEntity orderInfo = orderInfoService.selectOrderInfoById(vo.getOrderId());
if (orderInfo.getFinalAmount().compareTo(vo.getRefundAmount()) < 0) {
throw new CustomException("退款金额不能大于支付金额");
@@ -101,9 +117,14 @@ public class PlayOrderInfoController {
/**
* 更换店员
*/
@ApiOperation(value = "更换店员", notes = "修改订单的接单店员")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "操作失败")
})
//@PreAuthorize("@customSs.hasPermission('order:order:update')")
@PostMapping("/orderEditAcceptBy")
public R orderEditAcceptBy(@Validated @RequestBody PlayOrderEditAcceptByVo vo) {
public R orderEditAcceptBy(@ApiParam(value = "更换店员信息", required = true) @Validated @RequestBody PlayOrderEditAcceptByVo vo) {
orderInfoService.updateStateTo1("2", CustomSecurityContextHolder.getUserId(), vo.getAcceptBy(), vo.getOrderId());
PlayClerkUserInfoEntity clerkUserInfo = playClerkUserInfoService.selectById(vo.getAcceptBy());
PlayOrderInfoEntity orderInfo = orderInfoService.selectOrderInfoById(vo.getOrderId());
@@ -116,9 +137,14 @@ public class PlayOrderInfoController {
/**
* 后台备注
*/
@ApiOperation(value = "修改后台备注", notes = "修改订单的后台备注信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = Boolean.class),
@ApiResponse(code = 500, message = "操作失败")
})
//@PreAuthorize("@customSs.hasPermission('order:order:update')")
@PostMapping("/orderEditBackendRemark")
public R orderEditBackendRemark(@Validated @RequestBody PlayOrderEditBackendRemarkByVo vo) {
public R orderEditBackendRemark(@ApiParam(value = "后台备注信息", required = true) @Validated @RequestBody PlayOrderEditBackendRemarkByVo vo) {
PlayOrderInfoEntity orderInfo = orderInfoService.selectOrderInfoById(vo.getOrderId());
PlayOrderInfoEntity updateOrderInfo = new PlayOrderInfoEntity();
updateOrderInfo.setId(orderInfo.getId());
@@ -130,9 +156,14 @@ public class PlayOrderInfoController {
/**
* 重新抢单
*/
@ApiOperation(value = "重新抢单", notes = "将订单重新设置为抢单状态")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = Boolean.class),
@ApiResponse(code = 500, message = "操作失败,包含详细错误信息")
})
//@PreAuthorize("@customSs.hasPermission('order:order:update')")
@PostMapping("/orderEditRandomSingle")
public R orderEditRandomSingle(@Validated @RequestBody PlayOrderEditRandomSingleVo vo) {
public R orderEditRandomSingle(@ApiParam(value = "重新抢单信息", required = true) @Validated @RequestBody PlayOrderEditRandomSingleVo vo) {
PlayOrderInfoEntity orderInfo = orderInfoService.selectOrderInfoById(vo.getOrderId());
if (!"1".equals(orderInfo.getPlaceType())) {
throw new CustomException("订单类型错误,无法重新抢单");
@@ -155,6 +186,11 @@ public class PlayOrderInfoController {
/**
* 根据ID查询订单
*/
@ApiOperation(value = "获取订单详情", notes = "根据ID获取订单详细信息")
@ApiImplicitParam(name = "id", value = "订单ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayOrderInfoEntity.class)
})
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
return R.ok(orderInfoService.selectById(id));
@@ -164,10 +200,16 @@ public class PlayOrderInfoController {
/**
* 根据ID修改订单信息
*/
@ApiOperation(value = "修改订单信息", notes = "根据ID修改订单基本信息")
@ApiImplicitParam(name = "id", value = "订单ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败")
})
//@PreAuthorize("@customSs.hasPermission('order:order:update')")
@Log(title = "修改普通订单", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody PlayOrderInfoEntity orderInfoEntity) {
public R update(@PathVariable String id, @ApiParam(value = "订单信息", required = true) @RequestBody PlayOrderInfoEntity orderInfoEntity) {
orderInfoEntity.setId(id);
boolean success = orderInfoService.update(orderInfoEntity);
if (success) {
@@ -180,6 +222,11 @@ public class PlayOrderInfoController {
/**
* 删除订单
*/
@ApiOperation(value = "删除订单", notes = "根据ID批量删除订单信息")
@ApiImplicitParam(name = "ids", value = "订单ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = Integer.class)
})
//@PreAuthorize("@customSs.hasPermission('order:order:delete')")
@Log(title = "删除订单", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")

View File

@@ -8,6 +8,12 @@ import com.starry.admin.modules.order.service.IPlayOrderRefundInfoService;
import com.starry.common.annotation.Log;
import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -19,6 +25,7 @@ import javax.annotation.Resource;
* @author admin
* @since 2024-05-09
*/
@Api(tags = "订单退款管理", description = "订单退款信息管理相关接口,包括查询、新增、修改和删除等操作")
@RestController
@RequestMapping("/order/refund")
public class PlayOrderRefundInfoController {
@@ -28,8 +35,12 @@ public class PlayOrderRefundInfoController {
/**
* 查询订单退款信息列表
*/
@ApiOperation(value = "分页查询退款列表", notes = "分页查询订单退款信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayOrderRefundReturnVo.class, responseContainer = "Page")
})
@PostMapping("/list")
public R list(@Validated @RequestBody PlayOrderRefundQueryVo vo) {
public R list(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayOrderRefundQueryVo vo) {
IPage<PlayOrderRefundReturnVo> list = playOrderRefundInfoService.selectByPage(vo);
return R.ok(list);
}
@@ -37,6 +48,11 @@ public class PlayOrderRefundInfoController {
/**
* 获取订单退款信息详细信息
*/
@ApiOperation(value = "获取退款详情", notes = "根据ID获取订单退款详细信息")
@ApiImplicitParam(name = "id", value = "退款记录ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayOrderRefundInfoEntity.class)
})
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
return R.ok(playOrderRefundInfoService.selectPlayOrderRefundInfoById(id));
@@ -45,9 +61,14 @@ public class PlayOrderRefundInfoController {
/**
* 新增订单退款信息
*/
@ApiOperation(value = "新增退款记录", notes = "创建新的订单退款信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败")
})
@Log(title = "订单退款信息", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@RequestBody PlayOrderRefundInfoEntity playOrderRefundInfo) {
public R create(@ApiParam(value = "退款信息", required = true) @RequestBody PlayOrderRefundInfoEntity playOrderRefundInfo) {
boolean success = playOrderRefundInfoService.create(playOrderRefundInfo);
if (success) {
return R.ok();
@@ -58,9 +79,15 @@ public class PlayOrderRefundInfoController {
/**
* 修改订单退款信息
*/
@ApiOperation(value = "修改退款记录", notes = "根据ID修改订单退款信息")
@ApiImplicitParam(name = "id", value = "退款记录ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败")
})
@Log(title = "订单退款信息", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody PlayOrderRefundInfoEntity playOrderRefundInfo) {
public R update(@PathVariable String id, @ApiParam(value = "退款信息", required = true) @RequestBody PlayOrderRefundInfoEntity playOrderRefundInfo) {
playOrderRefundInfo.setId(id);
boolean success = playOrderRefundInfoService.update(playOrderRefundInfo);
if (success) {
@@ -72,6 +99,11 @@ public class PlayOrderRefundInfoController {
/**
* 删除订单退款信息
*/
@ApiOperation(value = "删除退款记录", notes = "根据ID批量删除订单退款信息")
@ApiImplicitParam(name = "ids", value = "退款记录ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = Integer.class)
})
@Log(title = "订单退款信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R remove(@PathVariable String[] ids) {

View File

@@ -7,6 +7,11 @@ import com.starry.admin.modules.order.service.IPlayOrderInfoService;
import com.starry.common.annotation.Log;
import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -22,6 +27,7 @@ import javax.annotation.Resource;
* @author admin
* @since 2024-03-20
*/
@Api(tags = "打赏订单管理", description = "打赏订单信息管理相关接口,包括查询等操作")
@RestController
@RequestMapping("/order/reward/")
public class PlayOrderRewardInfoController {
@@ -32,10 +38,17 @@ public class PlayOrderRewardInfoController {
private IPlayOrderInfoService orderInfoService;
/**
* 分页查询打赏订单列表
*/
@ApiOperation(value = "分页查询打赏订单", notes = "分页查询打赏订单信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayOrderRewardReturnVo.class, responseContainer = "Page")
})
//@PreAuthorize("@customSs.hasPermission('order:reward:list')")
@Log(title = "查询打赏订单", businessType = BusinessType.INSERT)
@PostMapping("/listByPage")
public R queryRewardOrder(@Validated @RequestBody PlayOrderRewardQueryVo vo) {
public R queryRewardOrder(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayOrderRewardQueryVo vo) {
IPage<PlayOrderRewardReturnVo> page = orderInfoService.selectRewardOrderInfoByPage(vo);
return R.ok(page);
}

View File

@@ -2,6 +2,8 @@ package com.starry.admin.modules.order.module.vo;
import com.starry.common.domain.BasePageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -14,40 +16,48 @@ import java.util.List;
*/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "订单投诉查询参数", description = "查询订单投诉信息的条件参数")
public class PlayOrderComplaintQueryVo extends BasePageEntity {
/**
* 数据ID
*/
@ApiModelProperty(value = "投诉ID", example = "1", notes = "特定投诉记录的ID")
private String id;
/**
* 订单ID
*/
@ApiModelProperty(value = "订单ID", example = "1", notes = "被投诉的订单ID")
private String orderId;
/**
* 订单编号
*/
@ApiModelProperty(value = "订单编号", example = "ORDER20240320001", notes = "被投诉的订单编号,支持模糊查询")
private String orderNo;
/**
* 顾客ID
*/
@ApiModelProperty(value = "顾客ID", example = "1", notes = "投诉顾客的ID")
private String customId;
/**
* 店员ID
*/
@ApiModelProperty(value = "店员ID", example = "1", notes = "被投诉店员的ID")
private String clerkId;
/**
* 微信号码
*/
@ApiModelProperty(value = "微信号码", example = "wx123456", notes = "顾客的微信号码")
private String weiChatCode;
/**
* 投诉时间
*/
@ApiModelProperty(value = "投诉时间范围", example = "['2024-01-01 00:00:00','2024-12-31 23:59:59']", notes = "投诉提交时间范围,包含开始和结束时间")
private List<String> complaintTime;

View File

@@ -3,6 +3,8 @@ package com.starry.admin.modules.order.module.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.starry.admin.common.conf.StringTypeHandler;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@@ -15,119 +17,142 @@ import java.util.List;
* @author admin
*/
@Data
@ApiModel(value = "订单投诉返回数据", description = "订单投诉信息的返回数据")
public class PlayOrderComplaintReturnVo {
/**
* uuid
*/
@ApiModelProperty(value = "投诉ID", example = "1")
private String id;
/**
* 订单ID
*/
@ApiModelProperty(value = "订单ID", example = "1")
private String orderId;
/**
* 顾客ID
*/
@ApiModelProperty(value = "顾客ID", example = "1")
private String customId;
/**
* 顾客昵称
*/
@ApiModelProperty(value = "顾客昵称", example = "张三")
private String customNickname;
/**
* 顾客头像
*/
@ApiModelProperty(value = "顾客头像", example = "https://example.com/avatar.jpg")
private String customAvatar;
/**
* 店员ID
*/
@ApiModelProperty(value = "店员ID", example = "1")
private String clerkId;
/**
* 顾客昵称
*/
@ApiModelProperty(value = "店员昵称", example = "小明")
private String clerkNickname;
/**
* 顾客头像
*/
@ApiModelProperty(value = "店员头像", example = "https://example.com/clerk_avatar.jpg")
private String clerkAvatar;
/**
* 投诉人微信号码
*/
@ApiModelProperty(value = "微信号码", example = "wx123456")
private String wxChatCode;
/**
* 投诉内容
*/
@ApiModelProperty(value = "投诉内容", example = "店员服务态度差")
private String complaintCon;
/**
* 投诉时间
*/
@ApiModelProperty(value = "投诉时间", example = "2024-01-01 12:00:00")
private Date complaintTime;
/**
* 图片列表
*/
@TableField(typeHandler = StringTypeHandler.class)
@ApiModelProperty(value = "图片列表", example = "['https://example.com/img1.jpg','https://example.com/img2.jpg']")
private List<String> images;
/**
* 数据是否隐藏0:显示1:隐藏)
*/
@ApiModelProperty(value = "是否隐藏", example = "0", notes = "数据是否隐藏0:显示1:隐藏")
private String hidden;
/**
* 订单号
*/
@ApiModelProperty(value = "订单编号", example = "ORDER20240320001")
private String orderNo;
/**
* 下单类型0指定单1随机单。2打赏单
*/
@ApiModelProperty(value = "下单类型", example = "0", notes = "0指定单1随机单2打赏单")
private String placeType;
/**
* 订单最终金额(支付金额)
*/
@ApiModelProperty(value = "支付金额", example = "100.00")
private BigDecimal finalAmount;
/**
* 服务项目ID
*/
@ApiModelProperty(value = "商品ID", example = "1")
private String commodityId;
/**
* 项目类型
*/
@ApiModelProperty(value = "商品类型", example = "0", notes = "0:礼物1服务")
private String commodityType;
/**
* 项目名称
*/
@ApiModelProperty(value = "商品名称", example = "语音陪聊")
private String commodityName;
/**
* 项目价格
*/
@ApiModelProperty(value = "商品单价", example = "50.00")
private BigDecimal commodityPrice;
/**
* 商品数量
*/
@ApiModelProperty(value = "商品数量", example = "1")
private String commodityNumber;
/**
* 服务时长(文字描述信息,不参与订单计算)
*/
@ApiModelProperty(value = "服务时长", example = "30", notes = "服务的时长,单位分钟")
private String serviceDuration;
}

View File

@@ -1,6 +1,8 @@
package com.starry.admin.modules.order.module.vo;
import com.starry.common.domain.BasePageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -14,36 +16,43 @@ import java.util.List;
**/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "订单续单查询参数", description = "查询订单续单信息的条件参数")
public class PlayOrderContinueQueryVo extends BasePageEntity {
@ApiModelProperty(value = "昵称", example = "小明", notes = "店员或顾客昵称,支持模糊查询")
private String nickname;
/**
* 店员ID
*/
@ApiModelProperty(value = "店员ID", example = "1", notes = "申请续单的店员ID")
private String clerkId;
/**
* 顾客ID
*/
@ApiModelProperty(value = "顾客ID", example = "1", notes = "相关顾客的ID")
private String customId;
/**
* 订单编号
*/
@ApiModelProperty(value = "订单编号", example = "ORDER20240320001", notes = "相关订单的编号,支持模糊查询")
private String orderNo;
/**
* 审核状态0:未审核1:已通过2:不通过)
*/
@ApiModelProperty(value = "审核状态", example = "0", notes = "0:未审核1:已通过2:不通过")
private String reviewState;
/**
* 申请时间
*/
@ApiModelProperty(value = "申请时间范围", example = "['2024-01-01 00:00:00','2024-12-31 23:59:59']", notes = "续单申请时间范围,包含开始和结束时间")
private List<String> continueTime;

View File

@@ -1,6 +1,8 @@
package com.starry.admin.modules.order.module.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
@@ -15,59 +17,71 @@ import java.util.List;
* @since 2024/5/10 14:59
**/
@Data
@ApiModel(value = "订单续单返回数据", description = "订单续单信息的返回数据")
public class PlayOrderContinueReturnVo {
@ApiModelProperty(value = "续单ID", example = "1")
private String id;
/**
* 店员ID
*/
@ApiModelProperty(value = "店员ID", example = "1")
private String clerkId;
/**
* 店员昵称
*/
@ApiModelProperty(value = "店员昵称", example = "小明")
private String clerkNickname;
/**
* 店员昵称
*/
@ApiModelProperty(value = "店员头像", example = "https://example.com/clerk_avatar.jpg")
private String clerkAvatar;
/**
* 店员性别
*/
@ApiModelProperty(value = "店员性别", example = "1", notes = "0:未知,1:男,2:女")
private String clerkSex;
/**
* 顾客ID
*/
@ApiModelProperty(value = "顾客ID", example = "1")
private String customerId;
/**
* 用户等级名称
*/
@ApiModelProperty(value = "等级名称", example = "黄金会员")
private String levelName;
/**
* 订单编号
*/
@ApiModelProperty(value = "订单编号", example = "ORDER20240320001")
private String orderNo;
/**
* 下单类型0指定单1随机单。2打赏单
*/
@ApiModelProperty(value = "下单类型", example = "0", notes = "0指定单1随机单2打赏单")
private String placeType;
/**
* 商品名称
*/
@ApiModelProperty(value = "商品名称", example = "语音陪聊")
private String commodityName;
/**
* 商品单价
*/
@ApiModelProperty(value = "商品单价", example = "50.00")
private BigDecimal commodityPrice;
/**
@@ -75,51 +89,61 @@ public class PlayOrderContinueReturnVo {
*
* @since 2024/5/8 16:44
**/
@ApiModelProperty(value = "服务时长", example = "30", notes = "服务的时长,单位分钟")
private String serviceDuration;
/**
* 商品数量
*/
@ApiModelProperty(value = "商品数量", example = "1")
private int commodityNumber;
/**
* 下单金额
*/
@ApiModelProperty(value = "订单金额", example = "100.00")
private BigDecimal orderMoney;
/**
* 订单最终金额(支付金额)
*/
@ApiModelProperty(value = "支付金额", example = "100.00")
private BigDecimal finalAmount;
/**
* 申请消息
*/
@ApiModelProperty(value = "申请消息", example = "顾客需要继续服务")
private String continueMsg;
/**
* 截图
*/
@ApiModelProperty(value = "截图列表", example = "['https://example.com/img1.jpg','https://example.com/img2.jpg']")
private List<String> images;
/**
* 是否需要审核0:不需要1:需要
*/
@ApiModelProperty(value = "是否需要审核", example = "1", notes = "0:不需要1:需要")
private String reviewedRequired;
/**
* 审核状态0:未审核1:已通过2:不通过)
*/
@ApiModelProperty(value = "审核状态", example = "0", notes = "0:未审核1:已通过2:不通过")
private String reviewedState;
/**
* 审核内容
*/
@ApiModelProperty(value = "审核备注", example = "审核通过,可以继续服务")
private String reviewedRemark;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "申请时间", example = "2024-01-01 12:00:00")
private LocalDateTime continueTime;
}

View File

@@ -1,5 +1,7 @@
package com.starry.admin.modules.order.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@@ -11,6 +13,7 @@ import javax.validation.constraints.NotNull;
* @since 2024-03-20
*/
@Data
@ApiModel(value = "更换店员参数", description = "更换订单接单店员的请求参数")
public class PlayOrderEditAcceptByVo {
@@ -18,6 +21,7 @@ public class PlayOrderEditAcceptByVo {
* uuid
*/
@NotNull(message = "orderId不能为空")
@ApiModelProperty(value = "订单ID", required = true, example = "1", notes = "需要更换店员的订单ID")
private String orderId;
@@ -25,11 +29,13 @@ public class PlayOrderEditAcceptByVo {
* 店员ID
*/
@NotNull(message = "店员不能为空")
@ApiModelProperty(value = "店员ID", required = true, example = "1", notes = "新的接单店员ID")
private String acceptBy;
/**
* 备注
*/
@ApiModelProperty(value = "备注", example = "店员请假,需要更换", notes = "更换店员的原因说明")
private String remark;

View File

@@ -1,5 +1,7 @@
package com.starry.admin.modules.order.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
@@ -12,6 +14,7 @@ import javax.validation.constraints.NotNull;
* @since 2024-03-20
*/
@Data
@ApiModel(value = "修改后台备注参数", description = "修改订单后台备注的请求参数")
public class PlayOrderEditBackendRemarkByVo {
@@ -19,6 +22,7 @@ public class PlayOrderEditBackendRemarkByVo {
* uuid
*/
@NotNull(message = "orderId不能为空")
@ApiModelProperty(value = "订单ID", required = true, example = "1", notes = "需要修改备注的订单ID")
private String orderId;
@@ -27,6 +31,7 @@ public class PlayOrderEditBackendRemarkByVo {
*/
@NotNull(message = "后台备注不能为空")
@Length(min = 1, max = 100, message = "后台备注字符长度在1-100个字符之间")
@ApiModelProperty(value = "后台备注", required = true, example = "顾客要求特殊服务", notes = "订单的后台备注内容1-100字符")
private String backendRemark;

View File

@@ -1,5 +1,7 @@
package com.starry.admin.modules.order.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@@ -11,6 +13,7 @@ import javax.validation.constraints.NotNull;
* @since 2024-03-20
*/
@Data
@ApiModel(value = "重新抢单参数", description = "设置订单重新抢单的请求参数")
public class PlayOrderEditRandomSingleVo {
@@ -18,6 +21,7 @@ public class PlayOrderEditRandomSingleVo {
* uuid
*/
@NotNull(message = "orderId不能为空")
@ApiModelProperty(value = "订单ID", required = true, example = "1", notes = "需要重新抢单的订单ID")
private String orderId;
@@ -27,11 +31,13 @@ public class PlayOrderEditRandomSingleVo {
* @since 2024/5/8 15:31
**/
@NotNull(message = "陪聊性别不能为空")
@ApiModelProperty(value = "店员性别", required = true, example = "2", notes = "抢单店员的性别要求0:未知;1:男;2:女")
private String sex;
/**
* 陪聊等级
**/
@NotNull(message = "陪聊等级不能为空")
@ApiModelProperty(value = "店员等级", required = true, example = "1", notes = "抢单店员的等级要求")
private String levelId;
/**
@@ -40,6 +46,7 @@ public class PlayOrderEditRandomSingleVo {
* @since 2024/5/8 15:28
**/
@NotNull(message = "是否排除下单过的成员不能为空")
@ApiModelProperty(value = "是否排除历史", required = true, example = "1", notes = "是否排除下单过的成员0:不排除;1:排除")
private String excludeHistory;
@@ -48,6 +55,7 @@ public class PlayOrderEditRandomSingleVo {
*
* @since 2024/5/8 15:28
**/
@ApiModelProperty(value = "订单备注", example = "需要擅长聊天的店员", notes = "订单的备注信息")
private String remark;

View File

@@ -1,6 +1,8 @@
package com.starry.admin.modules.order.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@@ -12,12 +14,14 @@ import javax.validation.constraints.Pattern;
* @author admin
*/
@Data
@ApiModel(value = "评价状态修改参数", description = "修改订单评价显示状态的请求参数")
public class PlayOrderEvaluateEditStateVo {
/**
* UUID
*/
@NotBlank(message = "id不能为空")
@ApiModelProperty(value = "评价ID", required = true, example = "1", notes = "需要修改状态的评价ID")
private String id;
/**
@@ -25,5 +29,6 @@ public class PlayOrderEvaluateEditStateVo {
*/
@NotBlank(message = "是否隐藏不能为空")
@Pattern(regexp = "[01]", message = "是否隐藏数据错误,只能位0或者1")
@ApiModelProperty(value = "是否隐藏", required = true, example = "1", notes = "数据是否隐藏0:显示1:隐藏")
private String hidden;
}

View File

@@ -2,6 +2,8 @@ package com.starry.admin.modules.order.module.vo;
import com.starry.common.domain.BasePageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -14,40 +16,48 @@ import java.util.List;
*/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "订单评价查询参数", description = "查询订单评价信息的条件参数")
public class PlayOrderEvaluateQueryVo extends BasePageEntity {
/**
* UUID
*/
@ApiModelProperty(value = "评价ID", example = "1", notes = "特定评价记录的ID")
private String id;
/**
* 顾客ID
*/
@ApiModelProperty(value = "顾客ID", example = "1", notes = "评价顾客的ID")
private String customId;
/**
* 店员ID
*/
@ApiModelProperty(value = "店员ID", example = "1", notes = "被评价店员的ID")
private String clerkId;
/**
* 评价内容
*/
@ApiModelProperty(value = "评价内容", example = "服务很好", notes = "评价内容,支持模糊查询")
private String evaluateCon;
/**
* 匿名评价(0:匿名1:非匿名)
*/
@ApiModelProperty(value = "是否匿名", example = "0", notes = "0:匿名1:非匿名")
private String anonymous;
/**
* 评价时间
*/
@ApiModelProperty(value = "评价时间范围", example = "['2024-01-01 00:00:00','2024-12-31 23:59:59']", notes = "评价提交时间范围,包含开始和结束时间")
private List<String> evaluateTime;
/**
* 数据是否隐藏0:显示1:隐藏)
*/
@ApiModelProperty(value = "是否隐藏", example = "0", notes = "数据是否隐藏0:显示1:隐藏")
private String hidden;
}

View File

@@ -2,6 +2,8 @@ package com.starry.admin.modules.order.module.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@@ -13,129 +15,153 @@ import java.util.Date;
* @author admin
*/
@Data
@ApiModel(value = "订单评价返回数据", description = "订单评价信息的返回数据")
public class PlayOrderEvaluateReturnVo {
/**
* uuid
*/
@ApiModelProperty(value = "评价ID", example = "1")
private String id;
/**
* 订单ID
*/
@ApiModelProperty(value = "订单ID", example = "1")
private String orderId;
/**
* 匿名评价(0:匿名1:非匿名)
*/
@ApiModelProperty(value = "是否匿名", example = "0", notes = "0:匿名1:非匿名")
private String anonymous;
/**
* 评价类型(0:好评1差评)
*/
@ApiModelProperty(value = "评价类型", example = "0", notes = "0:好评1:差评")
private String evaluateType;
/**
* 评价等级【1-5星最低1星最高5星】
*/
@ApiModelProperty(value = "评价等级", example = "5", notes = "1-5星最低1星最高5星")
private Integer evaluateLevel;
/**
* 评价内容
*/
@ApiModelProperty(value = "评价内容", example = "服务很好,店员态度很好")
private String evaluateCon;
/**
* 评价时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "评价时间", example = "2024-01-01 12:00:00")
private Date evaluateTime;
/**
* 数据是否隐藏0:显示1:隐藏)
*/
@ApiModelProperty(value = "是否隐藏", example = "0", notes = "数据是否隐藏0:显示1:隐藏")
private String hidden;
/**
* 顾客ID
*/
@ApiModelProperty(value = "顾客ID", example = "1")
private String customId;
/**
* 顾客昵称
*/
@ApiModelProperty(value = "顾客昵称", example = "张三")
private String customNickname;
/**
* 顾客头像
*/
@ApiModelProperty(value = "顾客头像", example = "https://example.com/avatar.jpg")
private String customAvatar;
/**
* 店员ID
*/
@ApiModelProperty(value = "店员ID", example = "1")
private String clerkId;
/**
* 顾客昵称
*/
@ApiModelProperty(value = "店员昵称", example = "小明")
private String clerkNickname;
/**
* 顾客头像
*/
@ApiModelProperty(value = "店员头像", example = "https://example.com/clerk_avatar.jpg")
private String clerkAvatar;
/**
* 点赞数
*/
@ApiModelProperty(value = "点赞数", example = "10")
private int likeCount = 10;
/**
* 订单号
*/
@ApiModelProperty(value = "订单编号", example = "ORDER20240320001")
private String orderNo;
/**
* 下单类型0指定单1随机单。2打赏单
*/
@ApiModelProperty(value = "下单类型", example = "0", notes = "0指定单1随机单2打赏单")
private String placeType;
/**
* 订单最终金额(支付金额)
*/
@ApiModelProperty(value = "支付金额", example = "100.00")
private BigDecimal finalAmount;
/**
* 服务项目ID
*/
@ApiModelProperty(value = "商品ID", example = "1")
private String commodityId;
/**
* 项目类型
*/
@ApiModelProperty(value = "商品类型", example = "0", notes = "0:礼物1服务")
private String commodityType;
/**
* 项目名称
*/
@ApiModelProperty(value = "商品名称", example = "语音陪聊")
private String commodityName;
/**
* 项目价格
*/
@ApiModelProperty(value = "商品单价", example = "50.00")
private BigDecimal commodityPrice;
/**
* 商品数量
*/
@ApiModelProperty(value = "商品数量", example = "1")
private String commodityNumber;
/**
* 服务时长(文字描述信息,不参与订单计算)
*/
@ApiModelProperty(value = "服务时长", example = "30", notes = "服务的时长,单位分钟")
private String serviceDuration;
}

View File

@@ -1,6 +1,8 @@
package com.starry.admin.modules.order.module.vo;
import com.starry.common.domain.BasePageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -14,16 +16,19 @@ import java.util.List;
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "订单查询参数", description = "查询订单信息的条件参数")
public class PlayOrderInfoQueryVo extends BasePageEntity {
/**
* uuid
*/
@ApiModelProperty(value = "订单ID", example = "1", notes = "特定订单的ID")
private String id;
/**
* 订单编号
*/
@ApiModelProperty(value = "订单编号", example = "ORDER20240320001", notes = "订单的编号,支持模糊查询")
private String orderNo;
/**
@@ -34,82 +39,98 @@ public class PlayOrderInfoQueryVo extends BasePageEntity {
* 3已完成
* 4已取消
*/
@ApiModelProperty(value = "订单状态", example = "0", notes = "0已下单待接单;1已接单待开始;2已开始服务中;3已完成;4已取消")
private String orderStatus;
/**
* 订单类型【-1:退款订单;0:充值订单1:提现订单2:普通订单】
*/
@ApiModelProperty(value = "订单类型", example = "2", notes = "-1:退款订单;0:充值订单;1:提现订单;2:普通订单")
private String orderType;
/**
* 下单类型(-1:其他类型;0:指定单;1:随机单;2:打赏单)
*/
@ApiModelProperty(value = "下单类型", example = "0", notes = "-1:其他类型;0:指定单;1:随机单;2:打赏单")
private String placeType;
/**
* 是否是首单【0不是1是】
*/
@ApiModelProperty(value = "是否首单", example = "1", notes = "0不是1")
private String firstOrder;
/**
* 是否使用优惠券[0:未使用,1:已使用]
*/
@ApiModelProperty(value = "是否使用优惠券", example = "1", notes = "0:未使用,1:已使用")
private String useCoupon;
/**
* 是否是客服录入订单[0:不是,1:是]
*/
@ApiModelProperty(value = "是否客服录入", example = "0", notes = "0:不是,1:是")
private String backendEntry;
/**
* 支付方式0余额支付,1:微信支付,2:支付宝支付
*/
@ApiModelProperty(value = "支付方式", example = "0", notes = "0余额支付,1:微信支付,2:支付宝支付")
private String payMethod;
/**
* 微信号码
*/
@ApiModelProperty(value = "微信号码", example = "wx123456", notes = "顾客的微信号码")
private String weiChatCode;
/**
* 下单人
*/
@ApiModelProperty(value = "下单人ID", example = "1", notes = "下单顾客的ID")
private String purchaserBy;
/**
* 下单时间
*/
@ApiModelProperty(value = "下单时间范围", example = "['2024-01-01 00:00:00','2024-12-31 23:59:59']", notes = "下单时间范围,包含开始和结束时间")
private List<String> purchaserTime;
/**
* 接单人
*/
@ApiModelProperty(value = "接单人ID", example = "1", notes = "接单店员的ID")
private String acceptBy;
/**
* 接单时间
*/
@ApiModelProperty(value = "接单时间范围", example = "['2024-01-01 00:00:00','2024-12-31 23:59:59']", notes = "接单时间范围,包含开始和结束时间")
private List<String> acceptTime;
/**
* 开始订单时间(开始服务时间)
*/
@ApiModelProperty(value = "开始服务时间范围", example = "['2024-01-01 00:00:00','2024-12-31 23:59:59']", notes = "订单开始服务时间范围,包含开始和结束时间")
private List<String> startOrderTime;
/**
* 完成订单时间(开始服务时间)
*/
@ApiModelProperty(value = "完成服务时间范围", example = "['2024-01-01 00:00:00','2024-12-31 23:59:59']", notes = "订单完成服务时间范围,包含开始和结束时间")
private List<String> endOrderTime;
/**
* 分组ID
*/
@ApiModelProperty(value = "分组ID", example = "1", notes = "订单所属分组的ID")
private String groupId;
@ApiModelProperty(value = "店员昵称", example = "小明", notes = "接单店员的昵称,支持模糊查询")
private String clerkNickName;

View File

@@ -1,6 +1,8 @@
package com.starry.admin.modules.order.module.vo;
import com.starry.common.domain.BasePageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
@@ -16,6 +18,7 @@ import java.math.BigDecimal;
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "订单退款参数", description = "订单退款操作的请求参数")
public class PlayOrderRefundAddVo extends BasePageEntity {
@@ -23,6 +26,7 @@ public class PlayOrderRefundAddVo extends BasePageEntity {
* uuid
*/
@NotNull(message = "orderId不能为空")
@ApiModelProperty(value = "订单ID", required = true, example = "1", notes = "需要退款的订单ID")
private String orderId;
@@ -30,6 +34,7 @@ public class PlayOrderRefundAddVo extends BasePageEntity {
* 退款金额
*/
@NotNull(message = "退款金额不能为空")
@ApiModelProperty(value = "退款金额", required = true, example = "100.00", notes = "退款的金额,不能大于支付金额")
private BigDecimal refundAmount;
/**
@@ -37,6 +42,7 @@ public class PlayOrderRefundAddVo extends BasePageEntity {
*/
@NotNull(message = "退款原因不能为空")
@Length(min = 1, max = 100, message = "退款原因必须在1-100个字符之间")
@ApiModelProperty(value = "退款原因", required = true, example = "顾客要求退款", notes = "退款的原因说明1-100字符")
private String refundReason;

View File

@@ -1,6 +1,8 @@
package com.starry.admin.modules.order.module.vo;
import com.starry.common.domain.BasePageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -10,5 +12,15 @@ import lombok.EqualsAndHashCode;
**/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "订单退款查询参数", description = "查询订单退款信息的条件参数")
public class PlayOrderRefundQueryVo extends BasePageEntity {
@ApiModelProperty(value = "订单ID", example = "1", notes = "特定订单的ID")
private String orderId;
@ApiModelProperty(value = "退款类型", example = "0", notes = "0:全额退款,1:部分退款")
private String refundType;
@ApiModelProperty(value = "退款状态", example = "1", notes = "退款处理状态")
private String refundStatus;
}

View File

@@ -1,8 +1,50 @@
package com.starry.admin.modules.order.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author admin
* @since 2024/5/9 下午11:10
**/
@Data
@ApiModel(value = "订单退款返回数据", description = "订单退款信息的返回数据")
public class PlayOrderRefundReturnVo {
@ApiModelProperty(value = "退款ID", example = "1")
private String id;
@ApiModelProperty(value = "订单ID", example = "1")
private String orderId;
@ApiModelProperty(value = "订单编号", example = "ORDER20240320001")
private String orderNo;
@ApiModelProperty(value = "退款金额", example = "100.00")
private BigDecimal refundAmount;
@ApiModelProperty(value = "退款原因", example = "顾客要求退款")
private String refundReason;
@ApiModelProperty(value = "退款类型", example = "0", notes = "0:全额退款,1:部分退款")
private String refundType;
@ApiModelProperty(value = "退款状态", example = "1", notes = "退款处理状态")
private String refundStatus;
@ApiModelProperty(value = "退款时间", example = "2024-01-01 12:00:00")
private Date refundTime;
@ApiModelProperty(value = "支付方式", example = "0", notes = "0余额支付,1:微信支付,2:支付宝支付")
private String payMethod;
@ApiModelProperty(value = "操作人ID", example = "1")
private String operatorId;
@ApiModelProperty(value = "操作人名称", example = "管理员")
private String operatorName;
}

View File

@@ -1,5 +1,7 @@
package com.starry.admin.modules.order.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@@ -12,10 +14,12 @@ import javax.validation.constraints.Pattern;
* @since 2024/5/10 14:59
**/
@Data
@ApiModel(value = "审批状态修改参数", description = "续单申请审批状态修改的请求参数")
public class PlayOrderReviewStateEditVo {
@NotBlank(message = "ID不能为空")
@ApiModelProperty(value = "续单ID", required = true, example = "1", notes = "需要审批的续单ID")
private String id;
/**
@@ -23,8 +27,10 @@ public class PlayOrderReviewStateEditVo {
*/
@NotBlank(message = "审核状态不能为空")
@Pattern(regexp = "[12]", message = "审核状态必须为1或2")
@ApiModelProperty(value = "审核状态", required = true, example = "1", notes = "1:已通过2:不通过")
private String reviewState;
@ApiModelProperty(value = "审核备注", example = "审核通过,可以继续服务", notes = "审核意见或备注信息")
private String remark;
}

View File

@@ -2,6 +2,8 @@ package com.starry.admin.modules.order.module.vo;
import com.starry.common.domain.BasePageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -13,46 +15,54 @@ import java.util.List;
*/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "打赏订单查询参数", description = "查询打赏订单信息的条件参数")
public class PlayOrderRewardQueryVo extends BasePageEntity {
/**
* UUID
*/
@ApiModelProperty(value = "订单ID", example = "1", notes = "特定订单的ID")
private String id;
/**
* 顾客ID
*/
@ApiModelProperty(value = "顾客ID", example = "1", notes = "打赏顾客的ID")
private String purchaserBy;
/**
* 店员ID
*/
@ApiModelProperty(value = "店员ID", example = "1", notes = "接收打赏的店员ID")
private String acceptBy;
/**
* 打赏留言
*/
@ApiModelProperty(value = "打赏留言", example = "感谢服务", notes = "打赏时的留言内容,支持模糊查询")
private String rewardCon;
/**
* 打赏类型0:打赏礼物,1:自定义金额)
*/
@ApiModelProperty(value = "打赏类型", example = "0", notes = "0:打赏礼物,1:自定义金额")
private String rewardType;
/**
* 礼物ID
*/
@ApiModelProperty(value = "礼物ID", example = "1", notes = "打赏礼物的ID")
private String commodityId;
/**
* 打赏时间
*/
@ApiModelProperty(value = "打赏时间范围", example = "['2024-01-01 00:00:00','2024-12-31 23:59:59']", notes = "打赏时间范围,包含开始和结束时间")
private List<String> purchaserTime;
/**
* 数据是否隐藏0:显示1:隐藏)
*/
@ApiModelProperty(value = "是否隐藏", example = "0", notes = "数据是否隐藏0:显示1:隐藏")
private String hidden;

View File

@@ -2,6 +2,8 @@ package com.starry.admin.modules.order.module.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
@@ -13,80 +15,95 @@ import java.time.LocalDateTime;
* @author admin
*/
@Data
@ApiModel(value = "打赏订单返回数据", description = "打赏订单信息的返回数据")
public class PlayOrderRewardReturnVo {
/**
* 订单ID
*/
@ApiModelProperty(value = "订单ID", example = "1")
private String id;
/**
* 用户ID
*/
@ApiModelProperty(value = "顾客ID", example = "1")
private String customId;
/**
* 用户昵称
*/
@ApiModelProperty(value = "顾客昵称", example = "张三")
private String customNickname;
/**
* 用户头像
*/
@ApiModelProperty(value = "顾客头像", example = "https://example.com/avatar.jpg")
private String customAvatar;
/**
* 店员ID
*/
@ApiModelProperty(value = "店员ID", example = "1")
private String clerkId;
/**
* 店员昵称
*/
@ApiModelProperty(value = "店员昵称", example = "小明")
private String clerkNickname;
/**
* 店员头像
*/
@ApiModelProperty(value = "店员头像", example = "https://example.com/clerk_avatar.jpg")
private String clerkAvatar;
/**
* 打赏类型
*/
@ApiModelProperty(value = "打赏类型", example = "0", notes = "0:打赏礼物,1:自定义金额")
private String rewardType;
/**
* 订单金额
*/
@ApiModelProperty(value = "订单金额", example = "100.00")
private String orderMoney;
/**
* 支付金额
*/
@ApiModelProperty(value = "支付金额", example = "100.00")
private String finalAmount;
/**
* 商品ID
*/
@ApiModelProperty(value = "商品ID", example = "1")
private String commodityId;
/**
* 商品类型[0:礼物1服务]
*/
@ApiModelProperty(value = "商品类型", example = "0", notes = "0:礼物1服务")
private String commodityType;
/**
* 商品名称
*/
@ApiModelProperty(value = "商品名称", example = "爱心礼物")
private String commodityName;
/**
* 商品单价
*/
@ApiModelProperty(value = "商品单价", example = "50.00")
private BigDecimal commodityPrice;
/**
@@ -94,6 +111,7 @@ public class PlayOrderRewardReturnVo {
*
* @since 2024/5/8 16:44
**/
@ApiModelProperty(value = "服务时长", example = "30", notes = "服务的时长,单位分钟")
private String serviceDuration;
@@ -101,6 +119,7 @@ public class PlayOrderRewardReturnVo {
/**
* 打赏留言
*/
@ApiModelProperty(value = "打赏留言", example = "感谢服务")
private String remark;
/**
@@ -108,6 +127,7 @@ public class PlayOrderRewardReturnVo {
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "打赏时间", example = "2024-01-01 12:00:00")
private LocalDateTime purchaserTime;
}

View File

@@ -6,6 +6,12 @@ import com.starry.admin.modules.personnel.service.IPlayBalanceDetailsInfoService
import com.starry.common.annotation.Log;
import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -17,6 +23,7 @@ import javax.annotation.Resource;
* @author admin
* @since 2024-04-30
*/
@Api(tags = "余额明细管理", description = "余额明细信息管理相关接口,包括查询、修改和删除等操作")
@RestController
@RequestMapping("/balance/details")
public class PlayBalanceDetailsInfoController {
@@ -27,14 +34,23 @@ public class PlayBalanceDetailsInfoController {
/**
* 查询余额明细列表
*/
@ApiOperation(value = "分页查询明细列表", notes = "分页查询余额明细信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功")
})
@PostMapping("/listByPage")
public R list(@Validated @RequestBody PlayBalanceDetailsQueryVo vo) {
public R list(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayBalanceDetailsQueryVo vo) {
return R.ok(playBalanceDetailsInfoService.selectByPage(vo));
}
/**
* 获取余额明细详细信息
*/
@ApiOperation(value = "获取明细详情", notes = "根据ID获取余额明细详细信息")
@ApiImplicitParam(name = "id", value = "明细ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayBalanceDetailsInfoEntity.class)
})
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
return R.ok(playBalanceDetailsInfoService.selectPlayBalanceDetailsInfoById(id));
@@ -44,10 +60,16 @@ public class PlayBalanceDetailsInfoController {
/**
* 修改余额明细
*/
@ApiOperation(value = "修改明细信息", notes = "修改余额明细信息")
@ApiImplicitParam(name = "id", value = "明细ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败,包含详细错误信息")
})
//@PreAuthorize("@customSs.hasPermission('balance:details:update')")
@Log(title = "余额明细", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody PlayBalanceDetailsInfoEntity playBalanceDetailsInfo) {
public R update(@PathVariable String id, @ApiParam(value = "明细信息", required = true) @RequestBody PlayBalanceDetailsInfoEntity playBalanceDetailsInfo) {
playBalanceDetailsInfo.setId(id);
boolean success = playBalanceDetailsInfoService.update(playBalanceDetailsInfo);
if (success) {
@@ -59,6 +81,11 @@ public class PlayBalanceDetailsInfoController {
/**
* 删除余额明细
*/
@ApiOperation(value = "删除明细信息", notes = "根据ID批量删除余额明细信息")
@ApiImplicitParam(name = "ids", value = "明细ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功")
})
//@PreAuthorize("@customSs.hasPermission('balance:details:delete')")
@Log(title = "余额明细", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")

View File

@@ -16,6 +16,12 @@ 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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -29,6 +35,7 @@ import java.time.LocalDateTime;
* @author admin
* @since 2024-06-14
*/
@Api(tags = "管理员管理", description = "管理员信息管理相关接口,包括查询、新增、修改和删除等操作")
@RestController
@RequestMapping("/personnel/admin")
public class PlayPersonnelAdminInfoController {
@@ -49,8 +56,12 @@ public class PlayPersonnelAdminInfoController {
/**
* 查询管理员管理信息列表
*/
@ApiOperation(value = "分页查询管理员列表", notes = "分页查询管理员信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayPersonnelAdminInfoReturnVo.class, responseContainer = "Page")
})
@PostMapping("/listByPage")
public R listByPage(@Validated @RequestBody PlayPersonnelAdminInfoQueryVo vo) {
public R listByPage(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayPersonnelAdminInfoQueryVo vo) {
IPage<PlayPersonnelAdminInfoReturnVo> list = playPersonnelAdminInfoService.selectByPage(vo);
return R.ok(list);
}
@@ -59,6 +70,11 @@ public class PlayPersonnelAdminInfoController {
/**
* 获取管理员管理详细信息
*/
@ApiOperation(value = "获取管理员详情", notes = "根据ID获取管理员详细信息")
@ApiImplicitParam(name = "id", value = "管理员ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayPersonnelAdminInfoEntity.class)
})
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
return R.ok(playPersonnelAdminInfoService.selectPlayPersonnelAdminInfoById(id));
@@ -67,9 +83,14 @@ public class PlayPersonnelAdminInfoController {
/**
* 新增管理员管理信息
*/
@ApiOperation(value = "新增管理员信息", notes = "创建新的管理员信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败,包含详细错误信息")
})
@Log(title = "管理员管理信息", businessType = BusinessType.INSERT)
@PostMapping("/createBaseInfo")
public R createBaseInfo(@Validated @RequestBody PlayPersonnelAdminInfoEditAddInfoVo vo) {
public R createBaseInfo(@ApiParam(value = "管理员信息", required = true) @Validated @RequestBody PlayPersonnelAdminInfoEditAddInfoVo vo) {
//校验对应用户是否存在
SysUserEntity sysUserEntity = sysUserService.selectUserById(vo.getSysUserId());
//校验当前用户是否已经是组长
@@ -93,9 +114,14 @@ public class PlayPersonnelAdminInfoController {
/**
* 修改管理员管理信息
*/
@ApiOperation(value = "修改管理员信息", notes = "修改管理员基本信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败,包含详细错误信息")
})
@Log(title = "管理员管理信息", businessType = BusinessType.UPDATE)
@PostMapping(value = "/updateBaseInfo")
public R updateBaseInfo(@Validated @RequestBody PlayPersonnelAdminInfoEditBaseInfoVo vo) {
public R updateBaseInfo(@ApiParam(value = "管理员信息", required = true) @Validated @RequestBody PlayPersonnelAdminInfoEditBaseInfoVo vo) {
//校验对应用户是否存在
SysUserEntity sysUserEntity = sysUserService.selectUserById(vo.getSysUserId());
@@ -117,6 +143,11 @@ public class PlayPersonnelAdminInfoController {
/**
* 删除管理员管理
*/
@ApiOperation(value = "删除管理员信息", notes = "根据ID批量删除管理员信息")
@ApiImplicitParam(name = "ids", value = "管理员ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功")
})
@PreAuthorize("@customSs.hasPermission('play:info:remove')")
@Log(title = "管理员管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")

View File

@@ -19,6 +19,12 @@ import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import com.starry.common.utils.ConvertUtil;
import com.starry.common.utils.IdUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -32,6 +38,7 @@ import java.util.List;
* @author admin
* @since 2024-05-31
*/
@Api(tags = "店员分组管理", description = "店员分组信息管理相关接口,包括查询、新增、修改和删除等操作")
@RestController
@RequestMapping("/personnel/group")
public class PlayPersonnelGroupInfoController {
@@ -57,8 +64,12 @@ public class PlayPersonnelGroupInfoController {
/**
* 查询店员分类信息列表
*/
@ApiOperation(value = "分页查询分组列表", notes = "分页查询店员分组信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayPersonnelGroupInfoReturnVo.class, responseContainer = "Page")
})
@PostMapping("/listByPage")
public R listByPage(@Validated @RequestBody PlayPersonnelGroupInfoQueryVo vo) {
public R listByPage(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayPersonnelGroupInfoQueryVo vo) {
IPage<PlayPersonnelGroupInfoReturnVo> list = playClerkGroupInfoService.selectByPage(vo);
for (PlayPersonnelGroupInfoReturnVo record : list.getRecords()) {
List<PlayClerkUserInfoEntity> clerkUserInfoEntities = playClerkUserInfoService.listAllByGroupId(record.getId());
@@ -78,9 +89,14 @@ public class PlayPersonnelGroupInfoController {
/**
* 新增店员分组信息
*/
@ApiOperation(value = "新增分组信息", notes = "创建新的店员分组信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败,包含详细错误信息")
})
@Log(title = "店员分组信息", businessType = BusinessType.INSERT)
@PostMapping("/createBaseInfo")
public R createBaseInfo(@Validated @RequestBody PlayPersonnelGroupInfoEditAddInfoVo vo) {
public R createBaseInfo(@ApiParam(value = "分组信息", required = true) @Validated @RequestBody PlayPersonnelGroupInfoEditAddInfoVo vo) {
//校验对应用户是否存在
SysUserEntity sysUserEntity = sysUserService.selectUserById(vo.getSysUserId());
//校验当前用户是否已经是组长
@@ -105,9 +121,14 @@ public class PlayPersonnelGroupInfoController {
/**
* 修改店员分组信息
*/
@ApiOperation(value = "修改分组信息", notes = "修改店员分组基本信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败,包含详细错误信息")
})
@Log(title = "店员分组信息", businessType = BusinessType.UPDATE)
@PostMapping(value = "/updateBaseInfo")
public R updateBaseInfo(@Validated @RequestBody PlayPersonnelGroupInfoEditBaseInfoVo vo) {
public R updateBaseInfo(@ApiParam(value = "分组信息", required = true) @Validated @RequestBody PlayPersonnelGroupInfoEditBaseInfoVo vo) {
SysUserEntity sysUserEntity = sysUserService.selectUserById(vo.getSysUserId());
//校验当前用户是否已经是组长
PlayPersonnelGroupInfoEntity groupInfoEntity = playClerkGroupInfoService.selectByUserId(vo.getSysUserId());
@@ -130,6 +151,12 @@ public class PlayPersonnelGroupInfoController {
/**
* 删除店员分组信息
*/
@ApiOperation(value = "删除分组信息", notes = "根据ID批量删除店员分组信息")
@ApiImplicitParam(name = "ids", value = "分组ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "删除失败,包含详细错误信息")
})
@Log(title = "店员分组信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R remove(@PathVariable String[] ids) {

View File

@@ -6,6 +6,11 @@ import com.starry.admin.modules.personnel.module.vo.PlayPersonnelUserInfoReturnV
import com.starry.admin.modules.system.module.entity.SysUserEntity;
import com.starry.admin.modules.system.service.SysUserService;
import com.starry.common.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -18,6 +23,7 @@ import java.util.List;
* @author admin
* @since 2024-06-14
*/
@Api(tags = "系统用户管理", description = "系统用户信息管理相关接口,包括查询等操作")
@RestController
@RequestMapping("/personnel/user")
public class PlayPersonnelUserInfoController {
@@ -29,8 +35,12 @@ public class PlayPersonnelUserInfoController {
/**
* 分页查询账户信息列表
*/
@ApiOperation(value = "分页查询用户列表", notes = "分页查询系统用户信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayPersonnelUserInfoReturnVo.class, responseContainer = "Page")
})
@PostMapping("/listByPage")
public R listByPage(@Validated @RequestBody PlayPersonnelUserInfoQueryVo vo) {
public R listByPage(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayPersonnelUserInfoQueryVo vo) {
IPage<PlayPersonnelUserInfoReturnVo> list = sysUserService.selectByPage(vo);
return R.ok(list);
}
@@ -39,6 +49,10 @@ public class PlayPersonnelUserInfoController {
/**
* 查询所有账户信息列表
*/
@ApiOperation(value = "查询所有用户", notes = "查询所有系统用户信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = SysUserEntity.class, responseContainer = "List")
})
@GetMapping("/listAll")
public R listAll() {
List<SysUserEntity> list = sysUserService.selectAll();

View File

@@ -16,6 +16,12 @@ 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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -28,6 +34,7 @@ import java.time.LocalDateTime;
* @author admin
* @since 2024-06-14
*/
@Api(tags = "客服管理", description = "客服信息管理相关接口,包括查询、新增、修改和删除等操作")
@RestController
@RequestMapping("/personnel/waiter")
public class PlayPersonnelWaiterInfoController {
@@ -48,8 +55,12 @@ public class PlayPersonnelWaiterInfoController {
/**
* 查询客服信息列表
*/
@ApiOperation(value = "分页查询客服列表", notes = "分页查询客服信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayPersonnelWaiterInfoReturnVo.class, responseContainer = "Page")
})
@PostMapping("/listByPage")
public R listByPage(@Validated @RequestBody PlayPersonnelWaiterInfoQueryVo vo) {
public R listByPage(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayPersonnelWaiterInfoQueryVo vo) {
IPage<PlayPersonnelWaiterInfoReturnVo> list = playClerkWaiterInfoService.selectByPage(vo);
return R.ok(list);
}
@@ -57,9 +68,14 @@ public class PlayPersonnelWaiterInfoController {
/**
* 新增客服信息列表
*/
@ApiOperation(value = "新增客服信息", notes = "创建新的客服信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败,包含详细错误信息")
})
@Log(title = "客服管理信息", businessType = BusinessType.INSERT)
@PostMapping("/createBaseInfo")
public R createBaseInfo(@Validated @RequestBody PlayPersonnelWaiterInfoEditAddInfoVo vo) {
public R createBaseInfo(@ApiParam(value = "客服信息", required = true) @Validated @RequestBody PlayPersonnelWaiterInfoEditAddInfoVo vo) {
//校验对应用户是否存在
SysUserEntity sysUserEntity = sysUserService.selectUserById(vo.getSysUserId());
//校验当前用户是否已经是组长
@@ -83,9 +99,14 @@ public class PlayPersonnelWaiterInfoController {
/**
* 修改客服信息列表
*/
@ApiOperation(value = "修改客服信息", notes = "修改客服基本信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败,包含详细错误信息")
})
@Log(title = "客服管理信息", businessType = BusinessType.UPDATE)
@PostMapping(value = "/updateBaseInfo")
public R updateBaseInfo(@Validated @RequestBody PlayPersonnelWaiterInfoEditBaseInfoVo vo) {
public R updateBaseInfo(@ApiParam(value = "客服信息", required = true) @Validated @RequestBody PlayPersonnelWaiterInfoEditBaseInfoVo vo) {
//校验对应用户是否存在
SysUserEntity sysUserEntity = sysUserService.selectUserById(vo.getSysUserId());
@@ -111,6 +132,12 @@ public class PlayPersonnelWaiterInfoController {
/**
* 删除客服信息
*/
@ApiOperation(value = "删除客服信息", notes = "根据ID批量删除客服信息")
@ApiImplicitParam(name = "ids", value = "客服ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "删除失败,包含详细错误信息")
})
@Log(title = "客服信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R remove(@PathVariable String[] ids) {

View File

@@ -1,5 +1,7 @@
package com.starry.admin.modules.personnel.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
@@ -12,12 +14,14 @@ import javax.validation.constraints.NotBlank;
* @since 2024/6/14 14:45
**/
@Data
@ApiModel(value = "新增分组参数", description = "新增店员分组信息的请求参数")
public class PlayPersonnelGroupInfoEditAddInfoVo {
/**
* 分组名称
*/
@NotBlank(message = "用户ID不能为空")
@ApiModelProperty(value = "用户ID", required = true, example = "1", notes = "系统用户ID")
private String sysUserId;
@@ -26,6 +30,7 @@ public class PlayPersonnelGroupInfoEditAddInfoVo {
*/
@NotBlank(message = "分组名称不能为空")
@Length(min = 1, max = 100, message = "字符长度在1-100之间")
@ApiModelProperty(value = "分组名称", required = true, example = "销售组", notes = "分组的名称1-100字符")
private String groupName;
/**
@@ -33,6 +38,7 @@ public class PlayPersonnelGroupInfoEditAddInfoVo {
*/
@NotBlank(message = "组长名称不能为空")
@Length(min = 1, max = 100, message = "字符长度在1-100之间")
@ApiModelProperty(value = "组长名称", required = true, example = "张三", notes = "组长的名称1-100字符")
private String leaderName;

View File

@@ -1,5 +1,7 @@
package com.starry.admin.modules.personnel.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
@@ -12,6 +14,7 @@ import javax.validation.constraints.NotBlank;
* @since 2024/6/14 14:45
**/
@Data
@ApiModel(value = "修改分组参数", description = "修改店员分组信息的请求参数")
public class PlayPersonnelGroupInfoEditBaseInfoVo {
/**
* UUID
@@ -19,6 +22,7 @@ public class PlayPersonnelGroupInfoEditBaseInfoVo {
* @since 2024/6/14 16:08
**/
@NotBlank(message = "ID不能为空")
@ApiModelProperty(value = "分组ID", required = true, example = "1", notes = "需要修改的分组ID")
private String id;
@@ -26,6 +30,7 @@ public class PlayPersonnelGroupInfoEditBaseInfoVo {
* 分组名称
*/
@NotBlank(message = "用户ID不能为空")
@ApiModelProperty(value = "用户ID", required = true, example = "1", notes = "系统用户ID")
private String sysUserId;
@@ -34,6 +39,7 @@ public class PlayPersonnelGroupInfoEditBaseInfoVo {
*/
@NotBlank(message = "分组名称不能为空")
@Length(min = 1, max = 100, message = "字符长度在1-100之间")
@ApiModelProperty(value = "分组名称", required = true, example = "销售组", notes = "分组的名称1-100字符")
private String groupName;
/**
@@ -41,6 +47,7 @@ public class PlayPersonnelGroupInfoEditBaseInfoVo {
*/
@NotBlank(message = "组长名称不能为空")
@Length(min = 1, max = 100, message = "字符长度在1-100之间")
@ApiModelProperty(value = "组长名称", required = true, example = "张三", notes = "组长的名称1-100字符")
private String leaderName;

View File

@@ -1,6 +1,8 @@
package com.starry.admin.modules.personnel.module.vo;
import com.starry.common.domain.BasePageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -12,11 +14,13 @@ import lombok.EqualsAndHashCode;
**/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "分组查询参数", description = "查询店员分组信息的条件参数")
public class PlayPersonnelGroupInfoQueryVo extends BasePageEntity {
/**
* 分组名称
*/
@ApiModelProperty(value = "组长名称", example = "张三", notes = "组长的名称,支持模糊查询")
private String leaderName;

View File

@@ -1,6 +1,8 @@
package com.starry.admin.modules.personnel.module.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
@@ -13,61 +15,72 @@ import java.time.LocalDateTime;
* @since 2024/6/14 14:45
**/
@Data
@ApiModel(value = "分组返回数据", description = "店员分组信息的返回数据")
public class PlayPersonnelGroupInfoReturnVo {
/**
* UUID
*/
@ApiModelProperty(value = "分组ID", example = "1")
private String id;
/**
* 租户ID
*/
@ApiModelProperty(value = "租户ID", example = "1")
private String tenantId;
/**
* 用户ID
**/
@ApiModelProperty(value = "用户ID", example = "1")
private String sysUserId;
/**
* 用户账号
**/
@ApiModelProperty(value = "用户账号", example = "admin")
private String sysUserCode;
/**
* 分组名称
*/
@ApiModelProperty(value = "分组名称", example = "销售组")
private String groupName;
/**
* 组长名称
**/
@ApiModelProperty(value = "组长名称", example = "张三")
private String leaderName;
/**
* 排序
*/
@ApiModelProperty(value = "排序", example = "1")
private Long sort;
/**
* 员工总数量
**/
@ApiModelProperty(value = "员工总数", example = "10")
private Integer totalEmployeesNumber;
/**
* 上架员工数量
**/
@ApiModelProperty(value = "上架员工数", example = "5")
private Integer listingEmployeesNumber;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "添加时间", example = "2024-01-01 12:00:00")
private LocalDateTime addTime;

View File

@@ -1,6 +1,8 @@
package com.starry.admin.modules.personnel.module.vo;
import com.starry.common.domain.BasePageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -12,31 +14,37 @@ import java.util.List;
**/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "用户查询参数", description = "查询系统用户信息的条件参数")
public class PlayPersonnelUserInfoQueryVo extends BasePageEntity {
/**
* 用户ID
*/
@ApiModelProperty(value = "系统用户ID", example = "1")
private String sysUserId;
/**
* 用户名称
*/
@ApiModelProperty(value = "用户账号", example = "admin", notes = "用户登录账号")
private String userCode;
/**
* 角色类型[0:用户;1:店员;2:组长]
*/
@ApiModelProperty(value = "角色类型", example = "0", notes = "角色类型[0:用户;1:店员;2:组长]")
private String ruleType;
/**
* 用户ID
*/
@ApiModelProperty(value = "用户ID", example = "1")
private String userId;
@ApiModelProperty(value = "添加时间范围", example = "['2024-01-01 00:00:00','2024-12-31 23:59:59']", notes = "用户添加时间范围,包含开始和结束时间")
private List<String> addTime;
}

View File

@@ -1,5 +1,7 @@
package com.starry.admin.modules.personnel.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@@ -7,28 +9,35 @@ import lombok.Data;
* @since 2024/6/15 下午9:42
**/
@Data
@ApiModel(value = "用户返回数据", description = "系统用户信息的返回数据")
public class PlayPersonnelUserInfoReturnVo {
/**
* 店员ID
*/
@ApiModelProperty(value = "店员ID", example = "1")
private String clerkId;
/**
* 店员昵称
*/
@ApiModelProperty(value = "店员昵称", example = "小明")
private String clerkNickname;
/**
* 店员头像
*/
@ApiModelProperty(value = "店员头像", example = "https://example.com/avatar.jpg")
private String clerkAvatar;
@ApiModelProperty(value = "用户ID", example = "1")
private String userId;
@ApiModelProperty(value = "用户账号", example = "admin")
private String userCode;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间", example = "2024-01-01 12:00:00")
private String addTime;
}

View File

@@ -1,5 +1,7 @@
package com.starry.admin.modules.personnel.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
@@ -12,12 +14,14 @@ import javax.validation.constraints.NotBlank;
* @since 2024/6/14 14:45
**/
@Data
@ApiModel(value = "新增客服参数", description = "新增客服信息的请求参数")
public class PlayPersonnelWaiterInfoEditAddInfoVo {
/**
* 分组名称
*/
@NotBlank(message = "用户ID不能为空")
@ApiModelProperty(value = "用户ID", required = true, example = "1", notes = "系统用户ID")
private String sysUserId;
@@ -26,6 +30,7 @@ public class PlayPersonnelWaiterInfoEditAddInfoVo {
*/
@NotBlank(message = "客服名称不能为空")
@Length(min = 1, max = 100, message = "字符长度在1-100之间")
@ApiModelProperty(value = "客服名称", required = true, example = "张三", notes = "客服的名称1-100字符")
private String waiterName;

View File

@@ -1,5 +1,7 @@
package com.starry.admin.modules.personnel.module.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
@@ -12,6 +14,7 @@ import javax.validation.constraints.NotBlank;
* @since 2024/6/14 14:45
**/
@Data
@ApiModel(value = "修改客服参数", description = "修改客服信息的请求参数")
public class PlayPersonnelWaiterInfoEditBaseInfoVo {
/**
* UUID
@@ -19,6 +22,7 @@ public class PlayPersonnelWaiterInfoEditBaseInfoVo {
* @since 2024/6/14 16:08
**/
@NotBlank(message = "ID不能为空")
@ApiModelProperty(value = "客服ID", required = true, example = "1", notes = "需要修改的客服ID")
private String id;
@@ -26,6 +30,7 @@ public class PlayPersonnelWaiterInfoEditBaseInfoVo {
* 分组名称
*/
@NotBlank(message = "用户ID不能为空")
@ApiModelProperty(value = "用户ID", required = true, example = "1", notes = "系统用户ID")
private String sysUserId;
/**
@@ -33,6 +38,7 @@ public class PlayPersonnelWaiterInfoEditBaseInfoVo {
*/
@NotBlank(message = "客服名称不能为空")
@Length(min = 1, max = 100, message = "字符长度在1-100之间")
@ApiModelProperty(value = "客服名称", required = true, example = "张三", notes = "客服的名称1-100字符")
private String waiterName;

View File

@@ -1,6 +1,8 @@
package com.starry.admin.modules.personnel.module.vo;
import com.starry.common.domain.BasePageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -12,11 +14,13 @@ import lombok.EqualsAndHashCode;
**/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "客服查询参数", description = "查询客服信息的条件参数")
public class PlayPersonnelWaiterInfoQueryVo extends BasePageEntity {
/**
* 分组名称
*/
@ApiModelProperty(value = "客服名称", example = "张三", notes = "客服的名称,支持模糊查询")
private String waiterName;

View File

@@ -1,6 +1,8 @@
package com.starry.admin.modules.personnel.module.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
@@ -13,38 +15,45 @@ import java.time.LocalDateTime;
* @since 2024/6/14 14:45
**/
@Data
@ApiModel(value = "客服返回数据", description = "客服信息的返回数据")
public class PlayPersonnelWaiterInfoReturnVo {
/**
* UUID
*/
@ApiModelProperty(value = "客服ID", example = "1")
private String id;
/**
* 租户ID
*/
@ApiModelProperty(value = "租户ID", example = "1")
private String tenantId;
/**
* 用户ID
**/
@ApiModelProperty(value = "用户ID", example = "1")
private String sysUserId;
/**
* 用户账号
**/
@ApiModelProperty(value = "用户账号", example = "admin")
private String sysUserCode;
/**
* 客户名称
*/
@ApiModelProperty(value = "客服名称", example = "张三")
private String waiterName;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "添加时间", example = "2024-01-01 12:00:00")
private LocalDateTime addTime;

View File

@@ -6,6 +6,12 @@ import com.starry.admin.modules.shop.service.IPlayClerkGiftInfoService;
import com.starry.common.annotation.Log;
import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -16,6 +22,7 @@ import javax.annotation.Resource;
* @author admin
* @since 2024-05-25
*/
@Api(tags = "店员礼物关联管理", description = "店员和礼物关系管理相关接口,包括查询、新增、修改和删除等操作")
@RestController
@RequestMapping("/play/clerkGift")
public class PlayClerkGiftInfoController {
@@ -25,8 +32,12 @@ public class PlayClerkGiftInfoController {
/**
* 查询店员和礼物关系列表
*/
@ApiOperation(value = "查询店员礼物关联列表", notes = "分页查询店员和礼物关系列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkGiftInfoEntity.class, responseContainer = "Page")
})
@GetMapping("/list")
public R list(PlayClerkGiftInfoEntity playClerkGiftInfo) {
public R list(@ApiParam(value = "查询条件") PlayClerkGiftInfoEntity playClerkGiftInfo) {
IPage<PlayClerkGiftInfoEntity> list = playClerkGiftInfoService.selectPlayClerkGiftInfoByPage(playClerkGiftInfo);
return R.ok(list);
}
@@ -34,6 +45,11 @@ public class PlayClerkGiftInfoController {
/**
* 获取店员和礼物关系详细信息
*/
@ApiOperation(value = "获取关联详情", notes = "根据ID获取店员和礼物关系详细信息")
@ApiImplicitParam(name = "id", value = "关联ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayClerkGiftInfoEntity.class)
})
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
return R.ok(playClerkGiftInfoService.selectPlayClerkGiftInfoById(id));
@@ -42,9 +58,14 @@ public class PlayClerkGiftInfoController {
/**
* 新增店员和礼物关系
*/
@ApiOperation(value = "新增关联信息", notes = "新增店员和礼物关系信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败,包含详细错误信息")
})
@Log(title = "店员和礼物关系", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@RequestBody PlayClerkGiftInfoEntity playClerkGiftInfo) {
public R create(@ApiParam(value = "关联信息", required = true) @RequestBody PlayClerkGiftInfoEntity playClerkGiftInfo) {
boolean success = playClerkGiftInfoService.create(playClerkGiftInfo);
if (success) {
return R.ok();
@@ -55,9 +76,15 @@ public class PlayClerkGiftInfoController {
/**
* 修改店员和礼物关系
*/
@ApiOperation(value = "修改关联信息", notes = "修改店员和礼物关系信息")
@ApiImplicitParam(name = "id", value = "关联ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败,包含详细错误信息")
})
@Log(title = "店员和礼物关系", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody PlayClerkGiftInfoEntity playClerkGiftInfo) {
public R update(@PathVariable String id, @ApiParam(value = "关联信息", required = true) @RequestBody PlayClerkGiftInfoEntity playClerkGiftInfo) {
playClerkGiftInfo.setId(id);
boolean success = playClerkGiftInfoService.update(playClerkGiftInfo);
if (success) {
@@ -69,6 +96,11 @@ public class PlayClerkGiftInfoController {
/**
* 删除店员和礼物关系
*/
@ApiOperation(value = "删除关联信息", notes = "根据ID批量删除店员和礼物关系信息")
@ApiImplicitParam(name = "ids", value = "关联ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功")
})
@Log(title = "店员和礼物关系", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R remove(@PathVariable String[] ids) {

View File

@@ -16,6 +16,12 @@ 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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -31,6 +37,7 @@ import java.util.Map;
* @author admin
* @since 2024-03-31
*/
@Api(tags = "服务项目管理", description = "服务项目信息管理相关接口,包括查询、新增、修改和删除等操作")
@RestController
@RequestMapping("/shop/commodity")
public class PlayCommodityInfoController {
@@ -43,6 +50,10 @@ public class PlayCommodityInfoController {
@Resource
private IPlayCommodityAndLevelInfoService playCommodityAndLevelInfoService;
@ApiOperation(value = "获取表头信息", notes = "获取店员等级表头信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功")
})
@GetMapping("/getTableName")
public R getTableName() {
List<Map<String, String>> result = new ArrayList<>();
@@ -60,6 +71,10 @@ public class PlayCommodityInfoController {
/**
* 查询服务项目类型
*/
@ApiOperation(value = "查询所有服务项目", notes = "查询所有服务项目类型及其子项目")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功")
})
@GetMapping("/listAll")
public R queryCommodityType() {
List<Map<String, Object>> result = new ArrayList<>();
@@ -85,8 +100,13 @@ public class PlayCommodityInfoController {
/**
* 修改服务项目类型
*/
@ApiOperation(value = "更新服务项目价格", notes = "根据不同店员等级修改服务项目价格")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "更新失败,包含详细错误信息")
})
@PostMapping("/updateInfo")
public R updateInfo(@RequestBody String s) {
public R updateInfo(@ApiParam(value = "价格信息JSON", required = true) @RequestBody String s) {
JSONObject jsonObject = JSON.parseObject(s);
if (!jsonObject.containsKey("id")) {
throw new CustomException("请求参数错误,id不能为空");
@@ -118,6 +138,11 @@ public class PlayCommodityInfoController {
/**
* 获取服务项目详细信息
*/
@ApiOperation(value = "获取服务项目详情", notes = "根据ID获取服务项目详细信息")
@ApiImplicitParam(name = "id", value = "服务项目ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayCommodityInfoEntity.class)
})
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
return R.ok(playCommodityInfoService.selectPlayCommodityInfoById(id));
@@ -126,9 +151,14 @@ public class PlayCommodityInfoController {
/**
* 新增服务项目
*/
@ApiOperation(value = "新增服务项目", notes = "新增服务项目信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败,包含详细错误信息")
})
@Log(title = "服务项目", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@RequestBody PlayCommodityInfoAddVo vo) {
public R create(@ApiParam(value = "服务项目信息", required = true) @RequestBody PlayCommodityInfoAddVo vo) {
PlayCommodityInfoEntity entity = ConvertUtil.entityToVo(vo, PlayCommodityInfoEntity.class);
boolean success = playCommodityInfoService.create(entity);
if (success) {
@@ -140,9 +170,15 @@ public class PlayCommodityInfoController {
/**
* 修改服务项目
*/
@ApiOperation(value = "修改服务项目", notes = "修改服务项目信息")
@ApiImplicitParam(name = "id", value = "服务项目ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败,包含详细错误信息")
})
@Log(title = "服务项目", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody PlayCommodityInfoEntity playCommodityInfo) {
public R update(@PathVariable String id, @ApiParam(value = "服务项目信息", required = true) @RequestBody PlayCommodityInfoEntity playCommodityInfo) {
playCommodityInfo.setId(id);
boolean success = playCommodityInfoService.update(playCommodityInfo);
if (success) {
@@ -154,6 +190,11 @@ public class PlayCommodityInfoController {
/**
* 删除服务项目
*/
@ApiOperation(value = "删除服务项目", notes = "根据ID批量删除服务项目信息")
@ApiImplicitParam(name = "ids", value = "服务项目ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功")
})
@Log(title = "服务项目", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R remove(@PathVariable String[] ids) {

View File

@@ -9,6 +9,12 @@ import com.starry.admin.modules.shop.service.IPlayCouponDetailsService;
import com.starry.common.annotation.Log;
import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -20,6 +26,7 @@ import javax.annotation.Resource;
* @author admin
* @since 2024-07-04
*/
@Api(tags = "优惠券记录管理", description = "优惠券使用记录管理相关接口,包括查询、新增、修改和删除等操作")
@RestController
@RequestMapping("/shop/couponRecord")
public class PlayCouponDetailsController {
@@ -30,9 +37,13 @@ public class PlayCouponDetailsController {
/**
* 查询优惠券详情列表
*/
@ApiOperation(value = "分页查询优惠券记录", notes = "分页查询优惠券使用记录列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayCouponDetailsReturnVo.class, responseContainer = "Page")
})
// @PreAuthorize("@customSs.hasPermission('shop:couponDetails:list')")
@PostMapping("/listByPage")
public R listByPage(@Validated @RequestBody PlayCouponDetailsQueryVo vo) {
public R listByPage(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayCouponDetailsQueryVo vo) {
IPage<PlayCouponDetailsReturnVo> list = playCouponDetailsService.selectByPage(vo);
return R.ok(list);
}
@@ -40,6 +51,11 @@ public class PlayCouponDetailsController {
/**
* 获取优惠券详情详细信息
*/
@ApiOperation(value = "获取优惠券记录详情", notes = "根据ID获取优惠券使用记录详细信息")
@ApiImplicitParam(name = "id", value = "记录ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayCouponDetailsEntity.class)
})
// @PreAuthorize("@customSs.hasPermission('shop:couponDetails:query')")
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
@@ -49,10 +65,15 @@ public class PlayCouponDetailsController {
/**
* 新增优惠券详情
*/
@ApiOperation(value = "新增优惠券记录", notes = "新增优惠券使用记录")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败,包含详细错误信息")
})
// @PreAuthorize("@customSs.hasPermission('shop:couponDetails:create')")
@Log(title = "优惠券详情", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@RequestBody PlayCouponDetailsEntity playCouponDetails) {
public R create(@ApiParam(value = "优惠券记录信息", required = true) @RequestBody PlayCouponDetailsEntity playCouponDetails) {
boolean success = playCouponDetailsService.create(playCouponDetails);
if (success) {
return R.ok();
@@ -66,8 +87,13 @@ public class PlayCouponDetailsController {
* @param vo 优惠券实体信息
* @since 2024/7/4 17:15
**/
@ApiOperation(value = "更新优惠券使用状态", notes = "批量更新优惠券使用状态")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "更新失败,包含详细错误信息")
})
@PostMapping("/updateUseState")
public R update(PlayCouponDetailsUpdateUseStateVo vo) {
public R update(@ApiParam(value = "更新状态信息", required = true) PlayCouponDetailsUpdateUseStateVo vo) {
for (String couponId : vo.getCouponIds()) {
playCouponDetailsService.selectPlayCouponDetailsById(couponId);
PlayCouponDetailsEntity entity = new PlayCouponDetailsEntity();
@@ -81,10 +107,16 @@ public class PlayCouponDetailsController {
/**
* 修改优惠券详情
*/
@ApiOperation(value = "修改优惠券记录", notes = "修改优惠券使用记录信息")
@ApiImplicitParam(name = "id", value = "记录ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败,包含详细错误信息")
})
// @PreAuthorize("@customSs.hasPermission('shop:couponDetails:edit')")
@Log(title = "优惠券详情", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody PlayCouponDetailsEntity playCouponDetails) {
public R update(@PathVariable String id, @ApiParam(value = "优惠券记录信息", required = true) @RequestBody PlayCouponDetailsEntity playCouponDetails) {
playCouponDetails.setId(id);
boolean success = playCouponDetailsService.update(playCouponDetails);
if (success) {
@@ -96,6 +128,11 @@ public class PlayCouponDetailsController {
/**
* 删除优惠券详情
*/
@ApiOperation(value = "删除优惠券记录", notes = "批量删除优惠券使用记录(逻辑删除)")
@ApiImplicitParam(name = "ids", value = "记录ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功")
})
// @PreAuthorize("@customSs.hasPermission('shop:couponDetails:remove')")
@Log(title = "优惠券详情", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")

View File

@@ -12,6 +12,12 @@ 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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -26,6 +32,7 @@ import java.time.format.DateTimeFormatter;
* @author admin
* @since 2024-07-04
*/
@Api(tags = "优惠券管理", description = "优惠券信息管理相关接口,包括查询、新增、修改、发放和删除等操作")
@RestController
@RequestMapping("/shop/coupon")
public class PlayCouponInfoController {
@@ -41,9 +48,13 @@ public class PlayCouponInfoController {
/**
* 查询优惠券信息列表
*/
@ApiOperation(value = "分页查询优惠券列表", notes = "分页查询优惠券信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayCouponInfoReturnVo.class, responseContainer = "Page")
})
// @PreAuthorize("@customSs.hasPermission('shop:coupon:list')")
@PostMapping("/listByPage")
public R list(PlayCouponInfoQueryVo vo) {
public R list(@ApiParam(value = "查询条件") PlayCouponInfoQueryVo vo) {
IPage<PlayCouponInfoReturnVo> list = playCouponInfoService.selectByPage(vo);
return R.ok(list);
}
@@ -53,8 +64,13 @@ public class PlayCouponInfoController {
*
* @param vo 优惠券上下架对象
*/
@ApiOperation(value = "更新优惠券上下架状态", notes = "修改优惠券上下架状态")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "更新失败,包含详细错误信息")
})
@PostMapping("/updateOnLineState")
public R updateOnLineState(@Validated @RequestBody PlayCouponInfoOnLineStateUpdateVo vo) {
public R updateOnLineState(@ApiParam(value = "状态更新信息", required = true) @Validated @RequestBody PlayCouponInfoOnLineStateUpdateVo vo) {
playCouponInfoService.selectPlayCouponInfoById(vo.getId());
PlayCouponInfoEntity entity = new PlayCouponInfoEntity();
entity.setId(vo.getId());
@@ -69,8 +85,13 @@ public class PlayCouponInfoController {
*
* @param vo 优惠券发放对象
*/
@ApiOperation(value = "发放优惠券", notes = "向指定用户发放优惠券")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "发放失败,包含详细错误信息")
})
@PostMapping("/sendCoupon")
public R sendCoupon(@Validated @RequestBody PlayCouponInfoSendVo vo) {
public R sendCoupon(@ApiParam(value = "优惠券发放信息", required = true) @Validated @RequestBody PlayCouponInfoSendVo vo) {
PlayCustomUserInfoEntity customUserInfo = playCustomUserInfoService.selectById(vo.getCustomId());
playCouponDetailsService.create(customUserInfo.getId(), customUserInfo.getNickname(), customUserInfo.getLevelId(), vo.getId(), "2", "1");
return R.ok();
@@ -80,6 +101,11 @@ public class PlayCouponInfoController {
/**
* 获取优惠券信息详细信息
*/
@ApiOperation(value = "获取优惠券详情", notes = "根据ID获取优惠券详细信息")
@ApiImplicitParam(name = "id", value = "优惠券ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayCouponInfoEntity.class)
})
// @PreAuthorize("@customSs.hasPermission('shop:coupon:query')")
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
@@ -89,10 +115,15 @@ public class PlayCouponInfoController {
/**
* 新增优惠券信息
*/
@ApiOperation(value = "新增优惠券", notes = "新增优惠券信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败,包含详细错误信息")
})
// @PreAuthorize("@customSs.hasPermission('shop:coupon:create')")
@Log(title = "优惠券信息", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@Validated @RequestBody PlayCouponInfoAddVo vo) {
public R create(@ApiParam(value = "优惠券信息", required = true) @Validated @RequestBody PlayCouponInfoAddVo vo) {
PlayCouponInfoEntity entity = ConvertUtil.entityToVo(vo, PlayCouponInfoEntity.class);
if ("1".equals(vo.getValidityPeriodType())) {
if (vo.getProductiveTime() == null || vo.getProductiveTime().size() != 2) {
@@ -132,10 +163,16 @@ public class PlayCouponInfoController {
/**
* 修改优惠券信息
*/
@ApiOperation(value = "修改优惠券", notes = "修改优惠券信息")
@ApiImplicitParam(name = "id", value = "优惠券ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败,包含详细错误信息")
})
// @PreAuthorize("@customSs.hasPermission('shop:coupon:edit')")
@Log(title = "优惠券信息", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody PlayCouponInfoEntity playCouponInfo) {
public R update(@PathVariable String id, @ApiParam(value = "优惠券信息", required = true) @RequestBody PlayCouponInfoEntity playCouponInfo) {
playCouponInfo.setId(id);
boolean success = playCouponInfoService.update(playCouponInfo);
if (success) {
@@ -147,6 +184,11 @@ public class PlayCouponInfoController {
/**
* 删除优惠券信息
*/
@ApiOperation(value = "删除优惠券", notes = "根据ID批量删除优惠券信息")
@ApiImplicitParam(name = "ids", value = "优惠券ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功")
})
// @PreAuthorize("@customSs.hasPermission('shop:coupon:remove')")
@Log(title = "优惠券信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")

View File

@@ -6,6 +6,13 @@ import com.starry.admin.modules.shop.service.IPlayGiftInfoService;
import com.starry.common.annotation.Log;
import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -16,6 +23,7 @@ import javax.annotation.Resource;
* @author admin
* @since 2024-04-25
*/
@Api(tags = "礼物管理", description = "礼物信息管理相关接口,包括查询、新增、修改和删除等操作")
@RestController
@RequestMapping("/play/giff")
public class PlayGiftInfoController {
@@ -25,8 +33,12 @@ public class PlayGiftInfoController {
/**
* 查询礼物列表
*/
@ApiOperation(value = "查询礼物列表", notes = "分页查询礼物信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayGiftInfoEntity.class, responseContainer = "Page")
})
@GetMapping("/list")
public R list(PlayGiftInfoEntity playGiftInfo) {
public R list(@ApiParam(value = "查询条件") PlayGiftInfoEntity playGiftInfo) {
IPage<PlayGiftInfoEntity> list = playGiftInfoService.selectPlayGiftInfoByPage(playGiftInfo);
return R.ok(list);
}
@@ -34,6 +46,11 @@ public class PlayGiftInfoController {
/**
* 获取礼物详细信息
*/
@ApiOperation(value = "获取礼物详情", notes = "根据ID获取礼物详细信息")
@ApiImplicitParam(name = "id", value = "礼物ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayGiftInfoEntity.class)
})
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
return R.ok(playGiftInfoService.selectPlayGiftInfoById(id));
@@ -42,9 +59,14 @@ public class PlayGiftInfoController {
/**
* 新增礼物
*/
@ApiOperation(value = "新增礼物", notes = "新增礼物信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败,包含详细错误信息")
})
@Log(title = "礼物", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@RequestBody PlayGiftInfoEntity playGiftInfo) {
public R create(@ApiParam(value = "礼物信息", required = true) @RequestBody PlayGiftInfoEntity playGiftInfo) {
boolean success = playGiftInfoService.create(playGiftInfo);
if (success) {
return R.ok();
@@ -55,9 +77,15 @@ public class PlayGiftInfoController {
/**
* 修改礼物
*/
@ApiOperation(value = "修改礼物", notes = "修改礼物信息")
@ApiImplicitParam(name = "id", value = "礼物ID", required = true, paramType = "path", dataType = "String", example = "1")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败,包含详细错误信息")
})
@Log(title = "礼物", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody PlayGiftInfoEntity playGiftInfo) {
public R update(@PathVariable String id, @ApiParam(value = "礼物信息", required = true) @RequestBody PlayGiftInfoEntity playGiftInfo) {
playGiftInfo.setId(id);
boolean success = playGiftInfoService.update(playGiftInfo);
if (success) {
@@ -69,6 +97,11 @@ public class PlayGiftInfoController {
/**
* 删除礼物
*/
@ApiOperation(value = "删除礼物", notes = "根据ID批量删除礼物信息")
@ApiImplicitParam(name = "ids", value = "礼物ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功")
})
@Log(title = "礼物", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R remove(@PathVariable String[] ids) {

View File

@@ -11,6 +11,12 @@ 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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -23,6 +29,7 @@ import java.util.Date;
* @author admin
* @since 2024-06-05
*/
@Api(tags = "店铺文章管理", description = "店铺文章信息管理相关接口,包括查询、新增、修改和删除等操作")
@RestController
@RequestMapping("/shop/articleInfo")
public class PlayShopArticleInfoController {
@@ -33,9 +40,13 @@ public class PlayShopArticleInfoController {
/**
* 查询店铺文章信息列表
*/
@ApiOperation(value = "分页查询文章列表", notes = "分页查询店铺文章信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayShopArticleInfoEntity.class, responseContainer = "Page")
})
//@PreAuthorize("@customSs.hasPermission('shop:articleInfo:list')")
@PostMapping("/listByPage")
public R listByPage(@Validated @RequestBody PlayShopArticleInfoQueryVo vo) {
public R listByPage(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayShopArticleInfoQueryVo vo) {
IPage<PlayShopArticleInfoEntity> list = playShopArticleInfoService.selectByPage(vo);
return R.ok(list);
}
@@ -44,9 +55,14 @@ public class PlayShopArticleInfoController {
/**
* 新增店铺文章信息
*/
@ApiOperation(value = "新增或修改文章", notes = "新增或修改店铺文章信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败,包含详细错误信息")
})
//@PreAuthorize("@customSs.hasPermission('shop:articleInfo:add')")
@PostMapping("/create")
public R create(@Validated @RequestBody PlayShopArticleInfoAddVo vo) {
public R create(@ApiParam(value = "文章信息", required = true) @Validated @RequestBody PlayShopArticleInfoAddVo vo) {
PlayShopArticleInfoEntity entity = ConvertUtil.entityToVo(vo, PlayShopArticleInfoEntity.class);
PlayShopArticleInfoEntity entity1 = playShopArticleInfoService.selectByType(entity.getArticleType());
if (entity.getId() == null) {
@@ -69,9 +85,14 @@ public class PlayShopArticleInfoController {
/**
* 修改店铺文章信息
*/
@ApiOperation(value = "更新文章状态", notes = "修改店铺文章状态")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败,包含详细错误信息")
})
//@PreAuthorize("@customSs.hasPermission('shop:articleInfo:update')")
@PostMapping("/handleUpdateState")
public R listByPage(@Validated @RequestBody PlayShopArticleInfoUpdateVo vo) {
public R listByPage(@ApiParam(value = "更新信息", required = true) @Validated @RequestBody PlayShopArticleInfoUpdateVo vo) {
PlayShopArticleInfoEntity entity = ConvertUtil.entityToVo(vo, PlayShopArticleInfoEntity.class);
playShopArticleInfoService.update(entity);
return R.ok();
@@ -80,6 +101,11 @@ public class PlayShopArticleInfoController {
/**
* 删除店铺文章信息
*/
@ApiOperation(value = "删除文章", notes = "根据ID批量删除店铺文章信息")
@ApiImplicitParam(name = "ids", value = "文章ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功")
})
//@PreAuthorize("@customSs.hasPermission('shop:articleInfo:delete')")
@Log(title = "店铺文章信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")

View File

@@ -12,6 +12,12 @@ 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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -25,6 +31,7 @@ import java.io.IOException;
* @author admin
* @since 2024-06-05
*/
@Api(tags = "店铺轮播图管理", description = "店铺首页轮播图信息管理相关接口,包括查询、新增、修改和删除等操作")
@RestController
@RequestMapping("/shop/carousel")
public class PlayShopCarouselInfoController {
@@ -37,16 +44,25 @@ public class PlayShopCarouselInfoController {
/**
* 查询店铺首页轮播列表
*/
@ApiOperation(value = "分页查询轮播图列表", notes = "分页查询店铺首页轮播图信息列表")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功", response = PlayShopCarouselInfoEntity.class, responseContainer = "Page")
})
//@PreAuthorize("@customSs.hasPermission('shop:carousel:list')")
@PostMapping("/listByPage")
public R listByPage(@Validated @RequestBody PlayShopCarouselInfoQueryVo vo) {
public R listByPage(@ApiParam(value = "查询条件", required = true) @Validated @RequestBody PlayShopCarouselInfoQueryVo vo) {
IPage<PlayShopCarouselInfoEntity> list = playCarouselInfoService.selectByPage(vo);
return R.ok(list);
}
@ApiOperation(value = "上传轮播图文件", notes = "上传店铺首页轮播图文件")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功,返回文件地址"),
@ApiResponse(code = 500, message = "上传失败,包含详细错误信息")
})
//@PreAuthorize("@customSs.hasPermission('shop:carousel:add')")
@PostMapping("/uploadFile")
public R uploadFile(@RequestParam("file") MultipartFile file) throws IOException {
public R uploadFile(@ApiParam(value = "轮播图文件", required = true) @RequestParam("file") MultipartFile file) throws IOException {
String fileAddress = ossFileService.upload(file.getInputStream(), SecurityUtils.getTenantId(), file.getOriginalFilename());
return R.ok(fileAddress);
}
@@ -55,9 +71,14 @@ public class PlayShopCarouselInfoController {
/**
* 新增页轮播列表
*/
@ApiOperation(value = "新增轮播图", notes = "新增店铺首页轮播图信息")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "添加失败,包含详细错误信息")
})
//@PreAuthorize("@customSs.hasPermission('shop:carousel:add')")
@PostMapping("/create")
public R create(@Validated @RequestBody PlayShopCarouselInfoAddVo vo) {
public R create(@ApiParam(value = "轮播图信息", required = true) @Validated @RequestBody PlayShopCarouselInfoAddVo vo) {
PlayShopCarouselInfoEntity entity = ConvertUtil.entityToVo(vo, PlayShopCarouselInfoEntity.class);
playCarouselInfoService.create(entity);
return R.ok();
@@ -67,9 +88,14 @@ public class PlayShopCarouselInfoController {
/**
* 修改页轮播状态
*/
@ApiOperation(value = "更新轮播图状态", notes = "修改店铺首页轮播图状态")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功"),
@ApiResponse(code = 500, message = "修改失败,包含详细错误信息")
})
//@PreAuthorize("@customSs.hasPermission('shop:carousel:update')")
@PostMapping("/handleUpdateState")
public R listByPage(@Validated @RequestBody PlayShopCarouselInfoUpdateStateVo vo) {
public R listByPage(@ApiParam(value = "更新信息", required = true) @Validated @RequestBody PlayShopCarouselInfoUpdateStateVo vo) {
PlayShopCarouselInfoEntity entity = ConvertUtil.entityToVo(vo, PlayShopCarouselInfoEntity.class);
playCarouselInfoService.update(entity);
return R.ok();
@@ -78,6 +104,11 @@ public class PlayShopCarouselInfoController {
/**
* 删除店铺首页轮播
*/
@ApiOperation(value = "删除轮播图", notes = "根据ID批量删除店铺首页轮播图信息")
@ApiImplicitParam(name = "ids", value = "轮播图ID数组", required = true, paramType = "path", dataType = "String[]", example = "1,2,3")
@ApiResponses({
@ApiResponse(code = 200, message = "操作成功")
})
//@PreAuthorize("@customSs.hasPermission('shop:carousel:delete')")
@Log(title = "店铺首页轮播", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")

Some files were not shown because too many files have changed in this diff Show More