| | |
| | | import cn.hutool.json.JSONArray; |
| | | import cn.hutool.json.JSONObject; |
| | | import cn.hutool.json.JSONUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | |
| | | public FebsResponse applyLeader(ApiApplayLeaderDto apiApplayLeaderDto) { |
| | | MallMember member = LoginUserUtil.getLoginUser(); |
| | | Long memberId = member.getId(); |
| | | MallTeamLeader mallTeamLeaderAdd = new MallTeamLeader(); |
| | | List<MallTeamLeader> mallTeamLeaders = this.baseMapper.selectListByMemberIdAndState(memberId, MallTeamLeader.STATE_ING); |
| | | if(CollUtil.isNotEmpty(mallTeamLeaders)){ |
| | | return new FebsResponse().fail().message("正在申请中"); |
| | |
| | | if(CollUtil.isNotEmpty(mallTeamLeaderCancel)){ |
| | | return new FebsResponse().fail().message("当前用户无法申请"); |
| | | } |
| | | MallTeamLeader mallTeamLeader = MallTeamLeaderConversion.INSTANCE.dtoToEntity(apiApplayLeaderDto); |
| | | mallTeamLeader.setMemberId(memberId); |
| | | mallTeamLeader.setState(MallTeamLeader.STATE_ING); |
| | | mallTeamLeader.setUniqueCode(member.getInviteId()); |
| | | //申请团长默认关闭返利,返利比例为0 |
| | | mallTeamLeader.setProfitSwitch(2); |
| | | mallTeamLeader.setBonusPercent("0"); |
| | | this.baseMapper.insert(mallTeamLeader); |
| | | List<MallTeamLeader> mallTeamLeaderNo = this.baseMapper.selectListByMemberIdAndState(memberId, MallTeamLeader.STATE_NO); |
| | | if(CollUtil.isNotEmpty(mallTeamLeaderNo)){ |
| | | mallTeamLeaderAdd = mallTeamLeaderNo.get(0); |
| | | if(ObjectUtil.isNotEmpty(mallTeamLeaderAdd)){ |
| | | mallTeamLeaderAdd.setName(apiApplayLeaderDto.getName()); |
| | | mallTeamLeaderAdd.setPhone(apiApplayLeaderDto.getPhone()); |
| | | mallTeamLeaderAdd.setAddressPic(apiApplayLeaderDto.getAddressPic()); |
| | | mallTeamLeaderAdd.setAddressArea(apiApplayLeaderDto.getAddressArea()); |
| | | mallTeamLeaderAdd.setDetailAddress(apiApplayLeaderDto.getDetailAddress()); |
| | | mallTeamLeaderAdd.setLongitude(apiApplayLeaderDto.getLongitude()); |
| | | mallTeamLeaderAdd.setLatitude(apiApplayLeaderDto.getLatitude()); |
| | | mallTeamLeaderAdd.setState(MallTeamLeader.STATE_ING); |
| | | //申请团长默认关闭返利,返利比例为0 |
| | | mallTeamLeaderAdd.setProfitSwitch(2); |
| | | mallTeamLeaderAdd.setBonusPercent("0"); |
| | | this.baseMapper.updateById(mallTeamLeaderAdd); |
| | | } |
| | | }else{ |
| | | MallTeamLeader mallTeamLeader = MallTeamLeaderConversion.INSTANCE.dtoToEntity(apiApplayLeaderDto); |
| | | mallTeamLeader.setMemberId(memberId); |
| | | mallTeamLeader.setState(MallTeamLeader.STATE_ING); |
| | | mallTeamLeader.setUniqueCode(member.getInviteId()); |
| | | //申请团长默认关闭返利,返利比例为0 |
| | | mallTeamLeader.setProfitSwitch(2); |
| | | mallTeamLeader.setBonusPercent("0"); |
| | | this.baseMapper.insert(mallTeamLeader); |
| | | } |
| | | return new FebsResponse().success().message("申请成功"); |
| | | } |
| | | |
| | |
| | | ApiLeaderInfoVo apiLeaderInfoVo = new ApiLeaderInfoVo(); |
| | | MallTeamLeader mallTeamLeader = new MallTeamLeader(); |
| | | MallMember member = LoginUserUtil.getLoginUser(); |
| | | if(ObjectUtil.isNotEmpty(member)){ |
| | | MallLeaderDefault mallLeaderDefault = mallLeaderDefaultMapper.selectByMemberId(member.getId()); |
| | | if(ObjectUtil.isNotEmpty(mallLeaderDefault)){ |
| | | mallTeamLeader = this.baseMapper.selectLeaderByUniqueCode(mallLeaderDefault.getUniqueCode()); |
| | | } |
| | | MallLeaderDefault mallLeaderDefault = mallLeaderDefaultMapper.selectByMemberId(member.getId()); |
| | | if(ObjectUtil.isNotEmpty(mallLeaderDefault)){ |
| | | mallTeamLeader = this.baseMapper.selectLeaderByUniqueCode(mallLeaderDefault.getUniqueCode()); |
| | | }else{ |
| | | //特征码扫码 |
| | | if(StrUtil.isNotEmpty(uniqueCode)){ |
| | |
| | | |
| | | MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(orderId); |
| | | MallOrderItem mallOrderItem = mallOrderItemMapper.selectById(itemId); |
| | | MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(mallOrderItem.getSkuId()); |
| | | if(ObjectUtil.isEmpty(mallGoodsSku)){ |
| | | return new FebsResponse().fail().message("退款失败,请联系客服人员"); |
| | | } |
| | | List<MallRefundEntity> mallRefundEntities = mallRefundMapper.selectByItemIdAndOrderIdAndState(itemId, orderId, 3); |
| | | if(CollUtil.isEmpty(mallRefundEntities)){ |
| | | return new FebsResponse().fail().message("退款失败,请联系客服人员"); |
| | |
| | | |
| | | //退款退款金额 |
| | | BigDecimal refundAmount = mallRefundEntity.getAmount(); |
| | | // refundAmount = refundAmount.add(mallOrderInfo.getCarriage()); |
| | | BigDecimal bb = new BigDecimal(100); |
| | | int refundMoney = refundAmount.multiply(bb).intValue(); |
| | | |
| | | //余额支付退款 |
| | | if(mallRefundEntity.getType() == 3){ |
| | | log.info("余额支付退款"); |
| | | //更新订单详情 |
| | | mallOrderItem.setState(3); |
| | | mallOrderItemMapper.updateById(mallOrderItem); |
| | |
| | | mallGoods.setStock(mallGoods.getStock() + mallOrderItem.getCnt()); |
| | | mallGoods.setVolume(mallGoods.getVolume() - mallOrderItem.getCnt()); |
| | | mallGoodsMapper.updateById(mallGoods); |
| | | |
| | | MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(mallOrderItem.getSkuId()); |
| | | mallGoodsSku.setStock(mallGoodsSku.getStock() + mallOrderItem.getCnt()); |
| | | mallGoodsSku.setSkuVolume(mallGoodsSku.getSkuVolume() - mallOrderItem.getCnt()); |
| | | mallGoodsSkuMapper.updateById(mallGoodsSku); |
| | |
| | | mallRefundEntity.setState(1); |
| | | mallRefundEntity.setUpdatedTime(DateUtil.date()); |
| | | mallRefundMapper.updateById(mallRefundEntity); |
| | | mallMoneyFlowService.addMoneyFlow(mallOrderInfo.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); |
| | | |
| | | List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByNotInStateAndOrderId(3,orderId); |
| | | if(CollUtil.isEmpty(mallOrderItemList)){ |
| | |
| | | mallOrderRefund.setStatus(6); |
| | | mallOrderInfoMapper.updateById(mallOrderRefund); |
| | | } |
| | | memberWalletService.add(refundAmount, mallOrderInfo.getMemberId(), "balance"); |
| | | if(refundAmount.compareTo(BigDecimal.ZERO) > 0){ |
| | | memberWalletService.add(refundAmount, mallOrderInfo.getMemberId(), "balance"); |
| | | mallMoneyFlowService.addMoneyFlow( |
| | | mallOrderInfo.getMemberId(), |
| | | refundAmount, |
| | | ScoreFlowTypeEnum.REFUND.getValue(), |
| | | mallOrderInfo.getOrderNo(), |
| | | FlowTypeEnum.BALANCE.getValue(), |
| | | StrUtil.format(ScoreFlowTypeEnum.REFUND.getDesc(),refundAmount), |
| | | 2 |
| | | ); |
| | | } |
| | | return new FebsResponse().success().message("退款成功"); |
| | | } |
| | | |
| | | Boolean flag = false; |
| | | Boolean debug = xcxProperties.getDebug(); |
| | | if (debug) { |
| | | boolean b = weixinServiceUtil.comRefund(orderNo, refundNo, 1, 1, null); |
| | | flag = b; |
| | | if(refundAmount.compareTo(BigDecimal.ZERO) > 0){ |
| | | boolean b = weixinServiceUtil.comRefund(orderNo, refundNo, 1, 1, null); |
| | | flag = b; |
| | | }else{ |
| | | flag = true; |
| | | } |
| | | } else { |
| | | log.info("开始调用退款接口。。。退款编号为{}", refundNo); |
| | | boolean b = weixinServiceUtil.comRefund(orderNo, refundNo, orderMoney, refundMoney, null); |
| | | flag = b; |
| | | if(refundAmount.compareTo(BigDecimal.ZERO) > 0){ |
| | | log.info("开始调用退款接口。。。退款编号为{}", refundNo); |
| | | boolean b = weixinServiceUtil.comRefund(orderNo, refundNo, orderMoney, refundMoney, null); |
| | | flag = b; |
| | | }else{ |
| | | flag = true; |
| | | } |
| | | } |
| | | |
| | | if(flag){ |
| | |
| | | mallGoods.setVolume(mallGoods.getVolume() - mallOrderItem.getCnt()); |
| | | mallGoodsMapper.updateById(mallGoods); |
| | | |
| | | MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(mallOrderItem.getSkuId()); |
| | | // MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(mallOrderItem.getSkuId()); |
| | | mallGoodsSku.setStock(mallGoodsSku.getStock() + mallOrderItem.getCnt()); |
| | | mallGoodsSku.setSkuVolume(mallGoodsSku.getSkuVolume() - mallOrderItem.getCnt()); |
| | | mallGoodsSkuMapper.updateById(mallGoodsSku); |
| | |
| | | mallRefundEntity.setState(1); |
| | | mallRefundEntity.setUpdatedTime(DateUtil.date()); |
| | | mallRefundMapper.updateById(mallRefundEntity); |
| | | mallMoneyFlowService.addMoneyFlow(mallOrderInfo.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); |
| | | if(refundAmount.compareTo(BigDecimal.ZERO) > 0){ |
| | | mallMoneyFlowService.addMoneyFlow( |
| | | mallOrderInfo.getMemberId(), |
| | | refundAmount, |
| | | ScoreFlowTypeEnum.WECHAT_REFUND.getValue(), |
| | | mallOrderInfo.getOrderNo(), |
| | | FlowTypeEnum.BALANCE.getValue(), |
| | | StrUtil.format(ScoreFlowTypeEnum.WECHAT_REFUND.getDesc(),refundAmount), |
| | | 2 |
| | | ); |
| | | } |
| | | |
| | | List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByNotInStateAndOrderId(3,orderId); |
| | | if(CollUtil.isEmpty(mallOrderItemList)){ |
| | |
| | | return new FebsResponse().success().data(apiLeaderInfoVo); |
| | | } |
| | | |
| | | @Override |
| | | public FebsResponse happyLeaderList() { |
| | | ArrayList<ApiHappyLeaderInfoVo> apiHappyLeaderInfoVos = new ArrayList<>(); |
| | | |
| | | List<MallTeamLeader> mallTeamLeaders = this.baseMapper.selectList( |
| | | new LambdaQueryWrapper<MallTeamLeader>() |
| | | .select( |
| | | MallTeamLeader::getId, |
| | | MallTeamLeader::getName, |
| | | MallTeamLeader::getPhone, |
| | | MallTeamLeader::getUniqueCode, |
| | | MallTeamLeader::getAddressPic, |
| | | MallTeamLeader::getAddressArea, |
| | | MallTeamLeader::getDetailAddress, |
| | | MallTeamLeader::getLongitude, |
| | | MallTeamLeader::getLatitude) |
| | | .eq(MallTeamLeader::getState, 1) |
| | | .eq(MallTeamLeader::getOnlineState,1) |
| | | ); |
| | | if(CollUtil.isNotEmpty(mallTeamLeaders)){ |
| | | for (MallTeamLeader mallTeamLeader : mallTeamLeaders){ |
| | | ApiHappyLeaderInfoVo apiHappyLeaderInfoVo = new ApiHappyLeaderInfoVo(); |
| | | apiHappyLeaderInfoVo.setId(mallTeamLeader.getId()); |
| | | apiHappyLeaderInfoVo.setName(mallTeamLeader.getName()); |
| | | apiHappyLeaderInfoVo.setPhone(mallTeamLeader.getPhone()); |
| | | apiHappyLeaderInfoVo.setTakeUniqueCode(mallTeamLeader.getUniqueCode()); |
| | | apiHappyLeaderInfoVo.setAddressPic(mallTeamLeader.getAddressPic()); |
| | | apiHappyLeaderInfoVo.setAddressArea(mallTeamLeader.getAddressArea()); |
| | | apiHappyLeaderInfoVo.setDetailAddress(mallTeamLeader.getDetailAddress()); |
| | | apiHappyLeaderInfoVo.setLongitude(mallTeamLeader.getLongitude()); |
| | | apiHappyLeaderInfoVo.setLatitude(mallTeamLeader.getLatitude()); |
| | | apiHappyLeaderInfoVos.add(apiHappyLeaderInfoVo); |
| | | } |
| | | } |
| | | |
| | | return new FebsResponse().success().data(apiHappyLeaderInfoVos); |
| | | } |
| | | |
| | | } |