dev:问题反馈接口
parent
b6a19bb02c
commit
4ceb5bbc8c
|
|
@ -3,8 +3,12 @@ package com.zcloud.basic.info.app;
|
||||||
|
|
||||||
import com.alibaba.cola.dto.Response;
|
import com.alibaba.cola.dto.Response;
|
||||||
import com.alibaba.cola.dto.SingleResponse;
|
import com.alibaba.cola.dto.SingleResponse;
|
||||||
|
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||||
|
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||||
|
import com.zcloud.basic.info.api.ProblemFeedbackServiceI;
|
||||||
import com.zcloud.basic.info.api.UserServiceI;
|
import com.zcloud.basic.info.api.UserServiceI;
|
||||||
import com.zcloud.basic.info.dto.*;
|
import com.zcloud.basic.info.dto.*;
|
||||||
|
import com.zcloud.basic.info.dto.clientobject.ProblemFeedbackCO;
|
||||||
import com.zcloud.basic.info.dto.clientobject.UserCO;
|
import com.zcloud.basic.info.dto.clientobject.UserCO;
|
||||||
import com.zcloud.gbscommon.translateaop.TranslateField;
|
import com.zcloud.gbscommon.translateaop.TranslateField;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
|
|
@ -25,6 +29,7 @@ import org.springframework.web.bind.annotation.*;
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class AppUserController {
|
public class AppUserController {
|
||||||
private final UserServiceI userService;
|
private final UserServiceI userService;
|
||||||
|
private final ProblemFeedbackServiceI problemFeedbackService;
|
||||||
|
|
||||||
// @ApiOperation("验证手机号是否已注册")
|
// @ApiOperation("验证手机号是否已注册")
|
||||||
// @PostMapping("/verifyPhone")
|
// @PostMapping("/verifyPhone")
|
||||||
|
|
@ -70,6 +75,12 @@ public class AppUserController {
|
||||||
return SingleResponse.buildSuccess();
|
return SingleResponse.buildSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("问题反馈")
|
||||||
|
@PostMapping("/problemFeedback")
|
||||||
|
public SingleResponse<ProblemFeedbackCO> problemFeedback(@Validated @RequestBody ProblemFeedbackAddCmd cmd) {
|
||||||
|
return problemFeedbackService.add(cmd);
|
||||||
|
}
|
||||||
|
|
||||||
@ApiOperation("用户离职申请")
|
@ApiOperation("用户离职申请")
|
||||||
@PostMapping("/appUserResignation")
|
@PostMapping("/appUserResignation")
|
||||||
public Response appUserResignation(@Validated @RequestBody AppUserResignationCmd appUserResignationCmd){
|
public Response appUserResignation(@Validated @RequestBody AppUserResignationCmd appUserResignationCmd){
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,85 @@
|
||||||
|
package com.zcloud.basic.info.web;
|
||||||
|
|
||||||
|
|
||||||
|
import com.zcloud.basic.info.api.ProblemFeedbackServiceI;
|
||||||
|
import com.zcloud.basic.info.dto.ProblemFeedbackAddCmd;
|
||||||
|
import com.zcloud.basic.info.dto.ProblemFeedbackPageQry;
|
||||||
|
import com.zcloud.basic.info.dto.ProblemFeedbackListQry;
|
||||||
|
import com.zcloud.basic.info.dto.ProblemFeedbackUpdateCmd;
|
||||||
|
import com.zcloud.basic.info.dto.ProblemFeedbackRemoveCmd;
|
||||||
|
import com.zcloud.basic.info.dto.clientobject.ProblemFeedbackCO;
|
||||||
|
import com.alibaba.cola.dto.MultiResponse;
|
||||||
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
|
import com.alibaba.cola.dto.Response;
|
||||||
|
import com.alibaba.cola.dto.SingleResponse;
|
||||||
|
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||||
|
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-adapter
|
||||||
|
*
|
||||||
|
* @Author SondonYong
|
||||||
|
* @Date 2025-12-06 11:26:34
|
||||||
|
*/
|
||||||
|
@Api(tags = "问题反馈表")
|
||||||
|
@RequestMapping("/${application.gateway}/problemFeedback")
|
||||||
|
@RestController
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ProblemFeedbackController {
|
||||||
|
private final ProblemFeedbackServiceI problemFeedbackService;
|
||||||
|
|
||||||
|
@ApiOperation("新增")
|
||||||
|
@PostMapping("/save")
|
||||||
|
public SingleResponse<ProblemFeedbackCO> add(@Validated @RequestBody ProblemFeedbackAddCmd cmd) {
|
||||||
|
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||||
|
return problemFeedbackService.add(cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("修改")
|
||||||
|
@PutMapping("/edit")
|
||||||
|
public SingleResponse edit(@Validated @RequestBody ProblemFeedbackUpdateCmd cmd) {
|
||||||
|
problemFeedbackService.edit(cmd);
|
||||||
|
return SingleResponse.buildSuccess();
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("分页")
|
||||||
|
@PostMapping("/list")
|
||||||
|
public PageResponse<ProblemFeedbackCO> page(@RequestBody ProblemFeedbackPageQry qry) {
|
||||||
|
return problemFeedbackService.listPage(qry);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("所有数据")
|
||||||
|
@PostMapping("/listAll")
|
||||||
|
public MultiResponse<ProblemFeedbackCO> listAll(@RequestBody ProblemFeedbackListQry qry) {
|
||||||
|
return problemFeedbackService.list(qry);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("详情")
|
||||||
|
@GetMapping("/getInfoById")
|
||||||
|
public SingleResponse<ProblemFeedbackCO> getInfoById(@RequestParam(value = "id") Long id) {
|
||||||
|
return problemFeedbackService.getInfoById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("删除")
|
||||||
|
@PutMapping("/remove")
|
||||||
|
public Response remove(@RequestParam(value = "id") Long id) {
|
||||||
|
problemFeedbackService.remove(id);
|
||||||
|
return SingleResponse.buildSuccess();
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("删除多个")
|
||||||
|
@PutMapping("/removeBatch")
|
||||||
|
public Response removeBatch(@Validated @RequestBody ProblemFeedbackRemoveCmd cmd) {
|
||||||
|
problemFeedbackService.removeBatch(cmd.getIds());
|
||||||
|
return SingleResponse.buildSuccess();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
package com.zcloud.basic.info.command;
|
||||||
|
|
||||||
|
import com.zcloud.basic.info.domain.gateway.ProblemFeedbackGateway;
|
||||||
|
import com.zcloud.basic.info.domain.model.ProblemFeedbackE;
|
||||||
|
import com.zcloud.basic.info.dto.ProblemFeedbackAddCmd;
|
||||||
|
import com.alibaba.cola.exception.BizException;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-app
|
||||||
|
*
|
||||||
|
* @Author SondonYong
|
||||||
|
* @Date 2025-12-06 11:26:34
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ProblemFeedbackAddExe {
|
||||||
|
private final ProblemFeedbackGateway problemFeedbackGateway;
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public boolean execute(ProblemFeedbackAddCmd cmd) {
|
||||||
|
ProblemFeedbackE problemFeedbackE = new ProblemFeedbackE();
|
||||||
|
BeanUtils.copyProperties(cmd, problemFeedbackE);
|
||||||
|
boolean res = false;
|
||||||
|
try {
|
||||||
|
res = problemFeedbackGateway.add(problemFeedbackE);
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
if (!res) {
|
||||||
|
throw new BizException("保存失败");
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
package com.zcloud.basic.info.command;
|
||||||
|
|
||||||
|
import com.zcloud.basic.info.domain.gateway.ProblemFeedbackGateway;
|
||||||
|
import com.alibaba.cola.exception.BizException;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-app
|
||||||
|
*
|
||||||
|
* @Author SondonYong
|
||||||
|
* @Date 2025-12-06 11:26:34
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ProblemFeedbackRemoveExe {
|
||||||
|
private final ProblemFeedbackGateway problemFeedbackGateway;
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public boolean execute(Long id) {
|
||||||
|
boolean res = problemFeedbackGateway.deletedProblemFeedbackById(id);
|
||||||
|
if (!res) {
|
||||||
|
throw new BizException("删除失败");
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public boolean execute(Long[] ids) {
|
||||||
|
boolean res = problemFeedbackGateway.deletedProblemFeedbackByIds(ids);
|
||||||
|
if (!res) {
|
||||||
|
throw new BizException("删除失败");
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
package com.zcloud.basic.info.command;
|
||||||
|
|
||||||
|
import com.alibaba.cola.exception.BizException;
|
||||||
|
import com.zcloud.basic.info.domain.gateway.ProblemFeedbackGateway;
|
||||||
|
import com.zcloud.basic.info.domain.model.ProblemFeedbackE;
|
||||||
|
import com.zcloud.basic.info.dto.ProblemFeedbackUpdateCmd;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-app
|
||||||
|
*
|
||||||
|
* @Author SondonYong
|
||||||
|
* @Date 2025-12-06 11:26:35
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ProblemFeedbackUpdateExe {
|
||||||
|
private final ProblemFeedbackGateway problemFeedbackGateway;
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void execute(ProblemFeedbackUpdateCmd cmd) {
|
||||||
|
ProblemFeedbackE problemFeedbackE = new ProblemFeedbackE();
|
||||||
|
BeanUtils.copyProperties(cmd, problemFeedbackE);
|
||||||
|
boolean res = problemFeedbackGateway.update(problemFeedbackE);
|
||||||
|
if (!res) {
|
||||||
|
throw new BizException("修改失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
package com.zcloud.basic.info.command.convertor;
|
||||||
|
|
||||||
|
import com.zcloud.basic.info.dto.clientobject.ProblemFeedbackCO;
|
||||||
|
import com.zcloud.basic.info.persistence.dataobject.ProblemFeedbackDO;
|
||||||
|
import org.mapstruct.Mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-app
|
||||||
|
*
|
||||||
|
* @Author SondonYong
|
||||||
|
* @Date 2025-12-06 11:26:34
|
||||||
|
*/
|
||||||
|
@Mapper(componentModel = "spring")
|
||||||
|
public interface ProblemFeedbackCoConvertor {
|
||||||
|
/**
|
||||||
|
* @param problemFeedbackDOs
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<ProblemFeedbackCO> converDOsToCOs(List<ProblemFeedbackDO> problemFeedbackDOs);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
package com.zcloud.basic.info.command.query;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.MultiResponse;
|
||||||
|
import com.zcloud.basic.info.command.convertor.ProblemFeedbackCoConvertor;
|
||||||
|
import com.zcloud.basic.info.dto.ProblemFeedbackPageQry;
|
||||||
|
import com.zcloud.basic.info.dto.ProblemFeedbackListQry;
|
||||||
|
import com.zcloud.basic.info.dto.clientobject.ProblemFeedbackCO;
|
||||||
|
import com.zcloud.basic.info.persistence.dataobject.ProblemFeedbackDO;
|
||||||
|
import com.zcloud.basic.info.persistence.repository.ProblemFeedbackRepository;
|
||||||
|
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||||
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
|
import com.alibaba.cola.dto.SingleResponse;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-app
|
||||||
|
*
|
||||||
|
* @Author SondonYong
|
||||||
|
* @Date 2025-12-06 11:26:34
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ProblemFeedbackQueryExe {
|
||||||
|
private final ProblemFeedbackRepository problemFeedbackRepository;
|
||||||
|
private final ProblemFeedbackCoConvertor problemFeedbackCoConvertor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public PageResponse<ProblemFeedbackCO> execute(ProblemFeedbackPageQry qry) {
|
||||||
|
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
||||||
|
PageResponse<ProblemFeedbackDO> pageResponse = problemFeedbackRepository.listPage(params);
|
||||||
|
List<ProblemFeedbackCO> examCenterCOS = problemFeedbackCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||||
|
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||||
|
}
|
||||||
|
|
||||||
|
public MultiResponse<ProblemFeedbackCO> execute(ProblemFeedbackListQry qry) {
|
||||||
|
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
||||||
|
List<ProblemFeedbackDO> list = problemFeedbackRepository.list(params);
|
||||||
|
List<ProblemFeedbackCO> examCenterCOS = problemFeedbackCoConvertor.converDOsToCOs(list);
|
||||||
|
return MultiResponse.of(examCenterCOS);
|
||||||
|
}
|
||||||
|
|
||||||
|
public SingleResponse<ProblemFeedbackCO> execute(Long id) {
|
||||||
|
SingleResponse<ProblemFeedbackDO> problemFeedbackDO = problemFeedbackRepository.getInfoById(id);
|
||||||
|
ProblemFeedbackCO co = new ProblemFeedbackCO();
|
||||||
|
BeanUtils.copyProperties(problemFeedbackDO.getData(), co);
|
||||||
|
return SingleResponse.of(co);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,70 @@
|
||||||
|
package com.zcloud.basic.info.service;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.MultiResponse;
|
||||||
|
import com.zcloud.basic.info.api.ProblemFeedbackServiceI;
|
||||||
|
import com.zcloud.basic.info.command.ProblemFeedbackAddExe;
|
||||||
|
import com.zcloud.basic.info.command.ProblemFeedbackRemoveExe;
|
||||||
|
import com.zcloud.basic.info.command.ProblemFeedbackUpdateExe;
|
||||||
|
import com.zcloud.basic.info.command.query.ProblemFeedbackQueryExe;
|
||||||
|
import com.zcloud.basic.info.dto.ProblemFeedbackAddCmd;
|
||||||
|
import com.zcloud.basic.info.dto.ProblemFeedbackPageQry;
|
||||||
|
import com.zcloud.basic.info.dto.ProblemFeedbackListQry;
|
||||||
|
import com.zcloud.basic.info.dto.ProblemFeedbackUpdateCmd;
|
||||||
|
import com.zcloud.basic.info.dto.clientobject.ProblemFeedbackCO;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
|
import com.alibaba.cola.dto.SingleResponse;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-app
|
||||||
|
*
|
||||||
|
* @Author SondonYong
|
||||||
|
* @Date 2025-12-06 11:26:35
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ProblemFeedbackServiceImpl implements ProblemFeedbackServiceI {
|
||||||
|
private final ProblemFeedbackAddExe problemFeedbackAddExe;
|
||||||
|
private final ProblemFeedbackUpdateExe problemFeedbackUpdateExe;
|
||||||
|
private final ProblemFeedbackRemoveExe problemFeedbackRemoveExe;
|
||||||
|
private final ProblemFeedbackQueryExe problemFeedbackQueryExe;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResponse<ProblemFeedbackCO> listPage(ProblemFeedbackPageQry qry) {
|
||||||
|
return problemFeedbackQueryExe.execute(qry);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MultiResponse<ProblemFeedbackCO> list(ProblemFeedbackListQry qry) {
|
||||||
|
return problemFeedbackQueryExe.execute(qry);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SingleResponse<ProblemFeedbackCO> getInfoById(Long id) {
|
||||||
|
return problemFeedbackQueryExe.execute(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SingleResponse add(ProblemFeedbackAddCmd cmd) {
|
||||||
|
problemFeedbackAddExe.execute(cmd);
|
||||||
|
return SingleResponse.buildSuccess();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void edit(ProblemFeedbackUpdateCmd cmd) {
|
||||||
|
problemFeedbackUpdateExe.execute(cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void remove(Long id) {
|
||||||
|
problemFeedbackRemoveExe.execute(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void removeBatch(Long[] ids) {
|
||||||
|
problemFeedbackRemoveExe.execute(ids);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
package com.zcloud.basic.info.api;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.MultiResponse;
|
||||||
|
import com.zcloud.basic.info.dto.ProblemFeedbackAddCmd;
|
||||||
|
import com.zcloud.basic.info.dto.ProblemFeedbackPageQry;
|
||||||
|
import com.zcloud.basic.info.dto.ProblemFeedbackListQry;
|
||||||
|
import com.zcloud.basic.info.dto.ProblemFeedbackUpdateCmd;
|
||||||
|
import com.zcloud.basic.info.dto.clientobject.ProblemFeedbackCO;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
|
import com.alibaba.cola.dto.SingleResponse;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-client
|
||||||
|
*
|
||||||
|
* @Author SondonYong
|
||||||
|
* @Date 2025-12-06 11:26:35
|
||||||
|
*/
|
||||||
|
public interface ProblemFeedbackServiceI {
|
||||||
|
PageResponse<ProblemFeedbackCO> listPage(ProblemFeedbackPageQry qry);
|
||||||
|
|
||||||
|
MultiResponse<ProblemFeedbackCO> list(ProblemFeedbackListQry qry);
|
||||||
|
|
||||||
|
SingleResponse<ProblemFeedbackCO> getInfoById(Long id);
|
||||||
|
|
||||||
|
SingleResponse<ProblemFeedbackCO> add(ProblemFeedbackAddCmd cmd);
|
||||||
|
|
||||||
|
void edit(ProblemFeedbackUpdateCmd cmd);
|
||||||
|
|
||||||
|
void remove(Long id);
|
||||||
|
|
||||||
|
void removeBatch(Long[] ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
package com.zcloud.basic.info.dto;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.Command;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-client
|
||||||
|
*
|
||||||
|
* @Author SondonYong
|
||||||
|
* @Date 2025-12-06 11:26:34
|
||||||
|
*/
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ProblemFeedbackAddCmd extends Command {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "业务主键id", name = "problemId")
|
||||||
|
private String problemId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "标题", name = "title", required = true)
|
||||||
|
@NotEmpty(message = "标题不能为空")
|
||||||
|
private String title;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "问题类型", name = "type", required = true)
|
||||||
|
@NotEmpty(message = "问题类型不能为空")
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "问题类型名称", name = "typeName", required = true)
|
||||||
|
@NotEmpty(message = "问题类型名称不能为空")
|
||||||
|
private String typeName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "反馈", name = "feedback", required = true)
|
||||||
|
@NotEmpty(message = "反馈不能为空")
|
||||||
|
private String feedback;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
package com.zcloud.basic.info.dto;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.PageQuery;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-client
|
||||||
|
*
|
||||||
|
* @Author SondonYong
|
||||||
|
* @Date 2025-12-06 11:26:34
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ProblemFeedbackListQry extends PageQuery {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询条件操作前缀,支持以下几种数据库查询操作:
|
||||||
|
* - `like`: 模糊匹配查询,对应SQL的LIKE操作符
|
||||||
|
* - `eq`: 等值查询,对应SQL的=操作符
|
||||||
|
* - `gt`: 大于比较查询
|
||||||
|
* - `lt`: 小于比较查询
|
||||||
|
* - `ge`: 大于等于比较查询
|
||||||
|
* - `le`: 小于等于比较查询
|
||||||
|
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||||
|
*/
|
||||||
|
private String likeProblemId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
package com.zcloud.basic.info.dto;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.PageQuery;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-client
|
||||||
|
*
|
||||||
|
* @Author SondonYong
|
||||||
|
* @Date 2025-12-06 11:26:34
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ProblemFeedbackPageQry extends PageQuery {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询条件操作前缀,支持以下几种数据库查询操作:
|
||||||
|
* - `like`: 模糊匹配查询,对应SQL的LIKE操作符
|
||||||
|
* - `eq`: 等值查询,对应SQL的=操作符
|
||||||
|
* - `gt`: 大于比较查询
|
||||||
|
* - `lt`: 小于比较查询
|
||||||
|
* - `ge`: 大于等于比较查询
|
||||||
|
* - `le`: 小于等于比较查询
|
||||||
|
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||||
|
*/
|
||||||
|
private String likeProblemId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
package com.zcloud.basic.info.dto;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.Command;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-client
|
||||||
|
*
|
||||||
|
* @Author SondonYong
|
||||||
|
* @Date 2025-12-06 11:26:35
|
||||||
|
*/
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ProblemFeedbackRemoveCmd extends Command {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "主键", name = "ids", required = true)
|
||||||
|
@NotNull(message = "主键不能为空")
|
||||||
|
@Size(min = 1, message = "请选择数据")
|
||||||
|
private Long[] ids;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.zcloud.basic.info.dto;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.Command;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-client
|
||||||
|
*
|
||||||
|
* @Author SondonYong
|
||||||
|
* @Date 2025-12-06 11:26:35
|
||||||
|
*/
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ProblemFeedbackUpdateCmd extends Command {
|
||||||
|
@ApiModelProperty(value = "主键id", name = "id", required = true)
|
||||||
|
@NotNull(message = "主键id不能为空")
|
||||||
|
private Long id;
|
||||||
|
@ApiModelProperty(value = "业务主键id", name = "problemId", required = true)
|
||||||
|
@NotEmpty(message = "业务主键id不能为空")
|
||||||
|
private String problemId;
|
||||||
|
@ApiModelProperty(value = "标题", name = "title", required = true)
|
||||||
|
@NotEmpty(message = "标题不能为空")
|
||||||
|
private String title;
|
||||||
|
@ApiModelProperty(value = "问题类型", name = "type", required = true)
|
||||||
|
@NotEmpty(message = "问题类型不能为空")
|
||||||
|
private String type;
|
||||||
|
@ApiModelProperty(value = "问题类型名称", name = "typeName", required = true)
|
||||||
|
@NotEmpty(message = "问题类型名称不能为空")
|
||||||
|
private String typeName;
|
||||||
|
@ApiModelProperty(value = "反馈", name = "feedback", required = true)
|
||||||
|
@NotEmpty(message = "反馈不能为空")
|
||||||
|
private String feedback;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
package com.zcloud.basic.info.dto.clientobject;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.ClientObject;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-client
|
||||||
|
*
|
||||||
|
* @Author SondonYong
|
||||||
|
* @Date 2025-12-06 11:26:34
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ProblemFeedbackCO extends ClientObject {
|
||||||
|
//主键id
|
||||||
|
@ApiModelProperty(value = "主键id")
|
||||||
|
private Long id;
|
||||||
|
//业务主键id
|
||||||
|
@ApiModelProperty(value = "业务主键id")
|
||||||
|
private String problemId;
|
||||||
|
//标题
|
||||||
|
@ApiModelProperty(value = "标题")
|
||||||
|
private String title;
|
||||||
|
//问题类型
|
||||||
|
@ApiModelProperty(value = "问题类型")
|
||||||
|
private String type;
|
||||||
|
//问题类型名称
|
||||||
|
@ApiModelProperty(value = "问题类型名称")
|
||||||
|
private String typeName;
|
||||||
|
//反馈
|
||||||
|
@ApiModelProperty(value = "反馈")
|
||||||
|
private String feedback;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
package com.zcloud.basic.info.domain.gateway;
|
||||||
|
|
||||||
|
import com.zcloud.basic.info.domain.model.ProblemFeedbackE;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-domain
|
||||||
|
*
|
||||||
|
* @Author SondonYong
|
||||||
|
* @Date 2025-12-06 11:26:34
|
||||||
|
*/
|
||||||
|
public interface ProblemFeedbackGateway {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增
|
||||||
|
*/
|
||||||
|
Boolean add(ProblemFeedbackE problemFeedbackE);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改
|
||||||
|
*/
|
||||||
|
Boolean update(ProblemFeedbackE problemFeedbackE);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除
|
||||||
|
*/
|
||||||
|
Boolean deletedProblemFeedbackById(Long id);
|
||||||
|
|
||||||
|
Boolean deletedProblemFeedbackByIds(Long[] id);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
package com.zcloud.basic.info.domain.model;
|
||||||
|
|
||||||
|
import com.jjb.saas.framework.domain.model.BaseE;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-domain
|
||||||
|
*
|
||||||
|
* @Author SondonYong
|
||||||
|
* @Date 2025-12-06 11:26:34
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ProblemFeedbackE extends BaseE {
|
||||||
|
//主键id
|
||||||
|
private Long id;
|
||||||
|
//业务主键id
|
||||||
|
private String problemId;
|
||||||
|
//标题
|
||||||
|
private String title;
|
||||||
|
//问题类型
|
||||||
|
private String type;
|
||||||
|
//问题类型名称
|
||||||
|
private String typeName;
|
||||||
|
//反馈
|
||||||
|
private String feedback;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,55 @@
|
||||||
|
package com.zcloud.basic.info.gatewayimpl;
|
||||||
|
|
||||||
|
import com.alibaba.cloud.commons.lang.StringUtils;
|
||||||
|
import com.zcloud.basic.info.domain.gateway.ProblemFeedbackGateway;
|
||||||
|
import com.zcloud.basic.info.domain.model.ProblemFeedbackE;
|
||||||
|
import com.zcloud.basic.info.persistence.dataobject.ProblemFeedbackDO;
|
||||||
|
import com.zcloud.basic.info.persistence.repository.ProblemFeedbackRepository;
|
||||||
|
import com.zcloud.gbscommon.utils.UuidUtil;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-infrastructure
|
||||||
|
*
|
||||||
|
* @Author SondonYong
|
||||||
|
* @Date 2025-12-06 11:26:34
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ProblemFeedbackGatewayImpl implements ProblemFeedbackGateway {
|
||||||
|
private final ProblemFeedbackRepository problemFeedbackRepository;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean add(ProblemFeedbackE problemFeedbackE) {
|
||||||
|
ProblemFeedbackDO d = new ProblemFeedbackDO();
|
||||||
|
BeanUtils.copyProperties(problemFeedbackE, d);
|
||||||
|
if(StringUtils.isEmpty(d.getProblemId())){
|
||||||
|
d.setProblemId(UuidUtil.get32UUID());
|
||||||
|
}
|
||||||
|
problemFeedbackRepository.save(d);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean update(ProblemFeedbackE problemFeedbackE) {
|
||||||
|
ProblemFeedbackDO d = new ProblemFeedbackDO();
|
||||||
|
BeanUtils.copyProperties(problemFeedbackE, d);
|
||||||
|
problemFeedbackRepository.updateById(d);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean deletedProblemFeedbackById(Long id) {
|
||||||
|
return problemFeedbackRepository.removeById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean deletedProblemFeedbackByIds(Long[] ids) {
|
||||||
|
return problemFeedbackRepository.removeByIds(Collections.singletonList(ids));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.zcloud.basic.info.persistence.dataobject;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import com.jjb.saas.framework.repository.basedo.BaseDO;
|
||||||
|
import lombok.Data;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-infrastructure
|
||||||
|
*
|
||||||
|
* @Author SondonYong
|
||||||
|
* @Date 2025-12-06 11:26:34
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("problem_feedback")
|
||||||
|
@NoArgsConstructor
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class ProblemFeedbackDO extends BaseDO {
|
||||||
|
//业务主键id
|
||||||
|
@ApiModelProperty(value = "业务主键id")
|
||||||
|
private String problemId;
|
||||||
|
//标题
|
||||||
|
@ApiModelProperty(value = "标题")
|
||||||
|
private String title;
|
||||||
|
//问题类型
|
||||||
|
@ApiModelProperty(value = "问题类型")
|
||||||
|
private String type;
|
||||||
|
//问题类型名称
|
||||||
|
@ApiModelProperty(value = "问题类型名称")
|
||||||
|
private String typeName;
|
||||||
|
//反馈
|
||||||
|
@ApiModelProperty(value = "反馈")
|
||||||
|
private String feedback;
|
||||||
|
|
||||||
|
public ProblemFeedbackDO(String problemId) {
|
||||||
|
this.problemId = problemId;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.zcloud.basic.info.persistence.mapper;
|
||||||
|
|
||||||
|
import com.zcloud.basic.info.persistence.dataobject.ProblemFeedbackDO;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-infrastructure
|
||||||
|
*
|
||||||
|
* @Author SondonYong
|
||||||
|
* @Date 2025-12-06 11:26:34
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface ProblemFeedbackMapper extends BaseMapper<ProblemFeedbackDO> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
package com.zcloud.basic.info.persistence.repository;
|
||||||
|
|
||||||
|
import com.zcloud.basic.info.persistence.dataobject.ProblemFeedbackDO;
|
||||||
|
import com.alibaba.cola.dto.SingleResponse;
|
||||||
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
|
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-infrastructure
|
||||||
|
*
|
||||||
|
* @Author SondonYong
|
||||||
|
* @Date 2025-12-06 11:26:34
|
||||||
|
*/
|
||||||
|
public interface ProblemFeedbackRepository extends BaseRepository<ProblemFeedbackDO> {
|
||||||
|
|
||||||
|
PageResponse<ProblemFeedbackDO> listPage(Map<String, Object> params);
|
||||||
|
|
||||||
|
List<ProblemFeedbackDO> list(Map<String, Object> params);
|
||||||
|
|
||||||
|
SingleResponse<ProblemFeedbackDO> getInfoById(Long id);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,55 @@
|
||||||
|
package com.zcloud.basic.info.persistence.repository.impl;
|
||||||
|
|
||||||
|
import com.jjb.saas.framework.repository.common.PageHelper;
|
||||||
|
import com.zcloud.basic.info.persistence.dataobject.ProblemFeedbackDO;
|
||||||
|
import com.zcloud.basic.info.persistence.mapper.ProblemFeedbackMapper;
|
||||||
|
import com.zcloud.basic.info.persistence.repository.ProblemFeedbackRepository;
|
||||||
|
import com.alibaba.cola.dto.SingleResponse;
|
||||||
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
|
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||||
|
import com.zcloud.gbscommon.utils.Query;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-infrastructure
|
||||||
|
*
|
||||||
|
* @Author SondonYong
|
||||||
|
* @Date 2025-12-06 11:26:35
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class ProblemFeedbackRepositoryImpl extends BaseRepositoryImpl<ProblemFeedbackMapper, ProblemFeedbackDO> implements ProblemFeedbackRepository {
|
||||||
|
private final ProblemFeedbackMapper problemFeedbackMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResponse<ProblemFeedbackDO> listPage(Map<String, Object> params) {
|
||||||
|
IPage<ProblemFeedbackDO> iPage = new Query<ProblemFeedbackDO>().getPage(params);
|
||||||
|
QueryWrapper<ProblemFeedbackDO> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
|
||||||
|
queryWrapper.orderByDesc("create_time");
|
||||||
|
IPage<ProblemFeedbackDO> result = problemFeedbackMapper.selectPage(iPage, queryWrapper);
|
||||||
|
return PageHelper.pageToResponse(result, result.getRecords());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ProblemFeedbackDO> list(Map<String, Object> params) {
|
||||||
|
QueryWrapper<ProblemFeedbackDO> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
|
||||||
|
queryWrapper.orderByDesc("create_time");
|
||||||
|
List<ProblemFeedbackDO> result = problemFeedbackMapper.selectList(queryWrapper);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SingleResponse<ProblemFeedbackDO> getInfoById(Long id) {
|
||||||
|
return SingleResponse.of(problemFeedbackMapper.selectById(id));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
|
||||||
|
<mapper namespace="com.zcloud.basic.info.persistence.mapper.ProblemFeedbackMapper">
|
||||||
|
</mapper>
|
||||||
|
|
||||||
Loading…
Reference in New Issue