This commit is contained in:
Vinjor 2025-04-17 15:16:16 +08:00
commit 1190d2d41f
6 changed files with 93 additions and 7 deletions

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.member.domain.MemberPoints;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 博主积分变动明细Mapper接口
@ -24,5 +25,5 @@ public interface MemberPointsMapper extends BaseMapper<MemberPoints> {
* @author PQZ
* @date 15:25 2025/3/29
**/
IPage<MemberPoints> queryListPage(Long userId, Page<MemberPoints> page);
IPage<MemberPoints> queryListPage(@Param("userId") Long userId, Page<MemberPoints> page);
}

View File

@ -62,4 +62,16 @@ public interface IMemberCardService extends IService<MemberCard> {
**/
Integer getCardReport(Long userId, String userType);
/**
*
* @author PQZ
* @date 14:23 2025/4/17
* @param userId 用户id
* @param rightsCode 权益编码
* @param deplete 扣的值
* @return void
**/
void dealMemberRights(Long userId,String rightsCode,Integer deplete) throws Exception;
}

View File

@ -33,4 +33,16 @@ public interface IMemberRightsService extends IService<MemberRights> {
* @date 17:15 2025/3/31
**/
Integer getReport(Long userId, String carId);
/**
* 根据用户id卡id权益编码更新剩余值
*
* @param userId 用户id
* @param cardId 卡id
* @param rightsCode 权益编码
* @param deplete 消耗值
* @author PQZ
* @date 14:32 2025/4/17
**/
void dealMemberRights(Long userId, String cardId, String rightsCode, Integer deplete) throws Exception;
}

View File

@ -23,6 +23,7 @@ import com.ruoyi.member.vo.ViewRightsVO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Calendar;
@ -221,6 +222,25 @@ public class MemberCardServiceImpl extends ServiceImpl<MemberCardMapper, MemberC
**/
@Override
public Integer getCardReport(Long userId, String userType) {
//查询当前用户在当前时间有无正在服役的会员卡
List<MemberCard> memberCards = getMemberCards(userId, userType);
if (memberCards.isEmpty()) {
return 0;
} else {
return rightsService.getReport(memberCards.get(0).getUserId(), memberCards.get(0).getCardId());
}
}
/**
* 查询当前登录用户有无正在服役的会员卡
*
* @param userId 用户id
* @param userType 用户类型
* @return java.util.List<com.ruoyi.member.domain.MemberCard>
* @author PQZ
* @date 14:28 2025/4/17
**/
private List<MemberCard> getMemberCards(Long userId, String userType) {
//查询当前用户在当前时间有无正在服役的会员卡
Date time = new Date();
LambdaQueryWrapper<MemberCard> lambdaQueryWrapper = new LambdaQueryWrapper<>();
@ -231,12 +251,25 @@ public class MemberCardServiceImpl extends ServiceImpl<MemberCardMapper, MemberC
.lt(MemberCard::getStartDate, time)
.ge(MemberCard::getEndDate, time)
.orderByDesc(DlBaseEntity::getCreateTime);
List<MemberCard> memberCards = list(lambdaQueryWrapper);
if (memberCards.isEmpty()) {
return 0;
} else {
return rightsService.getReport(memberCards.get(0).getUserId(), memberCards.get(0).getCardId());
return list(lambdaQueryWrapper);
}
/**
* @param userId 用户id
* @param rightsCode 权益编码
* @param deplete 扣的值
* @author PQZ
* @date 14:23 2025/4/17
**/
@Override
@Transactional(rollbackFor = Exception.class)
public void dealMemberRights(Long userId, String rightsCode, Integer deplete) throws Exception {
//查询当前用户有无正在服役的通告主卡
List<MemberCard> memberCards = getMemberCards(userId, "01");
if (memberCards.isEmpty()){
throw new Exception("无正在服役的会员卡");
}
rightsService.dealMemberRights(userId,memberCards.get(0).getCardId(),rightsCode,deplete);
}
/**

View File

@ -1,6 +1,7 @@
package com.ruoyi.member.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.base.vo.CardRightsVO;
import com.ruoyi.common.config.DlRightsConfig;
@ -80,4 +81,30 @@ public class MemberRightsServiceImpl extends ServiceImpl<MemberRightsMapper, Mem
return filterRights.get(0).getRemaining();
}
}
/**
* 根据用户id卡id权益编码更新剩余值
*
* @param userId 用户id
* @param cardId 卡id
* @param rightsCode 权益编码
* @param deplete 消耗值
* @author PQZ
* @date 14:32 2025/4/17
**/
@Override
public void dealMemberRights(Long userId, String cardId, String rightsCode, Integer deplete) throws Exception {
LambdaQueryWrapper<MemberRights> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(MemberRights::getUserId,userId)
.eq(MemberRights::getCardId,cardId)
.eq(MemberRights::getRightsCode,rightsCode);
try{
MemberRights rights = getOne(lambdaQueryWrapper);
rights.setRemaining(rights.getRemaining()-deplete);
updateById(rights);
}catch (Exception e){
throw new Exception("根据用户id卡id权益编码查询权益出现错误");
}
}
}

View File

@ -27,7 +27,8 @@
<select id="queryListPage" parameterType="MemberPoints" resultMap="MemberPointsResult">
<include refid="selectMemberPointsVo"/>
<where>
<if test="entity.userId != null"> and user_id = #{entity.userId}</if>
<if test="userId != null"> and user_id = #{userId}</if>
</where>
order by create_time desc
</select>
</mapper>