| | |
| | | package cc.mrbird.febs.mall.service.impl; |
| | | |
| | | import cc.mrbird.febs.common.entity.FebsResponse; |
| | | import cc.mrbird.febs.common.enumerates.DataDictionaryEnum; |
| | | import cc.mrbird.febs.common.enumerates.OrderDeliveryStateEnum; |
| | | import cc.mrbird.febs.common.enumerates.OrderStatusEnum; |
| | | import cc.mrbird.febs.common.utils.LoginUserUtil; |
| | | import cc.mrbird.febs.common.utils.ShareCodeUtil; |
| | | import cc.mrbird.febs.common.utils.SpringContextHolder; |
| | | import cc.mrbird.febs.mall.conversion.MallOrderInfoConversion; |
| | | import cc.mrbird.febs.mall.conversion.MallTeamLeaderConversion; |
| | | import cc.mrbird.febs.mall.dto.*; |
| | | import cc.mrbird.febs.mall.entity.*; |
| | | import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper; |
| | | import cc.mrbird.febs.mall.mapper.MallMemberMapper; |
| | | import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper; |
| | | import cc.mrbird.febs.mall.mapper.MallTeamLeaderMapper; |
| | |
| | | @Service |
| | | @RequiredArgsConstructor |
| | | public class ApiMallTeamLeaderServiceImpl extends ServiceImpl<MallTeamLeaderMapper, MallTeamLeader> implements IApiMallTeamLeaderService { |
| | | |
| | | |
| | | private final MallOrderInfoMapper mallOrderInfoMapper; |
| | | private final MallTeamLeaderMapper mallTeamLeaderMapper; |
| | | private final MallMemberMapper mallMemberMapper; |
| | | private final IXcxPayService iXcxPayService; |
| | | private final SpringContextHolder springContextHolder; |
| | | private final DataDictionaryCustomMapper dataDictionaryCustomMapper; |
| | | |
| | | @Override |
| | | @Transactional |
| | |
| | | return MallOrderInfoConversion.INSTANCE.entitysToVos(mallOrderInfos.getRecords()); |
| | | } |
| | | |
| | | private final MallOrderInfoMapper mallOrderInfoMapper; |
| | | private final MallTeamLeaderMapper mallTeamLeaderMapper; |
| | | private final MallMemberMapper mallMemberMapper; |
| | | private final IXcxPayService iXcxPayService; |
| | | |
| | | @Override |
| | | @Transactional |
| | | public FebsResponse leaderOrderConfirm(ApiLeaderOrderConfirmDto apiLeaderOrderConfirmDto) { |
| | | log.info("确认到达",apiLeaderOrderConfirmDto.getIds()); |
| | | List<Long> ids = apiLeaderOrderConfirmDto.getIds(); |
| | | if(CollUtil.isEmpty(ids)){ |
| | | log.info("确认到达"+apiLeaderOrderConfirmDto.getIds()); |
| | | List<String> idsStr = StrUtil.splitTrim(apiLeaderOrderConfirmDto.getIds(),","); |
| | | if(CollUtil.isEmpty(idsStr)){ |
| | | return new FebsResponse().fail().message("请选择订单"); |
| | | } |
| | | for(Long orderId : ids){ |
| | | for(String orderIdStr : idsStr){ |
| | | long orderId = Long.parseLong(orderIdStr); |
| | | MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(orderId); |
| | | if(ObjectUtil.isEmpty(mallOrderInfo)){ |
| | | continue; |
| | | // return new FebsResponse().fail().message("订单不存在"); |
| | | } |
| | | Integer status = mallOrderInfo.getStatus(); |
| | | if(OrderStatusEnum.WAIT_FINISH.getValue() != status && mallOrderInfo.getDeliveryState() != 2){ |
| | | Integer status = mallOrderInfo.getStatus() == null ? 0 : mallOrderInfo.getStatus(); |
| | | Integer deliveryState = mallOrderInfo.getDeliveryState() == null ? 0 : mallOrderInfo.getDeliveryState(); |
| | | if(OrderStatusEnum.WAIT_FINISH.getValue() != status || 2 != deliveryState){ |
| | | continue; |
| | | // return new FebsResponse().fail().message("订单不是待确认到货状态"); |
| | | } |
| | |
| | | OrderStateDto orderStateDto = new OrderStateDto(); |
| | | orderStateDto.setOrderNo(mallOrderInfo.getOrderNo()); |
| | | String productNames = getProductNames(mallOrderInfo.getMemberId(), mallOrderInfo.getId()); |
| | | orderStateDto.setGoodsName(StrUtil.isEmpty(productNames)?"商品":productNames); |
| | | orderStateDto.setOrderState("已送达自提点"); |
| | | orderStateDto.setGoodsName(StrUtil.sub(productNames,0,10)+"..."); |
| | | orderStateDto.setOrderState("已送达"); |
| | | orderStateDto.setTakeCode(mallOrderInfo.getTakeCode()); |
| | | String takeUniqueCode = mallOrderInfo.getTakeUniqueCode(); |
| | | MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(takeUniqueCode); |
| | | orderStateDto.setAddressArea(mallTeamLeader.getAddressArea()); |
| | | orderStateDto.setAddressArea(StrUtil.sub(mallTeamLeader.getAddressArea(),0,10)+"..."); |
| | | orderStateDto.setOpenId(mallMemberMapper.selectById(mallOrderInfo.getMemberId()).getOpenId()); |
| | | orderStateDto.setTemplateId(WechatConfigure.WX_ORDER_STATEMSG_TEMPLATE_ID); |
| | | DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.WX_TEMPLATE_ID_ONE.getType(), DataDictionaryEnum.WX_TEMPLATE_ID_ONE.getCode()); |
| | | orderStateDto.setTemplateId(dataDictionaryCustom.getValue()); |
| | | iXcxPayService.pushOrderToAddress(orderStateDto); |
| | | } |
| | | return new FebsResponse().success().message("确认成功"); |
| | |
| | | @Override |
| | | public FebsResponse findTeamOrderMarkCnt() { |
| | | MallMember loginUser = LoginUserUtil.getLoginUser(); |
| | | MallTeamLeader mallTeamLeader = this.baseMapper.selectLeaderByUniqueCode(loginUser.getInviteId()); |
| | | Long memberId = loginUser.getId(); |
| | | MallMember mallMember = mallMemberMapper.selectById(memberId); |
| | | |
| | | log.info(mallMember.getInviteId()); |
| | | MallTeamLeader mallTeamLeader = this.baseMapper.selectLeaderByUniqueCode(mallMember.getInviteId()); |
| | | if(ObjectUtil.isEmpty(mallTeamLeader)){ |
| | | return new FebsResponse().success(); |
| | | } |
| | | String uniqueCode = mallTeamLeader.getUniqueCode(); |
| | | List<Map<String, Integer>> maps = mallOrderInfoMapper.selectMemberOrderStatusCntByUniquecode(uniqueCode); |
| | | Map<Integer, Integer> orderCnt = new HashMap<>(); |