From 7ba09b8f09a941f5c88e007c7017abdbcaf88ef0 Mon Sep 17 00:00:00 2001 From: Yen Date: Fri, 17 Feb 2023 14:36:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AF=84=E8=AE=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/controller/BizCommentController.java | 118 ++++++++++++++++++ .../serve/modules/biz/entity/BizComment.java | 96 ++++++++++++++ .../modules/biz/entity/bo/BizCommentBo.java | 87 +++++++++++++ .../modules/biz/entity/so/BizCommentSo.java | 77 ++++++++++++ .../modules/biz/mapper/BizCommentMapper.java | 14 +++ .../biz/service/BizCommentService.java | 14 +++ .../service/impl/BizCommentServiceImpl.java | 22 ++++ .../service/PortalOfCostApplication.java | 3 +- 8 files changed, 430 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/qs/serve/modules/biz/controller/BizCommentController.java create mode 100644 src/main/java/com/qs/serve/modules/biz/entity/BizComment.java create mode 100644 src/main/java/com/qs/serve/modules/biz/entity/bo/BizCommentBo.java create mode 100644 src/main/java/com/qs/serve/modules/biz/entity/so/BizCommentSo.java create mode 100644 src/main/java/com/qs/serve/modules/biz/mapper/BizCommentMapper.java create mode 100644 src/main/java/com/qs/serve/modules/biz/service/BizCommentService.java create mode 100644 src/main/java/com/qs/serve/modules/biz/service/impl/BizCommentServiceImpl.java diff --git a/src/main/java/com/qs/serve/modules/biz/controller/BizCommentController.java b/src/main/java/com/qs/serve/modules/biz/controller/BizCommentController.java new file mode 100644 index 00000000..3773da3a --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/controller/BizCommentController.java @@ -0,0 +1,118 @@ +package com.qs.serve.modules.biz.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.SysLog; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.model.enums.BizType; +import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.PageUtil; +import com.qs.serve.common.util.CopierUtil; +import com.qs.serve.common.util.StringUtils; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import com.qs.serve.modules.biz.entity.so.BizCommentSo; +import com.qs.serve.modules.biz.entity.bo.BizCommentBo; +import com.qs.serve.modules.biz.entity.BizComment; +import com.qs.serve.modules.biz.service.BizCommentService; + +import javax.validation.Valid; +import java.util.List; + +/** + * 业务 通用的评论 + * @author YenHex + * @since 2023-02-17 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("biz/comment") +public class BizCommentController { + + private BizCommentService bizCommentService; + + /** + * 列表 + * @param param + * @return + */ + @GetMapping("/list") + public R> getList(BizCommentSo param){ + BizComment entity = CopierUtil.copy(param,new BizComment()); + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(entity); + PageUtil.startPage(); + List list = bizCommentService.list(lqw); + return R.ok(list); + } + + /** + * 翻页 + * @param param + * @return + */ + @GetMapping("/page") + public R> getPage(BizCommentSo param){ + BizComment entity = CopierUtil.copy(param,new BizComment()); + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(entity); + PageUtil.startPage(); + List list = bizCommentService.list(lqw); + return R.byPageHelperList(list); + } + + /** + * ID查询 + * @param id + * @return + */ + @GetMapping("/getById/{id}") + public R getById(@PathVariable("id") String id){ + BizComment bizComment = bizCommentService.getById(id); + return R.ok(bizComment); + } + + /** + * 更新 + * @param param + * @return + */ + @PostMapping("/updateById") + @SysLog(module = SystemModule.BIZ, title = "评论", biz = BizType.UPDATE) + @PreAuthorize("hasRole('biz:comment:update')") + public R updateById(@RequestBody @Valid BizCommentBo param){ + BizComment entity = CopierUtil.copy(param,new BizComment()); + boolean result = bizCommentService.updateById(entity); + return R.isTrue(result); + } + + /** + * 新增 + * @param param + * @return + */ + @PostMapping("/save") + @SysLog(module = SystemModule.BIZ, title = "评论", biz = BizType.INSERT) + public R save(@RequestBody @Valid BizCommentBo param){ + BizComment entity = CopierUtil.copy(param,new BizComment()); + boolean result = bizCommentService.save(entity); + return R.isTrue(result); + } + + /** + * 删除 + * @param ids + * @return + */ + @DeleteMapping("/deleteById/{ids}") + @SysLog(module = SystemModule.BIZ, title = "评论", biz = BizType.DELETE) + public R deleteById(@PathVariable("ids") String ids){ + List idsLong = StringUtils.splitIdLong(ids); + boolean result = bizCommentService.removeByIds(idsLong); + return R.isTrue(result); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/biz/entity/BizComment.java b/src/main/java/com/qs/serve/modules/biz/entity/BizComment.java new file mode 100644 index 00000000..9ce65e4f --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/entity/BizComment.java @@ -0,0 +1,96 @@ +package com.qs.serve.modules.biz.entity; + +import java.time.LocalDate; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * 通用的评论 实体类 + * @author YenHex + * @since 2023-02-17 + */ +@Data +@TableName("biz_comment") +public class BizComment implements Serializable { + + private static final long serialVersionUID = 1L; + + /** id */ + @TableId(type = IdType.AUTO) + private Long id; + + /** 目标类型 */ + @NotBlank(message = "目标类型不能为空") + @Length(max = 20,message = "目标类型长度不能超过20字") + private String targetType; + + /** 目标id */ + @NotBlank(message = "目标id不能为空") + @Length(max = 64,message = "目标id长度不能超过64字") + private String targetId; + + /** 用户id */ + @NotBlank(message = "用户id不能为空") + @Length(max = 40,message = "用户id长度不能超过40字") + private String userId; + + /** 用户名称 */ + @Length(max = 50,message = "用户名称长度不能超过50字") + private String userName; + + /** 头像 */ + @Length(max = 255,message = "头像长度不能超过255字") + private String userAvatar; + + /** 附件ID */ + @Length(max = 1024,message = "附件ID长度不能超过1024字") + private String docId; + + /** 内容 */ + @Length(max = 1024,message = "内容长度不能超过1024字") + private String context; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 创建人 */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 更新时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; + + /** 更新人 */ + @TableField(fill = FieldFill.UPDATE) + private String updateBy; + + /** 租户id */ + @JsonIgnore + @JsonProperty + private String tenantId; + + /** 删除标识 */ + @JsonIgnore + @JsonProperty + private Boolean delFlag; + +} + diff --git a/src/main/java/com/qs/serve/modules/biz/entity/bo/BizCommentBo.java b/src/main/java/com/qs/serve/modules/biz/entity/bo/BizCommentBo.java new file mode 100644 index 00000000..49115415 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/entity/bo/BizCommentBo.java @@ -0,0 +1,87 @@ +package com.qs.serve.modules.biz.entity.bo; + +import java.time.LocalDate; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * 通用的评论 Bo + * @author YenHex + * @since 2023-02-17 + */ +@Data +public class BizCommentBo implements Serializable { + + private static final long serialVersionUID = 1L; + + /** id */ + private Long id; + + /** 目标类型 */ + @NotBlank(message = "目标类型不能为空") + @Length(max = 20,message = "目标类型长度不能超过20字") + private String targetType; + + /** 目标id */ + @NotBlank(message = "目标id不能为空") + @Length(max = 64,message = "目标id长度不能超过64字") + private String targetId; + + /** 用户id */ + @NotBlank(message = "用户id不能为空") + @Length(max = 40,message = "用户id长度不能超过40字") + private String userId; + + /** 用户名称 */ + @Length(max = 50,message = "用户名称长度不能超过50字") + private String userName; + + /** 头像 */ + @Length(max = 255,message = "头像长度不能超过255字") + private String userAvatar; + + /** 附件ID */ + @Length(max = 1024,message = "附件ID长度不能超过1024字") + private String docId; + + /** 内容 */ + @Length(max = 1024,message = "内容长度不能超过1024字") + private String context; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + /** 创建人 */ + private String createBy; + + /** 更新时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + /** 更新人 */ + private String updateBy; + + /** 租户id */ + @JsonIgnore + @JsonProperty + private String tenantId; + + /** 删除标识 */ + @JsonIgnore + @JsonProperty + private Boolean delFlag; + +} + diff --git a/src/main/java/com/qs/serve/modules/biz/entity/so/BizCommentSo.java b/src/main/java/com/qs/serve/modules/biz/entity/so/BizCommentSo.java new file mode 100644 index 00000000..10d65329 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/entity/so/BizCommentSo.java @@ -0,0 +1,77 @@ +package com.qs.serve.modules.biz.entity.so; + +import java.time.LocalDate; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * 通用的评论 查询参数 + * @author YenHex + * @since 2023-02-17 + */ +@Data +public class BizCommentSo implements Serializable { + + private static final long serialVersionUID = 1L; + + /** id */ + private Long id; + + /** 目标类型 */ + private String targetType; + + /** 目标id */ + private String targetId; + + /** 用户id */ + private String userId; + + /** 用户名称 */ + private String userName; + + /** 头像 */ + private String userAvatar; + + /** 附件ID */ + private String docId; + + /** 内容 */ + private String context; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + /** 创建人 */ + private String createBy; + + /** 更新时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + /** 更新人 */ + private String updateBy; + + /** 租户id */ + @JsonIgnore + @JsonProperty + private String tenantId; + + /** 删除标识 */ + @JsonIgnore + @JsonProperty + private Boolean delFlag; + +} + diff --git a/src/main/java/com/qs/serve/modules/biz/mapper/BizCommentMapper.java b/src/main/java/com/qs/serve/modules/biz/mapper/BizCommentMapper.java new file mode 100644 index 00000000..26b31ae2 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/mapper/BizCommentMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.biz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.biz.entity.BizComment; + +/** + * 通用的评论 Mapper + * @author YenHex + * @date 2023-02-17 + */ +public interface BizCommentMapper extends BaseMapper { + +} + diff --git a/src/main/java/com/qs/serve/modules/biz/service/BizCommentService.java b/src/main/java/com/qs/serve/modules/biz/service/BizCommentService.java new file mode 100644 index 00000000..56022560 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/service/BizCommentService.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.biz.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.biz.entity.BizComment; + +/** + * 通用的评论 服务接口 + * @author YenHex + * @date 2023-02-17 + */ +public interface BizCommentService extends IService { + +} + diff --git a/src/main/java/com/qs/serve/modules/biz/service/impl/BizCommentServiceImpl.java b/src/main/java/com/qs/serve/modules/biz/service/impl/BizCommentServiceImpl.java new file mode 100644 index 00000000..0492c7a3 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/biz/service/impl/BizCommentServiceImpl.java @@ -0,0 +1,22 @@ +package com.qs.serve.modules.biz.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.biz.entity.BizComment; +import com.qs.serve.modules.biz.service.BizCommentService; +import com.qs.serve.modules.biz.mapper.BizCommentMapper; + +/** + * 通用的评论 服务实现类 + * @author YenHex + * @since 2023-02-17 + */ +@Slf4j +@Service +@AllArgsConstructor +public class BizCommentServiceImpl extends ServiceImpl implements BizCommentService { + +} + diff --git a/src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java b/src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java index 757fe86a..56ac29ef 100644 --- a/src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java +++ b/src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java @@ -284,7 +284,8 @@ public class PortalOfCostApplication { } costUnItemService.saveBatch(costUnItemList); - //不匹配的商品,生成预算日志 + //TODO 修改预算日志,记录政策使用情况 + //匹配的商品,生成预算日志 List matchBudgetItem = budgetCostResult.getBudgetMatchList(); List budgetLogList = new ArrayList<>(); if(CollectionUtil.isNotEmpty(matchBudgetItem)){