Browse Source

解决了操作日志问题

lwh 2 tháng trước cách đây
mục cha
commit
0d26483466

+ 5 - 5
yudao-module-museum/yudao-module-museum-api/src/main/java/cn/iocoder/yudao/module/museum/enums/social/LogRecordConstants.java

@@ -33,14 +33,14 @@ public interface LogRecordConstants {
     // 操作类型常量
     String MUSEUM_TYPE = "MUSEUM 标本";
     String CREATE_SUB_TYPE = "入库记录";
-    String CREATE_SUB_TYPE_SUCCESS = "标本【{{#sampleId.chineseName}}】入库成功";
+    String CREATE_SUB_TYPE_SUCCESS = "标本【{{#sample.chineseName}}】入库成功";
     String UPDATE_SUB_TYPE = "更新记录";
-    String UPDATE_SUB_TYPE_SUCCESS = "更新了标本【{{#sampleId.chineseName}}】: {_DIFF{#MuseumInfoSaveVO}}";
+    String UPDATE_SUB_TYPE_SUCCESS = "更新了标本【{{#sample.chineseName}}】: {_DIFF{#MuseumInfoSaveVO}}";
     String DELETE_SUB_TYPE = "删除记录";
-    String DELETE_SUB_TYPE_SUCCESS = "删除了标本【{{#sampleId.chineseName}}】";
+    String DELETE_SUB_TYPE_SUCCESS = "删除了标本【{{#sample.chineseName}}】";
     String OUT_MUSEUM_SUB_TYPE = "出库记录";
-    String OUT_MUSEUM_SUB_TYPE_SUCCESS = "标本【{{#sampleId.chineseName}}】出库成功 : {_DIFF{#MuseumInfoSaveVO}}";
+    String OUT_MUSEUM_SUB_TYPE_SUCCESS = "标本【{{#sample.chineseName}}】出库 : {_DIFF{#MuseumInfoSaveVO}}";
     String BACK_MUSEUM_SUB_TYPE = "回库记录";
-    String BACK_MUSEUM_SUB_TYPE_SUCCESS = "标本【{{#sampleId.chineseName}}】回库成功";
+    String BACK_MUSEUM_SUB_TYPE_SUCCESS = "标本【{{#sample.chineseName}}】回库 : {_DIFF{#MuseumInfoSaveVO}}";
 
 }

+ 4 - 13
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/controller/admin/museuminfo/MuseumInfoController.java

@@ -1,7 +1,5 @@
 package cn.iocoder.yudao.module.museum.controller.admin.museuminfo;
 
-import cn.hutool.json.JSONArray;
-import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
@@ -9,17 +7,10 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
 import cn.iocoder.yudao.module.museum.controller.admin.museuminfo.vo.*;
 import cn.iocoder.yudao.module.museum.dal.database.museuminfo.MuseumInfoDO;
 import cn.iocoder.yudao.module.museum.service.museuminfo.MuseumInfoService;
-import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserImportExcelVO;
-import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserImportRespVO;
-import cn.iocoder.yudao.module.system.enums.common.SexEnum;
-import com.alibaba.druid.filter.logging.Log4j2Filter;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.Parameters;
 import io.swagger.v3.oas.annotations.tags.Tag;
-import org.apache.ibatis.annotations.Param;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -46,7 +37,7 @@ public class MuseumInfoController {
     //TODO 判断标本编号是否重复
     @PostMapping("/create")
     @Operation(summary = "新增标本")
-    public CommonResult<Integer> createMuseumInfo(@RequestBody MuseumInfoSaveVO saveVO) {
+    public CommonResult<Integer> createMuseumInfo(@Valid @RequestBody MuseumInfoSaveVO saveVO) {
         String sampleId = saveVO.getSampleId();
         String result = museumInfoService.getMuseumInfoBySampleId(sampleId);
         if (result != null) {
@@ -259,14 +250,14 @@ public class MuseumInfoController {
             Integer number3 = museumInfoService.MuseumInfoByOrigin(year,3);
             Integer number4 = museumInfoService.MuseumInfoByOrigin(year,4);
 
-            Map<Integer,Object> map = new HashMap<>();
+            Map<Integer,Object> Map = new HashMap<>();
             Map<String, Integer> innerMap = new HashMap<>();
             innerMap.put("采购", number1);
             innerMap.put("捐赠", number2);
             innerMap.put("采集", number3);
             innerMap.put("其他", number4);
-            map.put(year,innerMap);
-            result.add(map);
+            Map.put(year,innerMap);
+            result.add(Map);
         }
         return CommonResult.success(result);
     }

+ 6 - 2
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/controller/admin/museuminfo/vo/MuseumInfoRespVO.java

@@ -4,6 +4,9 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Pattern;
+import javax.validation.constraints.Size;
 import java.time.LocalDateTime;
 import java.util.List;
 
@@ -11,11 +14,12 @@ import java.util.List;
 @Data
 @ExcelIgnoreUnannotated
 public class MuseumInfoRespVO {
-//private Integer Ynumber;
-
     @Schema(description = "标本id")
     private Integer id;
 
+    @NotBlank(message = "标本编号不能为空")
+    @Pattern(regexp = "^[a-zA-Z0-9]{4,30}$", message = "用户账号由 数字、字母 组成")
+    @Size(min = 4, max = 30, message = "标本编号长度为 4-30 个字符")
     @Schema(description = "标本编号")
     private String sampleId;
 

+ 1 - 0
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/controller/admin/museuminfo/vo/MuseumInfoSaveVO.java

@@ -12,6 +12,7 @@ public class MuseumInfoSaveVO {
 
     @Schema(description = "标本id")
     private Integer id;
+//    private Long id;
 
     @Schema(description = "标本编号")
     private String sampleId;

+ 1 - 0
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/controller/admin/museuminfo/vo/MuseuminfoImportExcelVO.java

@@ -43,6 +43,7 @@ public class MuseuminfoImportExcelVO {
     @ExcelProperty("国际名称")
     private String internationName;
 
+
     @ExcelProperty("保存类型")
     private Integer keepType;
 

+ 5 - 20
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/dal/mysql/museuminfo/MuseumInfoMapper.java

@@ -4,18 +4,16 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.museum.controller.admin.museuminfo.vo.*;
-import cn.iocoder.yudao.module.museum.dal.database.museumflow.MuseumFlowDO;
+
 import cn.iocoder.yudao.module.museum.dal.database.museuminfo.MuseumInfoDO;
-import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
-import org.apache.ibatis.annotations.Mapper;
+
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 import org.apache.ibatis.annotations.Update;
 
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
+
 
 @Mapper
 public interface MuseumInfoMapper extends BaseMapperX<MuseumInfoDO> {
@@ -33,12 +31,12 @@ public interface MuseumInfoMapper extends BaseMapperX<MuseumInfoDO> {
     /**
      * 标本出库
      */
-    @Update("UPDATE museum_info SET store=0  WHERE id =#{id}")
+    @Update("UPDATE museum_info SET store=0  WHERE id =#{id} AND deleted =0")
     void outSampleMuseumInfo(@Param("id")Integer id);
     /**
      * 标本回库
      */
-    @Update("UPDATE museum_info SET store=1  WHERE id =#{id}")
+    @Update("UPDATE museum_info SET store=1  WHERE id =#{id} AND deleted =0")
     void backSampleMuseumInfo(@Param("id")Integer id);
     /**
      * 删除标本
@@ -139,20 +137,9 @@ public interface MuseumInfoMapper extends BaseMapperX<MuseumInfoDO> {
             " AND origin = #{origin}")
     Integer countMuseumInfoByOrigin(@Param("year") Integer year, @Param("origin") Integer origin);
 
-
-
-
     /**
      * 分页
      */
-//    default PageResult<MuseumInfoDO> selectPage(MuseumInfoPageReqVO pageReqVO) {
-//        LambdaQueryWrapperX<MuseumInfoDO> queryWrapper = new LambdaQueryWrapperX<>();
-//        queryWrapper.likeIfPresent(MuseumInfoDO::getSampleId, pageReqVO.getSampleId())
-//                .eqIfPresent(MuseumInfoDO::getSampleType, pageReqVO.getSampleType())
-//                .likeIfPresent(MuseumInfoDO::getPlace, pageReqVO.getPlace())
-//                .orderByDesc(MuseumInfoDO::getId);
-//        return selectPage(pageReqVO, queryWrapper);}
-//
     default PageResult<MuseumInfoDO> selectPage(MuseumInfoPageReqVO pageReqVO) {
         return selectPage(pageReqVO, new LambdaQueryWrapperX<MuseumInfoDO>()
                 .likeIfPresent(MuseumInfoDO::getSampleId, pageReqVO.getSampleId())
@@ -160,6 +147,4 @@ public interface MuseumInfoMapper extends BaseMapperX<MuseumInfoDO> {
                 .likeIfPresent(MuseumInfoDO::getPlace, pageReqVO.getPlace())
                 .orderByDesc(MuseumInfoDO::getId));
     }
-
-
 }

+ 4 - 8
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/service/museuminfo/MuseumInfoService.java

@@ -3,16 +3,12 @@ package cn.iocoder.yudao.module.museum.service.museuminfo;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.module.museum.controller.admin.museuminfo.vo.*;
 import cn.iocoder.yudao.module.museum.dal.database.museuminfo.MuseumInfoDO;
-import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserImportExcelVO;
-import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserImportRespVO;
-import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
-import org.apache.ibatis.annotations.Param;
+
 import org.springframework.stereotype.Service;
 
 import javax.validation.Valid;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
+
 
 @Service
 public interface MuseumInfoService {
@@ -42,11 +38,11 @@ public interface MuseumInfoService {
     * */
    MuseumInfoDO selectMuseumInfo (Integer id);
    /**
-    * 查询标本编号
+    * 查询标本编号(String)
     * */
    String getMuseumInfoBySampleId(String sampleId);
    /**
-    * 查询标本编号1
+    * 查询标本编号(DO)
     * */
    MuseumInfoDO selectMuseumInfoBySampleId(String sampleId);
    /**

+ 12 - 9
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/service/museuminfo/MuseumInfoServiceImpl.java

@@ -34,23 +34,24 @@ public  class  MuseumInfoServiceImpl implements MuseumInfoService {
     * 新增标本
     */
    @Override
-   @LogRecord(type = MUSEUM_TYPE, subType = CREATE_SUB_TYPE, bizNo = "{{#sampleId.id}}",
+   @LogRecord(type = MUSEUM_TYPE, subType = CREATE_SUB_TYPE, bizNo = "{{#sample.id}}",
            success =  CREATE_SUB_TYPE_SUCCESS)
    public Integer createMuseumInfo(MuseumInfoSaveVO saveVO) {
       MuseumInfoDO sample = BeanUtils.toBean(saveVO, MuseumInfoDO.class);
+      sample.setStore(1);
       museumInfoMapper.insert(sample);
-      LogRecordContext.putVariable("sample", sample );
+      LogRecordContext.putVariable("sample", sample);
       return sample.getId();
+
    }
    /**
     * 更新标本
     */
-   @LogRecord(type = MUSEUM_TYPE, subType = UPDATE_SUB_TYPE, bizNo = "{{#sampleId.id}}",
+   @LogRecord(type = MUSEUM_TYPE, subType = UPDATE_SUB_TYPE, bizNo = "{{#sample.id}}",
            success = UPDATE_SUB_TYPE_SUCCESS)
    @Override
    public void updateSampleMuseumInfo(MuseumInfoSaveVO saveVO) {
       MuseumInfoDO sample = BeanUtils.toBean(saveVO,MuseumInfoDO.class);
-
       museumInfoMapper.updateMuseumInfo(sample);
       LogRecordContext.putVariable(DiffParseFunction.OLD_OBJECT, BeanUtils.toBean(sample, MuseumInfoSaveVO.class));
       LogRecordContext.putVariable("sample", sample );
@@ -59,30 +60,32 @@ public  class  MuseumInfoServiceImpl implements MuseumInfoService {
    /**
     * 标本出库
     */
-   @LogRecord(type = MUSEUM_TYPE, subType = OUT_MUSEUM_SUB_TYPE, bizNo = "{{#sampleId.id}}",
+   @LogRecord(type = MUSEUM_TYPE, subType = OUT_MUSEUM_SUB_TYPE, bizNo = "{{#sample.id}}",
            success = OUT_MUSEUM_SUB_TYPE_SUCCESS)
    @Override
    public void outSampleMuseumInfo(Integer id){
       MuseumInfoDO sample = museumInfoMapper.selectMuseumInfoById(id);
       museumInfoMapper.outSampleMuseumInfo(id);
+      LogRecordContext.putVariable(DiffParseFunction.OLD_OBJECT, BeanUtils.toBean(sample, MuseumInfoSaveVO.class));
       LogRecordContext.putVariable("sample",sample);
    }
    /**
     * 标本回库
     */
-   @LogRecord(type = MUSEUM_TYPE, subType = BACK_MUSEUM_SUB_TYPE, bizNo = "{{#sampleId.id}}",
+   @LogRecord(type = MUSEUM_TYPE, subType = BACK_MUSEUM_SUB_TYPE, bizNo = "{{#sample.id}}",
            success = BACK_MUSEUM_SUB_TYPE_SUCCESS)
    @Override
    public void backSampleMuseumInfo(Integer id){
       MuseumInfoDO sample = museumInfoMapper.selectMuseumInfoById(id);
       museumInfoMapper.backSampleMuseumInfo(id);
+      LogRecordContext.putVariable(DiffParseFunction.OLD_OBJECT, BeanUtils.toBean(sample, MuseumInfoSaveVO.class));
       LogRecordContext.putVariable("sample",sample);
    }
    /**
     * 删除标本
     */
    @Override
-   @LogRecord(type = MUSEUM_TYPE, subType = DELETE_SUB_TYPE, bizNo = "{{#sampleId.id}}",
+   @LogRecord(type = MUSEUM_TYPE, subType = DELETE_SUB_TYPE, bizNo = "{{#sample.id}}",
            success = DELETE_SUB_TYPE_SUCCESS)
    public void deleteMuseumInfo(Integer id,String reason) {
       MuseumInfoDO sample = museumInfoMapper.selectMuseumInfoById(id);
@@ -98,14 +101,14 @@ public  class  MuseumInfoServiceImpl implements MuseumInfoService {
    }
 
    /**
-    * 查询标本编号
+    * 查询标本编号(String)
     */
    @Override
    public String getMuseumInfoBySampleId (String sampleId) {
       return museumInfoMapper.getMuseumInfoBySampleId(sampleId);
    }
    /**
-    * 查询标本编号1
+    * 查询标本编号(DO)
     */
    @Override
    public  MuseumInfoDO selectMuseumInfoBySampleId (String sampleId) {