| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- package beilv.vipCard.service.impl;
- import beilv.common.core.domain.AjaxResult;
- import beilv.common.core.text.Convert;
- import beilv.common.utils.DateUtils;
- import beilv.common.utils.StringUtils;
- import beilv.common.utils.uuid.IdUtils;
- import beilv.utils.UuidUtils;
- import beilv.vipCard.domain.Exchange;
- import beilv.vipCard.domain.VipCard;
- import beilv.vipCard.mapper.VipCardMapper;
- import beilv.vipCard.service.IVipCardService;
- import beilv.vipCardAmountLog.domain.VipCardAmountLog;
- import beilv.vipCardAmountLog.mapper.VipCardAmountLogMapper;
- import beilv.vipCardLog.domain.VipCardLog;
- import beilv.vipCardLog.mapper.VipCardLogMapper;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import javax.annotation.Resource;
- import java.math.BigDecimal;
- import java.util.List;
- /**
- * 储值会员卡Service业务层处理
- *
- * @author LG
- * @date 2025-11-12
- */
- @Service
- public class VipCardServiceImpl implements IVipCardService {
- @Resource
- private VipCardMapper vipCardMapper;
- @Resource
- private VipCardLogMapper cardLogMapper;
- @Resource
- private VipCardAmountLogMapper amountLogMapper;
- /**
- * 查询储值会员卡
- *
- * @param id 储值会员卡主键
- * @return 储值会员卡
- */
- @Override
- public VipCard selectVipCardById(String id) {
- return vipCardMapper.selectVipCardById(id);
- }
- /**
- * 查询储值会员卡列表
- *
- * @param vipCard 储值会员卡
- * @return 储值会员卡
- */
- @Override
- public List<VipCard> selectVipCardList(VipCard vipCard) {
- return vipCardMapper.selectVipCardList(vipCard);
- }
- /**
- * 新增储值会员卡
- *
- * @param vipCard 储值会员卡
- * @return 结果
- */
- @Override
- public String insertVipCard(VipCard vipCard) {
- String vipCardId = UuidUtils.getVipCardId();
- vipCard.setId(vipCardId);
- vipCard.setCreateTime(DateUtils.getNowDate());
- vipCard.setCardState("vip_card_state_open");
- vipCard.setVipLevel("普通会员");
- return vipCardMapper.insertVipCard(vipCard) > 0 ? vipCardId : null;
- }
- /**
- * 修改储值会员卡
- *
- * @param vipCard 储值会员卡
- * @return 结果
- */
- @Override
- public int updateVipCard(VipCard vipCard) {
- return vipCardMapper.updateVipCard(vipCard);
- }
- /**
- * 批量删除储值会员卡
- *
- * @param ids 需要删除的储值会员卡主键
- * @return 结果
- */
- @Override
- public int deleteVipCardByIds(String ids) {
- return vipCardMapper.deleteVipCardByIds(Convert.toStrArray(ids));
- }
- /**
- * 删除储值会员卡信息
- *
- * @param id 储值会员卡主键
- * @return 结果
- */
- @Override
- public int deleteVipCardById(String id) {
- return vipCardMapper.deleteVipCardById(id);
- }
- @Override
- public int refundById(VipCard vipCard) {
- vipCard.setBalance(BigDecimal.valueOf(0));
- vipCard.setRefundTime(DateUtils.getNowDate());
- vipCard.setCardState("vip_card_state_close");
- return vipCardMapper.updateVipCard(vipCard);
- }
- @Override
- public boolean haveVipCard(String userId) {
- return null != vipCardMapper.selectVipCardByUserId(userId);
- }
- @Override
- public VipCard selectVipCardByUserId(String userId) {
- return vipCardMapper.selectVipCardByUserId(userId);
- }
- @Override
- public AjaxResult exchange(Exchange exchange) {
- if(StringUtils.isEmpty(exchange.getCardId())){
- return AjaxResult.error("会员信息为空!");
- }
- if(StringUtils.isEmpty(exchange.getProductId())){
- return AjaxResult.error("未选中商品信息!");
- }
- //生成订单
- String orderId = IdUtils.fastSimpleUUID();
- VipCardLog vipCardLog = new VipCardLog();
- vipCardLog.setId(orderId);
- vipCardLog.setUserId(exchange.getUserId());
- vipCardLog.setPaymentType("score");
- vipCardLog.setOrderType("duihuan");
- vipCardLog.setBusId(exchange.getProductId());
- vipCardLog.setPaymentStatus("payment_status_have_paid");
- vipCardLog.setCreateTime(DateUtils.getNowDate());
- vipCardLog.setPaymentTime(vipCardLog.getCreateTime());
- vipCardLog.setPracticalMoney(exchange.getPayScore());
- vipCardLog.setPaymentId(exchange.getCardId());
- cardLogMapper.insertVipCardLog(vipCardLog);
- System.out.println("exchange.getPayScore().negate() = " + exchange.getPayScore().negate());
- //存在会员卡, 增加积分流水
- VipCardAmountLog vipCardAmountLog = new VipCardAmountLog(exchange.getUserId(), exchange.getCardId(), orderId, exchange.getScore(), exchange.getPayScore().negate(), "2");
- amountLogMapper.insertVipCardAmountLog(vipCardAmountLog);
- //存在会员卡, 增加积分
- VipCard vipCard = new VipCard();
- vipCard.setUserId(Long.valueOf(exchange.getUserId()));
- vipCard.setId(exchange.getCardId());
- vipCard.setScore(vipCardAmountLog.getRemainingAmount());
- vipCardMapper.updateVipCard(vipCard);
- return AjaxResult.success();
- }
- }
|