diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/UserAuthAuditController.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/UserAuthAuditController.java index 5d5729b..90a0d63 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/UserAuthAuditController.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/UserAuthAuditController.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.UserAuthAudit; +import com.ruoyi.xq.dto.admin.common.AuditFailReq; +import com.ruoyi.xq.dto.admin.userauth.UserAuthAuditAdminVo; +import com.ruoyi.xq.dto.app.common.IdsReq; import com.ruoyi.xq.service.UserAuthAuditService; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; @@ -41,8 +44,8 @@ public class UserAuthAuditController extends BaseController { */ @SaCheckPermission("xq:userAuthAudit:list") @GetMapping("/list") - public TableDataInfo list(UserAuthAudit bo, PageQuery pageQuery) { - Page page = userAuthAuditService.page(pageQuery.build(), Wrappers.lambdaQuery(bo)); + public TableDataInfo list(UserAuthAuditAdminVo bo, PageQuery pageQuery) { + Page page = userAuthAuditService.pageAdmin(pageQuery, bo); return TableDataInfo.build(page); } @@ -93,4 +96,24 @@ public class UserAuthAuditController extends BaseController { @PathVariable Long[] ids) { return toAjax(userAuthAuditService.removeBatchByIds(Arrays.asList(ids))); } + + + + @SaCheckPermission("xq:userAuthAudit:edit") + @Log(title = "用户认证审核成功", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PostMapping("/audit/success") + public R auditSuccess(@RequestBody IdsReq bo) { + userAuthAuditService.auditSuccess(bo.getIds()); + return R.ok(); + } + + @SaCheckPermission("xq:userAuthAudit:edit") + @Log(title = "用户认证审核失败", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PostMapping("/audit/fail") + public R auditFail(@RequestBody AuditFailReq bo) { + userAuthAuditService.auditFail(bo.getId(), bo.getAuditRemark()); + return R.ok(); + } } diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/UserWithdrawController.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/UserWithdrawController.java index 6cf77dc..73f2290 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/UserWithdrawController.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/UserWithdrawController.java @@ -13,6 +13,10 @@ 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.UserWithdraw; +import com.ruoyi.xq.dto.admin.common.AuditFailReq; +import com.ruoyi.xq.dto.admin.withdraw.UserWithdrawAdminVo; +import com.ruoyi.xq.dto.admin.withdraw.WithdrawSuccessAdminReq; +import com.ruoyi.xq.dto.app.common.IdsReq; import com.ruoyi.xq.service.UserWithdrawService; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; @@ -41,8 +45,8 @@ public class UserWithdrawController extends BaseController { */ @SaCheckPermission("xq:userWithdraw:list") @GetMapping("/list") - public TableDataInfo list(UserWithdraw bo, PageQuery pageQuery) { - Page page = userWithdrawService.page(pageQuery.build(), Wrappers.lambdaQuery(bo)); + public TableDataInfo list(UserWithdrawAdminVo bo, PageQuery pageQuery) { + Page page = userWithdrawService.pageAdmin(pageQuery, bo); return TableDataInfo.build(page); } @@ -59,28 +63,25 @@ public class UserWithdrawController extends BaseController { return R.ok(userWithdrawService.getById(id)); } - /** - * 新增用户提现审核 - */ - @SaCheckPermission("xq:userWithdraw:add") - @Log(title = "用户提现审核", businessType = BusinessType.INSERT) + @SaCheckPermission("xq:userWithdraw:edit") + @Log(title = "用户提现审核成功", businessType = BusinessType.UPDATE) @RepeatSubmit() - @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody UserWithdraw bo) { - return toAjax(userWithdrawService.save(bo)); + @PostMapping("/audit/success") + public R auditSuccess(@RequestBody WithdrawSuccessAdminReq bo) { + userWithdrawService.auditSuccess(bo.getId(), bo.isAutoTrans()); + return R.ok(); } - /** - * 修改用户提现审核 - */ @SaCheckPermission("xq:userWithdraw:edit") - @Log(title = "用户提现审核", businessType = BusinessType.UPDATE) + @Log(title = "用户提现审核失败", businessType = BusinessType.UPDATE) @RepeatSubmit() - @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody UserWithdraw bo) { - return toAjax(userWithdrawService.updateById(bo)); + @PostMapping("/audit/fail") + public R auditFail(@RequestBody AuditFailReq bo) { + userWithdrawService.auditFail(bo.getId(), bo.getAuditRemark()); + return R.ok(); } + /** * 删除用户提现审核 * diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/app/WithdrawController.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/app/WithdrawAppController.java similarity index 95% rename from ruoyi-xq/src/main/java/com/ruoyi/xq/controller/app/WithdrawController.java rename to ruoyi-xq/src/main/java/com/ruoyi/xq/controller/app/WithdrawAppController.java index 8840f65..6ea6baa 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/app/WithdrawController.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/app/WithdrawAppController.java @@ -11,7 +11,6 @@ import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.utils.BeanConvertUtil; import com.ruoyi.xq.domain.WithdrawSetting; import com.ruoyi.xq.dto.app.common.IdReq; -import com.ruoyi.xq.dto.app.common.IdsReq; import com.ruoyi.xq.dto.app.setting.WithdrawSettingVo; import com.ruoyi.xq.dto.app.withdraw.WithdrawListAppVo; import com.ruoyi.xq.dto.app.withdraw.WithdrawListPageQuery; @@ -27,7 +26,7 @@ import java.util.List; @RestController @RequestMapping("/api/withdraw") @Tag(name = "提现接口") -public class WithdrawController { +public class WithdrawAppController { @Autowired private WithdrawSettingService withdrawSettingService; @@ -54,7 +53,7 @@ public class WithdrawController { return R.ok(); } - @PostMapping("/logs/page") + @GetMapping("/logs/page") @Operation(summary = "提现记录") @Log(title = "申请记录", businessType = BusinessType.OTHER, isSaveDb = false) public R> logsPage(PageQuery pageQuery, WithdrawListPageQuery query){ diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/domain/UserAuthAudit.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/domain/UserAuthAudit.java index 09cc81f..b31f9a5 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/domain/UserAuthAudit.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/domain/UserAuthAudit.java @@ -52,7 +52,7 @@ public class UserAuthAudit implements Serializable { /** * 其他字段 */ - private String auitOther; + private String authOther; /** * 1-待审核 2-审核成功 3-审核失败 */ diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/admin/userauth/UserAuthAuditAdminVo.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/admin/userauth/UserAuthAuditAdminVo.java new file mode 100644 index 0000000..682fe72 --- /dev/null +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/admin/userauth/UserAuthAuditAdminVo.java @@ -0,0 +1,15 @@ +package com.ruoyi.xq.dto.admin.userauth; + +import com.ruoyi.xq.domain.UserAuthAudit; +import lombok.Data; + +@Data +public class UserAuthAuditAdminVo extends UserAuthAudit { + /** + * 昵称 + */ + private String nickname; + private String mobile; + + private String avatar; +} diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/admin/withdraw/UserWithdrawAdminVo.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/admin/withdraw/UserWithdrawAdminVo.java new file mode 100644 index 0000000..d971e54 --- /dev/null +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/admin/withdraw/UserWithdrawAdminVo.java @@ -0,0 +1,12 @@ +package com.ruoyi.xq.dto.admin.withdraw; + +import com.ruoyi.xq.domain.UserWithdraw; +import lombok.Data; + +@Data +public class UserWithdrawAdminVo extends UserWithdraw { + private String nickname; + private String mobile; + + private String avatar; +} diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/admin/withdraw/WithdrawSuccessAdminReq.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/admin/withdraw/WithdrawSuccessAdminReq.java new file mode 100644 index 0000000..28a5a34 --- /dev/null +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/admin/withdraw/WithdrawSuccessAdminReq.java @@ -0,0 +1,9 @@ +package com.ruoyi.xq.dto.admin.withdraw; + +import lombok.Data; + +@Data +public class WithdrawSuccessAdminReq { + private Long id; + private boolean autoTrans; +} diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/app/user/UpdateUserAuthInfoReq.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/app/user/UpdateUserAuthInfoReq.java index 9ed5b9f..d36eb7f 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/app/user/UpdateUserAuthInfoReq.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/dto/app/user/UpdateUserAuthInfoReq.java @@ -17,7 +17,7 @@ public class UpdateUserAuthInfoReq { /** * 工作认证类型 */ - @Schema(description = "工作认证类型") + @Schema(description = "工作认证类型 1-企业微信 2-offer 3-工作证") private Integer jobAuthType; /** * 工作照片 diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/enums/userauth/UserAuthJobAuthTypeEnum.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/enums/userauth/UserAuthJobAuthTypeEnum.java new file mode 100644 index 0000000..bb5ef11 --- /dev/null +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/enums/userauth/UserAuthJobAuthTypeEnum.java @@ -0,0 +1,25 @@ +package com.ruoyi.xq.enums.userauth; + + +import lombok.Getter; + +import java.util.Arrays; + +@Getter +public enum UserAuthJobAuthTypeEnum { + QW(1,"企业微信"), + OFFER(2,"offer"), + JOB_CARD(3,"工作证"), + ; + private final Integer code; + private final String text; + + UserAuthJobAuthTypeEnum(Integer code, String text) { + this.code = code; + this.text = text; + } + + public static UserAuthJobAuthTypeEnum getByCode(Integer code){ + return Arrays.stream(UserAuthJobAuthTypeEnum.values()).filter(i -> i.getCode().equals(code)).findFirst().orElse(null); + } +} diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/enums/userinfo/UserGenderEnum.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/enums/userinfo/UserGenderEnum.java index d09e592..af5bc6b 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/enums/userinfo/UserGenderEnum.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/enums/userinfo/UserGenderEnum.java @@ -13,9 +13,9 @@ import java.util.Arrays; */ @Getter public enum UserGenderEnum { - NONE(0,"未知", ""), - WOMEN(1,"女", ""), - MAN(2,"男", ""), + NONE(0,"未知", "xq/images/avatar/none.png"), + WOMEN(1,"女", "xq/images/avatar/women.png"), + MAN(2,"男", "xq/images/avatar/man.png"), ; diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/manager/CaiLoginManager.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/manager/CaiLoginManager.java index 81cc21e..717f263 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/manager/CaiLoginManager.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/manager/CaiLoginManager.java @@ -171,6 +171,7 @@ public class CaiLoginManager { @Transactional(rollbackFor = Exception.class) public User registerUser(String mobile,String inviteCode){ + String cos = systemConfigManager.getSystemConfig(SystemConfigEnum.COS_DOMAIN); String usercode = userCodeGenService.getCodeGen(); User add = new User(); add.setUsercode(usercode); @@ -179,6 +180,7 @@ public class CaiLoginManager { add.setPassword(BCrypt.hashpw(usercode+"用户手动滑稽安康黄鼠狼")); add.setMobile(mobile); add.setGender(UserGenderEnum.NONE.getCode()); + add.setAvatar(cos + UserGenderEnum.NONE.getDefaultAvatar()); add.setImToken(IdUtil.simpleUUID()); userService.save(add); CreateUserReq req = new CreateUserReq(); diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/manager/CurrentUserManager.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/manager/CurrentUserManager.java index 45a9981..055da7e 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/manager/CurrentUserManager.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/manager/CurrentUserManager.java @@ -1,6 +1,7 @@ package com.ruoyi.xq.manager; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Translation; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.utils.BeanConvertUtil; @@ -12,8 +13,11 @@ import com.ruoyi.xq.dto.app.user.UpdateUserAuthInfoReq; import com.ruoyi.xq.dto.app.user.UpdateUserFullInfoReq; import com.ruoyi.xq.dto.app.user.vo.*; import com.ruoyi.xq.enums.common.AuditEnum; +import com.ruoyi.xq.enums.common.SystemConfigEnum; import com.ruoyi.xq.enums.user.UserAuthTypeEnum; import com.ruoyi.xq.enums.user.UserInfoAuditTypeEnum; +import com.ruoyi.xq.enums.userauth.UserAuthJobAuthTypeEnum; +import com.ruoyi.xq.enums.userinfo.UserGenderEnum; import com.ruoyi.xq.lock.LockKey; import com.ruoyi.xq.service.*; import com.ruoyi.xq.util.AgeUtil; @@ -23,7 +27,9 @@ import org.redisson.api.RLock; import org.redisson.api.RedissonClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; +import javax.swing.plaf.basic.BasicBorders; import java.util.List; import java.util.concurrent.TimeUnit; @@ -42,6 +48,8 @@ public class CurrentUserManager { private UserAuthAuditService userAuthAuditService; @Autowired private UserInfoAuditService userInfoAuditService; + @Autowired + private SystemConfigManager systemConfigManager; public CurrentUserFullInfoVo currentFullInfo(){ @@ -104,6 +112,11 @@ public class CurrentUserManager { public void updateBaseInfo(UpdateBaseInfoReq req) { Long userId = LoginHelper.getUserId(); User updateUser = BeanConvertUtil.convertTo(req, User::new); + UserGenderEnum userGenderEnum = UserGenderEnum.getByCode(req.getGender()); + if(userGenderEnum != null){ + String cos = systemConfigManager.getSystemConfig(SystemConfigEnum.COS_DOMAIN); + updateUser.setAvatar(cos + userGenderEnum.getDefaultAvatar()); + } updateUser.setId(userId); userService.updateById(updateUser); UserInfo updateUserInfo = BeanConvertUtil.convertTo(req, UserInfo::new); @@ -217,6 +230,7 @@ public class CurrentUserManager { return BeanConvertUtil.convertTo(userAuth, UserAuthInfoVo::new); } + @Transactional(rollbackFor = Exception.class) public void updateInfoAuth(UpdateUserAuthInfoReq req) { Long userId = LoginHelper.getUserId(); User user = userService.getById(userId); @@ -273,7 +287,8 @@ public class CurrentUserManager { userAuthAuditService.saveAuthAudit(user,UserAuthTypeEnum.MARRIAGE,req.getMarriagePic()); } if(BooleanUtils.isTrue(req.getPushJobAuthBoo())){ // 工作认证 - if(req.getJobAuthType() == null){ + UserAuthJobAuthTypeEnum userAuthJobAuthTypeEnum = UserAuthJobAuthTypeEnum.getByCode(req.getJobAuthType()); + if(userAuthJobAuthTypeEnum == null){ throw new ServiceException("请选择工作认证方式"); } if(req.getJobPic() == null){ @@ -286,7 +301,7 @@ public class CurrentUserManager { if(!update){ throw new ServiceException("房产认证正在审核中,请勿重复提交"); } - String authRemark = "工作认证"; + String authRemark = String.format("【%s】工作认证", userAuthJobAuthTypeEnum.getText()); userAuthAuditService.saveAuthAudit(user,UserAuthTypeEnum.JOB,req.getJobPic(),authRemark); } } diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/mapper/UserAuthAuditMapper.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/mapper/UserAuthAuditMapper.java index 598c9b3..4acebcc 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/mapper/UserAuthAuditMapper.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/mapper/UserAuthAuditMapper.java @@ -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.UserAuthAudit; +import com.ruoyi.xq.dto.admin.userauth.UserAuthAuditAdminVo; +import org.apache.ibatis.annotations.Param; /** * 用户认证审核Mapper接口 @@ -11,4 +14,5 @@ import com.ruoyi.xq.domain.UserAuthAudit; */ public interface UserAuthAuditMapper extends BaseMapper { + Page pageAdmin(@Param("build") Page build, @Param("bo") UserAuthAuditAdminVo bo); } diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/mapper/UserWithdrawMapper.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/mapper/UserWithdrawMapper.java index 53bce54..8613a9c 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/mapper/UserWithdrawMapper.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/mapper/UserWithdrawMapper.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.UserWithdraw; +import com.ruoyi.xq.dto.admin.withdraw.UserWithdrawAdminVo; import com.ruoyi.xq.dto.app.withdraw.WithdrawListAppVo; import com.ruoyi.xq.dto.app.withdraw.WithdrawListPageQuery; import org.apache.ibatis.annotations.Param; @@ -16,4 +17,6 @@ import org.apache.ibatis.annotations.Param; public interface UserWithdrawMapper extends BaseMapper { Page pageApp(@Param("build") Page build, @Param("query") WithdrawListPageQuery query); + + Page pageAdmin(@Param("build") Page build, @Param("bo") UserWithdrawAdminVo bo); } diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/UserAuthAuditService.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/UserAuthAuditService.java index 964c6c6..cf7fe8f 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/UserAuthAuditService.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/UserAuthAuditService.java @@ -1,8 +1,11 @@ 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.User; import com.ruoyi.xq.domain.UserAuthAudit; +import com.ruoyi.xq.dto.admin.userauth.UserAuthAuditAdminVo; import com.ruoyi.xq.enums.user.UserAuthTypeEnum; /** @@ -17,4 +20,10 @@ public interface UserAuthAuditService extends IService { default void saveAuthAudit(User user, UserAuthTypeEnum userAuthType, String pic) { saveAuthAudit(user,userAuthType,pic, null); } + + Page pageAdmin(PageQuery pageQuery, UserAuthAuditAdminVo bo); + + void auditSuccess(String ids); + + void auditFail(Long id, String auditRemark); } diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/UserExtendService.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/UserExtendService.java index 8d31430..b2b95e8 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/UserExtendService.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/UserExtendService.java @@ -18,8 +18,11 @@ import java.math.BigDecimal; public interface UserExtendService extends IService { boolean withdraw(Long userId, BigDecimal withdrawPrice); + void resetWithdraw(Long userId, BigDecimal withdrawMoney, String traceId); Page pageAdmin(PageQuery pageQuery, UserExtendAdminVo bo); void updateIncomeCoin(UpdateIncomeCoinReq bo); + + } diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/UserWithdrawService.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/UserWithdrawService.java index 13253b1..370f961 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/UserWithdrawService.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/UserWithdrawService.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.UserWithdraw; +import com.ruoyi.xq.dto.admin.withdraw.UserWithdrawAdminVo; import com.ruoyi.xq.dto.app.withdraw.WithdrawListAppVo; import com.ruoyi.xq.dto.app.withdraw.WithdrawListPageQuery; @@ -18,4 +19,10 @@ public interface UserWithdrawService extends IService { void saveWithdraw(Long userId, Long withdrawSettingId); Page pageApp(PageQuery pageQuery, WithdrawListPageQuery query); + + Page pageAdmin(PageQuery pageQuery, UserWithdrawAdminVo bo); + + void auditSuccess(Long id, boolean autoTrans); + + void auditFail(Long id, String auditRemark); } diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/UserAuthAuditServiceImpl.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/UserAuthAuditServiceImpl.java index ef8d4ba..20f4d21 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/UserAuthAuditServiceImpl.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/UserAuthAuditServiceImpl.java @@ -1,27 +1,35 @@ 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.User; +import com.ruoyi.xq.domain.UserAuth; import com.ruoyi.xq.domain.UserAuthAudit; +import com.ruoyi.xq.dto.admin.userauth.UserAuthAuditAdminVo; import com.ruoyi.xq.enums.common.AuditEnum; import com.ruoyi.xq.enums.user.UserAuthTypeEnum; import com.ruoyi.xq.mapper.UserAuthAuditMapper; import com.ruoyi.xq.service.UserAuthAuditService; import com.ruoyi.xq.service.UserAuthService; -import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; + /** * 用户认证审核Service业务层处理 * * @author 77 * @date 2024-03-04 */ -@RequiredArgsConstructor @Service public class UserAuthAuditServiceImpl extends ServiceImpl implements UserAuthAuditService { + @Autowired + private UserAuthService userAuthService; @Override public void saveAuthAudit(User user, UserAuthTypeEnum userAuthType, String pic, String remark) { @@ -34,4 +42,107 @@ public class UserAuthAuditServiceImpl extends ServiceImpl pageAdmin(PageQuery pageQuery, UserAuthAuditAdminVo bo) { + return baseMapper.pageAdmin(pageQuery.build(), bo); + } + + @Override + public void auditSuccess(String ids) { + String[] idArray = ids.split(","); + for (String id : idArray) { + boolean flag = this.update(Wrappers.lambdaUpdate(UserAuthAudit.class) + .eq(UserAuthAudit::getId, id) + .eq(UserAuthAudit::getAuditStatus, AuditEnum.AUDITING.getCode()) + .set(UserAuthAudit::getAuditStatus, AuditEnum.SUCCESS.getCode()) + .set(UserAuthAudit::getAuditIp, ServletUtils.getClientIP()) + .set(UserAuthAudit::getAuditOpId, LoginHelper.getUserId()) + .set(UserAuthAudit::getAuditOpName, LoginHelper.getUsername()) + .set(UserAuthAudit::getAuditTime, LocalDateTime.now()) + .set(UserAuthAudit::getAuditRemark, "审核成功")); + if(flag){ + UserAuthAudit userInfoAudit = this.getById(id); + if(userInfoAudit.getAuthType().equals(UserAuthTypeEnum.CAR.getCode())){ + userAuthService.update(Wrappers.lambdaUpdate(UserAuth.class) + .eq(UserAuth:: getUserId, userInfoAudit.getUserId()) + .set(UserAuth:: getCarAuth, AuditEnum.SUCCESS.getCode()) + .set(UserAuth::getCarPic, userInfoAudit.getAuthPic())); + }else if(userInfoAudit.getAuthType().equals(UserAuthTypeEnum.JOB.getCode())){ + userAuthService.update(Wrappers.lambdaUpdate(UserAuth.class) + .eq(UserAuth:: getUserId, userInfoAudit.getUserId()) + .set(UserAuth:: getJobAuth, AuditEnum.SUCCESS.getCode()) + .set(UserAuth:: getJobPic, userInfoAudit.getAuthPic()) + .set(UserAuth:: getJobAuthType, userInfoAudit.getAuthOther())); + }else if(userInfoAudit.getAuthType().equals(UserAuthTypeEnum.EDUCATION.getCode())){ + userAuthService.update(Wrappers.lambdaUpdate(UserAuth.class) + .eq(UserAuth:: getUserId, userInfoAudit.getUserId()) + .set(UserAuth:: getEducationAuth, AuditEnum.SUCCESS.getCode()) + .set(UserAuth:: getEducationPic, userInfoAudit.getAuthPic())); + }else if(userInfoAudit.getAuthType().equals(UserAuthTypeEnum.HOUSE.getCode())){ + userAuthService.update(Wrappers.lambdaUpdate(UserAuth.class) + .eq(UserAuth:: getUserId, userInfoAudit.getUserId()) + .set(UserAuth:: getHouseAuth, AuditEnum.SUCCESS.getCode()) + .set(UserAuth:: getHousePic, userInfoAudit.getAuthPic())); + }else if(userInfoAudit.getAuthType().equals(UserAuthTypeEnum.MARRIAGE.getCode())){ + userAuthService.update(Wrappers.lambdaUpdate(UserAuth.class) + .eq(UserAuth:: getUserId, userInfoAudit.getUserId()) + .set(UserAuth:: getMarriageAuth, AuditEnum.SUCCESS.getCode()) + .set(UserAuth:: getMarriagePic, userInfoAudit.getAuthPic())); + }else if(userInfoAudit.getAuthType().equals(UserAuthTypeEnum.SINGLE.getCode())){ + userAuthService.update(Wrappers.lambdaUpdate(UserAuth.class) + .eq(UserAuth:: getUserId, userInfoAudit.getUserId()) + .set(UserAuth:: getSinglePersonAuth, AuditEnum.SUCCESS.getCode())); + } + } + } + } + + @Override + public void auditFail(Long id, String auditRemark) { + boolean update = this.update(Wrappers.lambdaUpdate(UserAuthAudit.class) + .eq(UserAuthAudit::getId, id) + .eq(UserAuthAudit::getAuditStatus, AuditEnum.AUDITING.getCode()) + .set(UserAuthAudit::getAuditStatus, AuditEnum.FAIL.getCode()) + .set(UserAuthAudit::getAuditIp, ServletUtils.getClientIP()) + .set(UserAuthAudit::getAuditOpId, LoginHelper.getUserId()) + .set(UserAuthAudit::getAuditOpName, LoginHelper.getUsername()) + .set(UserAuthAudit::getAuditTime, LocalDateTime.now()) + .set(UserAuthAudit::getAuditRemark, auditRemark)); + if(update){ + UserAuthAudit userInfoAudit = this.getById(id); + if(userInfoAudit.getAuthType().equals(UserAuthTypeEnum.CAR.getCode())){ + userAuthService.update(Wrappers.lambdaUpdate(UserAuth.class) + .eq(UserAuth:: getUserId, userInfoAudit.getUserId()) + .in(UserAuth::getCarAuth, AuditEnum.AUDITING.getCode(), AuditEnum.NO.getCode()) + .set(UserAuth:: getCarAuth, AuditEnum.FAIL.getCode())); + }else if(userInfoAudit.getAuthType().equals(UserAuthTypeEnum.JOB.getCode())){ + userAuthService.update(Wrappers.lambdaUpdate(UserAuth.class) + .eq(UserAuth:: getUserId, userInfoAudit.getUserId()) + .in(UserAuth::getJobAuth, AuditEnum.AUDITING.getCode(), AuditEnum.NO.getCode()) + .set(UserAuth:: getJobAuth, AuditEnum.FAIL.getCode())); + }else if(userInfoAudit.getAuthType().equals(UserAuthTypeEnum.EDUCATION.getCode())){ + userAuthService.update(Wrappers.lambdaUpdate(UserAuth.class) + .eq(UserAuth:: getUserId, userInfoAudit.getUserId()) + .in(UserAuth::getEducationAuth, AuditEnum.AUDITING.getCode(), AuditEnum.NO.getCode()) + .set(UserAuth:: getEducationAuth, AuditEnum.FAIL.getCode())); + }else if(userInfoAudit.getAuthType().equals(UserAuthTypeEnum.HOUSE.getCode())){ + userAuthService.update(Wrappers.lambdaUpdate(UserAuth.class) + .eq(UserAuth:: getUserId, userInfoAudit.getUserId()) + .in(UserAuth::getHouseAuth, AuditEnum.AUDITING.getCode(), AuditEnum.NO.getCode()) + .set(UserAuth:: getHouseAuth, AuditEnum.FAIL.getCode())); + }else if(userInfoAudit.getAuthType().equals(UserAuthTypeEnum.MARRIAGE.getCode())){ + userAuthService.update(Wrappers.lambdaUpdate(UserAuth.class) + .eq(UserAuth:: getUserId, userInfoAudit.getUserId()) + .in(UserAuth::getMarriageAuth, AuditEnum.AUDITING.getCode(), AuditEnum.NO.getCode()) + .set(UserAuth:: getMarriageAuth, AuditEnum.FAIL.getCode())); + }else if(userInfoAudit.getAuthType().equals(UserAuthTypeEnum.SINGLE.getCode())){ + userAuthService.update(Wrappers.lambdaUpdate(UserAuth.class) + .eq(UserAuth:: getUserId, userInfoAudit.getUserId()) + .in(UserAuth::getSinglePersonAuth, AuditEnum.AUDITING.getCode(), AuditEnum.NO.getCode()) + .set(UserAuth:: getSinglePersonAuth, AuditEnum.FAIL.getCode())); + } + + } + } } diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/UserExtendServiceImpl.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/UserExtendServiceImpl.java index a7e6b91..6c710b4 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/UserExtendServiceImpl.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/UserExtendServiceImpl.java @@ -32,8 +32,19 @@ public class UserExtendServiceImpl extends ServiceImpl implements Use private UserInfoService userInfoService; @Autowired private ImUserRefClient userRefClient; + @Autowired + private SystemConfigManager systemConfigManager; @Override public User getByUsername(String username) { @@ -102,17 +106,19 @@ public class UserServiceImpl extends ServiceImpl implements Use if(user == null){ return; } + String cos = systemConfigManager.getSystemConfig(SystemConfigEnum.COS_DOMAIN); Integer gender = user.getGender(); UserGenderEnum genderEnum = UserGenderEnum.getByCode(gender); if(genderEnum == null){ return; } + String avatar = cos + genderEnum.getDefaultAvatar(); this.update(Wrappers.lambdaUpdate(User.class) .eq(User::getId,user.getId()) - .set(User::getAvatar,genderEnum.getDefaultAvatar())); + .set(User::getAvatar,avatar)); UpdateUinfoReq uinfoReq = new UpdateUinfoReq(); uinfoReq.setAccid(user.getId()+""); - uinfoReq.setIcon(genderEnum.getDefaultAvatar()); + uinfoReq.setIcon(avatar); YxCommonR r = userRefClient.updateUinfo(uinfoReq); if(!r.isSuccess()){ log.error("云信更新失败,需要检查!{}", JSON.toJSONString(r)); diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/UserWithdrawServiceImpl.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/UserWithdrawServiceImpl.java index cf95452..cdcaaeb 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/UserWithdrawServiceImpl.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/UserWithdrawServiceImpl.java @@ -1,17 +1,20 @@ 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.exception.ServiceException; -import com.ruoyi.xq.domain.User; -import com.ruoyi.xq.domain.UserWithdraw; -import com.ruoyi.xq.domain.WithdrawSetting; +import com.ruoyi.common.helper.LoginHelper; +import com.ruoyi.common.utils.ServletUtils; +import com.ruoyi.xq.domain.*; +import com.ruoyi.xq.dto.admin.withdraw.UserWithdrawAdminVo; import com.ruoyi.xq.dto.app.withdraw.WithdrawListAppVo; import com.ruoyi.xq.dto.app.withdraw.WithdrawListPageQuery; import com.ruoyi.xq.enums.common.AuditEnum; import com.ruoyi.xq.enums.common.OrderTypeEnum; import com.ruoyi.xq.enums.common.TraceIdEnum; +import com.ruoyi.xq.enums.user.UserAuthTypeEnum; import com.ruoyi.xq.manager.OrderNoUtil; import com.ruoyi.xq.manager.TraceIdManager; import com.ruoyi.xq.mapper.UserWithdrawMapper; @@ -25,6 +28,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; +import java.time.LocalDateTime; /** * 用户提现审核Service业务层处理 @@ -74,4 +78,44 @@ public class UserWithdrawServiceImpl extends ServiceImpl pageApp(PageQuery pageQuery, WithdrawListPageQuery query) { return baseMapper.pageApp(pageQuery.build(), query); } + + @Override + public Page pageAdmin(PageQuery pageQuery, UserWithdrawAdminVo bo) { + return baseMapper.pageAdmin(pageQuery.build(), bo); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void auditSuccess(Long id, boolean autoTrans) { + boolean flag = this.update(Wrappers.lambdaUpdate(UserWithdraw.class) + .eq(UserWithdraw::getId, id) + .eq(UserWithdraw::getAuditStatus, AuditEnum.AUDITING.getCode()) + .set(UserWithdraw::getAuditStatus, AuditEnum.SUCCESS.getCode()) + .set(UserWithdraw::getAuditIp, ServletUtils.getClientIP()) + .set(UserWithdraw::getAuditOpId, LoginHelper.getUserId()) + .set(UserWithdraw::getAuditOpName, LoginHelper.getUsername()) + .set(UserWithdraw::getAuditTime, LocalDateTime.now()) + .set(UserWithdraw::getAuditRemark, "审核成功")); + if(flag && autoTrans){ + // TODO 自动打款 + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void auditFail(Long id, String auditRemark) { + boolean update = this.update(Wrappers.lambdaUpdate(UserWithdraw.class) + .eq(UserWithdraw::getId, id) + .eq(UserWithdraw::getAuditStatus, AuditEnum.AUDITING.getCode()) + .set(UserWithdraw::getAuditStatus, AuditEnum.FAIL.getCode()) + .set(UserWithdraw::getAuditIp, ServletUtils.getClientIP()) + .set(UserWithdraw::getAuditOpId, LoginHelper.getUserId()) + .set(UserWithdraw::getAuditOpName, LoginHelper.getUsername()) + .set(UserWithdraw::getAuditTime, LocalDateTime.now()) + .set(UserWithdraw::getAuditRemark, auditRemark)); + if(update){ + UserWithdraw userWithdraw = this.getById(id); + userExtendService.resetWithdraw(userWithdraw.getUserId(),userWithdraw.getWithdrawMoney(), userWithdraw.getTraceId()); + } + } } diff --git a/ruoyi-xq/src/main/resources/mapper/xq/UserAuthAuditMapper.xml b/ruoyi-xq/src/main/resources/mapper/xq/UserAuthAuditMapper.xml index 998a405..26b9b55 100644 --- a/ruoyi-xq/src/main/resources/mapper/xq/UserAuthAuditMapper.xml +++ b/ruoyi-xq/src/main/resources/mapper/xq/UserAuthAuditMapper.xml @@ -4,23 +4,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - - - - - - - - - - - - - - - - + diff --git a/ruoyi-xq/src/main/resources/mapper/xq/UserWithdrawMapper.xml b/ruoyi-xq/src/main/resources/mapper/xq/UserWithdrawMapper.xml index 97cdee3..adffd04 100644 --- a/ruoyi-xq/src/main/resources/mapper/xq/UserWithdrawMapper.xml +++ b/ruoyi-xq/src/main/resources/mapper/xq/UserWithdrawMapper.xml @@ -4,27 +4,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - - - - - - - - - - - - - - - - - - - - +