|  | @@ -0,0 +1,218 @@
 | 
	
		
			
				|  |  | +package org.jeecg.modules.system.app.controller;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import com.baomidou.mybatisplus.core.metadata.IPage;
 | 
	
		
			
				|  |  | +import io.swagger.v3.oas.annotations.Operation;
 | 
	
		
			
				|  |  | +import io.swagger.v3.oas.annotations.tags.Tag;
 | 
	
		
			
				|  |  | +import lombok.extern.slf4j.Slf4j;
 | 
	
		
			
				|  |  | +import org.apache.shiro.SecurityUtils;
 | 
	
		
			
				|  |  | +import org.apache.shiro.authz.annotation.RequiresPermissions;
 | 
	
		
			
				|  |  | +import org.apache.shiro.subject.Subject;
 | 
	
		
			
				|  |  | +import org.jeecg.common.api.vo.Result;
 | 
	
		
			
				|  |  | +import org.jeecg.common.aspect.annotation.AutoLog;
 | 
	
		
			
				|  |  | +import org.jeecg.common.system.base.controller.JeecgController;
 | 
	
		
			
				|  |  | +import org.jeecg.common.system.vo.LoginUser;
 | 
	
		
			
				|  |  | +import org.jeecg.modules.system.app.dto.AuditRequestDTO;
 | 
	
		
			
				|  |  | +import org.jeecg.modules.system.app.dto.evaluate.FindEvaluateRequestDTO;
 | 
	
		
			
				|  |  | +import org.jeecg.modules.system.app.dto.evaluate.FindEvaluateResponseDTO;
 | 
	
		
			
				|  |  | +import org.jeecg.modules.system.app.entity.Evaluate;
 | 
	
		
			
				|  |  | +import org.jeecg.modules.system.app.enums.ReplyStatusEnum;
 | 
	
		
			
				|  |  | +import org.jeecg.modules.system.app.service.IEvaluateService;
 | 
	
		
			
				|  |  | +import org.springframework.beans.BeanUtils;
 | 
	
		
			
				|  |  | +import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | +import org.springframework.web.bind.annotation.*;
 | 
	
		
			
				|  |  | +import org.springframework.web.servlet.ModelAndView;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import javax.servlet.http.HttpServletRequest;
 | 
	
		
			
				|  |  | +import javax.servlet.http.HttpServletResponse;
 | 
	
		
			
				|  |  | +import java.util.Arrays;
 | 
	
		
			
				|  |  | +import java.util.Date;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + * @Description: 评价管理
 | 
	
		
			
				|  |  | + * @Author: zx
 | 
	
		
			
				|  |  | + * @Date:   2025-07-08
 | 
	
		
			
				|  |  | + * @Version: V1.0
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +@Tag(name="评价管理")
 | 
	
		
			
				|  |  | +@RestController
 | 
	
		
			
				|  |  | +@RequestMapping("/evaluate/evaluate")
 | 
	
		
			
				|  |  | +@Slf4j
 | 
	
		
			
				|  |  | +public class EvaluateController extends JeecgController<Evaluate, IEvaluateService> {
 | 
	
		
			
				|  |  | +	@Autowired
 | 
	
		
			
				|  |  | +	private IEvaluateService evaluateService;
 | 
	
		
			
				|  |  | +	
 | 
	
		
			
				|  |  | +	/**
 | 
	
		
			
				|  |  | +	 * 分页列表查询
 | 
	
		
			
				|  |  | +	 *
 | 
	
		
			
				|  |  | +	 * @param findEvaluateRequestDTO
 | 
	
		
			
				|  |  | +	 * @param pageNo
 | 
	
		
			
				|  |  | +	 * @param pageSize
 | 
	
		
			
				|  |  | +	 * @param req
 | 
	
		
			
				|  |  | +	 * @return
 | 
	
		
			
				|  |  | +	 */
 | 
	
		
			
				|  |  | +	//@AutoLog(value = "评价管理-分页列表查询")
 | 
	
		
			
				|  |  | +	@Operation(summary="评价管理-分页列表查询")
 | 
	
		
			
				|  |  | +	@GetMapping(value = "/list")
 | 
	
		
			
				|  |  | +	public Result<IPage<FindEvaluateResponseDTO>> queryPageList(FindEvaluateRequestDTO findEvaluateRequestDTO,
 | 
	
		
			
				|  |  | +																@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
 | 
	
		
			
				|  |  | +																@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
 | 
	
		
			
				|  |  | +																HttpServletRequest req) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		Subject subject = SecurityUtils.getSubject();
 | 
	
		
			
				|  |  | +		LoginUser loginUser =null;
 | 
	
		
			
				|  |  | +		if (subject.isAuthenticated()) {
 | 
	
		
			
				|  |  | +			// 获取当前登录的用户信息
 | 
	
		
			
				|  |  | +			loginUser= (LoginUser) subject.getPrincipal();
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		if (loginUser==null){
 | 
	
		
			
				|  |  | +			return Result.error("当前未登录,请先登录;或者未获取到用户信息,请联系管理员");
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		findEvaluateRequestDTO.setOrgCode(loginUser.getOrgCode());
 | 
	
		
			
				|  |  | +		IPage<FindEvaluateResponseDTO> pageList = evaluateService.findPage(pageNo,pageSize, findEvaluateRequestDTO);
 | 
	
		
			
				|  |  | +		return Result.OK(pageList);
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	
 | 
	
		
			
				|  |  | +	/**
 | 
	
		
			
				|  |  | +	 *   添加
 | 
	
		
			
				|  |  | +	 *
 | 
	
		
			
				|  |  | +	 * @param evaluate
 | 
	
		
			
				|  |  | +	 * @return
 | 
	
		
			
				|  |  | +	 */
 | 
	
		
			
				|  |  | +	@AutoLog(value = "评价管理-添加")
 | 
	
		
			
				|  |  | +	@Operation(summary="评价管理-添加")
 | 
	
		
			
				|  |  | +	@RequiresPermissions("evaluate:nm_evaluate:add")
 | 
	
		
			
				|  |  | +	@PostMapping(value = "/add")
 | 
	
		
			
				|  |  | +	public Result<String> add(@RequestBody Evaluate evaluate) {
 | 
	
		
			
				|  |  | +		evaluateService.save(evaluate);
 | 
	
		
			
				|  |  | +		return Result.OK("添加成功!");
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	
 | 
	
		
			
				|  |  | +	/**
 | 
	
		
			
				|  |  | +	 *  编辑
 | 
	
		
			
				|  |  | +	 *
 | 
	
		
			
				|  |  | +	 * @param evaluate
 | 
	
		
			
				|  |  | +	 * @return
 | 
	
		
			
				|  |  | +	 */
 | 
	
		
			
				|  |  | +	@AutoLog(value = "评价管理-编辑")
 | 
	
		
			
				|  |  | +	@Operation(summary="评价管理-编辑")
 | 
	
		
			
				|  |  | +	@RequiresPermissions("evaluate:nm_evaluate:edit")
 | 
	
		
			
				|  |  | +	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
 | 
	
		
			
				|  |  | +	public Result<String> edit(@RequestBody Evaluate evaluate) {
 | 
	
		
			
				|  |  | +		Subject subject = SecurityUtils.getSubject();
 | 
	
		
			
				|  |  | +		LoginUser loginUser =null;
 | 
	
		
			
				|  |  | +		if (subject.isAuthenticated()) {
 | 
	
		
			
				|  |  | +			// 获取当前登录的用户信息
 | 
	
		
			
				|  |  | +			loginUser= (LoginUser) subject.getPrincipal();
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		if (loginUser==null){
 | 
	
		
			
				|  |  | +			return Result.error("当前未登录,请先登录;或者未获取到用户信息,请联系管理员");
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		evaluate.setReplyUserId(loginUser.getId());
 | 
	
		
			
				|  |  | +		evaluate.setReplyStatus(ReplyStatusEnum.REPLIED.getCode());
 | 
	
		
			
				|  |  | +		evaluate.setReplyTime(new Date());
 | 
	
		
			
				|  |  | +		evaluateService.updateById(evaluate);
 | 
	
		
			
				|  |  | +		return Result.OK("编辑成功!");
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	
 | 
	
		
			
				|  |  | +	/**
 | 
	
		
			
				|  |  | +	 *   通过id删除
 | 
	
		
			
				|  |  | +	 *
 | 
	
		
			
				|  |  | +	 * @param id
 | 
	
		
			
				|  |  | +	 * @return
 | 
	
		
			
				|  |  | +	 */
 | 
	
		
			
				|  |  | +	@AutoLog(value = "评价管理-通过id删除")
 | 
	
		
			
				|  |  | +	@Operation(summary="评价管理-通过id删除")
 | 
	
		
			
				|  |  | +	@RequiresPermissions("evaluate:nm_evaluate:delete")
 | 
	
		
			
				|  |  | +	@DeleteMapping(value = "/delete")
 | 
	
		
			
				|  |  | +	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
 | 
	
		
			
				|  |  | +		evaluateService.removeById(id);
 | 
	
		
			
				|  |  | +		return Result.OK("删除成功!");
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	
 | 
	
		
			
				|  |  | +	/**
 | 
	
		
			
				|  |  | +	 *  批量删除
 | 
	
		
			
				|  |  | +	 *
 | 
	
		
			
				|  |  | +	 * @param ids
 | 
	
		
			
				|  |  | +	 * @return
 | 
	
		
			
				|  |  | +	 */
 | 
	
		
			
				|  |  | +	@AutoLog(value = "评价管理-批量删除")
 | 
	
		
			
				|  |  | +	@Operation(summary="评价管理-批量删除")
 | 
	
		
			
				|  |  | +	@RequiresPermissions("evaluate:nm_evaluate:deleteBatch")
 | 
	
		
			
				|  |  | +	@DeleteMapping(value = "/deleteBatch")
 | 
	
		
			
				|  |  | +	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
 | 
	
		
			
				|  |  | +		this.evaluateService.removeByIds(Arrays.asList(ids.split(",")));
 | 
	
		
			
				|  |  | +		return Result.OK("批量删除成功!");
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	
 | 
	
		
			
				|  |  | +	/**
 | 
	
		
			
				|  |  | +	 * 通过id查询
 | 
	
		
			
				|  |  | +	 *
 | 
	
		
			
				|  |  | +	 * @param id
 | 
	
		
			
				|  |  | +	 * @return
 | 
	
		
			
				|  |  | +	 */
 | 
	
		
			
				|  |  | +	//@AutoLog(value = "评价管理-通过id查询")
 | 
	
		
			
				|  |  | +	@Operation(summary="评价管理-通过id查询")
 | 
	
		
			
				|  |  | +	@GetMapping(value = "/queryById")
 | 
	
		
			
				|  |  | +	public Result<Evaluate> queryById(@RequestParam(name="id",required=true) String id) {
 | 
	
		
			
				|  |  | +		Evaluate evaluate = evaluateService.getById(id);
 | 
	
		
			
				|  |  | +		if(evaluate==null) {
 | 
	
		
			
				|  |  | +			return Result.error("未找到对应数据");
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		return Result.OK(evaluate);
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	/**
 | 
	
		
			
				|  |  | +	 *审核
 | 
	
		
			
				|  |  | +	 * @param auditRequestDTO
 | 
	
		
			
				|  |  | +	 * @return
 | 
	
		
			
				|  |  | +	 */
 | 
	
		
			
				|  |  | +	@Operation(summary="评价管理-审核")
 | 
	
		
			
				|  |  | +	@PostMapping(value = "/audit")
 | 
	
		
			
				|  |  | +	public Result<String> audit(@RequestBody AuditRequestDTO auditRequestDTO) {
 | 
	
		
			
				|  |  | +		Subject subject = SecurityUtils.getSubject();
 | 
	
		
			
				|  |  | +		LoginUser loginUser =null;
 | 
	
		
			
				|  |  | +		if (subject.isAuthenticated()) {
 | 
	
		
			
				|  |  | +			// 获取当前登录的用户信息
 | 
	
		
			
				|  |  | +			loginUser= (LoginUser) subject.getPrincipal();
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		if (loginUser==null){
 | 
	
		
			
				|  |  | +			return Result.error("当前未登录,请先登录;或者未获取到用户信息,请联系管理员");
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		Evaluate evaluate = new Evaluate();
 | 
	
		
			
				|  |  | +		BeanUtils.copyProperties(auditRequestDTO,evaluate);
 | 
	
		
			
				|  |  | +		evaluate.setUpdateBy(loginUser.getId());
 | 
	
		
			
				|  |  | +		evaluate.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | +		boolean b = evaluateService.updateById(evaluate);
 | 
	
		
			
				|  |  | +		if(!b) {
 | 
	
		
			
				|  |  | +			return Result.error("审核失败");
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		return Result.OK("审核成功");
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +    * 导出excel
 | 
	
		
			
				|  |  | +    *
 | 
	
		
			
				|  |  | +    * @param request
 | 
	
		
			
				|  |  | +    * @param evaluate
 | 
	
		
			
				|  |  | +    */
 | 
	
		
			
				|  |  | +    @RequiresPermissions("evaluate:nm_evaluate:exportXls")
 | 
	
		
			
				|  |  | +    @RequestMapping(value = "/exportXls")
 | 
	
		
			
				|  |  | +    public ModelAndView exportXls(HttpServletRequest request, Evaluate evaluate) {
 | 
	
		
			
				|  |  | +        return super.exportXls(request, evaluate, Evaluate.class, "评价管理");
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +      * 通过excel导入数据
 | 
	
		
			
				|  |  | +    *
 | 
	
		
			
				|  |  | +    * @param request
 | 
	
		
			
				|  |  | +    * @param response
 | 
	
		
			
				|  |  | +    * @return
 | 
	
		
			
				|  |  | +    */
 | 
	
		
			
				|  |  | +    @RequiresPermissions("evaluate:nm_evaluate:importExcel")
 | 
	
		
			
				|  |  | +    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
 | 
	
		
			
				|  |  | +    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
 | 
	
		
			
				|  |  | +        return super.importExcel(request, response, Evaluate.class);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +}
 |