init
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
package com.ruoyi.cai.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.cai.domain.CaiGift;
|
||||
import com.ruoyi.cai.service.CaiGiftService;
|
||||
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 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;
|
||||
|
||||
/**
|
||||
* 礼物
|
||||
*
|
||||
* @author 77
|
||||
* @date 2023-12-23
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/cai/gift")
|
||||
public class CaiGiftController extends BaseController {
|
||||
|
||||
private final CaiGiftService caiGiftService;
|
||||
|
||||
/**
|
||||
* 查询礼物列表
|
||||
*/
|
||||
@SaCheckPermission("cai:gift:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<CaiGift> list(CaiGift bo, PageQuery pageQuery) {
|
||||
Page<CaiGift> page = caiGiftService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
|
||||
return TableDataInfo.build(page);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取礼物详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("cai:gift:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<CaiGift> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Integer id) {
|
||||
return R.ok(caiGiftService.getById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增礼物
|
||||
*/
|
||||
@SaCheckPermission("cai:gift:add")
|
||||
@Log(title = "礼物", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody CaiGift bo) {
|
||||
return toAjax(caiGiftService.save(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改礼物
|
||||
*/
|
||||
@SaCheckPermission("cai:gift:edit")
|
||||
@Log(title = "礼物", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody CaiGift bo) {
|
||||
return toAjax(caiGiftService.updateById(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除礼物
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("cai:gift:remove")
|
||||
@Log(title = "礼物", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Integer[] ids) {
|
||||
return toAjax(caiGiftService.removeBatchByIds(Arrays.asList(ids), true));
|
||||
}
|
||||
}
|
||||
@@ -3,12 +3,18 @@ package com.ruoyi.cai.controller.app;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.cai.dto.app.query.AnchorListQuery;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGiftQuery;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGuardQuery;
|
||||
import com.ruoyi.cai.dto.app.vo.AnchorListVo;
|
||||
import com.ruoyi.cai.service.CaiAnchorService;
|
||||
import com.ruoyi.cai.service.CaiGuardTotalService;
|
||||
import com.ruoyi.cai.service.CaiUserGiftService;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@@ -19,6 +25,10 @@ public class CaiAnchorAppController {
|
||||
|
||||
@Autowired
|
||||
private CaiAnchorService anchorService;
|
||||
@Autowired
|
||||
private CaiGuardTotalService guardTotalService;
|
||||
@Autowired
|
||||
private CaiUserGiftService userGiftService;
|
||||
|
||||
@GetMapping("/page")
|
||||
public TableDataInfo<AnchorListVo> page(PageQuery page, AnchorListQuery query){
|
||||
@@ -26,5 +36,17 @@ public class CaiAnchorAppController {
|
||||
return TableDataInfo.build(res);
|
||||
}
|
||||
|
||||
@PostMapping("/give/guard")
|
||||
public R<Boolean> giveGuard(GiveGuardQuery query){
|
||||
boolean res = guardTotalService.giveGuard(query);
|
||||
return R.ok(res);
|
||||
}
|
||||
|
||||
@PostMapping("/give/gift")
|
||||
public R<Boolean> giveGift(GiveGiftQuery query){
|
||||
boolean res = userGiftService.giveGift(query);
|
||||
return R.ok(res);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -35,8 +35,8 @@ public class CaiUserAppController {
|
||||
}
|
||||
|
||||
@GetMapping("/info")
|
||||
public R<UserInfoVo> info(String usercode){
|
||||
UserInfoVo res = caiUserService.info(usercode);
|
||||
public R<UserInfoVo> info(Long userId){
|
||||
UserInfoVo res = caiUserService.info(userId);
|
||||
return R.ok(res);
|
||||
}
|
||||
}
|
||||
|
||||
71
ruoyi-cai/src/main/java/com/ruoyi/cai/domain/CaiAccount.java
Normal file
71
ruoyi-cai/src/main/java/com/ruoyi/cai/domain/CaiAccount.java
Normal file
@@ -0,0 +1,71 @@
|
||||
package com.ruoyi.cai.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 用户账户对象 cai_account
|
||||
*
|
||||
* @author 77
|
||||
* @date 2023-12-23
|
||||
*/
|
||||
@Data
|
||||
@TableName("cai_account")
|
||||
public class CaiAccount implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 子账户ID
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
@TableId(value = "user_id")
|
||||
private Long userId;
|
||||
/**
|
||||
* 充值的可用余额
|
||||
*/
|
||||
private BigDecimal money;
|
||||
/**
|
||||
* 收益的金额
|
||||
*/
|
||||
private BigDecimal incomeMoney;
|
||||
/**
|
||||
* 当前彩币数量
|
||||
*/
|
||||
private Long coin;
|
||||
/**
|
||||
* 收益的彩币数量
|
||||
*/
|
||||
private Long incomeCoin;
|
||||
/**
|
||||
* 当前魅力值
|
||||
*/
|
||||
private Long loveValue;
|
||||
/**
|
||||
* 充值总额
|
||||
*/
|
||||
private BigDecimal totalBuyMoney;
|
||||
/**
|
||||
* 充值彩贝总额
|
||||
*/
|
||||
private Long totalBuyCoin;
|
||||
/**
|
||||
* 账户锁定 0 正常 1 锁定
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
67
ruoyi-cai/src/main/java/com/ruoyi/cai/domain/CaiGift.java
Normal file
67
ruoyi-cai/src/main/java/com/ruoyi/cai/domain/CaiGift.java
Normal file
@@ -0,0 +1,67 @@
|
||||
package com.ruoyi.cai.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 礼物对象 cai_gift
|
||||
*
|
||||
* @author 77
|
||||
* @date 2023-12-23
|
||||
*/
|
||||
@Data
|
||||
@TableName("cai_gift")
|
||||
public class CaiGift implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 礼物ID
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Integer id;
|
||||
/**
|
||||
* 类型 0 普通礼物 1svga礼物
|
||||
*/
|
||||
private Integer type;
|
||||
/**
|
||||
* 礼物名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 礼物价格
|
||||
*/
|
||||
private Long price;
|
||||
/**
|
||||
* 礼物图片地址
|
||||
*/
|
||||
private String img;
|
||||
/**
|
||||
* svga地址
|
||||
*/
|
||||
private String svga;
|
||||
/**
|
||||
* svgamd5串
|
||||
*/
|
||||
private String md5String;
|
||||
/**
|
||||
* 礼物描述
|
||||
*/
|
||||
private String desc;
|
||||
/**
|
||||
* 是否隐藏 0 不隐藏,可见 1 隐藏
|
||||
*/
|
||||
private Integer hide;
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
private Integer sort;
|
||||
/**
|
||||
* 状态 0 可用 1 不可用
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.ruoyi.cai.dto.app.query;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class GiveGiftQuery {
|
||||
|
||||
/**
|
||||
* 类型 1 个人详情页 2.IM页面 3视频页
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
private Long toUserId;
|
||||
|
||||
private Long giftId;
|
||||
|
||||
private Long giftCount;
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.ruoyi.cai.dto.app.query;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class GiveGuardQuery {
|
||||
|
||||
private Long toUserId;
|
||||
|
||||
private Long guardNum;
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.ruoyi.cai.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ruoyi.cai.domain.CaiAccount;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 用户账户Mapper接口
|
||||
*
|
||||
* @author 77
|
||||
* @date 2023-12-23
|
||||
*/
|
||||
public interface CaiAccountMapper extends BaseMapper<CaiAccount> {
|
||||
|
||||
boolean incs(@Param("userId") Long userId, @Param("value") Long value);
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.ruoyi.cai.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ruoyi.cai.domain.CaiGift;
|
||||
|
||||
/**
|
||||
* 礼物Mapper接口
|
||||
*
|
||||
* @author 77
|
||||
* @date 2023-12-23
|
||||
*/
|
||||
public interface CaiGiftMapper extends BaseMapper<CaiGift> {
|
||||
|
||||
}
|
||||
@@ -17,4 +17,5 @@ public interface CaiGuardTotalMapper extends BaseMapper<CaiGuardTotal> {
|
||||
|
||||
List<GuardTotalVo> selectGuardTotal(@Param("fromUserId") Long fromUserId, @Param("limit") Integer limit);
|
||||
|
||||
void incs(@Param("fromUserId") Long fromUserId, @Param("toUserId") Long toUserId, @Param("guardNum") Long guardNum, @Param("guardValue") Long guardValue);
|
||||
}
|
||||
|
||||
@@ -11,4 +11,5 @@ import com.ruoyi.cai.domain.CaiAccountDetail;
|
||||
*/
|
||||
public interface CaiAccountDetailService extends IService<CaiAccountDetail> {
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.ruoyi.cai.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.cai.domain.CaiAccount;
|
||||
|
||||
/**
|
||||
* 用户账户Service接口
|
||||
*
|
||||
* @author 77
|
||||
* @date 2023-12-23
|
||||
*/
|
||||
public interface CaiAccountService extends IService<CaiAccount> {
|
||||
|
||||
CaiAccount getByUserId(Long userId);
|
||||
|
||||
boolean incs(Long userId, Long value);
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.ruoyi.cai.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.cai.domain.CaiGift;
|
||||
|
||||
/**
|
||||
* 礼物Service接口
|
||||
*
|
||||
* @author 77
|
||||
* @date 2023-12-23
|
||||
*/
|
||||
public interface CaiGiftService extends IService<CaiGift> {
|
||||
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package com.ruoyi.cai.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.cai.domain.CaiGuardTotal;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGuardQuery;
|
||||
import com.ruoyi.cai.dto.app.vo.GuardTotalVo;
|
||||
|
||||
import java.util.List;
|
||||
@@ -15,4 +16,6 @@ import java.util.List;
|
||||
public interface CaiGuardTotalService extends IService<CaiGuardTotal> {
|
||||
|
||||
List<GuardTotalVo> selectGuardTotalLimit(Long fromUserId,Integer limit);
|
||||
|
||||
boolean giveGuard(GiveGuardQuery query);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.ruoyi.cai.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.cai.domain.CaiUserGift;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGiftQuery;
|
||||
import com.ruoyi.cai.dto.app.vo.UserGiftVo;
|
||||
|
||||
import java.util.List;
|
||||
@@ -15,4 +16,6 @@ import java.util.List;
|
||||
public interface CaiUserGiftService extends IService<CaiUserGift> {
|
||||
|
||||
List<UserGiftVo> selectGiftList(Long userId);
|
||||
|
||||
boolean giveGift(GiveGiftQuery query);
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ public interface CaiUserService extends IService<CaiUser> {
|
||||
|
||||
Page<UserListVo> pageApp(PageQuery page, UserQuery query);
|
||||
|
||||
UserInfoVo info(String userCode);
|
||||
UserInfoVo info(Long userId);
|
||||
|
||||
CaiUser getByUserCode(String userCode);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.ruoyi.cai.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.domain.CaiAccountDetail;
|
||||
import com.ruoyi.cai.mapper.CaiAccountDetailMapper;
|
||||
@@ -15,4 +16,5 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class CaiAccountDetailServiceImpl extends ServiceImpl<CaiAccountDetailMapper,CaiAccountDetail> implements CaiAccountDetailService {
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.ruoyi.cai.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.domain.CaiAccount;
|
||||
import com.ruoyi.cai.mapper.CaiAccountMapper;
|
||||
import com.ruoyi.cai.service.CaiAccountService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 用户账户Service业务层处理
|
||||
*
|
||||
* @author 77
|
||||
* @date 2023-12-23
|
||||
*/
|
||||
@Service
|
||||
public class CaiAccountServiceImpl extends ServiceImpl<CaiAccountMapper,CaiAccount> implements CaiAccountService {
|
||||
|
||||
@Override
|
||||
public CaiAccount getByUserId(Long userId) {
|
||||
return this.getOne(Wrappers.lambdaQuery(CaiAccount.class).eq(CaiAccount::getUserId,userId).last("limit 1"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean incs(Long userId, Long value) {
|
||||
return baseMapper.incs(userId,value);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.ruoyi.cai.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.domain.CaiGift;
|
||||
import com.ruoyi.cai.mapper.CaiGiftMapper;
|
||||
import com.ruoyi.cai.service.CaiGiftService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 礼物Service业务层处理
|
||||
*
|
||||
* @author 77
|
||||
* @date 2023-12-23
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class CaiGiftServiceImpl extends ServiceImpl<CaiGiftMapper,CaiGift> implements CaiGiftService {
|
||||
|
||||
}
|
||||
@@ -2,11 +2,22 @@ package com.ruoyi.cai.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.domain.CaiAccount;
|
||||
import com.ruoyi.cai.domain.CaiAccountDetail;
|
||||
import com.ruoyi.cai.domain.CaiGuardTotal;
|
||||
import com.ruoyi.cai.domain.CaiUser;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGuardQuery;
|
||||
import com.ruoyi.cai.dto.app.vo.GuardTotalVo;
|
||||
import com.ruoyi.cai.mapper.CaiGuardTotalMapper;
|
||||
import com.ruoyi.cai.service.CaiAccountDetailService;
|
||||
import com.ruoyi.cai.service.CaiAccountService;
|
||||
import com.ruoyi.cai.service.CaiGuardTotalService;
|
||||
import com.ruoyi.cai.service.CaiUserService;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.helper.LoginHelper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -19,8 +30,48 @@ import java.util.List;
|
||||
@Service
|
||||
public class CaiGuardTotalServiceImpl extends ServiceImpl<CaiGuardTotalMapper,CaiGuardTotal> implements CaiGuardTotalService {
|
||||
|
||||
private final Integer GUARD_UNIT_PRICE = 1314;
|
||||
@Autowired
|
||||
private CaiUserService userService;
|
||||
@Autowired
|
||||
private CaiAccountService accountService;
|
||||
|
||||
@Override
|
||||
public List<GuardTotalVo> selectGuardTotalLimit(Long fromUserId,Integer limit) {
|
||||
return baseMapper.selectGuardTotal(fromUserId, limit);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean giveGuard(GiveGuardQuery query) {
|
||||
Long fromUserId = LoginHelper.getUserId();
|
||||
CaiUser user = userService.getById(query.getToUserId());
|
||||
if(user == null){
|
||||
throw new ServiceException("女神不存在");
|
||||
}
|
||||
if(user.getIsAnchor() != 1){
|
||||
throw new ServiceException("只能给女神送守护");
|
||||
}
|
||||
Long guardValue = query.getGuardNum() * GUARD_UNIT_PRICE;
|
||||
CaiAccount account = accountService.getByUserId(fromUserId);
|
||||
if(account.getCoin() < guardValue){
|
||||
throw new ServiceException("余额不足");
|
||||
}
|
||||
boolean boo = accountService.incs(fromUserId, -guardValue);
|
||||
if(!boo){
|
||||
throw new ServiceException("余额不足");
|
||||
}
|
||||
// TODO 增加守护流水
|
||||
CaiGuardTotal one = this.getOne(Wrappers.lambdaQuery(CaiGuardTotal.class)
|
||||
.eq(CaiGuardTotal::getToUserId, query.getToUserId())
|
||||
.eq(CaiGuardTotal::getFromUserId, fromUserId));
|
||||
if(one == null){
|
||||
one = new CaiGuardTotal();
|
||||
one.setFromUserId(fromUserId);
|
||||
one.setToUserId(query.getToUserId());
|
||||
this.save(one);
|
||||
}
|
||||
baseMapper.incs(fromUserId,query.getToUserId(),query.getGuardNum(),guardValue);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,20 @@
|
||||
package com.ruoyi.cai.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.domain.CaiAccount;
|
||||
import com.ruoyi.cai.domain.CaiGift;
|
||||
import com.ruoyi.cai.domain.CaiUserGift;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGiftQuery;
|
||||
import com.ruoyi.cai.dto.app.vo.UserGiftVo;
|
||||
import com.ruoyi.cai.mapper.CaiUserGiftMapper;
|
||||
import com.ruoyi.cai.service.CaiAccountService;
|
||||
import com.ruoyi.cai.service.CaiGiftService;
|
||||
import com.ruoyi.cai.service.CaiUserGiftService;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.helper.LoginHelper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.HierarchicalBeanFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
@@ -20,8 +29,41 @@ import java.util.List;
|
||||
@Service
|
||||
public class CaiUserGiftServiceImpl extends ServiceImpl<CaiUserGiftMapper,CaiUserGift> implements CaiUserGiftService {
|
||||
|
||||
@Autowired
|
||||
private CaiGiftService giftService;
|
||||
@Autowired
|
||||
private CaiAccountService accountService;
|
||||
|
||||
@Override
|
||||
public List<UserGiftVo> selectGiftList(Long userId) {
|
||||
return baseMapper.selectGiftList(userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean giveGift(GiveGiftQuery query) {
|
||||
Long fromUserId = LoginHelper.getUserId();
|
||||
CaiGift gift = giftService.getById(query.getGiftId());
|
||||
if(gift == null){
|
||||
throw new ServiceException("礼物不存在");
|
||||
}
|
||||
Long price = gift.getPrice();
|
||||
Long giftAmount = query.getGiftCount() * price;
|
||||
CaiAccount account = accountService.getByUserId(fromUserId);
|
||||
if(account.getCoin() < giftAmount){
|
||||
throw new ServiceException("余额不足");
|
||||
}
|
||||
boolean boo = accountService.incs(fromUserId, -giftAmount);
|
||||
if(!boo){
|
||||
throw new ServiceException("余额不足");
|
||||
}
|
||||
CaiUserGift userGift = new CaiUserGift();
|
||||
userGift.setType(query.getType());
|
||||
userGift.setFromUid(fromUserId);
|
||||
userGift.setToUid(query.getToUserId());
|
||||
userGift.setGiftId(query.getGiftId());
|
||||
userGift.setGiftCount(query.getGiftCount());
|
||||
userGift.setGiftAmount(giftAmount);
|
||||
this.save(userGift);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,13 +60,12 @@ public class CaiUserServiceImpl extends ServiceImpl<CaiUserMapper, CaiUser> impl
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserInfoVo info(String userCode) {
|
||||
public UserInfoVo info(Long userId) {
|
||||
Long currentUserId = LoginHelper.getUserId();
|
||||
CaiUser caiUser = this.getByUserCode(userCode);
|
||||
CaiUser caiUser = this.getById(userId);
|
||||
if(caiUser == null){
|
||||
return null;
|
||||
}
|
||||
Long userId = caiUser.getId();
|
||||
CaiAnchor anchor = anchorService.getByUserId(userId);
|
||||
UserInfoVo vo = new UserInfoVo();
|
||||
vo.setIsAnchor(caiUser.getIsAnchor());
|
||||
|
||||
Reference in New Issue
Block a user