意见反馈新增附件修改

main
Zangzhipeng 1 year ago
parent 8c434629ce
commit 1f329ba376
  1. 1
      src/main/java/org/springblade/common/event/ApiLogListener.java
  2. 12
      src/main/java/org/springblade/modules/system/controller/LogApiController.java
  3. 39
      src/main/java/org/springblade/modules/system/service/impl/LogApiServiceImpl.java
  4. 12
      src/main/java/org/springblade/modules/workOrder/controller/FeedbackController.java
  5. 7
      src/main/java/org/springblade/modules/workOrder/controller/KnowledgeDetailsController.java
  6. 11
      src/main/java/org/springblade/modules/workOrder/entity/Feedback.java

@ -12,7 +12,6 @@ import org.springblade.modules.system.service.ILogService;
import org.springframework.context.event.EventListener; import org.springframework.context.event.EventListener;
import org.springframework.core.annotation.Order; import org.springframework.core.annotation.Order;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import java.util.Map; import java.util.Map;
/** /**

@ -2,30 +2,23 @@ package org.springblade.modules.system.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springblade.common.cache.UserCache;
import org.springblade.core.launch.constant.AppConstant; import org.springblade.core.launch.constant.AppConstant;
import org.springblade.core.log.model.LogApi; import org.springblade.core.log.model.LogApi;
import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query; import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.WebUtil;
import org.springblade.modules.system.dto.LogDTO; import org.springblade.modules.system.dto.LogDTO;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.ILogApiService; import org.springblade.modules.system.service.ILogApiService;
import org.springblade.modules.system.vo.LogRecord; import org.springblade.modules.system.vo.LogRecord;
import org.springblade.modules.system.vo.LogVO;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore; import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletRequest;
import java.awt.*;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects;
/** /**
* 控制器 * 控制器
@ -65,6 +58,9 @@ public class LogApiController {
@GetMapping("/logOnList") @GetMapping("/logOnList")
public R<List<LogRecord>> logOnList(@ApiIgnore LogDTO log, Query query) { public R<List<LogRecord>> logOnList(@ApiIgnore LogDTO log, Query query) {
// HttpServletRequest request = WebUtil.getRequest(); // HttpServletRequest request = WebUtil.getRequest();
if(!Objects.equals(log.getLogType(), "1") || !Objects.equals(log.getLogType(), "2")){
return R.fail("日志类型入参有误(logType)");
}
if(log.getLogType() == null || (!log.getLogType().equals("1") && !log.getLogType().equals("2"))){ if(log.getLogType() == null || (!log.getLogType().equals("1") && !log.getLogType().equals("2"))){
return R.fail("日志类型入参有误(logType in ('1','2'))"); return R.fail("日志类型入参有误(logType in ('1','2'))");

@ -31,22 +31,16 @@ public class LogApiServiceImpl extends ServiceImpl<LogApiMapper, LogApi> impleme
@Override @Override
public List<LogRecord> logOnList(LogDTO log) { public List<LogRecord> logOnList(LogDTO log) {
if(!log.getUserId().isEmpty()){
User user = UserCache.getUser(Long.valueOf(log.getUserId()));
log.setUserId(user.getAccount());
}
// 按照月份查询日志所有数据
List<LogVO> logs = baseMapper.logOnList(log);
// 返回集合创建
List<LogRecord> logRecords = new LinkedList<>(); List<LogRecord> logRecords = new LinkedList<>();
LogRecord logRecord = new LogRecord(); LogRecord logRecord = new LogRecord();
// yyyy-MM-dd 日期格式转换
SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// yyyy-MM 年月日志标识 // yyyy-MM年月日志标识
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM"); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM");
// 按照月份查询日志所有数据
List<LogVO> logs = baseMapper.logOnList(log);
// 记录年月 // 记录年月
AtomicReference<String> yearMonth = new AtomicReference<>(null); AtomicReference<String> yearMonth = new AtomicReference<>(null);
// logs遍历计数器 // logs遍历计数器
@ -55,8 +49,10 @@ public class LogApiServiceImpl extends ServiceImpl<LogApiMapper, LogApi> impleme
int totalLogs = logs.size(); int totalLogs = logs.size();
// 遍历日志数据 // 遍历日志数据
// logs.forEach(logInfo -> {
for (LogVO logInfo:logs){ for (LogVO logInfo:logs){
count.incrementAndGet();
// 当前年月 // 当前年月
String currentYearMonth = formatter.format(logInfo.getCreateTime()); String currentYearMonth = formatter.format(logInfo.getCreateTime());
@ -79,15 +75,16 @@ public class LogApiServiceImpl extends ServiceImpl<LogApiMapper, LogApi> impleme
if (yearMonth.get().equals(currentYearMonth)) { if (yearMonth.get().equals(currentYearMonth)) {
// 将该条数据插入logs // 将该条数据插入logs
logRecord.getLogs().add(logInfo); logRecord.getLogs().add(logInfo);
}else{ // 当前年月不等于记录年月 }else{ // 当前年月不等于记录年月
// 将当前年月赋值给记录年月 // 将当前年月赋值给记录年月
yearMonth.set(currentYearMonth); yearMonth.set(currentYearMonth);
// 将上一组数据存入 // 将上一组数据存入
for (LogVO logVO : logRecord.getLogs()){ for (LogVO logVO : logRecord.getLogs()){
User user1 = UserCache.getUser(logVO.getTenantId(), logVO.getCreateBy()); User user = UserCache.getUser(logVO.getTenantId(), logVO.getCreateBy());
if(user1 != null){ if(user != null){
logVO.setRealName(user1.getRealName()); logVO.setRealName(user.getRealName());
logVO.setTitle(user1.getRealName() + logVO.getTitle()); logVO.setTitle(user.getRealName() + logVO.getTitle());
} }
// formatter1.format(logVO.getCreateTime()).substring(8); // formatter1.format(logVO.getCreateTime()).substring(8);
@ -111,16 +108,14 @@ public class LogApiServiceImpl extends ServiceImpl<LogApiMapper, LogApi> impleme
} }
} }
// 最后一次遍历,提交最后一组对象
if (count.get() == totalLogs) { if (count.get() == totalLogs) {
// 遍历单条日志内容 for (LogVO logVO : logRecord.getLogs()){
for (LogVO logVO : logRecord.getLogs()) { User user = UserCache.getUser(logVO.getTenantId(), logVO.getCreateBy());
// 查询缓存中的用户内容 if(user != null){
User user1 = UserCache.getUser(logVO.getTenantId(), logVO.getCreateBy()); logVO.setRealName(user.getRealName());
if(user1 != null){ logVO.setTitle(user.getRealName() + logVO.getTitle());
logVO.setRealName(user1.getRealName());
logVO.setTitle(user1.getRealName() + logVO.getTitle());
} }
String substring = formatter1.format(logVO.getCreateTime()).substring(8); String substring = formatter1.format(logVO.getCreateTime()).substring(8);
logVO.setTime(substring.substring(0,2) + "日" + substring.substring(2)); logVO.setTime(substring.substring(0,2) + "日" + substring.substring(2));
} }

@ -110,7 +110,6 @@ public class FeedbackController extends BladeController {
List<Attachs> list = attachService.list(eq); List<Attachs> list = attachService.list(eq);
record.setAttach(list); record.setAttach(list);
} }
return R.data(pages); return R.data(pages);
} }
@ -137,6 +136,8 @@ public class FeedbackController extends BladeController {
feedback.setUnitName("测试单位名称"); feedback.setUnitName("测试单位名称");
feedback.setStatus(0); feedback.setStatus(0);
boolean saveOrUpdate = feedbackService.saveOrUpdate(feedback);
// 将附件集合插入附件表 // 将附件集合插入附件表
List<Attachs> attach = feedback.getAttach(); List<Attachs> attach = feedback.getAttach();
if (CollectionUtil.isNotEmpty(attach)) { if (CollectionUtil.isNotEmpty(attach)) {
@ -144,7 +145,7 @@ public class FeedbackController extends BladeController {
attachService.saveBatch(attach); attachService.saveBatch(attach);
} }
// 接口返回boolean类型 // 接口返回boolean类型
return R.status(feedbackService.saveOrUpdate(feedback)); return R.status(saveOrUpdate);
} }
/** /**
@ -161,6 +162,8 @@ public class FeedbackController extends BladeController {
LambdaQueryWrapper<Attachs> wrapper = Wrappers.lambdaQuery(Attachs.class).eq(Attachs::getRelationId,feedback.getId()); LambdaQueryWrapper<Attachs> wrapper = Wrappers.lambdaQuery(Attachs.class).eq(Attachs::getRelationId,feedback.getId());
attachService.remove(wrapper); attachService.remove(wrapper);
boolean update = feedbackService.updateById(feedback);
// 赋值id给附件表 // 赋值id给附件表
for(Attachs attachs: feedback.getAttach()){ for(Attachs attachs: feedback.getAttach()){
attachs.setRelationId(feedback.getId()); attachs.setRelationId(feedback.getId());
@ -168,7 +171,7 @@ public class FeedbackController extends BladeController {
// 更新附件表 // 更新附件表
attachService.saveOrUpdateBatch(feedback.getAttach()); attachService.saveOrUpdateBatch(feedback.getAttach());
return R.status(feedbackService.updateById(feedback)); return R.status(update);
} }
/** /**
@ -183,6 +186,7 @@ public class FeedbackController extends BladeController {
feedback.setStatus(3); feedback.setStatus(3);
} }
boolean saveOrUpdate = feedbackService.saveOrUpdate(feedback);
// 将附件集合插入附件表 // 将附件集合插入附件表
List<Attachs> attach = feedback.getAttach(); List<Attachs> attach = feedback.getAttach();
// 判断是否为空 // 判断是否为空
@ -190,7 +194,7 @@ public class FeedbackController extends BladeController {
attach.forEach(attachVO -> attachVO.setRelationId(feedback.getId())); attach.forEach(attachVO -> attachVO.setRelationId(feedback.getId()));
attachService.saveBatch(attach); attachService.saveBatch(attach);
} }
return R.status(feedbackService.saveOrUpdate(feedback)); return R.status(saveOrUpdate);
} }
/** /**

@ -178,9 +178,10 @@ public class KnowledgeDetailsController extends BladeController {
// for(Attachs attachs : knowledgeDetails.getAttach()){ // for(Attachs attachs : knowledgeDetails.getAttach()){
// // 排除当前记录的ID // // 排除当前记录的ID
// LambdaQueryWrapper<Attachs> wrapper = Wrappers.lambdaQuery(Attachs.class) // LambdaQueryWrapper<Attachs> wrapper1 = Wrappers.lambdaQuery(Attachs.class)
// .ne(Attachs::getId, attachs.getId()) //// .ne(Attachs::getId, attachs.getId())
// .eq(Attachs::getRelationId,knowledgeDetails.getId()); // .ne(Attachs::getRelationId,knowledgeDetails.getId());
//
// } // }
// 查询更新无关的数据,逻辑删除 // 查询更新无关的数据,逻辑删除

@ -1,6 +1,8 @@
package org.springblade.modules.workOrder.entity; package org.springblade.modules.workOrder.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
@ -23,6 +25,15 @@ import java.util.List;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
public class Feedback extends BaseEntity { public class Feedback extends BaseEntity {
/**
* 意见主键
*/
@TableId(
value = "id",
type = IdType.ASSIGN_ID
)
private Long id;
/** /**
* 意见编号 * 意见编号
*/ */

Loading…
Cancel
Save