zhangxin 2 недель назад
Родитель
Сommit
c08767a747
21 измененных файлов с 860 добавлено и 189 удалено
  1. 65 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/controller/my/AppEvaluateController.java
  2. 4 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/controller/my/AppFamilyMembersController.java
  3. 6 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/controller/my/AppFeedbackController.java
  4. 0 3
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/dto/AddFamilyMembersDTO.java
  5. 0 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/dto/AppSubmitFeedbackRequestDTO.java
  6. 20 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/dto/PageDTO.java
  7. 55 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/dto/evaluate/AddEvaluateDTO.java
  8. 0 182
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppEvaluateController.java
  9. 218 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/EvaluateController.java
  10. 36 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AuditRequestDTO.java
  11. 9 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/FindResponseDTO.java
  12. 51 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/evaluate/FindEvaluateRequestDTO.java
  13. 89 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/evaluate/FindEvaluateResponseDTO.java
  14. 119 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/entity/Evaluate.java
  15. 43 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/enums/AuditStatusEnum.java
  16. 4 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/enums/FeedbackTypeEnum.java
  17. 20 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/EvaluateMapper.java
  18. 38 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/EvaluateMapper.xml
  19. 20 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/IEvaluateService.java
  20. 15 2
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/AppFeedbackServiceImpl.java
  21. 48 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/EvaluateServiceImpl.java

+ 65 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/controller/my/AppEvaluateController.java

@@ -0,0 +1,65 @@
+package org.jeecg.modules.app.controller.my;
+
+
+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 me.zhyd.oauth.utils.UuidUtils;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.app.dto.PageDTO;
+import org.jeecg.modules.app.dto.evaluate.AddEvaluateDTO;
+import org.jeecg.modules.system.app.dto.evaluate.FindEvaluateResponseDTO;
+import org.jeecg.modules.system.app.entity.Evaluate;
+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 java.util.Date;
+
+
+/**
+ * 评价
+ */
+@Slf4j
+@Tag(name = "app评价相关接口")
+@RestController()
+@RequestMapping("/app/my/evaluate")
+public class AppEvaluateController {
+
+    @Autowired
+    private IEvaluateService evaluateService;
+
+
+    /**
+     * 查询评价列表接口
+     *
+     * @param pageDTO
+     * @return
+     */
+    @GetMapping("/findByPage")
+    @Operation(summary = "app评价分页查询")
+    public Result<IPage<FindEvaluateResponseDTO>> findByList(PageDTO pageDTO) {
+        return Result.ok(evaluateService.findPage(pageDTO.getPageNo(), pageDTO.getPageSize(), null));
+    }
+
+
+    @PostMapping("/submitFeedback")
+    @Operation(summary = "提交评价")
+    public Result<String> submitFeedback(@RequestBody AddEvaluateDTO addEvaluateDTO) {
+        Evaluate evaluate = new Evaluate();
+        LoginUser principal = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        BeanUtils.copyProperties(addEvaluateDTO, evaluate);
+        evaluate.setId(UuidUtils.getUUID());
+        evaluate.setUserId(principal.getId());
+        evaluate.setCreateTime(new Date());
+        boolean save = evaluateService.save(evaluate);
+        if (!true) {
+            return Result.error("提交反馈意见失败,请联系管理员");
+        }
+        return Result.ok("提交成功");
+    }
+}

+ 4 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/controller/my/AppFamilyMembersController.java

@@ -5,7 +5,9 @@ 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.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.app.dto.AddFamilyMembersDTO;
 import org.jeecg.modules.app.dto.FindFamilyMembersDTO;
 import org.jeecg.modules.system.app.entity.FamilyMembers;
@@ -36,6 +38,8 @@ public class AppFamilyMembersController {
     @PostMapping("/addFamilyMembers")
     @Operation(summary = "添加家庭成员")
     public Result<String> addFamilyMembers(@RequestBody AddFamilyMembersDTO addFamilyMembersDTO){
+        LoginUser principal = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        addFamilyMembersDTO.setUserId(principal.getId());
         return iFamilyMembersService.addFamilyMembers(addFamilyMembersDTO);
     }
 

+ 6 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/controller/my/AppFeedbackController.java

@@ -6,7 +6,9 @@ import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.extern.slf4j.Slf4j;
 import me.zhyd.oauth.utils.UuidUtils;
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.app.dto.AppFeedbackFindRequestDTO;
 import org.jeecg.modules.app.dto.AppSubmitFeedbackRequestDTO;
 import org.jeecg.modules.system.app.dto.FindPageRequestDTO;
@@ -40,7 +42,8 @@ public class AppFeedbackController {
     @Operation(summary = "app意见反馈分页查询")
     public Result<IPage<FindResponseDTO>> findByList(AppFeedbackFindRequestDTO appFeedbackFindRequestDTO){
         FindPageRequestDTO findPageRequestDTO = new FindPageRequestDTO();
-        findPageRequestDTO.setUserId(appFeedbackFindRequestDTO.getUserId());
+        LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        findPageRequestDTO.setUserId(loginUser.getId());
         return Result.ok(iAppFeedbackService.findPage(appFeedbackFindRequestDTO.getPageNo(),appFeedbackFindRequestDTO.getPageSize(),findPageRequestDTO));
     }
 
@@ -48,8 +51,10 @@ public class AppFeedbackController {
     @PostMapping("/submitFeedback")
     @Operation(summary = "提交意见反馈")
     public Result<String> submitFeedback(@RequestBody AppSubmitFeedbackRequestDTO appSubmitFeedbackRequestDTO){
+        LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         AppFeedback appFeedback = new AppFeedback();
         BeanUtils.copyProperties(appSubmitFeedbackRequestDTO,appFeedback);
+        appFeedback.setUserId(loginUser.getId());
         appFeedback.setId(UuidUtils.getUUID());
         boolean save = iAppFeedbackService.save(appFeedback);
         if (!save){

+ 0 - 3
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/dto/AddFamilyMembersDTO.java

@@ -5,8 +5,6 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
-import javax.validation.constraints.NotNull;
-
 /**
  * 家庭成员
  */
@@ -24,7 +22,6 @@ public class AddFamilyMembersDTO {
     private String fullName;
     /**用户编号*/
     @Schema(description = "用户编号")
-    @NotNull(message = "用户编号不允许为空")
     private String userId;
     /**身份证号*/
     @Schema(description = "身份证号")

+ 0 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/dto/AppSubmitFeedbackRequestDTO.java

@@ -20,7 +20,6 @@ import java.util.Date;
 public class AppSubmitFeedbackRequestDTO {
 
     /**用户id*/
-    @NotNull(message = "用户编号不允许为空")
     @Schema(description = "用户id")
     private String userId;
     /**反馈类型0-投诉吐槽;1-功能异常;2-用户体验;3-功能建议;4-其他*/

+ 20 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/dto/PageDTO.java

@@ -0,0 +1,20 @@
+package org.jeecg.modules.app.dto;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@Schema(description="分页查询入参DTO")
+public class PageDTO{
+
+
+    @Schema(description ="页码")
+    private Integer pageNo=1;
+
+    @Schema(description ="每页显示条数")
+    private Integer pageSize=10;
+}

+ 55 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/dto/evaluate/AddEvaluateDTO.java

@@ -0,0 +1,55 @@
+package org.jeecg.modules.app.dto.evaluate;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * 评论
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@Schema(description="APP添加评论请求入参")
+public class AddEvaluateDTO {
+    /**部门编码*/
+    @Schema(description = "部门编码")
+    private String orgCode;
+    /**关联部门id*/
+    @Schema(description = "关联部门id")
+    private String deptId;
+    /**场地/地点*/
+    @Schema(description = "场地/地点")
+    private Integer siteId;
+    /**用户*/
+    @Schema(description = "用户")
+    private String userId;
+    /**订单*/
+    @Schema(description = "订单")
+    private String orderId;
+    /**评分 存储整数  1-5*/
+    @Schema(description = "评分 存储整数  1-5")
+    private Integer score;
+    /**评价内容*/
+    @Schema(description = "评价内容")
+    private String evaluateContent;
+    /**图片列表使用;进行隔开*/
+    @Schema(description = "图片列表使用,进行隔开")
+    private String images;
+
+    /**业务类型;0场地 1课程*/
+    @Schema(description = "业务类型;0场地 1课程")
+    private Integer type;
+    /**创建时间;创建时间*/
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @Schema(description = "创建时间;创建时间")
+    private Date createTime;
+
+
+}

+ 0 - 182
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppEvaluateController.java

@@ -1,182 +0,0 @@
-package org.jeecg.modules.system.app.controller;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.common.system.query.QueryRuleEnum;
-import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.system.app.entity.AppEvaluate;
-import org.jeecg.modules.system.app.service.IAppEvaluateService;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import lombok.extern.slf4j.Slf4j;
-
-import org.jeecgframework.poi.excel.ExcelImportUtil;
-import org.jeecgframework.poi.excel.def.NormalExcelConstants;
-import org.jeecgframework.poi.excel.entity.ExportParams;
-import org.jeecgframework.poi.excel.entity.ImportParams;
-import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
-import org.jeecg.common.system.base.controller.JeecgController;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.MultipartHttpServletRequest;
-import org.springframework.web.servlet.ModelAndView;
-import com.alibaba.fastjson.JSON;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import io.swagger.v3.oas.annotations.Operation;
-import org.jeecg.common.aspect.annotation.AutoLog;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
- /**
- * @Description: 评价表
- * @Author: jeecg-boot
- * @Date:   2025-07-03
- * @Version: V1.0
- */
-@Tag(name="评价表")
-@RestController
-@RequestMapping("/org/jeecg/modules/app/appEvaluate")
-@Slf4j
-public class AppEvaluateController extends JeecgController<AppEvaluate, IAppEvaluateService> {
-	@Autowired
-	private IAppEvaluateService appEvaluateService;
-	
-	/**
-	 * 分页列表查询
-	 *
-	 * @param appEvaluate
-	 * @param pageNo
-	 * @param pageSize
-	 * @param req
-	 * @return
-	 */
-	//@AutoLog(value = "评价表-分页列表查询")
-	@Operation(summary="评价表-分页列表查询")
-	@GetMapping(value = "/list")
-	public Result<IPage<AppEvaluate>> queryPageList(AppEvaluate appEvaluate,
-								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-								   HttpServletRequest req) {
-
-
-        QueryWrapper<AppEvaluate> queryWrapper = QueryGenerator.initQueryWrapper(appEvaluate, req.getParameterMap());
-		Page<AppEvaluate> page = new Page<AppEvaluate>(pageNo, pageSize);
-		IPage<AppEvaluate> pageList = appEvaluateService.page(page, queryWrapper);
-		return Result.OK(pageList);
-	}
-	
-	/**
-	 *   添加
-	 *
-	 * @param appEvaluate
-	 * @return
-	 */
-	@AutoLog(value = "评价表-添加")
-	@Operation(summary="评价表-添加")
-	@RequiresPermissions("org.jeecg.modules.app:nm_evaluate:add")
-	@PostMapping(value = "/add")
-	public Result<String> add(@RequestBody AppEvaluate appEvaluate) {
-		appEvaluateService.save(appEvaluate);
-
-		return Result.OK("添加成功!");
-	}
-	
-	/**
-	 *  编辑
-	 *
-	 * @param appEvaluate
-	 * @return
-	 */
-	@AutoLog(value = "评价表-编辑")
-	@Operation(summary="评价表-编辑")
-	@RequiresPermissions("org.jeecg.modules.app:nm_evaluate:edit")
-	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
-	public Result<String> edit(@RequestBody AppEvaluate appEvaluate) {
-		appEvaluateService.updateById(appEvaluate);
-		return Result.OK("编辑成功!");
-	}
-	
-	/**
-	 *   通过id删除
-	 *
-	 * @param id
-	 * @return
-	 */
-	@AutoLog(value = "评价表-通过id删除")
-	@Operation(summary="评价表-通过id删除")
-	@RequiresPermissions("org.jeecg.modules.app:nm_evaluate:delete")
-	@DeleteMapping(value = "/delete")
-	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
-		appEvaluateService.removeById(id);
-		return Result.OK("删除成功!");
-	}
-	
-	/**
-	 *  批量删除
-	 *
-	 * @param ids
-	 * @return
-	 */
-	@AutoLog(value = "评价表-批量删除")
-	@Operation(summary="评价表-批量删除")
-	@RequiresPermissions("org.jeecg.modules.app:nm_evaluate:deleteBatch")
-	@DeleteMapping(value = "/deleteBatch")
-	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
-		this.appEvaluateService.removeByIds(Arrays.asList(ids.split(",")));
-		return Result.OK("批量删除成功!");
-	}
-	
-	/**
-	 * 通过id查询
-	 *
-	 * @param id
-	 * @return
-	 */
-	//@AutoLog(value = "评价表-通过id查询")
-	@Operation(summary="评价表-通过id查询")
-	@GetMapping(value = "/queryById")
-	public Result<AppEvaluate> queryById(@RequestParam(name="id",required=true) String id) {
-		AppEvaluate appEvaluate = appEvaluateService.getById(id);
-		if(appEvaluate==null) {
-			return Result.error("未找到对应数据");
-		}
-		return Result.OK(appEvaluate);
-	}
-
-    /**
-    * 导出excel
-    *
-    * @param request
-    * @param appEvaluate
-    */
-    @RequiresPermissions("org.jeecg.modules.app:nm_evaluate:exportXls")
-    @RequestMapping(value = "/exportXls")
-    public ModelAndView exportXls(HttpServletRequest request, AppEvaluate appEvaluate) {
-        return super.exportXls(request, appEvaluate, AppEvaluate.class, "评价表");
-    }
-
-    /**
-      * 通过excel导入数据
-    *
-    * @param request
-    * @param response
-    * @return
-    */
-    @RequiresPermissions("org.jeecg.modules.app:nm_evaluate:importExcel")
-    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
-    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-        return super.importExcel(request, response, AppEvaluate.class);
-    }
-
-}

+ 218 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/EvaluateController.java

@@ -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);
+    }
+
+}

+ 36 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AuditRequestDTO.java

@@ -0,0 +1,36 @@
+package org.jeecg.modules.system.app.dto;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * 审核
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@AllArgsConstructor
+@NoArgsConstructor
+@Schema(description="审核请求入参")
+public class AuditRequestDTO {
+
+    /**主键id*/
+    @Schema(description = "主键id")
+    @NotNull(message = "未选择需要审核的数据")
+    private String id;
+
+    /**审核状态;0初始 1通过 2拦截*/
+    @Schema(description = "审核状态;0初始 1通过 2拦截")
+    @NotNull(message = "审核状态不能为空")
+    private Integer checkStatus;
+
+
+
+
+}

+ 9 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/FindResponseDTO.java

@@ -38,6 +38,9 @@ public class FindResponseDTO {
     @Excel(name = "反馈类型0-投诉吐槽;1-功能异常;2-用户体验;3-功能建议;4-其他", width = 15)
     @Schema(description = "反馈类型0-投诉吐槽;1-功能异常;2-用户体验;3-功能建议;4-其他")
     private Integer feedbackType;
+
+    @Schema(description = "反馈类型描述")
+    private String feedbackName;
     /**反馈描述*/
     @Excel(name = "反馈描述", width = 15)
     @Schema(description = "反馈描述")
@@ -55,12 +58,18 @@ public class FindResponseDTO {
     @Schema(description = "回复内容")
     private String replyContent;
 
+    /**回复内容*/
+    @Schema(description = "头像")
+    private String avatar;
+
     /**创建时间*/
     @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
     @Schema(description = "创建时间")
     private Date createTime;
+
     @Schema(description = "图片集合")
     private List<String> feedbackImgList;
 
+
 }

+ 51 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/evaluate/FindEvaluateRequestDTO.java

@@ -0,0 +1,51 @@
+package org.jeecg.modules.system.app.dto.evaluate;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * 评价管理
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@AllArgsConstructor
+@NoArgsConstructor
+@Schema(description="评价请求入参")
+public class FindEvaluateRequestDTO {
+
+    /**评分 存储整数  1-5*/
+    @Schema(description = "评分 存储整数  1-5")
+    private Integer score;
+
+    /**审核状态;0初始 1通过 2拦截*/
+    @Schema(description = "审核状态;0初始 1通过 2拦截")
+    private Integer checkStatus;
+
+    /**回复状态*/
+    @Schema(description = "回复状态 0-未回复 1-已回复")
+    private Integer replyStatus;
+    /**发布单位*/
+    @Excel(name = "发布单位", width = 15)
+    @Schema(description = "发布单位")
+    private String deptId;
+
+    /**部门编码*/
+    @Excel(name = "部门编码", width = 15)
+    @Schema(description = "部门编码")
+    private String orgCode;
+
+    /**创建时间;创建时间*/
+    @Schema(description = "提交开始时间")
+    private String startTime;
+
+    /**创建时间;创建时间*/
+    @Schema(description = "提交结束时间")
+    private String endTime;
+
+}

+ 89 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/evaluate/FindEvaluateResponseDTO.java

@@ -0,0 +1,89 @@
+package org.jeecg.modules.system.app.dto.evaluate;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 评价
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@AllArgsConstructor
+@NoArgsConstructor
+@Schema(description="评价返回参数")
+public class FindEvaluateResponseDTO {
+    /**id*/
+    @Schema(description = "id")
+    private String id;
+    /**部门编码*/
+    @Excel(name = "部门编码", width = 15)
+    @Schema(description = "部门编码")
+    private String orgCode;
+    /**关联部门id*/
+    @Excel(name = "发布单位名称", width = 15)
+    @Schema(description = "发布单位名称")
+    private String departName;
+    /**场地/地点*/
+    @Schema(description = "场地/地点")
+    private String address;
+    /**用户*/
+    @Schema(description = "用户")
+    private String username;
+    /**用户*/
+    @Schema(description = "用户手机号")
+    private String phone;
+    /**用户头像*/
+    @Schema(description = "头像")
+    private String avatar;
+    /**评分 存储整数  1-5*/
+    @Schema(description = "评分 存储整数  1-5")
+    private Integer score;
+    /**评价内容*/
+    @Schema(description = "评价内容")
+    private String evaluateContent;
+    /**图片列表使用;进行隔开*/
+    @Schema(description = "图片列表使用;进行隔开")
+    private String images;
+    /**审核状态;0初始 1通过 2拦截*/
+    @Schema(description = "审核状态;0初始 1通过 2拦截")
+    private Integer checkStatus;
+    /**回复状态*/
+    @Schema(description = "回复状态 0-未回复 1-已回复")
+    private Integer replyStatus;
+    /**回复内容*/
+    @Schema(description = "回复内容")
+    private String replyContent;
+    /**回复时间*/
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @Schema(description = "回复时间")
+    private Date replyTime;
+    /**业务类型;0场地 1课程*/
+    @Schema(description = "业务类型;0场地 1课程")
+    private Integer type;
+    /**创建时间;创建时间*/
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @Schema(description = "创建时间;创建时间")
+    private Date createTime;
+    /**更新时间;更新时间*/
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @Schema(description = "更新时间;更新时间")
+    private Date updateTime;
+
+    @Schema(description = "图片列表集合")
+    private List<String> imageList;
+
+}

+ 119 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/entity/Evaluate.java

@@ -0,0 +1,119 @@
+package org.jeecg.modules.system.app.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: 评价管理
+ * @Author: jeecg-boot
+ * @Date:   2025-07-07
+ * @Version: V1.0
+ */
+@Data
+@TableName("nm_evaluate")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@Schema(description="评价管理")
+public class Evaluate implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**id*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @Schema(description = "id")
+    private String id;
+	/**部门编码*/
+	@Excel(name = "部门编码", width = 15)
+    @Schema(description = "部门编码")
+    private String orgCode;
+	/**关联部门id*/
+	@Excel(name = "关联部门id", width = 15)
+    @Schema(description = "关联部门id")
+    private String deptId;
+	/**场地/地点*/
+	@Excel(name = "场地/地点", width = 15)
+    @Schema(description = "场地/地点")
+    private Integer siteId;
+	/**用户*/
+	@Excel(name = "用户", width = 15)
+    @Schema(description = "用户")
+    private String userId;
+	/**订单*/
+	@Excel(name = "订单", width = 15)
+    @Schema(description = "订单")
+    private String orderId;
+	/**评分 存储整数  1-5*/
+	@Excel(name = "评分 存储整数  1-5", width = 15)
+    @Schema(description = "评分 存储整数  1-5")
+    private Integer score;
+	/**评价内容*/
+	@Excel(name = "评价内容", width = 15)
+    @Schema(description = "评价内容")
+    private String evaluateContent;
+	/**图片列表使用;进行隔开*/
+	@Excel(name = "图片列表使用;进行隔开", width = 15)
+    @Schema(description = "图片列表使用;进行隔开")
+    private String images;
+	/**审核状态;0初始 1通过 2拦截*/
+	@Excel(name = "审核状态;0初始 1通过 2拦截", width = 15)
+    @Schema(description = "审核状态;0初始 1通过 2拦截")
+    private Integer checkStatus;
+	/**回复状态*/
+	@Excel(name = "回复状态", width = 15)
+    @Schema(description = "回复状态")
+    private Integer replyStatus;
+	/**回复内容*/
+	@Excel(name = "回复内容", width = 15)
+    @Schema(description = "回复内容")
+    private String replyContent;
+	/**回复人_id*/
+	@Excel(name = "回复人_id", width = 15)
+    @Schema(description = "回复人_id")
+    private String replyUserId;
+	/**回复时间*/
+	@Excel(name = "回复时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @Schema(description = "回复时间")
+    private Date replyTime;
+	/**业务类型;0场地 1课程*/
+	@Excel(name = "业务类型;0场地 1课程", width = 15)
+    @Schema(description = "业务类型;0场地 1课程")
+    private Integer type;
+	/**创建人;创建人*/
+    @Schema(description = "创建人;创建人")
+    private String createBy;
+	/**创建时间;创建时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @Schema(description = "创建时间;创建时间")
+    private Date createTime;
+	/**更新人;更新人*/
+    @Schema(description = "更新人;更新人")
+    private String updateBy;
+	/**更新时间;更新时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @Schema(description = "更新时间;更新时间")
+    private Date updateTime;
+	/**系统状态;状态(0-正常,1-冻结)*/
+	@Excel(name = "系统状态;状态(0-正常,1-冻结)", width = 15)
+    @Schema(description = "系统状态;状态(0-正常,1-冻结)")
+    private Integer evaluateStatus;
+	/**删除标志;删除状态(0-正常,1-已删除)*/
+	@Excel(name = "删除标志;删除状态(0-正常,1-已删除)", width = 15)
+    @Schema(description = "删除标志;删除状态(0-正常,1-已删除)")
+    @TableLogic
+    private Integer delFlag;
+}

+ 43 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/enums/AuditStatusEnum.java

@@ -0,0 +1,43 @@
+package org.jeecg.modules.system.app.enums;
+
+import org.jeecg.common.system.annotation.EnumDict;
+
+/**
+ * 回复状态枚举
+ */
+@EnumDict("auditStatusEnum")
+public enum AuditStatusEnum {
+//   0-投诉吐槽;1-功能异常;2-用户体验;3-功能建议;4-其他
+    SUCCESS(0, "通过"),
+    FAIL(1, "不通过");
+
+    Integer code;
+    String name;
+    AuditStatusEnum(Integer code, String name) {
+        this.code = code;
+        this.name = name;
+    }
+    public Integer getCode() {
+        return code;
+    }
+
+    public void setCode(Integer code) {
+        this.code = code;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getName() {
+        return name;
+    }
+    public static AuditStatusEnum getByCode(Integer code) {
+        for (AuditStatusEnum value : values()) {
+            if (value.code.equals(code) ) {
+                return value;
+            }
+        }
+        return null;
+    }
+}

+ 4 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/enums/FeedbackTypeEnum.java

@@ -1,5 +1,7 @@
 package org.jeecg.modules.system.app.enums;
 
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.fasterxml.jackson.annotation.JsonValue;
 import org.jeecg.common.system.annotation.EnumDict;
 
 /**
@@ -14,7 +16,9 @@ public enum FeedbackTypeEnum {
     GNJY(3, "功能建议"),
     QT(4, "其他");
 
+    @EnumValue
     Integer code;
+    @JsonValue
     String name;
     FeedbackTypeEnum(Integer code, String name) {
         this.code = code;

+ 20 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/EvaluateMapper.java

@@ -0,0 +1,20 @@
+package org.jeecg.modules.system.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+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;
+
+/**
+ * @Description: 评价管理
+ * @Author: jeecg-boot
+ * @Date:   2025-07-07
+ * @Version: V1.0
+ */
+public interface EvaluateMapper extends BaseMapper<Evaluate> {
+
+    IPage<FindEvaluateResponseDTO> findPage(@Param("page") Page<FindEvaluateResponseDTO> page,@Param("findEvaluateRequestDTO") FindEvaluateRequestDTO findEvaluateRequestDTO);
+}

+ 38 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/EvaluateMapper.xml

@@ -0,0 +1,38 @@
+<?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="org.jeecg.modules.system.app.mapper.EvaluateMapper">
+
+    <select id="findPage" resultType="org.jeecg.modules.system.app.dto.evaluate.FindEvaluateResponseDTO">
+        select
+            ne.score,ne.evaluate_content,ne.avatar,ne.images,ne.check_status,ne.reply_status,ne.reply_content,ne.reply_time,ne.type,ne.create_time,sd.depart_name,ns.address,su.username,su.phone
+        from nm_evaluate ne
+        left join  sys_depart sd on  ne.dept_id = s.id
+        LEFT JOIN nm_site ns on  ne.site_id =ns.id
+        LEFT JOIN sys_user su on  ne.user_id =su.id
+        where 1=1
+        <if test="findEvaluateRequestDTO!=null and findEvaluateRequestDTO!=''">
+            <if test="findEvaluateRequestDTO.orgCode!=null and findEvaluateRequestDTO.orgCode!=''">
+                and ne.org_code like CONCAT('',#{findEvaluateRequestDTO.orgCode},'%')
+            </if>
+        <if test="findEvaluateRequestDTO.deptId!=null and findEvaluateRequestDTO.deptId!=''">
+            AND ne.score = #{findEvaluateRequestDTO.deptId}
+        </if>
+        <if test="findEvaluateRequestDTO.score!=null">
+            AND ne.score = #{findEvaluateRequestDTO.score}
+        </if>
+        <if test="findEvaluateRequestDTO.checkStatus!=null">
+            AND ne.check_status = #{findEvaluateRequestDTO.checkStatus}
+        </if>
+        <if test="findEvaluateRequestDTO.replyStatus!=null">
+            AND ne.reply_status = #{findEvaluateRequestDTO.replyStatus}
+        </if>
+        <if test="findEvaluateRequestDTO.endTime!=null  and findEvaluateRequestDTO.endTime!=''">
+            <![CDATA[   AND DATE_FORMAT(ne.create_time, '%Y-%m-%d')<=  DATE_FORMAT(#{findEvaluateRequestDTO.endTime}, '%Y-%m-%d') ]]>
+        </if>
+        <if test="findEvaluateRequestDTO.startTime!=null  and findEvaluateRequestDTO.startTime!=''">
+            <![CDATA[   AND DATE_FORMAT(ne.create_time, '%Y-%m-%d')<=  DATE_FORMAT(#{findEvaluateRequestDTO.startTime}, '%Y-%m-%d') ]]>
+        </if>
+        </if>
+        order by ne.create_time desc
+    </select>
+</mapper>

+ 20 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/IEvaluateService.java

@@ -0,0 +1,20 @@
+package org.jeecg.modules.system.app.service;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+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;
+
+/**
+ * @Description: 评价管理
+ * @Author: jeecg-boot
+ * @Date:   2025-07-07
+ * @Version: V1.0
+ */
+public interface IEvaluateService extends IService<Evaluate> {
+
+
+    IPage<FindEvaluateResponseDTO> findPage(Integer pageNo, Integer pageSize, FindEvaluateRequestDTO findEvaluateRequestDTO);
+}

+ 15 - 2
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/AppFeedbackServiceImpl.java

@@ -8,6 +8,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.jeecg.modules.system.app.dto.FindPageRequestDTO;
 import org.jeecg.modules.system.app.dto.FindResponseDTO;
 import org.jeecg.modules.system.app.entity.AppFeedback;
+import org.jeecg.modules.system.app.enums.FeedbackTypeEnum;
 import org.jeecg.modules.system.app.mapper.AppFeedbackMapper;
 import org.jeecg.modules.system.app.service.IAppFeedbackService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -38,6 +39,12 @@ public class AppFeedbackServiceImpl extends ServiceImpl<AppFeedbackMapper, AppFe
                 if (StringUtils.isNotEmpty(record.getFeedbackImg())){
                     imgSplit(record);
                 }
+                String feedbackName =null;
+                FeedbackTypeEnum byCode = FeedbackTypeEnum.getByCode(record.getFeedbackType());
+                if (byCode!=null){
+                    feedbackName =byCode.getName();
+                }
+                record.setFeedbackName(feedbackName);
             }
         }
         return findPage;
@@ -49,14 +56,20 @@ public class AppFeedbackServiceImpl extends ServiceImpl<AppFeedbackMapper, AppFe
         if (findResponseDTO!=null&&StringUtils.isNotEmpty(findResponseDTO.getFeedbackImg())){
             imgSplit(findResponseDTO);
         }
+        String feedbackName =null;
+        FeedbackTypeEnum byCode = FeedbackTypeEnum.getByCode(findResponseDTO.getFeedbackType());
+        if (byCode!=null){
+            feedbackName =byCode.getName();
+        }
+        findResponseDTO.setFeedbackName(feedbackName);
         return findResponseDTO;
     }
 
 
     private static void imgSplit(FindResponseDTO findResponseDTO ){
         List<String> strings = new ArrayList<>();
-        if (findResponseDTO.getFeedbackImg().indexOf(";")>0){
-            strings = Arrays.asList(findResponseDTO.getFeedbackImg().split(";"));
+        if (findResponseDTO.getFeedbackImg().indexOf(",")>0){
+            strings = Arrays.asList(findResponseDTO.getFeedbackImg().split(","));
         }else {
             strings.add(findResponseDTO.getFeedbackImg());
 

+ 48 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/EvaluateServiceImpl.java

@@ -0,0 +1,48 @@
+package org.jeecg.modules.system.app.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
+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.mapper.EvaluateMapper;
+import org.jeecg.modules.system.app.service.IEvaluateService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @Description: 评价管理
+ * @Author: jeecg-boot
+ * @Date:   2025-07-07
+ * @Version: V1.0
+ */
+@Service
+public class EvaluateServiceImpl extends ServiceImpl<EvaluateMapper, Evaluate> implements IEvaluateService {
+
+    @Autowired
+    EvaluateMapper evaluateMapper;
+
+    @Override
+    public IPage<FindEvaluateResponseDTO> findPage(Integer pageNo, Integer pageSize, FindEvaluateRequestDTO findEvaluateRequestDTO) {
+        Page<FindEvaluateResponseDTO> page = new Page<FindEvaluateResponseDTO>(pageNo, pageSize);
+        IPage<FindEvaluateResponseDTO> findEvaluateResponseDTOIPage= evaluateMapper.findPage(page, findEvaluateRequestDTO);
+        if (findEvaluateResponseDTOIPage!=null&&findEvaluateResponseDTOIPage.getRecords()!=null){
+            for (FindEvaluateResponseDTO record : findEvaluateResponseDTOIPage.getRecords()) {
+                List<String> strings = new ArrayList<>();
+                if (StringUtils.isNotEmpty(record.getImages())&&record.getImages().indexOf(",")>0){
+                    strings = Arrays.asList(record.getImages().split(","));
+                }else {
+                    strings.add(record.getImages());
+                }
+                record.setImageList(strings);
+            }
+        }
+        return findEvaluateResponseDTOIPage;
+    }
+}