init
This commit is contained in:
@@ -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<UserAuthAudit> list(UserAuthAudit bo, PageQuery pageQuery) {
|
||||
Page<UserAuthAudit> page = userAuthAuditService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
|
||||
public TableDataInfo<UserAuthAuditAdminVo> list(UserAuthAuditAdminVo bo, PageQuery pageQuery) {
|
||||
Page<UserAuthAuditAdminVo> 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<Void> 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<Void> auditFail(@RequestBody AuditFailReq bo) {
|
||||
userAuthAuditService.auditFail(bo.getId(), bo.getAuditRemark());
|
||||
return R.ok();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<UserWithdraw> list(UserWithdraw bo, PageQuery pageQuery) {
|
||||
Page<UserWithdraw> page = userWithdrawService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
|
||||
public TableDataInfo<UserWithdrawAdminVo> list(UserWithdrawAdminVo bo, PageQuery pageQuery) {
|
||||
Page<UserWithdrawAdminVo> 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<Void> add(@Validated(AddGroup.class) @RequestBody UserWithdraw bo) {
|
||||
return toAjax(userWithdrawService.save(bo));
|
||||
@PostMapping("/audit/success")
|
||||
public R<Void> 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<Void> edit(@Validated(EditGroup.class) @RequestBody UserWithdraw bo) {
|
||||
return toAjax(userWithdrawService.updateById(bo));
|
||||
@PostMapping("/audit/fail")
|
||||
public R<Void> auditFail(@RequestBody AuditFailReq bo) {
|
||||
userWithdrawService.auditFail(bo.getId(), bo.getAuditRemark());
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除用户提现审核
|
||||
*
|
||||
|
||||
@@ -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<List<WithdrawListAppVo>> logsPage(PageQuery pageQuery, WithdrawListPageQuery query){
|
||||
@@ -52,7 +52,7 @@ public class UserAuthAudit implements Serializable {
|
||||
/**
|
||||
* 其他字段
|
||||
*/
|
||||
private String auitOther;
|
||||
private String authOther;
|
||||
/**
|
||||
* 1-待审核 2-审核成功 3-审核失败
|
||||
*/
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.ruoyi.xq.dto.admin.withdraw;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class WithdrawSuccessAdminReq {
|
||||
private Long id;
|
||||
private boolean autoTrans;
|
||||
}
|
||||
@@ -17,7 +17,7 @@ public class UpdateUserAuthInfoReq {
|
||||
/**
|
||||
* 工作认证类型
|
||||
*/
|
||||
@Schema(description = "工作认证类型")
|
||||
@Schema(description = "工作认证类型 1-企业微信 2-offer 3-工作证")
|
||||
private Integer jobAuthType;
|
||||
/**
|
||||
* 工作照片
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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"),
|
||||
;
|
||||
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<UserAuthAudit> {
|
||||
|
||||
Page<UserAuthAuditAdminVo> pageAdmin(@Param("build") Page<Object> build, @Param("bo") UserAuthAuditAdminVo bo);
|
||||
}
|
||||
|
||||
@@ -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<UserWithdraw> {
|
||||
|
||||
Page<WithdrawListAppVo> pageApp(@Param("build") Page<Object> build, @Param("query") WithdrawListPageQuery query);
|
||||
|
||||
Page<UserWithdrawAdminVo> pageAdmin(@Param("build") Page<Object> build, @Param("bo") UserWithdrawAdminVo bo);
|
||||
}
|
||||
|
||||
@@ -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<UserAuthAudit> {
|
||||
default void saveAuthAudit(User user, UserAuthTypeEnum userAuthType, String pic) {
|
||||
saveAuthAudit(user,userAuthType,pic, null);
|
||||
}
|
||||
|
||||
Page<UserAuthAuditAdminVo> pageAdmin(PageQuery pageQuery, UserAuthAuditAdminVo bo);
|
||||
|
||||
void auditSuccess(String ids);
|
||||
|
||||
void auditFail(Long id, String auditRemark);
|
||||
}
|
||||
|
||||
@@ -18,8 +18,11 @@ import java.math.BigDecimal;
|
||||
public interface UserExtendService extends IService<UserExtend> {
|
||||
|
||||
boolean withdraw(Long userId, BigDecimal withdrawPrice);
|
||||
void resetWithdraw(Long userId, BigDecimal withdrawMoney, String traceId);
|
||||
|
||||
Page<UserExtendAdminVo> pageAdmin(PageQuery pageQuery, UserExtendAdminVo bo);
|
||||
|
||||
void updateIncomeCoin(UpdateIncomeCoinReq bo);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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<UserWithdraw> {
|
||||
void saveWithdraw(Long userId, Long withdrawSettingId);
|
||||
|
||||
Page<WithdrawListAppVo> pageApp(PageQuery pageQuery, WithdrawListPageQuery query);
|
||||
|
||||
Page<UserWithdrawAdminVo> pageAdmin(PageQuery pageQuery, UserWithdrawAdminVo bo);
|
||||
|
||||
void auditSuccess(Long id, boolean autoTrans);
|
||||
|
||||
void auditFail(Long id, String auditRemark);
|
||||
}
|
||||
|
||||
@@ -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<UserAuthAuditMapper,UserAuthAudit> 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<UserAuthAuditMapper,Us
|
||||
userAuthAudit.setAuditStatus(AuditEnum.AUDITING.getCode());
|
||||
this.save(userAuthAudit);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<UserAuthAuditAdminVo> 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()));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,8 +32,19 @@ public class UserExtendServiceImpl extends ServiceImpl<UserExtendMapper,UserExte
|
||||
|
||||
@Override
|
||||
public boolean withdraw(Long userId, BigDecimal withdrawPrice){
|
||||
boolean exists = baseMapper.decrIncome(userId, withdrawPrice);
|
||||
return exists;
|
||||
boolean success = baseMapper.decrIncome(userId, withdrawPrice);
|
||||
if(success){
|
||||
// TODO 记录金额流水
|
||||
}
|
||||
return success;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetWithdraw(Long userId, BigDecimal withdrawMoney, String traceId) {
|
||||
boolean success = baseMapper.incrIncome(userId, withdrawMoney);
|
||||
if(success){
|
||||
// TODO 记录金额流水
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -15,7 +15,9 @@ import com.ruoyi.xq.domain.UserInfo;
|
||||
import com.ruoyi.xq.dto.admin.user.UserAdminVo;
|
||||
import com.ruoyi.xq.dto.admin.user.req.UpdateMobileAdminReq;
|
||||
import com.ruoyi.xq.dto.app.user.vo.HomeUserVo;
|
||||
import com.ruoyi.xq.enums.common.SystemConfigEnum;
|
||||
import com.ruoyi.xq.enums.userinfo.UserGenderEnum;
|
||||
import com.ruoyi.xq.manager.SystemConfigManager;
|
||||
import com.ruoyi.xq.mapper.UserMapper;
|
||||
import com.ruoyi.xq.service.UserInfoService;
|
||||
import com.ruoyi.xq.service.UserService;
|
||||
@@ -41,6 +43,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper,User> 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<UserMapper,User> 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));
|
||||
|
||||
@@ -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<UserWithdrawMapper,User
|
||||
public Page<WithdrawListAppVo> pageApp(PageQuery pageQuery, WithdrawListPageQuery query) {
|
||||
return baseMapper.pageApp(pageQuery.build(), query);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<UserWithdrawAdminVo> 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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,23 +4,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.xq.mapper.UserAuthAuditMapper">
|
||||
|
||||
<resultMap type="com.ruoyi.xq.domain.UserAuthAudit" id="UserAuthAuditResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="userId" column="user_id"/>
|
||||
<result property="usercode" column="usercode"/>
|
||||
<result property="authType" column="auth_type"/>
|
||||
<result property="authRemark" column="auth_remark"/>
|
||||
<result property="authPic" column="auth_pic"/>
|
||||
<result property="auitOther" column="auit_other"/>
|
||||
<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="pageAdmin" resultType="com.ruoyi.xq.dto.admin.userauth.UserAuthAuditAdminVo">
|
||||
select t1.*, t2.nickname, t2.mobile,t2.avatar
|
||||
from xq_user_auth_audit 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 t1.create_time desc
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -4,27 +4,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.xq.mapper.UserWithdrawMapper">
|
||||
|
||||
<resultMap type="com.ruoyi.xq.domain.UserWithdraw" id="UserWithdrawResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="userId" column="user_id"/>
|
||||
<result property="usercode" column="usercode"/>
|
||||
<result property="traceId" column="trace_id"/>
|
||||
<result property="orderNo" column="order_no"/>
|
||||
<result property="withdrawMoney" column="withdraw_money"/>
|
||||
<result property="realWithdrawMoney" column="real_withdraw_money"/>
|
||||
<result property="withdrawFees" column="withdraw_fees"/>
|
||||
<result property="withdrawFeesCate" column="withdraw_fees_cate"/>
|
||||
<result property="pay" column="pay"/>
|
||||
<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"/>
|
||||
<result property="deleteFlag" column="delete_flag"/>
|
||||
</resultMap>
|
||||
<select id="pageApp" resultType="com.ruoyi.xq.dto.app.withdraw.WithdrawListAppVo">
|
||||
select
|
||||
t1.id, t1.user_id, t1.usercode, t1.order_no,
|
||||
@@ -36,6 +15,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
and t1.audit_status = #{query.auditStatus}
|
||||
</if>
|
||||
</select>
|
||||
<select id="pageAdmin" resultType="com.ruoyi.xq.dto.admin.withdraw.UserWithdrawAdminVo">
|
||||
select t1.*, t2.nickname, t2.mobile,t2.avatar
|
||||
from xq_user_withdraw 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>
|
||||
|
||||
Reference in New Issue
Block a user