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