| | |
| | | |
| | | import cc.mrbird.febs.common.entity.FebsResponse; |
| | | import cc.mrbird.febs.common.enumerates.*; |
| | | import cc.mrbird.febs.common.exception.FebsException; |
| | | import cc.mrbird.febs.common.properties.XcxProperties; |
| | | import cc.mrbird.febs.common.utils.LoginUserUtil; |
| | | import cc.mrbird.febs.common.utils.SpringContextHolder; |
| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.*; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Slf4j |
| | | @Service |
| | |
| | | List<MallTeamLeader> mallTeamLeaderNo = this.baseMapper.selectListByMemberIdAndState(memberId, MallTeamLeader.STATE_NO); |
| | | if(CollUtil.isNotEmpty(mallTeamLeaderNo)){ |
| | | mallTeamLeaderAdd = mallTeamLeaderNo.get(0); |
| | | } |
| | | if(ObjectUtil.isNotEmpty(mallTeamLeaderAdd)){ |
| | | mallTeamLeaderAdd = MallTeamLeaderConversion.INSTANCE.dtoToEntity(apiApplayLeaderDto); |
| | | mallTeamLeaderAdd.setState(MallTeamLeader.STATE_ING); |
| | | //申请团长默认关闭返利,返利比例为0 |
| | | mallTeamLeaderAdd.setProfitSwitch(2); |
| | | mallTeamLeaderAdd.setBonusPercent("0"); |
| | | this.baseMapper.updateById(mallTeamLeaderAdd); |
| | | 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); |
| | |
| | | //获取退款订单信息 |
| | | Long orderId = apiLeaderRefundOrderDto.getOrderId(); |
| | | Long itemId = apiLeaderRefundOrderDto.getItemId(); |
| | | Integer agreeType = apiLeaderRefundOrderDto.getAgreeType(); |
| | | if(!(1 == agreeType || 2 == agreeType)){ |
| | | return new FebsResponse().fail().message("退款失败,请联系客服人员"); |
| | | } |
| | | |
| | | 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("退款失败,请联系客服人员"); |
| | |
| | | int orderMoney = orderAmount.multiply(aa).intValue(); |
| | | |
| | | //退款退款金额 |
| | | // BigDecimal refundAmount = mallRefundEntity.getAmount(); |
| | | // List<MallOrderItem> mallOrderItemListOnly = mallOrderItemMapper.selectListByStateAndOrderId(1,orderId); |
| | | // if(CollUtil.isNotEmpty(mallOrderItemListOnly)){ |
| | | // if(1==mallOrderItemListOnly.size()){ |
| | | // refundAmount = refundAmount.add(mallOrderInfo.getCarriage()); |
| | | // log.info("退款订单编号为{},订单金额:{},待退款订单:{},退款金额:{}", refundNo,orderAmount,mallOrderItemListOnly.size(),refundAmount); |
| | | // } |
| | | // } |
| | | BigDecimal refundAmount = mallRefundEntity.getAmount(); |
| | | if(agreeType == 1){ |
| | | List<MallOrderItem> mallOrderItemListOnly = mallOrderItemMapper.selectListByStateAndOrderId(1,orderId); |
| | | if(CollUtil.isNotEmpty(mallOrderItemListOnly)){ |
| | | if(1==mallOrderItemListOnly.size()){ |
| | | refundAmount = refundAmount.add(mallOrderInfo.getCarriage()); |
| | | log.info("退款订单编号为{},订单金额:{},待退款订单:{},退款金额:{}", refundNo,orderAmount,mallOrderItemListOnly.size(),refundAmount); |
| | | } |
| | | } |
| | | }else if(agreeType == 2){ |
| | | List<MallOrderItem> mallOrderItemListOnly = mallOrderItemMapper.selectListByStateAndOrderId(1,orderId); |
| | | List<MallOrderItem> mallOrderItemListIng = mallOrderItemMapper.selectListByStateAndOrderId(2,orderId); |
| | | if(CollUtil.isEmpty(mallOrderItemListOnly) && CollUtil.isNotEmpty(mallOrderItemListIng) ){ |
| | | if(1 == mallOrderItemListIng.size() ){ |
| | | refundAmount = refundAmount.add(mallOrderInfo.getCarriage()); |
| | | log.info("退款订单编号为{},订单金额:{},待退款订单:{},退款金额:{}", refundNo,orderAmount,mallOrderItemListOnly.size(),refundAmount); |
| | | } |
| | | } |
| | | } |
| | | // refundAmount = refundAmount.add(mallOrderInfo.getCarriage()); |
| | | BigDecimal bb = new BigDecimal(100); |
| | | int refundMoney = refundAmount.multiply(bb).intValue(); |
| | | |
| | |
| | | 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()); |
| | | mallMoneyFlowService.addMoneyFlow(mallOrderInfo.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue(),"余额退款",2); |
| | | |
| | | List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByNotInStateAndOrderId(3,orderId); |
| | | if(CollUtil.isEmpty(mallOrderItemList)){ |
| | |
| | | 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()); |
| | | mallMoneyFlowService.addMoneyFlow(mallOrderInfo.getMemberId(), refundAmount, MoneyFlowTypeEnum.WECHAT_REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.WECHAT.getValue(),"微信退款",2); |
| | | |
| | | List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByNotInStateAndOrderId(3,orderId); |
| | | if(CollUtil.isEmpty(mallOrderItemList)){ |