This commit is contained in:
张良(004796)
2024-03-13 15:45:03 +08:00
parent e79d7d8c5c
commit 01c813137b
12 changed files with 118 additions and 43 deletions

View File

@@ -13,6 +13,7 @@ import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.xq.domain.UserExtend;
import com.ruoyi.xq.dto.admin.user.UserExtendAdminVo;
import com.ruoyi.xq.dto.admin.user.req.UpdateIncomeCoinReq;
import com.ruoyi.xq.service.UserExtendService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
@@ -59,38 +60,13 @@ public class UserExtendController extends BaseController {
return R.ok(userExtendService.getById(id));
}
/**
* 新增用户邀请
*/
@SaCheckPermission("xq:userExtend:add")
@Log(title = "用户邀请", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody UserExtend bo) {
return toAjax(userExtendService.save(bo));
}
/**
* 修改用户邀请
*/
@SaCheckPermission("xq:userExtend:edit")
@Log(title = "用户邀请", businessType = BusinessType.UPDATE)
@Log(title = "调整用户收益", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody UserExtend bo) {
return toAjax(userExtendService.updateById(bo));
@PostMapping("/updateIncomeCoin")
public R<Void> updateIncomeCoin(@RequestBody UpdateIncomeCoinReq bo) {
userExtendService.updateIncomeCoin(bo);
return R.ok();
}
/**
* 删除用户邀请
*
* @param ids 主键串
*/
@SaCheckPermission("xq:userExtend:remove")
@Log(title = "用户邀请", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(userExtendService.removeBatchByIds(Arrays.asList(ids)));
}
}

View File

@@ -13,6 +13,7 @@ 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.UserInvite;
import com.ruoyi.xq.dto.admin.user.UserInviteAdminVo;
import com.ruoyi.xq.service.UserInviteService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
@@ -41,8 +42,8 @@ public class UserInviteController extends BaseController {
*/
@SaCheckPermission("xq:userInvite:list")
@GetMapping("/list")
public TableDataInfo<UserInvite> list(UserInvite bo, PageQuery pageQuery) {
Page<UserInvite> page = userInviteService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
public TableDataInfo<UserInviteAdminVo> list(UserInviteAdminVo bo, PageQuery pageQuery) {
Page<UserInviteAdminVo> page = userInviteService.pageAdmin(pageQuery, bo);
return TableDataInfo.build(page);
}

View File

@@ -0,0 +1,15 @@
package com.ruoyi.xq.dto.admin.user;
import com.ruoyi.xq.domain.UserInvite;
import lombok.Data;
@Data
public class UserInviteAdminVo extends UserInvite {
private String avatar;
private String nickname;
private String mobile;
private String inviteMobile;
private String inviteAvatar;
private String inviteNickname;
}

View File

@@ -0,0 +1,16 @@
package com.ruoyi.xq.dto.admin.user.req;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class UpdateIncomeCoinReq {
private String usercode;
private String remark;
/**
* 调整的金额
*/
private BigDecimal rechargeCoin;
}

View File

@@ -18,5 +18,7 @@ public interface UserExtendMapper extends BaseMapper<UserExtend> {
boolean decrIncome(@Param("userId") Long userId, @Param("price") BigDecimal price);
boolean incrIncome(@Param("userId") Long userId, @Param("price") BigDecimal price);
Page<UserExtendAdminVo> pageAdmin(@Param("build") Page<Object> build, @Param("bo") UserExtendAdminVo bo);
}

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.UserInvite;
import com.ruoyi.xq.dto.admin.user.UserInviteAdminVo;
import org.apache.ibatis.annotations.Param;
/**
* 用户邀请Mapper接口
@@ -11,4 +14,5 @@ import com.ruoyi.xq.domain.UserInvite;
*/
public interface UserInviteMapper extends BaseMapper<UserInvite> {
Page<UserInviteAdminVo> pageAdmin(@Param("build") Page<Object> build, @Param("bo") UserInviteAdminVo bo);
}

View File

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.xq.domain.UserExtend;
import com.ruoyi.xq.dto.admin.user.UserExtendAdminVo;
import com.ruoyi.xq.dto.admin.user.req.UpdateIncomeCoinReq;
import java.math.BigDecimal;
@@ -19,4 +20,6 @@ public interface UserExtendService extends IService<UserExtend> {
boolean withdraw(Long userId, BigDecimal withdrawPrice);
Page<UserExtendAdminVo> pageAdmin(PageQuery pageQuery, UserExtendAdminVo bo);
void updateIncomeCoin(UpdateIncomeCoinReq 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.UserInvite;
import com.ruoyi.xq.dto.admin.user.UserInviteAdminVo;
/**
* 用户邀请Service接口
@@ -14,4 +17,6 @@ public interface UserInviteService extends IService<UserInvite> {
void bindInvite(Long userId, String inviteCode);
void unBindInviteUser(Long userId);
Page<UserInviteAdminVo> pageAdmin(PageQuery pageQuery, UserInviteAdminVo bo);
}

View File

@@ -3,12 +3,18 @@ package com.ruoyi.xq.service.impl;
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.UserExtend;
import com.ruoyi.xq.dto.admin.user.UserExtendAdminVo;
import com.ruoyi.xq.dto.admin.user.req.UpdateIncomeCoinReq;
import com.ruoyi.xq.mapper.UserExtendMapper;
import com.ruoyi.xq.service.UserExtendService;
import com.ruoyi.xq.service.UserService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
@@ -21,7 +27,8 @@ import java.math.BigDecimal;
@RequiredArgsConstructor
@Service
public class UserExtendServiceImpl extends ServiceImpl<UserExtendMapper,UserExtend> implements UserExtendService {
@Autowired
private UserService userService;
@Override
public boolean withdraw(Long userId, BigDecimal withdrawPrice){
@@ -34,4 +41,17 @@ public class UserExtendServiceImpl extends ServiceImpl<UserExtendMapper,UserExte
return baseMapper.pageAdmin(pageQuery.build(), bo);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateIncomeCoin(UpdateIncomeCoinReq bo) {
User user = userService.getByUsercode(bo.getUsercode());
if(user == null){
throw new ServiceException("用户不存在");
}
boolean income = baseMapper.incrIncome(user.getId(), bo.getRechargeCoin());
if(!income){
throw new ServiceException("调整失败,请保证调整后金额不为负数");
}
}
}

View File

@@ -1,10 +1,13 @@
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.UserInvite;
import com.ruoyi.xq.dto.admin.user.UserInviteAdminVo;
import com.ruoyi.xq.mapper.UserInviteMapper;
import com.ruoyi.xq.service.UserInviteService;
import com.ruoyi.xq.service.UserService;
@@ -65,4 +68,9 @@ public class UserInviteServiceImpl extends ServiceImpl<UserInviteMapper, UserInv
.eq(User::getId, userId)
.set(User::getInviteId, null));
}
@Override
public Page<UserInviteAdminVo> pageAdmin(PageQuery pageQuery, UserInviteAdminVo bo) {
return baseMapper.pageAdmin(pageQuery.build(), bo);
}
}