JiangYouYao
2022-03-18 96e622e737ec7d0b9f3a64ecc4e4a53389a207a2
zq-erp/src/main/java/com/matrix/system/hive/service/imp/MoneyCardUseServiceImpl.java
@@ -16,7 +16,6 @@
import com.matrix.system.hive.dto.MoneyCardOperationDto;
import com.matrix.system.hive.dto.MoneyCardPayDto;
import com.matrix.system.hive.plugin.util.MoneyUtil;
import com.matrix.system.hive.pojo.CzXkVo;
import com.matrix.system.hive.service.MoneyCardUseService;
import com.matrix.system.hive.service.ShoppingGoodsService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -112,16 +111,36 @@
    @Override
    public void vipCardRecharge(CzXkVo czVo) {
        MoneyCardUse cardUser = moneyCardUseDao.selectVipCard(czVo.getVipId());
    public void moneyCardTk(List<MoneyCardOperationDto> moneyCardOperationDtos) {
        MoneyCardPayDto moneyCardPayDto=new MoneyCardPayDto();
        MoneyCardUseFlow  moneyCardUseFlow=new MoneyCardUseFlow();
        moneyCardPayDto.setRealMoney(MoneyUtil.add(cardUser.getRealMoney(), czVo.getBjmoney()));
        moneyCardPayDto.setGiftMoney(MoneyUtil.add(cardUser.getGiftMoney(), czVo.getGiftMoney()));
        moneyCardPayDto.setCarUseId(cardUser.getId());
        moneyCardPayDto.setOrderId();
        moneyCardUseDao.update(cardUser);
        moneyCardOperationDtos.forEach(moneyCardOperationDto -> {
            List<MoneyCardUse> moneyCardUseList = list(lambdaQuery().eq(MoneyCardUse::getOrderItemId, moneyCardOperationDto.getOrderItemId()));
            for (MoneyCardUse moneyCardUse : moneyCardUseList) {
                moneyCardUse.setStatus(Dictionary.TAOCAN_STATUS_TK);
                moneyCardUseDao.update(moneyCardUse);
                //设置卡项使用流水
                moneyCardUseFlow.setCarUseId(moneyCardUse.getId());
                moneyCardUseFlow.setOrderNo(moneyCardOperationDto.getOrderNo());
                moneyCardUseFlow.setVipId(moneyCardUse.getVipId());
                moneyCardUseFlow.setTimes(moneyCardUse.getLastCount());
                moneyCardUseFlow.setType(moneyCardOperationDto.getType());
                moneyCardUseFlow.setCreateTime(new Date());
                moneyCardUseFlow.setOperationId(moneyCardOperationDto.getUpdateUser());
                moneyCardUseFlow.setBalance(moneyCardUse.getGiftMoney() + moneyCardUse.getRealMoney());
                moneyCardUseFlowDao.insert(moneyCardUseFlow);
            }
        });
    }
    @Override