rk
2025-12-16 2cfceadff437135a255990ab9698788a48adb636
server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java
@@ -10,10 +10,12 @@
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.IntegralMapper;
import com.doumee.dao.business.MemberMapper;
import com.doumee.dao.business.ShopMapper;
import com.doumee.dao.business.join.IntegralJoinMapper;
import com.doumee.dao.business.model.Fund;
import com.doumee.dao.business.model.Integral;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.Shop;
import com.doumee.dao.web.dto.IntegralDTO;
import com.doumee.dao.web.request.DealIntegralRequest;
import com.doumee.service.business.AreasService;
@@ -58,6 +60,9 @@
    @Autowired
    private MemberMapper memberMapper;
    @Autowired
    private ShopMapper shopMapper;
    @Transactional(rollbackFor = {Exception.class, BusinessException.class})
    @Override
@@ -150,6 +155,7 @@
        integral.setNum(dealIntegralRequest.getIntegralNum());
        integral.setTotalNum(dealIntegralRequest.getDealType().equals(Constants.ZERO)? member.getIntegral().add(integral.getNum()):member.getIntegral().subtract(integral.getNum()));
        integral.setOrderCode(dealIntegralRequest.getOrderCode());
        integral.setUserType(Constants.ZERO);
        integralMapper.insert(integral);
        if(dealIntegralRequest.getDealType().equals(Constants.ZERO)){
            memberMapper.addIntegral(member.getId(),dealIntegralRequest.getIntegralNum(),
@@ -160,7 +166,35 @@
        return integral.getId();
    }
    @Override
    @Transactional(rollbackFor = {Exception.class, BusinessException.class})
    public Integer dealShopIntegral(DealIntegralRequest dealIntegralRequest) {
        Shop shop = shopMapper.selectById(dealIntegralRequest.getMemberId());
        if(Objects.isNull(shop)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到商户信息");
        }
        Integral integral = new Integral();
        integral.setMemberId(shop.getId());
        integral.setCreateDate(new Date());
        integral.setIsdeleted(Constants.ZERO);
        integral.setTitle(dealIntegralRequest.getIntegralObjType().getName());
        integral.setContent(dealIntegralRequest.getIntegralObjType().getNoteinfo());
        integral.setObjId(dealIntegralRequest.getObjId());
        integral.setObjType(dealIntegralRequest.getIntegralObjType().getKey());
        integral.setType(dealIntegralRequest.getDealType());
        integral.setNum(dealIntegralRequest.getIntegralNum());
        integral.setTotalNum(dealIntegralRequest.getDealType().equals(Constants.ZERO)? shop.getIntegral().add(integral.getNum()):shop.getIntegral().subtract(integral.getNum()));
        integral.setOrderCode(dealIntegralRequest.getOrderCode());
        integral.setUserType(Constants.ONE);
        integralMapper.insert(integral);
        if(dealIntegralRequest.getDealType().equals(Constants.ZERO)){
            shopMapper.addIntegral(shop.getId(),dealIntegralRequest.getIntegralNum(),
                    dealIntegralRequest.getIntegralObjType().getAddTitle()==Constants.ZERO?dealIntegralRequest.getIntegralNum():BigDecimal.ZERO);
        }else{
            shopMapper.subtractIntegral(shop.getId(),dealIntegralRequest.getIntegralNum());
        }
        return integral.getId();
    }
    @Override