parent
851bbfc37d
commit
df1c83aed2
@ -0,0 +1,134 @@
|
||||
package com.zh.project0512.controller.manage;
|
||||
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.zh.project0512.annotation.AdminCheckAuthorityAnnotation;
|
||||
import com.zh.project0512.annotation.AdminTokenValid;
|
||||
import com.zh.project0512.model.CommonWords;
|
||||
import com.zh.project0512.service.ICommonWordsService;
|
||||
import com.zh.project0512.utils.MybatisPlusUtil;
|
||||
import com.zh.project0512.utils.result.HttpStatusEnum;
|
||||
import com.zh.project0512.utils.result.Result;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.Data;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author zh
|
||||
* @since 2023-02-16
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/commonWords")
|
||||
@Tag(name = "话术词条")
|
||||
public class CommonWordsController {
|
||||
@Autowired
|
||||
private ICommonWordsService commonWordsService;
|
||||
|
||||
@Data
|
||||
static class AddWordParam {
|
||||
@NotNull(message = "title不能为空")
|
||||
@Schema(title = "词条")
|
||||
private String title;
|
||||
}
|
||||
|
||||
@Operation(summary = "创建词条")
|
||||
@PostMapping("/add")
|
||||
@AdminTokenValid
|
||||
@AdminCheckAuthorityAnnotation(jurisdictionId = "120")
|
||||
public Result add(@Validated @RequestBody AddWordParam param) {
|
||||
commonWordsService.addWords(new CommonWords().setTitle(param.getTitle()).setCreatAt(LocalDateTime.now()));
|
||||
return Result.success("添加完成");
|
||||
}
|
||||
|
||||
@Data
|
||||
static class DelWordsParam {
|
||||
@NotNull(message = "id不能为空")
|
||||
@Min(value = 1, message = "id最小值为1")
|
||||
@Schema(title = "词条id")
|
||||
private Integer id;
|
||||
}
|
||||
|
||||
@Operation(summary = "删除词条(软删除)")
|
||||
@PostMapping("/del")
|
||||
@AdminTokenValid
|
||||
@AdminCheckAuthorityAnnotation(jurisdictionId = "121")
|
||||
public Result del(@Validated @RequestBody DelWordsParam param) {
|
||||
return MybatisPlusUtil.sqlResult(commonWordsService.update(new UpdateWrapper<CommonWords>().eq("id", param.getId()).set("sortWeight",0).set("isDeleted", 1)), "删除");
|
||||
}
|
||||
|
||||
@Data
|
||||
static class UpdWordsParam {
|
||||
@NotNull(message = "id不能为空")
|
||||
@Min(value = 1, message = "id最小值为1")
|
||||
@Schema(title = "词条id")
|
||||
private Integer id;
|
||||
@NotNull(message = "词条不能为空")
|
||||
@Schema(title = "词条")
|
||||
private String title;
|
||||
}
|
||||
|
||||
@Operation(summary = "更新标签名称")
|
||||
@PostMapping("/upd")
|
||||
@AdminTokenValid
|
||||
@AdminCheckAuthorityAnnotation(jurisdictionId = "131")
|
||||
public Result upd(@Validated @RequestBody UpdWordsParam param) {
|
||||
return MybatisPlusUtil.sqlResult(commonWordsService.updateById(new CommonWords().setId(param.getId()).setTitle(param.getTitle()).setUpdateAt(LocalDateTime.now())), "修改");
|
||||
}
|
||||
|
||||
@Operation(summary = "词条列表")
|
||||
@PostMapping("/list")
|
||||
@AdminTokenValid
|
||||
public Result list(@RequestBody(required = false) JSONObject obj) {
|
||||
QueryWrapper<CommonWords> qw = new QueryWrapper<>();
|
||||
qw.eq("isDeleted",0).orderByAsc("sortWeight").orderByDesc("updateAt", "creatAt");
|
||||
return Result.success(commonWordsService.pageMaps(MybatisPlusUtil.SetPage(obj), qw));
|
||||
}
|
||||
|
||||
@Data
|
||||
static class UpdWSParam {
|
||||
@NotNull(message = "id不能为空")
|
||||
@Min(value = 1, message = "id最小值为1")
|
||||
@Schema(title = "词条id")
|
||||
private Integer id;
|
||||
@NotNull(message = "排序权重不能为空")
|
||||
@Min(value = 1, message = "排序权重最小值为1")
|
||||
@Schema(title = "排序权重:数字越小排序靠前")
|
||||
private Integer sortWeight;
|
||||
}
|
||||
|
||||
@Operation(summary = "修改词条排序")
|
||||
@PostMapping("/updSort")
|
||||
@AdminTokenValid
|
||||
@AdminCheckAuthorityAnnotation(jurisdictionId = "132")
|
||||
public Result updSort(@Validated @RequestBody UpdWSParam param) {
|
||||
CommonWords words = commonWordsService.getById(param.getId());
|
||||
if(words.getIsDeleted() == 1){
|
||||
return Result.fail(HttpStatusEnum.CUSTOM_EXCEPTION,"该标签已被删除");
|
||||
}
|
||||
int origin = words.getSortWeight();
|
||||
int current = param.getSortWeight();
|
||||
if (origin == current) {
|
||||
return Result.fail(HttpStatusEnum.CUSTOM_EXCEPTION, "权重无变化");
|
||||
}
|
||||
commonWordsService.updSort(origin, current, origin > current);
|
||||
return Result.success("修改完成");
|
||||
}
|
||||
}
|
Loading…
Reference in new issue