From a53c70842b44d4bb0085a5b195d31a640120cdb1 Mon Sep 17 00:00:00 2001 From: 77 <77@77.com> Date: Sun, 17 Mar 2024 17:28:42 +0800 Subject: [PATCH] init --- .../xq/controller/DynamicController.java | 41 +++++++++----- .../xq/dto/admin/dynamic/DynamicAdminVo.java | 19 +++++++ .../xq/dto/app/dynamic/DynamicListVo.java | 2 +- .../com/ruoyi/xq/mapper/DynamicMapper.java | 3 + .../com/ruoyi/xq/service/DynamicService.java | 7 +++ .../xq/service/impl/DynamicServiceImpl.java | 55 +++++++++++++++++++ .../resources/mapper/xq/DynamicMapper.xml | 17 ++++++ 7 files changed, 128 insertions(+), 16 deletions(-) create mode 100644 ruoyi-xq/src/main/java/com/ruoyi/xq/dto/admin/dynamic/DynamicAdminVo.java diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/DynamicController.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/DynamicController.java index 9ae1d2c..274d4ea 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/DynamicController.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/DynamicController.java @@ -13,6 +13,9 @@ import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.xq.domain.Dynamic; +import com.ruoyi.xq.dto.admin.common.AuditFailReq; +import com.ruoyi.xq.dto.admin.dynamic.DynamicAdminVo; +import com.ruoyi.xq.dto.app.common.IdsReq; import com.ruoyi.xq.service.DynamicService; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; @@ -41,8 +44,8 @@ public class DynamicController extends BaseController { */ @SaCheckPermission("xq:dynamic:list") @GetMapping("/list") - public TableDataInfo list(Dynamic bo, PageQuery pageQuery) { - Page page = dynamicService.page(pageQuery.build(), Wrappers.lambdaQuery(bo)); + public TableDataInfo list(DynamicAdminVo bo, PageQuery pageQuery) { + Page page = dynamicService.pageAdmin(pageQuery, bo); return TableDataInfo.build(page); } @@ -58,35 +61,43 @@ public class DynamicController extends BaseController { return R.ok(dynamicService.getById(id)); } + + @SaCheckPermission("xq:dynamic:edit") + @Log(title = "动态审核成功", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PostMapping("/audit/success") + public R auditSuccess(@RequestBody IdsReq bo) { + dynamicService.auditSuccess(bo.getIds()); + return R.ok(); + } + + @SaCheckPermission("xq:dynamic:edit") + @Log(title = "动态审核失败", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PostMapping("/audit/fail") + public R auditFail(@RequestBody AuditFailReq bo) { + dynamicService.auditFail(bo.getId(), bo.getAuditRemark()); + return R.ok(); + } + /** * 新增动态审核 */ @SaCheckPermission("xq:dynamic:add") - @Log(title = "动态审核", businessType = BusinessType.INSERT) + @Log(title = "动态", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() public R add(@Validated(AddGroup.class) @RequestBody Dynamic bo) { return toAjax(dynamicService.save(bo)); } - /** - * 修改动态审核 - */ - @SaCheckPermission("xq:dynamic:edit") - @Log(title = "动态审核", businessType = BusinessType.UPDATE) - @RepeatSubmit() - @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody Dynamic bo) { - return toAjax(dynamicService.updateById(bo)); - } - /** * 删除动态审核 * * @param ids 主键串 */ @SaCheckPermission("xq:dynamic:remove") - @Log(title = "动态审核", businessType = BusinessType.DELETE) + @Log(title = "动态", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public R remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ids) { diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/admin/dynamic/DynamicAdminVo.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/admin/dynamic/DynamicAdminVo.java new file mode 100644 index 0000000..b040234 --- /dev/null +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/admin/dynamic/DynamicAdminVo.java @@ -0,0 +1,19 @@ +package com.ruoyi.xq.dto.admin.dynamic; + +import com.ruoyi.xq.domain.Dynamic; +import lombok.Data; + +import java.util.List; + +@Data +public class DynamicAdminVo extends Dynamic { + /** + * 昵称 + */ + private String nickname; + private String mobile; + + private String avatar; + + private List imageList; +} diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/app/dynamic/DynamicListVo.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/app/dynamic/DynamicListVo.java index 33dee08..265ba02 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/app/dynamic/DynamicListVo.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/app/dynamic/DynamicListVo.java @@ -41,7 +41,7 @@ public class DynamicListVo { * 职业 */ @Schema(description = "职业") - private Integer profession; + private String profession; @Schema(description = "内容") private String content; diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/mapper/DynamicMapper.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/mapper/DynamicMapper.java index e8f907c..5d777a7 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/mapper/DynamicMapper.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/mapper/DynamicMapper.java @@ -3,6 +3,7 @@ package com.ruoyi.xq.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.xq.domain.Dynamic; +import com.ruoyi.xq.dto.admin.dynamic.DynamicAdminVo; import com.ruoyi.xq.dto.app.dynamic.DynamicListVo; import com.ruoyi.xq.dto.app.dynamic.DynamicQuery; import org.apache.ibatis.annotations.Param; @@ -16,4 +17,6 @@ import org.apache.ibatis.annotations.Param; public interface DynamicMapper extends BaseMapper { Page pageApp(@Param("build") Page build, @Param("query") DynamicQuery query); + + Page pageAdmin(@Param("build") Page build, @Param("bo") DynamicAdminVo bo); } diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/DynamicService.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/DynamicService.java index 517dafa..a4be6ea 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/DynamicService.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/DynamicService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.xq.domain.Dynamic; +import com.ruoyi.xq.dto.admin.dynamic.DynamicAdminVo; import com.ruoyi.xq.dto.app.dynamic.AddDynamicReq; import com.ruoyi.xq.dto.app.dynamic.DynamicListVo; import com.ruoyi.xq.dto.app.dynamic.DynamicQuery; @@ -19,4 +20,10 @@ public interface DynamicService extends IService { void push(AddDynamicReq req); Page pageApp(PageQuery pageQuery, DynamicQuery dynamicQuery); + + Page pageAdmin(PageQuery pageQuery, DynamicAdminVo bo); + + void auditSuccess(String ids); + + void auditFail(Long id, String auditRemark); } diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/DynamicServiceImpl.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/DynamicServiceImpl.java index dd83de9..701c833 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/DynamicServiceImpl.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/DynamicServiceImpl.java @@ -4,13 +4,18 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.PageQuery; +import com.ruoyi.common.helper.LoginHelper; +import com.ruoyi.common.utils.ServletUtils; import com.ruoyi.xq.domain.Dynamic; import com.ruoyi.xq.domain.DynamicImage; import com.ruoyi.xq.domain.User; +import com.ruoyi.xq.domain.UserInfoAudit; +import com.ruoyi.xq.dto.admin.dynamic.DynamicAdminVo; import com.ruoyi.xq.dto.app.dynamic.AddDynamicReq; import com.ruoyi.xq.dto.app.dynamic.DynamicListVo; import com.ruoyi.xq.dto.app.dynamic.DynamicQuery; import com.ruoyi.xq.enums.common.AuditEnum; +import com.ruoyi.xq.enums.user.UserInfoAuditTypeEnum; import com.ruoyi.xq.mapper.DynamicMapper; import com.ruoyi.xq.service.DynamicImageService; import com.ruoyi.xq.service.DynamicService; @@ -22,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -83,4 +89,53 @@ public class DynamicServiceImpl extends ServiceImpl imple } return page; } + + @Override + public Page pageAdmin(PageQuery pageQuery, DynamicAdminVo bo) { + Page page = baseMapper.pageAdmin(pageQuery.build(), bo); + List records = page.getRecords(); + if(CollectionUtils.isEmpty(records)){ + return page; + } + List dynamicIds = records.stream().map(DynamicAdminVo::getId).collect(Collectors.toList()); + List list = dynamicImageService.list(Wrappers.lambdaQuery(DynamicImage.class).in(DynamicImage::getDynamicId, dynamicIds)); + Map> map = list.stream().collect(Collectors.groupingBy(DynamicImage::getDynamicId)); + for (DynamicAdminVo record : records) { + List images = map.get(record.getId()); + if(images == null){ + images = new ArrayList<>(); + } + record.setImageList(images.stream().map(DynamicImage::getUrl).collect(Collectors.toList())); + } + return page; + } + + @Override + public void auditSuccess(String ids) { + String[] idArray = ids.split(","); + for (String id : idArray) { + this.update(Wrappers.lambdaUpdate(Dynamic.class) + .eq(Dynamic::getId, id) + .eq(Dynamic::getAuditStatus, AuditEnum.AUDITING.getCode()) + .set(Dynamic::getAuditStatus, AuditEnum.SUCCESS.getCode()) + .set(Dynamic::getAuditIp, ServletUtils.getClientIP()) + .set(Dynamic::getAuditOpId, LoginHelper.getUserId()) + .set(Dynamic::getAuditOpName, LoginHelper.getUsername()) + .set(Dynamic::getAuditTime, LocalDateTime.now()) + .set(Dynamic::getAuditRemark, "审核成功")); + } + } + + @Override + public void auditFail(Long id, String auditRemark) { + this.update(Wrappers.lambdaUpdate(Dynamic.class) + .eq(Dynamic::getId, id) + .eq(Dynamic::getAuditStatus, AuditEnum.AUDITING.getCode()) + .set(Dynamic::getAuditStatus, AuditEnum.FAIL.getCode()) + .set(Dynamic::getAuditIp, ServletUtils.getClientIP()) + .set(Dynamic::getAuditOpId, LoginHelper.getUserId()) + .set(Dynamic::getAuditOpName, LoginHelper.getUsername()) + .set(Dynamic::getAuditTime, LocalDateTime.now()) + .set(Dynamic::getAuditRemark, auditRemark)); + } } diff --git a/ruoyi-xq/src/main/resources/mapper/xq/DynamicMapper.xml b/ruoyi-xq/src/main/resources/mapper/xq/DynamicMapper.xml index 2fb238b..f127371 100644 --- a/ruoyi-xq/src/main/resources/mapper/xq/DynamicMapper.xml +++ b/ruoyi-xq/src/main/resources/mapper/xq/DynamicMapper.xml @@ -34,6 +34,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +