| | |
| | | order.setOrderRemark(appPlaceOrderDto.getOrderRemark()); |
| | | order.setGoodsNum(goodsNum); |
| | | order.setCreateTime(new Date()); |
| | | if(appPlaceOrderDto.getNewMemberFlag()!=null&&appPlaceOrderDto.getNewMemberFlag()==1){ |
| | | order.setNewMemberFlag(1); |
| | | } |
| | | // 保存订单 |
| | | this.save(order); |
| | | // 更新用户商品类型 |
| | |
| | | order.setOrderRemark(appPlaceActivityDto.getOrderRemark()); |
| | | order.setGoodsNum(goodsNum); |
| | | order.setCreateTime(new Date()); |
| | | if(appPlaceActivityDto.getNewMemberFlag()!=null&&appPlaceActivityDto.getNewMemberFlag()==1){ |
| | | order.setNewMemberFlag(1); |
| | | } |
| | | // 保存订单 |
| | | this.save(order); |
| | | // 更新用户商品类型 |
| | |
| | | } else { |
| | | order.setCloseFlag(0); |
| | | } |
| | | //保存订单和服务 |
| | | this.save(order); |
| | | orderGoodsService.saveBatch(orderGoodsList); |
| | | consumerGoodsService.saveBatchConsumerGoods(consumerGoodsList); |
| | | //减去优惠券 |
| | | if (StringUtils.isNotBlank(memberCouponSJ.toString())) { |
| | | remoteCouponService.useMemberCoupon(memberCouponSJ.toString()); |
| | | } |
| | | //用户未绑定则绑定商户 |
| | | Member member = remoteMemberService.getMember(userId).getData(); |
| | | if (member != null && member.getBindingFlag() != 1) { |
| | |
| | | appMemberBindingDto.setBindingFlag(1); |
| | | appMemberBindingDto.setBindingType(3); |
| | | remoteMemberService.updateMemberBinding(appMemberBindingDto); |
| | | order.setNewMemberFlag(1); |
| | | } |
| | | //保存订单和服务 |
| | | this.save(order); |
| | | orderGoodsService.saveBatch(orderGoodsList); |
| | | consumerGoodsService.saveBatchConsumerGoods(consumerGoodsList); |
| | | //减去优惠券 |
| | | if (StringUtils.isNotBlank(memberCouponSJ.toString())) { |
| | | remoteCouponService.useMemberCoupon(memberCouponSJ.toString()); |
| | | } |
| | | |
| | | //更新商户统计 |
| | | /*ShopTotalChangeDto shopTotalChangeDto = new ShopTotalChangeDto(); |
| | | shopTotalChangeDto.setShopId(order.getShopId()); |
| | |
| | | */ |
| | | @Override |
| | | public MgtTotalDataTotalVo getTotalDataTotal(MgtBaseShopDto mgtBaseShopDto) { |
| | | |
| | | //获取人数统计 |
| | | MgtTotalDataTotalVo mgtTotalDataTotalVo = orderMapper.getTotalDataTotal(mgtBaseShopDto); |
| | | BigDecimal salesTotal = orderMapper.shopSalesTotal(mgtBaseShopDto); |
| | | // 获取当月时间 |
| | | LocalDate currentDate = LocalDate.now(); |
| | | LocalDate firstDayOfMonth = currentDate.withDayOfMonth(1); |
| | | LocalDate lastDayOfMonth = currentDate.withDayOfMonth(currentDate.lengthOfMonth()); |
| | | DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); |
| | | String firstDayOfMonthStr = firstDayOfMonth.format(formatter); |
| | | String lastDayOfMonthStr = lastDayOfMonth.format(formatter); |
| | | mgtBaseShopDto.setStartDate(firstDayOfMonthStr); |
| | | mgtBaseShopDto.setEndDate(lastDayOfMonthStr); |
| | | // |
| | | MgtTotalDataTotalVo mgtTotalDataTotalVo = orderMapper.getTotalDataTotal(mgtBaseShopDto); |
| | | |
| | | mgtTotalDataTotalVo.setSalesTotal(salesTotal); |
| | | Integer reorderPerson = orderMapper.getReorderPerson(mgtBaseShopDto); |
| | | mgtTotalDataTotalVo.setReorderPerson(reorderPerson); |
| | |
| | | orderTotalValue[i] = mgtMapTotalPlusVo.getMapValueFirst(); |
| | | orderMoneyValue[i] = mgtMapTotalPlusVo.getMapValueSecond(); |
| | | } |
| | | orderDistributionTotalVo.setOrderTotalKey(orderTotalKey); |
| | | orderDistributionTotalVo.setOrderTotalValue(orderTotalValue); |
| | | orderDistributionTotalVo.setOrderMoneyValue(orderMoneyValue); |
| | | orderDistributionTotalVo = fillOrderTotalKeyAndValuesToRecentFiveDays(orderTotalKey,orderTotalValue,orderMoneyValue); |
| | | } |
| | | // 返回订单分布总数对象 |
| | | return orderDistributionTotalVo; |
| | |
| | | @Override |
| | | public StaffActivityOrderTotalVo getStaffActivityOrderTotal(StaffTotalDto staffTotalDto) { |
| | | StaffActivityOrderTotalVo staffActivityOrderTotalVo = orderMapper.getStaffActivityOrderTotal(staffTotalDto); |
| | | StaffActivityOrderTotalVo staffActivityOrderGoodsTotalVo = orderMapper.getStaffActivityOrderGoodsTotal(staffTotalDto); |
| | | staffActivityOrderTotalVo.setCycleTotal(staffActivityOrderGoodsTotalVo.getCycleTotal()); |
| | | staffActivityOrderTotalVo.setServiceTotal(staffActivityOrderGoodsTotalVo.getServiceTotal()); |
| | | staffActivityOrderTotalVo.setExperienceTotal(staffActivityOrderGoodsTotalVo.getExperienceTotal()); |
| | | return staffActivityOrderTotalVo; |
| | | } |
| | | |
| | |
| | | public MerOrderDistributionTotalVo getStaffOrderDistributionTotal(StaffTotalDto staffTotalDto) { |
| | | MerOrderDistributionTotalVo orderDistributionTotalVo = new MerOrderDistributionTotalVo(); |
| | | // 获取订单年龄用户列表 |
| | | MerTotalDto merTotalDto = new MerTotalDto(); |
| | | merTotalDto.setShopId(staffTotalDto.getShopId()); |
| | | List<MerOrderAgeUserVo> orderAgeUserVoList = remoteMemberService.listOrderAgeUser(merTotalDto).getData(); |
| | | //MerTotalDto merTotalDto = new MerTotalDto(); |
| | | //merTotalDto.setShopId(staffTotalDto.getShopId()); |
| | | //List<MerOrderAgeUserVo> orderAgeUserVoList = remoteMemberService.listOrderAgeUser(merTotalDto).getData(); |
| | | // 如果订单年龄用户列表不为空 |
| | | if (orderAgeUserVoList != null && !orderAgeUserVoList.isEmpty()) { |
| | | /*if (orderAgeUserVoList != null && !orderAgeUserVoList.isEmpty()) { |
| | | // 定义变量 |
| | | Integer ageType; |
| | | List<Long> userIdList; |
| | |
| | | orderDistributionTotalVo.setOrderTotalKey(orderTotalKey); |
| | | orderDistributionTotalVo.setOrderTotalValue(orderTotalValue); |
| | | orderDistributionTotalVo.setOrderMoneyValue(orderMoneyValue); |
| | | }*/ |
| | | List<MgtMapTotalPlusVo> mgtMapTotalPlusVoList = orderMapper.listStaffActivityOrderDistributionTotal(staffTotalDto); |
| | | if (mgtMapTotalPlusVoList != null && !mgtMapTotalPlusVoList.isEmpty()) { |
| | | String[] orderTotalKey = new String[mgtMapTotalPlusVoList.size()]; |
| | | Integer[] orderTotalValue = new Integer[mgtMapTotalPlusVoList.size()]; |
| | | BigDecimal[] orderMoneyValue = new BigDecimal[mgtMapTotalPlusVoList.size()]; |
| | | MgtMapTotalPlusVo mgtMapTotalPlusVo; |
| | | for (int i = 0; i < mgtMapTotalPlusVoList.size(); i++) { |
| | | mgtMapTotalPlusVo = mgtMapTotalPlusVoList.get(i); |
| | | orderTotalKey[i] = mgtMapTotalPlusVo.getMapKey(); |
| | | orderTotalValue[i] = mgtMapTotalPlusVo.getMapValueFirst(); |
| | | orderMoneyValue[i] = mgtMapTotalPlusVo.getMapValueSecond(); |
| | | } |
| | | orderDistributionTotalVo = fillOrderTotalKeyAndValuesToRecentFiveDays(orderTotalKey,orderTotalValue,orderMoneyValue); |
| | | } |
| | | // 返回订单分布总数对象 |
| | | return orderDistributionTotalVo; |
| | | } |
| | | |
| | | public MerOrderDistributionTotalVo fillOrderTotalKeyAndValuesToRecentFiveDays(String[] orderTotalKey,Integer[] orderTotalValue,BigDecimal[] orderMoneyValue) { |
| | | MerOrderDistributionTotalVo orderDistributionTotalVo = new MerOrderDistributionTotalVo(); |
| | | // 获取当前日期 |
| | | LocalDate currentDate = LocalDate.now(); |
| | | |
| | | // 创建最近五天日期列表 |
| | | List<String> recentFiveDays = new ArrayList<>(); |
| | | for (int i = 0; i < 5; i++) { |
| | | LocalDate date = currentDate.minusDays(i); |
| | | recentFiveDays.add(date.toString()); |
| | | } |
| | | |
| | | // 创建新的数组 |
| | | String[] newOrderTotalKey = new String[5]; |
| | | Integer[] newOrderTotalValue = new Integer[5]; |
| | | BigDecimal[] newOrderMoneyValue = new BigDecimal[5]; |
| | | |
| | | // 遍历最近五天日期列表,并补充数据 |
| | | for (int i = 0; i < 5; i++) { |
| | | String day = recentFiveDays.get(i); |
| | | int index = getIndexInOrderTotalKey(day,orderTotalKey); |
| | | if (index != -1) { |
| | | newOrderTotalKey[i] = orderTotalKey[index]; |
| | | newOrderTotalValue[i] = orderTotalValue[index]; |
| | | newOrderMoneyValue[i] = orderMoneyValue[index]; |
| | | } else { |
| | | newOrderTotalKey[i] = day; |
| | | newOrderTotalValue[i] = 0; |
| | | newOrderMoneyValue[i] = BigDecimal.ZERO; |
| | | } |
| | | } |
| | | |
| | | // 更新属性 |
| | | orderTotalKey = newOrderTotalKey; |
| | | orderTotalValue = newOrderTotalValue; |
| | | orderMoneyValue = newOrderMoneyValue; |
| | | orderDistributionTotalVo.setOrderTotalKey(orderTotalKey); |
| | | orderDistributionTotalVo.setOrderTotalValue(orderTotalValue); |
| | | orderDistributionTotalVo.setOrderMoneyValue(orderMoneyValue); |
| | | return orderDistributionTotalVo; |
| | | } |
| | | |
| | | private int getIndexInOrderTotalKey(String day,String[] orderTotalKey) { |
| | | for (int i = 0; i < orderTotalKey.length; i++) { |
| | | if (orderTotalKey[i].equals(day)) { |
| | | return i; |
| | | } |
| | | } |
| | | return -1; |
| | | } |
| | | |
| | | |
| | |
| | | */ |
| | | @Override |
| | | public StaffActivityDateMemberTotalVo getStaffActivityMemberTotal(StaffTotalDto staffTotalDto) { |
| | | MerTotalDto merTotalDto = new MerTotalDto(); |
| | | merTotalDto.setAgeType(staffTotalDto.getAgeType()); |
| | | if(staffTotalDto.getAgeType()!=null){ |
| | | List<Long> userIdList = remoteMemberService.listUserIdByAgeType(staffTotalDto.getAgeType()).getData(); |
| | | staffTotalDto.setUserIdList(userIdList); |
| | | } |
| | | // 创建返回对象 |
| | | StaffActivityDateMemberTotalVo staffActivityDateMemberTotalVo = new StaffActivityDateMemberTotalVo(); |
| | | // 查询数据库获取数据 |