This commit is contained in:
张良(004796)
2024-03-12 18:38:33 +08:00
parent 7bc31dc69e
commit cbf8192a73
14 changed files with 148 additions and 82 deletions

View File

@@ -1,15 +1,10 @@
package com.ruoyi.xq.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
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.AgreementSetting;
@@ -18,10 +13,6 @@ import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Arrays;
/**
* 协议设置
*
@@ -36,37 +27,13 @@ public class AgreementSettingController extends BaseController {
private final AgreementSettingService agreementSettingService;
/**
* 查询协议设置列表
*/
@SaCheckPermission("xq:agreementSetting:list")
@GetMapping("/list")
public TableDataInfo<AgreementSetting> list(AgreementSetting bo, PageQuery pageQuery) {
Page<AgreementSetting> page = agreementSettingService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
return TableDataInfo.build(page);
}
/**
* 获取协议设置详细信息
*
* @param id 主键
*/
@SaCheckPermission("xq:agreementSetting:query")
@GetMapping("/{id}")
public R<AgreementSetting> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(agreementSettingService.getById(id));
}
/**
* 新增协议设置
*/
@SaCheckPermission("xq:agreementSetting:add")
@Log(title = "协议设置", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody AgreementSetting bo) {
return toAjax(agreementSettingService.save(bo));
@GetMapping("/info")
public R<AgreementSetting> getInfo() {
return R.ok(agreementSettingService.getAgreementSetting());
}
/**
@@ -80,16 +47,4 @@ public class AgreementSettingController extends BaseController {
return toAjax(agreementSettingService.updateById(bo));
}
/**
* 删除协议设置
*
* @param ids 主键串
*/
@SaCheckPermission("xq:agreementSetting:remove")
@Log(title = "协议设置", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(agreementSettingService.removeBatchByIds(Arrays.asList(ids)));
}
}

View File

@@ -42,7 +42,7 @@ public class BannerController extends BaseController {
@SaCheckPermission("xq:banner:list")
@GetMapping("/list")
public TableDataInfo<Banner> list(Banner bo, PageQuery pageQuery) {
Page<Banner> page = bannerService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
Page<Banner> page = bannerService.page(pageQuery.build(), Wrappers.lambdaQuery(bo).orderByAsc(Banner::getSort));
return TableDataInfo.build(page);
}

View File

@@ -12,14 +12,24 @@ import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.ServletUtils;
import com.ruoyi.xq.domain.User;
import com.ruoyi.xq.domain.UserPictures;
import com.ruoyi.xq.dto.admin.common.AuditFailReq;
import com.ruoyi.xq.dto.admin.user.UserPicturesAdminVo;
import com.ruoyi.xq.dto.app.common.IdsReq;
import com.ruoyi.xq.enums.common.AuditEnum;
import com.ruoyi.xq.service.UserPicturesService;
import com.ruoyi.xq.service.UserService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.util.Arrays;
/**
@@ -35,14 +45,15 @@ import java.util.Arrays;
public class UserPicturesController extends BaseController {
private final UserPicturesService userPicturesService;
private final UserService userService;
/**
* 查询用户相册管理列表
*/
@SaCheckPermission("xq:userPictures:list")
@GetMapping("/list")
public TableDataInfo<UserPictures> list(UserPictures bo, PageQuery pageQuery) {
Page<UserPictures> page = userPicturesService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
public TableDataInfo<UserPicturesAdminVo> list(UserPicturesAdminVo bo, PageQuery pageQuery) {
Page<UserPicturesAdminVo> page = userPicturesService.pageApp(pageQuery, bo);
return TableDataInfo.build(page);
}
@@ -66,18 +77,43 @@ public class UserPicturesController extends BaseController {
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody UserPictures bo) {
return toAjax(userPicturesService.save(bo));
User user = userService.getByUsercode(bo.getUsercode());
if(user == null){
return R.fail("用户不存在");
}
String[] split = bo.getPicture().split(",");
for (String picture : split) {
UserPictures pictures = new UserPictures();
pictures.setUserId(user.getId());
pictures.setUsercode(user.getUsercode());
pictures.setPicture(picture);
pictures.setAuditStatus(AuditEnum.SUCCESS.getCode());
pictures.setAuditRemark("后台新增免审核");
pictures.setAuditTime(LocalDateTime.now());
pictures.setAuditOpId(LoginHelper.getUserId());
pictures.setAuditOpName(LoginHelper.getUsername());
pictures.setAuditIp(ServletUtils.getClientIP());
userPicturesService.save(pictures);
}
return R.ok();
}
/**
* 修改用户相册管理
*/
@SaCheckPermission("xq:userPictures:edit")
@Log(title = "用户相册管理", businessType = BusinessType.UPDATE)
@Log(title = "用户相册审核成功", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody UserPictures bo) {
return toAjax(userPicturesService.updateById(bo));
@PostMapping("/audit/success")
public R<Void> auditSuccess(@RequestBody IdsReq bo) {
userPicturesService.auditSuccess(bo.getIds());
return R.ok();
}
@SaCheckPermission("xq:userPictures:edit")
@Log(title = "用户相册审核失败", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PostMapping("/audit/fail")
public R<Void> auditFail(@RequestBody AuditFailReq bo) {
userPicturesService.auditFail(bo.getId(),bo.getAuditRemark());
return R.ok();
}
/**

View File

@@ -42,7 +42,7 @@ public class WithdrawSettingController extends BaseController {
@SaCheckPermission("xq:withdrawSetting:list")
@GetMapping("/list")
public TableDataInfo<WithdrawSetting> list(WithdrawSetting bo, PageQuery pageQuery) {
Page<WithdrawSetting> page = withdrawSettingService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
Page<WithdrawSetting> page = withdrawSettingService.page(pageQuery.build(), Wrappers.lambdaQuery(bo).orderByDesc(WithdrawSetting::getCreateTime));
return TableDataInfo.build(page);
}

View File

@@ -39,7 +39,8 @@ public class HomeAppController {
@Log(title = "轮播图", businessType = BusinessType.OTHER, isSaveDb = false)
public R<List<Banner>> banner(){
List<Banner> list = bannerService.list(Wrappers.lambdaQuery(Banner.class)
.eq(Banner::getEnableStatus, 1));
.eq(Banner::getEnableStatus, 1)
.orderByAsc(Banner::getSort));
return R.ok(list);
}
}

View File

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 协议设置对象 xq_agreement_setting
@@ -37,8 +36,4 @@ public class AgreementSetting implements Serializable {
*/
private String privacyAgreement;
private LocalDateTime createTime;
private LocalDateTime updateTime;
}

View File

@@ -36,6 +36,8 @@ public class Banner implements Serializable {
*/
private Integer enableStatus;
private Integer sort;
private LocalDateTime createTime;
private LocalDateTime updateTime;

View File

@@ -51,7 +51,7 @@ public class UserPictures implements Serializable {
/**
* 审核人ID
*/
private String auditOpId;
private Long auditOpId;
/**
* 审核人名称
*/

View File

@@ -0,0 +1,9 @@
package com.ruoyi.xq.dto.admin.common;
import lombok.Data;
@Data
public class AuditFailReq {
private Long id;
private String auditRemark;
}

View File

@@ -0,0 +1,12 @@
package com.ruoyi.xq.dto.admin.user;
import com.ruoyi.xq.domain.UserPictures;
import lombok.Data;
@Data
public class UserPicturesAdminVo extends UserPictures {
private String nickname;
private String mobile;
private String avatar;
}

View File

@@ -1,7 +1,10 @@
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.UserPictures;
import com.ruoyi.xq.dto.admin.user.UserPicturesAdminVo;
import org.apache.ibatis.annotations.Param;
/**
* 用户相册管理Mapper接口
@@ -11,4 +14,5 @@ import com.ruoyi.xq.domain.UserPictures;
*/
public interface UserPicturesMapper extends BaseMapper<UserPictures> {
Page<UserPicturesAdminVo> pageApp(@Param("build") Page<Object> build, @Param("bo") UserPicturesAdminVo bo);
}

View File

@@ -1,7 +1,10 @@
package com.ruoyi.xq.service;
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.UserPictures;
import com.ruoyi.xq.dto.admin.user.UserPicturesAdminVo;
import java.util.List;
@@ -14,4 +17,10 @@ import java.util.List;
public interface UserPicturesService extends IService<UserPictures> {
List<UserPictures> listByUserId(Long userId);
Page<UserPicturesAdminVo> pageApp(PageQuery pageQuery, UserPicturesAdminVo bo);
void auditSuccess(String ids);
void auditFail(Long id,String auditRemark);
}

View File

@@ -1,12 +1,19 @@
package com.ruoyi.xq.service.impl;
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.UserPictures;
import com.ruoyi.xq.dto.admin.user.UserPicturesAdminVo;
import com.ruoyi.xq.enums.common.AuditEnum;
import com.ruoyi.xq.mapper.UserPicturesMapper;
import com.ruoyi.xq.service.UserPicturesService;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
/**
@@ -23,4 +30,38 @@ public class UserPicturesServiceImpl extends ServiceImpl<UserPicturesMapper,User
return this.list(Wrappers.lambdaQuery(UserPictures.class)
.eq(UserPictures::getUserId, userId));
}
@Override
public Page<UserPicturesAdminVo> pageApp(PageQuery pageQuery, UserPicturesAdminVo bo) {
return baseMapper.pageApp(pageQuery.build(),bo);
}
@Override
public void auditSuccess(String ids) {
String[] idArray = ids.split(",");
for (String id : idArray) {
this.update(Wrappers.lambdaUpdate(UserPictures.class)
.eq(UserPictures::getId, id)
.eq(UserPictures::getAuditStatus, AuditEnum.AUDITING.getCode())
.set(UserPictures::getAuditStatus, AuditEnum.SUCCESS.getCode())
.set(UserPictures::getAuditIp, ServletUtils.getClientIP())
.set(UserPictures::getAuditOpId, LoginHelper.getUserId())
.set(UserPictures::getAuditOpName, LoginHelper.getUsername())
.set(UserPictures::getAuditTime, LocalDateTime.now())
.set(UserPictures::getAuditRemark, "审核成功"));
}
}
@Override
public void auditFail(Long id,String auditRemark) {
this.update(Wrappers.lambdaUpdate(UserPictures.class)
.eq(UserPictures::getId, id)
.eq(UserPictures::getAuditStatus, AuditEnum.AUDITING.getCode())
.set(UserPictures::getAuditStatus, AuditEnum.FAIL.getCode())
.set(UserPictures::getAuditIp, ServletUtils.getClientIP())
.set(UserPictures::getAuditOpId, LoginHelper.getUserId())
.set(UserPictures::getAuditOpName, LoginHelper.getUsername())
.set(UserPictures::getAuditTime, LocalDateTime.now())
.set(UserPictures::getAuditRemark, auditRemark));
}
}

View File

@@ -3,21 +3,23 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.xq.mapper.UserPicturesMapper">
<resultMap type="com.ruoyi.xq.domain.UserPictures" id="UserPicturesResult">
<result property="id" column="id"/>
<result property="userId" column="user_id"/>
<result property="usercode" column="usercode"/>
<result property="picture" column="picture"/>
<result property="auditStatus" column="audit_status"/>
<result property="auditRemark" column="audit_remark"/>
<result property="auditTime" column="audit_time"/>
<result property="auditOpId" column="audit_op_id"/>
<result property="auditOpName" column="audit_op_name"/>
<result property="auditIp" column="audit_ip"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<select id="pageApp" resultType="com.ruoyi.xq.dto.admin.user.UserPicturesAdminVo">
select t1.*, t2.nickname, t2.mobile,t2.avatar
from xq_user_pictures 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>