| | |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.doumee.service.business.NoticeService; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.shiro.SecurityUtils; |
| | |
| | | |
| | | @Autowired |
| | | private ShopMapper shopMapper; |
| | | |
| | | @Autowired |
| | | private NoticeService noticeService; |
| | | |
| | | @Transactional(rollbackFor = {Exception.class, BusinessException.class}) |
| | | @Override |
| | |
| | | }else{ |
| | | memberMapper.subtractIntegral(member.getId(),dealIntegralRequest.getIntegralNum()); |
| | | } |
| | | |
| | | //站内信 |
| | | noticeService.saveMemberIntegralNotice( |
| | | dealIntegralRequest.getIntegralObjType(),Constants.ZERO,member.getId(),dealIntegralRequest.getIntegralNum(), |
| | | integral.getId(), dealIntegralRequest.getParam1() |
| | | ); |
| | | |
| | | |
| | | return integral.getId(); |
| | | } |
| | | |
| | |
| | | }else{ |
| | | shopMapper.subtractIntegral(shop.getId(),dealIntegralRequest.getIntegralNum()); |
| | | } |
| | | |
| | | //站内信 |
| | | noticeService.saveMemberIntegralNotice( |
| | | dealIntegralRequest.getIntegralObjType(),Constants.ZERO,shop.getId(),dealIntegralRequest.getIntegralNum(), |
| | | integral.getId(), dealIntegralRequest.getParam1() |
| | | ); |
| | | |
| | | |
| | | return integral.getId(); |
| | | } |
| | | |
| | |
| | | BigDecimal num = param.getNum(); |
| | | if(param.getType() == 1 &&Constants.formatBigdecimal(model.getIntegral()).compareTo(param.getNum())<0){ |
| | | //如果是减少,判断用户余额是否满足 |
| | | num = num.multiply(new BigDecimal(-1));//减少 |
| | | // num = num.multiply(new BigDecimal(-1));//减少 |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"用户账户余额不足!"); |
| | | } |
| | | //账户余额 |
| | | memberMapper.update(null,new UpdateWrapper<Member>().lambda() |
| | | .eq(Member::getId,model.getId()) |
| | | .set(Member::getEditDate,date) |
| | | .set(Member::getEditor,user.getId()) |
| | | .setSql(param.getType() == 0,"total_integral = ifnull(total_integral,0)+" + num)//累计增加 |
| | | .setSql(param.getType() == 0,"integral = ifnull(integral,0)+" + param.getNum()) |
| | | .setSql(param.getType() == 1,"integral = ifnull(integral,0)-" + param.getNum())); |
| | | |
| | | integralObjType = param.getType()==0?Constants.IntegralObjType.SYSTEM_RECHARGE:Constants.IntegralObjType.SYSTEM_DEDUCT; |
| | | integral.setTotalNum(param.getType() == 0? Constants.formatBigdecimal(model.getIntegral()).add(param.getNum()):Constants.formatBigdecimal(model.getIntegral()).subtract(param.getNum())); |
| | | integral.setUserType(Constants.ZERO); |
| | | DealIntegralRequest dealIntegralRequest = new DealIntegralRequest(); |
| | | dealIntegralRequest.setIntegralNum(num); |
| | | dealIntegralRequest.setDealType(param.getType()); |
| | | dealIntegralRequest.setMemberId(model.getId()); |
| | | dealIntegralRequest.setObjId(null); |
| | | dealIntegralRequest.setOrderCode(null); |
| | | dealIntegralRequest.setIntegralObjType(integralObjType); |
| | | this.dealIntegral(dealIntegralRequest); |
| | | |
| | | |
| | | //账户余额 |
| | | // memberMapper.update(null,new UpdateWrapper<Member>().lambda() |
| | | // .eq(Member::getId,model.getId()) |
| | | // .set(Member::getEditDate,date) |
| | | // .set(Member::getEditor,user.getId()) |
| | | // .setSql(param.getType() == 0,"total_integral = ifnull(total_integral,0)+" + num)//累计增加 |
| | | // .setSql(param.getType() == 0,"integral = ifnull(integral,0)+" + param.getNum()) |
| | | // .setSql(param.getType() == 1,"integral = ifnull(integral,0)-" + param.getNum())); |
| | | // |
| | | // integralObjType = param.getType()==0?Constants.IntegralObjType.SYSTEM_RECHARGE:Constants.IntegralObjType.SYSTEM_DEDUCT; |
| | | // integral.setTotalNum(param.getType() == 0? Constants.formatBigdecimal(model.getIntegral()).add(param.getNum()):Constants.formatBigdecimal(model.getIntegral()).subtract(param.getNum())); |
| | | // integral.setUserType(Constants.ZERO); |
| | | }else{//经销商账户 |
| | | Shop model = shopMapper.selectById(param.getMemberId()); |
| | | if(model == null ||Constants.equalsObject(model.getIsdeleted(),Constants.ONE)){ |
| | |
| | | BigDecimal num = param.getNum(); |
| | | if(param.getType() == 1 &&Constants.formatBigdecimal(model.getIntegral()).compareTo(param.getNum())<0){ |
| | | //如果是减少,判断用户余额是否满足 |
| | | num = num.multiply(new BigDecimal(-1));//减少 |
| | | // num = num.multiply(new BigDecimal(-1));//减少 |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"经销商账户积分余额不足!"); |
| | | } |
| | | //账户余额 |
| | | shopMapper.update(null,new UpdateWrapper<Shop>().lambda() |
| | | .eq(Shop::getId,model.getId()) |
| | | .set(Shop::getEditDate,date) |
| | | .set(Shop::getEditor,user.getId()) |
| | | .setSql(param.getType() == 0,"total_integral = ifnull(total_integral,0)+" + num)//累计增加 |
| | | .setSql(param.getType() == 0,"integral = ifnull(integral,0)+" + param.getNum()) |
| | | .setSql(param.getType() == 1,"integral = ifnull(integral,0)-" + param.getNum())); |
| | | integralObjType = param.getType()==0?Constants.IntegralObjType.SHOP_SYSTEM_RECHARGE:Constants.IntegralObjType.SHOP_SYSTEM_DEDUCT; |
| | | integral.setTotalNum(param.getType() == 0? Constants.formatBigdecimal(model.getIntegral()).add(param.getNum()):Constants.formatBigdecimal(model.getIntegral()).subtract(param.getNum())); |
| | | integral.setUserType(Constants.ONE); |
| | | // shopMapper.update(null,new UpdateWrapper<Shop>().lambda() |
| | | // .eq(Shop::getId,model.getId()) |
| | | // .set(Shop::getEditDate,date) |
| | | // .set(Shop::getEditor,user.getId()) |
| | | // .setSql(param.getType() == 0,"total_integral = ifnull(total_integral,0)+" + num)//累计增加 |
| | | // .setSql(param.getType() == 0,"integral = ifnull(integral,0)+" + param.getNum()) |
| | | // .setSql(param.getType() == 1,"integral = ifnull(integral,0)-" + param.getNum())); |
| | | // integralObjType = param.getType()==0?Constants.IntegralObjType.SHOP_SYSTEM_RECHARGE:Constants.IntegralObjType.SHOP_SYSTEM_DEDUCT; |
| | | // integral.setTotalNum(param.getType() == 0? Constants.formatBigdecimal(model.getIntegral()).add(param.getNum()):Constants.formatBigdecimal(model.getIntegral()).subtract(param.getNum())); |
| | | // integral.setUserType(Constants.ONE); |
| | | |
| | | DealIntegralRequest dealIntegralRequest = new DealIntegralRequest(); |
| | | dealIntegralRequest.setIntegralNum(num); |
| | | dealIntegralRequest.setDealType(param.getType()); |
| | | dealIntegralRequest.setMemberId(model.getId()); |
| | | dealIntegralRequest.setObjId(null); |
| | | dealIntegralRequest.setOrderCode(null); |
| | | dealIntegralRequest.setIntegralObjType(integralObjType); |
| | | this.dealShopIntegral(dealIntegralRequest); |
| | | |
| | | |
| | | } |
| | | integral.setCreateDate(new Date()); |
| | | integral.setCreator(user.getId()); |
| | | integral.setIsdeleted(Constants.ZERO); |
| | | integral.setNum(param.getNum()); |
| | | integral.setTitle(integralObjType.getName()); |
| | | integral.setContent(integralObjType.getNoteinfo().replace("${param}",integral.getNum().toString())); |
| | | integral.setMemberId(param.getMemberId()); |
| | | integral.setObjId(param.getMemberId()); |
| | | integral.setObjType(integralObjType.getKey()); |
| | | integral.setType(param.getType()); |
| | | integral.setRemark(param.getRemark()); |
| | | integral.setOrderCode(null); |
| | | integralMapper.insert(integral); |
| | | // integral.setCreateDate(new Date()); |
| | | // integral.setCreator(user.getId()); |
| | | // integral.setIsdeleted(Constants.ZERO); |
| | | // integral.setNum(param.getNum()); |
| | | // integral.setTitle(integralObjType.getName()); |
| | | // integral.setContent(integralObjType.getNoteinfo().replace("${param}",integral.getNum().toString())); |
| | | // integral.setMemberId(param.getMemberId()); |
| | | // integral.setObjId(param.getMemberId()); |
| | | // integral.setObjType(integralObjType.getKey()); |
| | | // integral.setType(param.getType()); |
| | | // integral.setRemark(param.getRemark()); |
| | | // integral.setOrderCode(null); |
| | | // integralMapper.insert(integral); |
| | | } |
| | | @Override |
| | | public IntegralDataResponse getIntegralData(IntegralRecordDTO model){ |