| | |
| | | import cc.mrbird.febs.mall.service.IApiMallTeamLeaderService; |
| | | import cc.mrbird.febs.mall.service.IMallMoneyFlowService; |
| | | import cc.mrbird.febs.mall.vo.*; |
| | | import cc.mrbird.febs.mall.vo.activity.ApiCheckOrderVo; |
| | | import cc.mrbird.febs.pay.model.OrderStateDto; |
| | | import cc.mrbird.febs.pay.service.IXcxPayService; |
| | | import cc.mrbird.febs.pay.util.WeixinServiceUtil; |
| | |
| | | } |
| | | |
| | | @Override |
| | | public FebsResponse happyLeaderList() { |
| | | ArrayList<ApiHappyLeaderInfoVo> apiHappyLeaderInfoVos = new ArrayList<>(); |
| | | public FebsResponse happyLeaderList(ApiHappyLeaderInfoDto dto) { |
| | | |
| | | 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) |
| | | // 创建分页对象,传入当前页和每页大小 |
| | | Page<ApiHappyLeaderInfoVo> page = new Page<>(dto.getPageNow(), dto.getPageSize()); |
| | | // 调用Mapper方法获取活动分页数据 |
| | | Page<ApiHappyLeaderInfoVo> mallTeamLeaderPage = this.baseMapper.selectApiLeaderInfoInPage(page, dto); |
| | | return new FebsResponse().success().data(mallTeamLeaderPage); |
| | | } |
| | | |
| | | @Override |
| | | public FebsResponse checkOrder(ApiHappyOrderLeaderDto dto) { |
| | | // 获取当前登录用户的ID |
| | | Long memberId = LoginUserUtil.getLoginUser().getId(); |
| | | |
| | | MallMember mallMember = mallMemberMapper.selectById(memberId); |
| | | |
| | | if(StateUpDownEnum.UP.getCode() != mallMember.getCheckLeader()){ |
| | | throw new FebsException("您不是订单核销员!"); |
| | | } |
| | | |
| | | String takeCode = dto.getTakeCode(); |
| | | |
| | | List<Integer> orderStates = Arrays.asList( |
| | | OrderStatusEnum.WAIT_SHIPPING.getValue(), |
| | | OrderStatusEnum.WAIT_FINISH.getValue(), |
| | | OrderStatusEnum.FINISH.getValue() |
| | | ); |
| | | 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); |
| | | |
| | | MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectOne( |
| | | new LambdaQueryWrapper<MallOrderInfo>() |
| | | .eq(MallOrderInfo::getTakeCode, takeCode) |
| | | .in(MallOrderInfo::getStatus, orderStates) |
| | | .last("limit 1") |
| | | ); |
| | | |
| | | if(mallOrderInfo == null){ |
| | | throw new FebsException("自提码不存在!"); |
| | | } |
| | | |
| | | MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(mallOrderInfo.getTakeUniqueCode()); |
| | | if(mallTeamLeader==null){ |
| | | throw new FebsException("自提点不存在!"); |
| | | } |
| | | |
| | | ArrayList<ApiHappyOrderLeaderVo> apiHappyOrderLeaderVos = new ArrayList<>(); |
| | | |
| | | List<MallOrderItem> mallOrderItems = mallOrderItemMapper.selectList( |
| | | new LambdaQueryWrapper<MallOrderItem>() |
| | | .eq(MallOrderItem::getOrderId, mallOrderInfo.getId()) |
| | | .eq(MallOrderItem::getLeaderState, StateUpDownEnum.DOWN.getCode()) |
| | | ); |
| | | if(CollUtil.isNotEmpty(mallOrderItems)){ |
| | | for(MallOrderItem item : mallOrderItems){ |
| | | ApiHappyOrderLeaderVo apiHappyOrderLeaderVo = new ApiHappyOrderLeaderVo(); |
| | | apiHappyOrderLeaderVo.setAddressArea(mallTeamLeader.getAddressArea()); |
| | | apiHappyOrderLeaderVo.setName(mallTeamLeader.getName()); |
| | | apiHappyOrderLeaderVo.setPhone(mallTeamLeader.getPhone()); |
| | | apiHappyOrderLeaderVo.setOrderId(mallOrderInfo.getId()); |
| | | apiHappyOrderLeaderVo.setOrderState(mallOrderInfo.getStatus()); |
| | | apiHappyOrderLeaderVo.setTakeCode(takeCode); |
| | | apiHappyOrderLeaderVo.setGoodsName(item.getGoodsName()); |
| | | apiHappyOrderLeaderVo.setGoodsSku(item.getSkuName()); |
| | | apiHappyOrderLeaderVo.setGoodsCnt(item.getCnt()); |
| | | apiHappyOrderLeaderVo.setGoodsPrice(item.getPrice()); |
| | | apiHappyOrderLeaderVo.setLeaderState(item.getLeaderState()); |
| | | |
| | | apiHappyOrderLeaderVos.add(apiHappyOrderLeaderVo); |
| | | } |
| | | } |
| | | |
| | | return new FebsResponse().success().data(apiHappyLeaderInfoVos); |
| | | return new FebsResponse().success().data(apiHappyOrderLeaderVos); |
| | | } |
| | | |
| | | @Override |
| | | public FebsResponse insureOrder(ApiHappyOrderLeaderInsureDto dto) { |
| | | |
| | | // 获取当前登录用户的ID |
| | | Long memberId = LoginUserUtil.getLoginUser().getId(); |
| | | |
| | | MallMember mallMember = mallMemberMapper.selectById(memberId); |
| | | |
| | | if(StateUpDownEnum.UP.getCode() != mallMember.getCheckLeader()){ |
| | | throw new FebsException("您不是订单核销员!"); |
| | | } |
| | | |
| | | MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(dto.getOrderId()); |
| | | |
| | | if(mallOrderInfo == null){ |
| | | throw new FebsException("订单不存在!"); |
| | | } |
| | | |
| | | MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(mallOrderInfo.getTakeUniqueCode()); |
| | | if(mallTeamLeader==null){ |
| | | throw new FebsException("自提点不存在!"); |
| | | } |
| | | |
| | | MallOrderItem mallOrderItem = mallOrderItemMapper.selectById(dto.getItemId()); |
| | | if(mallOrderItem==null){ |
| | | throw new FebsException("订单不存在!"); |
| | | } |
| | | |
| | | if(mallOrderItem.getLeaderState()==1){ |
| | | throw new FebsException("订单已自提!"); |
| | | } |
| | | |
| | | mallOrderItem.setLeaderState(1); |
| | | mallOrderItemMapper.updateById(mallOrderItem); |
| | | |
| | | return new FebsResponse().success().message("操作成功"); |
| | | } |
| | | |
| | | } |