This commit is contained in:
77
2024-03-17 17:28:42 +08:00
parent 34fe7c08e8
commit a53c70842b
7 changed files with 128 additions and 16 deletions

View File

@@ -13,6 +13,9 @@ import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.xq.domain.Dynamic; 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 com.ruoyi.xq.service.DynamicService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@@ -41,8 +44,8 @@ public class DynamicController extends BaseController {
*/ */
@SaCheckPermission("xq:dynamic:list") @SaCheckPermission("xq:dynamic:list")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo<Dynamic> list(Dynamic bo, PageQuery pageQuery) { public TableDataInfo<DynamicAdminVo> list(DynamicAdminVo bo, PageQuery pageQuery) {
Page<Dynamic> page = dynamicService.page(pageQuery.build(), Wrappers.lambdaQuery(bo)); Page<DynamicAdminVo> page = dynamicService.pageAdmin(pageQuery, bo);
return TableDataInfo.build(page); return TableDataInfo.build(page);
} }
@@ -58,35 +61,43 @@ public class DynamicController extends BaseController {
return R.ok(dynamicService.getById(id)); return R.ok(dynamicService.getById(id));
} }
@SaCheckPermission("xq:dynamic:edit")
@Log(title = "动态审核成功", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PostMapping("/audit/success")
public R<Void> 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<Void> auditFail(@RequestBody AuditFailReq bo) {
dynamicService.auditFail(bo.getId(), bo.getAuditRemark());
return R.ok();
}
/** /**
* 新增动态审核 * 新增动态审核
*/ */
@SaCheckPermission("xq:dynamic:add") @SaCheckPermission("xq:dynamic:add")
@Log(title = "动态审核", businessType = BusinessType.INSERT) @Log(title = "动态", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody Dynamic bo) { public R<Void> add(@Validated(AddGroup.class) @RequestBody Dynamic bo) {
return toAjax(dynamicService.save(bo)); return toAjax(dynamicService.save(bo));
} }
/**
* 修改动态审核
*/
@SaCheckPermission("xq:dynamic:edit")
@Log(title = "动态审核", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody Dynamic bo) {
return toAjax(dynamicService.updateById(bo));
}
/** /**
* 删除动态审核 * 删除动态审核
* *
* @param ids 主键串 * @param ids 主键串
*/ */
@SaCheckPermission("xq:dynamic:remove") @SaCheckPermission("xq:dynamic:remove")
@Log(title = "动态审核", businessType = BusinessType.DELETE) @Log(title = "动态", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}") @DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空") public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) { @PathVariable Long[] ids) {

View File

@@ -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<String> imageList;
}

View File

@@ -41,7 +41,7 @@ public class DynamicListVo {
* 职业 * 职业
*/ */
@Schema(description = "职业") @Schema(description = "职业")
private Integer profession; private String profession;
@Schema(description = "内容") @Schema(description = "内容")
private String content; private String content;

View File

@@ -3,6 +3,7 @@ package com.ruoyi.xq.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.xq.domain.Dynamic; 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.DynamicListVo;
import com.ruoyi.xq.dto.app.dynamic.DynamicQuery; import com.ruoyi.xq.dto.app.dynamic.DynamicQuery;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@@ -16,4 +17,6 @@ import org.apache.ibatis.annotations.Param;
public interface DynamicMapper extends BaseMapper<Dynamic> { public interface DynamicMapper extends BaseMapper<Dynamic> {
Page<DynamicListVo> pageApp(@Param("build") Page<Object> build, @Param("query") DynamicQuery query); Page<DynamicListVo> pageApp(@Param("build") Page<Object> build, @Param("query") DynamicQuery query);
Page<DynamicAdminVo> pageAdmin(@Param("build") Page<Object> build, @Param("bo") DynamicAdminVo bo);
} }

View File

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.xq.domain.Dynamic; 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.AddDynamicReq;
import com.ruoyi.xq.dto.app.dynamic.DynamicListVo; import com.ruoyi.xq.dto.app.dynamic.DynamicListVo;
import com.ruoyi.xq.dto.app.dynamic.DynamicQuery; import com.ruoyi.xq.dto.app.dynamic.DynamicQuery;
@@ -19,4 +20,10 @@ public interface DynamicService extends IService<Dynamic> {
void push(AddDynamicReq req); void push(AddDynamicReq req);
Page<DynamicListVo> pageApp(PageQuery pageQuery, DynamicQuery dynamicQuery); Page<DynamicListVo> pageApp(PageQuery pageQuery, DynamicQuery dynamicQuery);
Page<DynamicAdminVo> pageAdmin(PageQuery pageQuery, DynamicAdminVo bo);
void auditSuccess(String ids);
void auditFail(Long id, String auditRemark);
} }

View File

@@ -4,13 +4,18 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.PageQuery; 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.Dynamic;
import com.ruoyi.xq.domain.DynamicImage; import com.ruoyi.xq.domain.DynamicImage;
import com.ruoyi.xq.domain.User; 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.AddDynamicReq;
import com.ruoyi.xq.dto.app.dynamic.DynamicListVo; import com.ruoyi.xq.dto.app.dynamic.DynamicListVo;
import com.ruoyi.xq.dto.app.dynamic.DynamicQuery; import com.ruoyi.xq.dto.app.dynamic.DynamicQuery;
import com.ruoyi.xq.enums.common.AuditEnum; import com.ruoyi.xq.enums.common.AuditEnum;
import com.ruoyi.xq.enums.user.UserInfoAuditTypeEnum;
import com.ruoyi.xq.mapper.DynamicMapper; import com.ruoyi.xq.mapper.DynamicMapper;
import com.ruoyi.xq.service.DynamicImageService; import com.ruoyi.xq.service.DynamicImageService;
import com.ruoyi.xq.service.DynamicService; 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.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -83,4 +89,53 @@ public class DynamicServiceImpl extends ServiceImpl<DynamicMapper,Dynamic> imple
} }
return page; return page;
} }
@Override
public Page<DynamicAdminVo> pageAdmin(PageQuery pageQuery, DynamicAdminVo bo) {
Page<DynamicAdminVo> page = baseMapper.pageAdmin(pageQuery.build(), bo);
List<DynamicAdminVo> records = page.getRecords();
if(CollectionUtils.isEmpty(records)){
return page;
}
List<Long> dynamicIds = records.stream().map(DynamicAdminVo::getId).collect(Collectors.toList());
List<DynamicImage> list = dynamicImageService.list(Wrappers.lambdaQuery(DynamicImage.class).in(DynamicImage::getDynamicId, dynamicIds));
Map<Long, List<DynamicImage>> map = list.stream().collect(Collectors.groupingBy(DynamicImage::getDynamicId));
for (DynamicAdminVo record : records) {
List<DynamicImage> 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));
}
} }

View File

@@ -34,6 +34,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</if> </if>
</where> </where>
</select> </select>
<select id="pageAdmin" resultType="com.ruoyi.xq.dto.admin.dynamic.DynamicAdminVo">
select t1.*, t2.nickname, t2.mobile,t2.avatar
from xq_dynamic t1
left join xq_user t2 on t1.user_id = t2.id
<where>
<if test="bo.usercode != null and bo.usercode != ''">
and t1.usercode = #{bo.usercode}
</if>
<if test="bo.nickname != null and bo.nickname != ''">
and t2.nickname like concat('%',#{bo.nickname},'%')
</if>
<if test="bo.mobile != null and bo.mobile != ''">
and t2.mobile = #{bo.mobile}
</if>
</where>
order by create_time desc
</select>
</mapper> </mapper>