Browse Source

增加动态记录和备注功能接口

master
刘忱 2 years ago
parent
commit
5a16d21e9a
  1. 4
      win-module-infra/win-module-infra-api/src/main/java/com/win/module/infra/api/package-info.java
  2. 15
      win-module-infra/win-module-infra-api/src/main/java/com/win/module/infra/api/trends/TrendsApi.java
  3. 22
      win-module-infra/win-module-infra-api/src/main/java/com/win/module/infra/api/trends/dto/TrendsCreateReqDTO.java
  4. 1
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/package-info.java
  5. 26
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/trends/TrendsApiImpl.java
  6. 57
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/remark/RemarkController.java
  7. 30
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/remark/vo/RemarkBaseVO.java
  8. 12
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/remark/vo/RemarkCreateReqVO.java
  9. 27
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/remark/vo/RemarkListReqVO.java
  10. 16
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/remark/vo/RemarkRespVO.java
  11. 81
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/TrendsController.java
  12. 33
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsBaseVO.java
  13. 12
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsCreateReqVO.java
  14. 35
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsExcelVO.java
  15. 29
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsExportReqVO.java
  16. 31
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsPageReqVO.java
  17. 16
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsRespVO.java
  18. 18
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsUpdateReqVO.java
  19. 30
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/remark/RemarkConvert.java
  20. 39
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/trends/TrendsConvert.java
  21. 51
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/dataobject/remark/RemarkDO.java
  22. 55
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/dataobject/trends/TrendsDO.java
  23. 27
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/remark/RemarkMapper.java
  24. 39
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/trends/TrendsMapper.java
  25. 41
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/remark/RemarkService.java
  26. 45
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/remark/RemarkServiceImpl.java
  27. 59
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/trends/TrendsService.java
  28. 55
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/trends/TrendsServiceImpl.java
  29. 0
      win-module-infra/win-module-infra-biz/src/main/resources/mapper/null/.gitkeep
  30. 16
      win-module-infra/win-module-infra-biz/src/main/resources/mapper/test/TestDemoMapper.xml
  31. 3
      win-server/src/main/resources/application-dev.yaml
  32. 3
      win-server/src/main/resources/application-prod.yaml
  33. 3
      win-server/src/main/resources/application-test.yaml
  34. 5
      win-server/src/main/resources/application.yaml

4
win-module-infra/win-module-infra-api/src/main/java/com/win/module/infra/api/package-info.java

@ -1,4 +0,0 @@
/**
* infra API 定义暴露给其它模块的 API
*/
package com.win.module.infra.api;

15
win-module-infra/win-module-infra-api/src/main/java/com/win/module/infra/api/trends/TrendsApi.java

@ -0,0 +1,15 @@
package com.win.module.infra.api.trends;
import com.win.module.infra.api.trends.dto.TrendsCreateReqDTO;
import javax.validation.Valid;
public interface TrendsApi {
/**
* 创建动态记录
* @param createDTO
*/
void createTrends(@Valid TrendsCreateReqDTO createDTO);
}

22
win-module-infra/win-module-infra-api/src/main/java/com/win/module/infra/api/trends/dto/TrendsCreateReqDTO.java

@ -0,0 +1,22 @@
package com.win.module.infra.api.trends.dto;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class TrendsCreateReqDTO {
@NotNull(message = "表名不能为空")
private String tableName;
@NotNull(message = "表数据id不能为空")
private Long tableId;
@NotNull(message = "类型不能为空")
private Byte type;
@NotNull(message = "内容不能为空")
private String content;
}

1
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/package-info.java

@ -1 +0,0 @@
package com.win.module.infra.api;

26
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/api/trends/TrendsApiImpl.java

@ -0,0 +1,26 @@
package com.win.module.infra.api.trends;
import com.win.module.infra.api.trends.dto.TrendsCreateReqDTO;
import com.win.module.infra.service.trends.TrendsService;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
/**
* API 访问日志的 API 实现类
*
* @author 闻荫源码
*/
@Service
@Validated
public class TrendsApiImpl implements TrendsApi {
@Resource
private TrendsService trendsService;
@Override
public void createTrends(TrendsCreateReqDTO createDTO) {
trendsService.createTrends(createDTO);
}
}

57
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/remark/RemarkController.java

@ -0,0 +1,57 @@
package com.win.module.infra.controller.remark;
import com.win.framework.common.pojo.CommonResult;
import com.win.module.infra.controller.remark.vo.RemarkCreateReqVO;
import com.win.module.infra.controller.remark.vo.RemarkListReqVO;
import com.win.module.infra.controller.remark.vo.RemarkRespVO;
import com.win.module.infra.convert.remark.RemarkConvert;
import com.win.module.infra.dal.dataobject.remark.RemarkDO;
import com.win.module.infra.service.remark.RemarkService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;
import static com.win.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 备注")
@RestController
@RequestMapping("/infra/remark")
@Validated
public class RemarkController {
@Resource
private RemarkService remarkService;
@PostMapping("/create")
@Operation(summary = "创建备注")
@PreAuthorize("@ss.hasPermission('infra:remark:create')")
public CommonResult<Long> createRemark(@Valid @RequestBody RemarkCreateReqVO createReqVO) {
return success(remarkService.createRemark(createReqVO));
}
@GetMapping("/get")
@Operation(summary = "获得备注")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('infra:remark:query')")
public CommonResult<RemarkRespVO> getRemark(@RequestParam("id") Long id) {
RemarkDO remark = remarkService.getRemark(id);
return success(RemarkConvert.INSTANCE.convert(remark));
}
@GetMapping("/list")
@Operation(summary = "获得备注列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('infra:remark:query')")
public CommonResult<List<RemarkRespVO>> getRemarkList(@Valid RemarkListReqVO listVO) {
List<RemarkDO> list = remarkService.getRemarkList(listVO);
return success(RemarkConvert.INSTANCE.convertList(list));
}
}

30
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/remark/vo/RemarkBaseVO.java

@ -0,0 +1,30 @@
package com.win.module.infra.controller.remark.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import javax.validation.constraints.*;
/**
* 备注 Base VO提供给添加修改详细的子 VO 使用
* 如果子 VO 存在差异的字段请不要添加到这里影响 Swagger 文档生成
*/
@Data
public class RemarkBaseVO {
@Schema(description = "表名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
@NotNull(message = "表名不能为空")
private String tableName;
@Schema(description = "表数据id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8766")
@NotNull(message = "表数据id不能为空")
private Long tableId;
@Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "随便")
@NotNull(message = "备注不能为空")
private String remark;
}

12
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/remark/vo/RemarkCreateReqVO.java

@ -0,0 +1,12 @@
package com.win.module.infra.controller.remark.vo;
import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
@Schema(description = "管理后台 - 备注创建 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class RemarkCreateReqVO extends RemarkBaseVO {
}

27
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/remark/vo/RemarkListReqVO.java

@ -0,0 +1,27 @@
package com.win.module.infra.controller.remark.vo;
import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.win.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 备注分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class RemarkListReqVO extends PageParam {
@Schema(description = "表名", example = "芋艿")
private String tableName;
@Schema(description = "表数据id", example = "8766")
private Long tableId;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

16
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/remark/vo/RemarkRespVO.java

@ -0,0 +1,16 @@
package com.win.module.infra.controller.remark.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 备注 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class RemarkRespVO extends RemarkBaseVO {
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
private LocalDateTime createTime;
}

81
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/TrendsController.java

@ -0,0 +1,81 @@
package com.win.module.infra.controller.trends;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.infra.controller.trends.vo.TrendsExcelVO;
import com.win.module.infra.controller.trends.vo.TrendsExportReqVO;
import com.win.module.infra.controller.trends.vo.TrendsPageReqVO;
import com.win.module.infra.controller.trends.vo.TrendsRespVO;
import com.win.module.infra.convert.trends.TrendsConvert;
import com.win.module.infra.dal.dataobject.trends.TrendsDO;
import com.win.module.infra.service.trends.TrendsService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.Collection;
import java.util.List;
import static com.win.framework.common.pojo.CommonResult.success;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 动态记录")
@RestController
@RequestMapping("/infra/trends")
@Validated
public class TrendsController {
@Resource
private TrendsService trendsService;
@GetMapping("/get")
@Operation(summary = "获得动态记录")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('infra:trends:query')")
public CommonResult<TrendsRespVO> getTrends(@RequestParam("id") Long id) {
TrendsDO trends = trendsService.getTrends(id);
return success(TrendsConvert.INSTANCE.convert(trends));
}
@GetMapping("/list")
@Operation(summary = "获得动态记录列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('infra:trends:query')")
public CommonResult<List<TrendsRespVO>> getTrendsList(@RequestParam("ids") Collection<Long> ids) {
List<TrendsDO> list = trendsService.getTrendsList(ids);
return success(TrendsConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@Operation(summary = "获得动态记录分页")
@PreAuthorize("@ss.hasPermission('infra:trends:query')")
public CommonResult<PageResult<TrendsRespVO>> getTrendsPage(@Valid TrendsPageReqVO pageVO) {
PageResult<TrendsDO> pageResult = trendsService.getTrendsPage(pageVO);
return success(TrendsConvert.INSTANCE.convertPage(pageResult));
}
@GetMapping("/export-excel")
@Operation(summary = "导出动态记录 Excel")
@PreAuthorize("@ss.hasPermission('infra:trends:export')")
@OperateLog(type = EXPORT)
public void exportTrendsExcel(@Valid TrendsExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<TrendsDO> list = trendsService.getTrendsList(exportReqVO);
// 导出 Excel
List<TrendsExcelVO> datas = TrendsConvert.INSTANCE.convertList02(list);
ExcelUtils.write(response, "动态记录.xls", "数据", TrendsExcelVO.class, datas);
}
}

33
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsBaseVO.java

@ -0,0 +1,33 @@
package com.win.module.infra.controller.trends.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import javax.validation.constraints.*;
/**
* 动态记录 Base VO提供给添加修改详细的子 VO 使用
* 如果子 VO 存在差异的字段请不要添加到这里影响 Swagger 文档生成
*/
@Data
public class TrendsBaseVO {
@Schema(description = "表名", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
@NotNull(message = "表名不能为空")
private String tableName;
@Schema(description = "表数据id", requiredMode = Schema.RequiredMode.REQUIRED, example = "9210")
@NotNull(message = "表数据id不能为空")
private Long tableId;
@Schema(description = "类型1增加2删除3修改", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@NotNull(message = "类型1增加2删除3修改不能为空")
private Byte type;
@Schema(description = "内容")
private String content;
}

12
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsCreateReqVO.java

@ -0,0 +1,12 @@
package com.win.module.infra.controller.trends.vo;
import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
@Schema(description = "管理后台 - 动态记录创建 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class TrendsCreateReqVO extends TrendsBaseVO {
}

35
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsExcelVO.java

@ -0,0 +1,35 @@
package com.win.module.infra.controller.trends.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.ExcelProperty;
/**
* 动态记录 Excel VO
*
* @author 超级管理员
*/
@Data
public class TrendsExcelVO {
@ExcelProperty("表名")
private String tableName;
@ExcelProperty("表数据id")
private Long tableId;
@ExcelProperty("类型1增加2删除3修改")
private Byte type;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("内容")
private String content;
}

29
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsExportReqVO.java

@ -0,0 +1,29 @@
package com.win.module.infra.controller.trends.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.win.framework.common.pojo.PageParam;
import java.time.LocalDateTime;
import org.springframework.format.annotation.DateTimeFormat;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 动态记录 Excel 导出 Request VO,参数和 TrendsPageReqVO 是一致的")
@Data
public class TrendsExportReqVO {
@Schema(description = "表名", example = "赵六")
private String tableName;
@Schema(description = "表数据id", example = "9210")
private Long tableId;
@Schema(description = "类型1增加2删除3修改", example = "2")
private Byte type;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

31
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsPageReqVO.java

@ -0,0 +1,31 @@
package com.win.module.infra.controller.trends.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.win.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 动态记录分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class TrendsPageReqVO extends PageParam {
@Schema(description = "表名", example = "赵六")
private String tableName;
@Schema(description = "表数据id", example = "9210")
private Long tableId;
@Schema(description = "类型1增加2删除3修改", example = "2")
private Byte type;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

16
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsRespVO.java

@ -0,0 +1,16 @@
package com.win.module.infra.controller.trends.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 动态记录 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class TrendsRespVO extends TrendsBaseVO {
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
private LocalDateTime createTime;
}

18
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsUpdateReqVO.java

@ -0,0 +1,18 @@
package com.win.module.infra.controller.trends.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import javax.validation.constraints.*;
@Schema(description = "管理后台 - 动态记录更新 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class TrendsUpdateReqVO extends TrendsBaseVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3523")
@NotNull(message = "id不能为空")
private Long id;
}

30
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/remark/RemarkConvert.java

@ -0,0 +1,30 @@
package com.win.module.infra.convert.remark;
import com.win.framework.common.pojo.PageResult;
import com.win.module.infra.controller.remark.vo.RemarkCreateReqVO;
import com.win.module.infra.controller.remark.vo.RemarkRespVO;
import com.win.module.infra.dal.dataobject.remark.RemarkDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
* 备注 Convert
*
* @author 超级管理员
*/
@Mapper
public interface RemarkConvert {
RemarkConvert INSTANCE = Mappers.getMapper(RemarkConvert.class);
RemarkDO convert(RemarkCreateReqVO bean);
RemarkRespVO convert(RemarkDO bean);
List<RemarkRespVO> convertList(List<RemarkDO> list);
PageResult<RemarkRespVO> convertPage(PageResult<RemarkDO> page);
}

39
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/convert/trends/TrendsConvert.java

@ -0,0 +1,39 @@
package com.win.module.infra.convert.trends;
import com.win.framework.common.pojo.PageResult;
import com.win.module.infra.api.trends.dto.TrendsCreateReqDTO;
import com.win.module.infra.controller.trends.vo.TrendsCreateReqVO;
import com.win.module.infra.controller.trends.vo.TrendsExcelVO;
import com.win.module.infra.controller.trends.vo.TrendsRespVO;
import com.win.module.infra.controller.trends.vo.TrendsUpdateReqVO;
import com.win.module.infra.dal.dataobject.trends.TrendsDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
* 动态记录 Convert
*
* @author 超级管理员
*/
@Mapper
public interface TrendsConvert {
TrendsConvert INSTANCE = Mappers.getMapper(TrendsConvert.class);
TrendsDO convert(TrendsCreateReqVO bean);
TrendsDO convert(TrendsUpdateReqVO bean);
TrendsRespVO convert(TrendsDO bean);
List<TrendsRespVO> convertList(List<TrendsDO> list);
PageResult<TrendsRespVO> convertPage(PageResult<TrendsDO> page);
List<TrendsExcelVO> convertList02(List<TrendsDO> list);
TrendsDO convert(TrendsCreateReqDTO trendsDTO);
}

51
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/dataobject/remark/RemarkDO.java

@ -0,0 +1,51 @@
package com.win.module.infra.dal.dataobject.remark;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.win.framework.mybatis.core.dataobject.BaseDO;
/**
* 备注 DO
*
* @author 超级管理员
*/
@TableName("infra_remark")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RemarkDO extends BaseDO {
/**
* id
*/
@TableId
private Long id;
/**
* 表名
*/
private String tableName;
/**
* 表数据id
*/
private Long tableId;
/**
* 备注
*/
private String remark;
/**
* 删除时间
*/
private LocalDateTime deletionTime;
/**
* 删除者ID
*/
private String deleterId;
}

55
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/dataobject/trends/TrendsDO.java

@ -0,0 +1,55 @@
package com.win.module.infra.dal.dataobject.trends;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.win.framework.mybatis.core.dataobject.BaseDO;
/**
* 动态记录 DO
*
* @author 超级管理员
*/
@TableName("infra_trends")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TrendsDO extends BaseDO {
/**
* id
*/
@TableId
private Long id;
/**
* 表名
*/
private String tableName;
/**
* 表数据id
*/
private Long tableId;
/**
* 类型1增加2删除3修改
*/
private Byte type;
/**
* 删除时间
*/
private LocalDateTime deletionTime;
/**
* 删除者ID
*/
private String deleterId;
/**
* 内容
*/
private String content;
}

27
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/remark/RemarkMapper.java

@ -0,0 +1,27 @@
package com.win.module.infra.dal.mysql.remark;
import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.module.infra.controller.remark.vo.RemarkListReqVO;
import com.win.module.infra.dal.dataobject.remark.RemarkDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 备注 Mapper
*
* @author 超级管理员
*/
@Mapper
public interface RemarkMapper extends BaseMapperX<RemarkDO> {
default List<RemarkDO> selectList(RemarkListReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<RemarkDO>()
.likeIfPresent(RemarkDO::getTableName, reqVO.getTableName())
.eqIfPresent(RemarkDO::getTableId, reqVO.getTableId())
.betweenIfPresent(RemarkDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(RemarkDO::getId));
}
}

39
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/dal/mysql/trends/TrendsMapper.java

@ -0,0 +1,39 @@
package com.win.module.infra.dal.mysql.trends;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.module.infra.controller.trends.vo.TrendsExportReqVO;
import com.win.module.infra.controller.trends.vo.TrendsPageReqVO;
import com.win.module.infra.dal.dataobject.trends.TrendsDO;
import org.apache.ibatis.annotations.Mapper;
/**
* 动态记录 Mapper
*
* @author 超级管理员
*/
@Mapper
public interface TrendsMapper extends BaseMapperX<TrendsDO> {
default PageResult<TrendsDO> selectPage(TrendsPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<TrendsDO>()
.eqIfPresent(TrendsDO::getTableName, reqVO.getTableName())
.eqIfPresent(TrendsDO::getTableId, reqVO.getTableId())
.eqIfPresent(TrendsDO::getType, reqVO.getType())
.betweenIfPresent(TrendsDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(TrendsDO::getId));
}
default List<TrendsDO> selectList(TrendsExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<TrendsDO>()
.eqIfPresent(TrendsDO::getTableName, reqVO.getTableName())
.eqIfPresent(TrendsDO::getTableId, reqVO.getTableId())
.eqIfPresent(TrendsDO::getType, reqVO.getType())
.betweenIfPresent(TrendsDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(TrendsDO::getId));
}
}

41
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/remark/RemarkService.java

@ -0,0 +1,41 @@
package com.win.module.infra.service.remark;
import com.win.module.infra.controller.remark.vo.RemarkCreateReqVO;
import com.win.module.infra.controller.remark.vo.RemarkListReqVO;
import com.win.module.infra.dal.dataobject.remark.RemarkDO;
import javax.validation.Valid;
import java.util.List;
/**
* 备注 Service 接口
*
* @author 超级管理员
*/
public interface RemarkService {
/**
* 创建备注
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createRemark(@Valid RemarkCreateReqVO createReqVO);
/**
* 获得备注
*
* @param id 编号
* @return 备注
*/
RemarkDO getRemark(Long id);
/**
* 获得备注列表, 用于 Excel 导出
*
* @param listReqVO 查询条件
* @return 备注列表
*/
List<RemarkDO> getRemarkList(RemarkListReqVO listReqVO);
}

45
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/remark/RemarkServiceImpl.java

@ -0,0 +1,45 @@
package com.win.module.infra.service.remark;
import com.win.module.infra.controller.remark.vo.RemarkCreateReqVO;
import com.win.module.infra.controller.remark.vo.RemarkListReqVO;
import com.win.module.infra.convert.remark.RemarkConvert;
import com.win.module.infra.dal.dataobject.remark.RemarkDO;
import com.win.module.infra.dal.mysql.remark.RemarkMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.List;
/**
* 备注 Service 实现类
*
* @author 超级管理员
*/
@Service
@Validated
public class RemarkServiceImpl implements RemarkService {
@Resource
private RemarkMapper remarkMapper;
@Override
public Long createRemark(RemarkCreateReqVO createReqVO) {
// 插入
RemarkDO remark = RemarkConvert.INSTANCE.convert(createReqVO);
remarkMapper.insert(remark);
// 返回
return remark.getId();
}
@Override
public RemarkDO getRemark(Long id) {
return remarkMapper.selectById(id);
}
@Override
public List<RemarkDO> getRemarkList(RemarkListReqVO listReqVO) {
return remarkMapper.selectList(listReqVO);
}
}

59
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/trends/TrendsService.java

@ -0,0 +1,59 @@
package com.win.module.infra.service.trends;
import com.win.framework.common.pojo.PageResult;
import com.win.module.infra.api.trends.dto.TrendsCreateReqDTO;
import com.win.module.infra.controller.trends.vo.TrendsExportReqVO;
import com.win.module.infra.controller.trends.vo.TrendsPageReqVO;
import com.win.module.infra.dal.dataobject.trends.TrendsDO;
import javax.validation.Valid;
import java.util.Collection;
import java.util.List;
/**
* 动态记录 Service 接口
*
* @author 超级管理员
*/
public interface TrendsService {
/**
* 创建动态记录
*
* @param createReqVO 创建信息
*/
void createTrends(@Valid TrendsCreateReqDTO createReqVO);
/**
* 获得动态记录
*
* @param id 编号
* @return 动态记录
*/
TrendsDO getTrends(Long id);
/**
* 获得动态记录列表
*
* @param ids 编号
* @return 动态记录列表
*/
List<TrendsDO> getTrendsList(Collection<Long> ids);
/**
* 获得动态记录分页
*
* @param pageReqVO 分页查询
* @return 动态记录分页
*/
PageResult<TrendsDO> getTrendsPage(TrendsPageReqVO pageReqVO);
/**
* 获得动态记录列表, 用于 Excel 导出
*
* @param exportReqVO 查询条件
* @return 动态记录列表
*/
List<TrendsDO> getTrendsList(TrendsExportReqVO exportReqVO);
}

55
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/service/trends/TrendsServiceImpl.java

@ -0,0 +1,55 @@
package com.win.module.infra.service.trends;
import com.win.framework.common.pojo.PageResult;
import com.win.module.infra.api.trends.dto.TrendsCreateReqDTO;
import com.win.module.infra.controller.trends.vo.TrendsExportReqVO;
import com.win.module.infra.controller.trends.vo.TrendsPageReqVO;
import com.win.module.infra.convert.trends.TrendsConvert;
import com.win.module.infra.dal.dataobject.trends.TrendsDO;
import com.win.module.infra.dal.mysql.trends.TrendsMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.Collection;
import java.util.List;
/**
* 动态记录 Service 实现类
*
* @author 超级管理员
*/
@Service
@Validated
public class TrendsServiceImpl implements TrendsService {
@Resource
private TrendsMapper trendsMapper;
@Override
public void createTrends(TrendsCreateReqDTO createReqDTO) {
TrendsDO trends = TrendsConvert.INSTANCE.convert(createReqDTO);
trendsMapper.insert(trends);
}
@Override
public TrendsDO getTrends(Long id) {
return trendsMapper.selectById(id);
}
@Override
public List<TrendsDO> getTrendsList(Collection<Long> ids) {
return trendsMapper.selectBatchIds(ids);
}
@Override
public PageResult<TrendsDO> getTrendsPage(TrendsPageReqVO pageReqVO) {
return trendsMapper.selectPage(pageReqVO);
}
@Override
public List<TrendsDO> getTrendsList(TrendsExportReqVO exportReqVO) {
return trendsMapper.selectList(exportReqVO);
}
}

0
win-module-infra/win-module-infra-biz/src/main/resources/mapper/null/.gitkeep

16
win-module-infra/win-module-infra-biz/src/main/resources/mapper/test/TestDemoMapper.xml

@ -1,16 +0,0 @@
<?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.win.module.infra.dal.mysql.test.TestDemoMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
-->
<select id="selectList2" resultType="com.win.module.infra.dal.dataobject.test.TestDemoDO">
SELECT * FROM infra_test_demo
</select>
</mapper>

3
win-server/src/main/resources/application-dev.yaml

@ -164,3 +164,6 @@ win:
- ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求 - ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求
- ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求 - ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求
demo: false # 开启演示模式 demo: false # 开启演示模式
security:
mock-enable: true # 是否开启 Token 的模拟机制
mock-secret: test # Token 模拟机制的 Token 前缀

3
win-server/src/main/resources/application-prod.yaml

@ -163,3 +163,6 @@ win:
- ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求 - ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求
- ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求 - ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求
demo: false # 开启演示模式 demo: false # 开启演示模式
security:
mock-enable: false # 是否开启 Token 的模拟机制
mock-secret: test # Token 模拟机制的 Token 前缀

3
win-server/src/main/resources/application-test.yaml

@ -162,3 +162,6 @@ win:
- ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求 - ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求
- ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求 - ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求
demo: false # 开启演示模式 demo: false # 开启演示模式
security:
mock-enable: false # 是否开启 Token 的模拟机制
mock-secret: test # Token 模拟机制的 Token 前缀

5
win-server/src/main/resources/application.yaml

@ -139,7 +139,7 @@ win:
pubsub: pubsub:
enable: false # 是否开启 Redis pubsub 广播消费,默认为 true。这里设置成 false,可以按需开启 enable: false # 是否开启 Redis pubsub 广播消费,默认为 true。这里设置成 false,可以按需开启
stream: stream:
enable: false # 是否开启 Redis stream 集群消费,默认为 true。这里设置成 false,可以按需开启 enable: true # 是否开启 Redis stream 集群消费,默认为 true。这里设置成 false,可以按需开启
tenant: # 多租户相关配置项 tenant: # 多租户相关配置项
enable: true enable: true
ignore-urls: ignore-urls:
@ -199,6 +199,9 @@ win:
send-maximum-quantity-per-day: 10 send-maximum-quantity-per-day: 10
begin-code: 9999 # 这里配置 9999 的原因是,测试方便。 begin-code: 9999 # 这里配置 9999 的原因是,测试方便。
end-code: 9999 # 这里配置 9999 的原因是,测试方便。 end-code: 9999 # 这里配置 9999 的原因是,测试方便。
security:
permit-all-urls: # 排除权限校验url
- /admin-ui/** # /resources/admin-ui 目录下的静态资源
debug: false debug: false

Loading…
Cancel
Save