From 11079cf5c81a047c3a343581a5cc6001fb4a2ec8 Mon Sep 17 00:00:00 2001 From: peng <peng.com> Date: 星期日, 28 九月 2025 14:09:59 +0800 Subject: [PATCH] Merge branch 'dev' into send_coupon --- framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java | 349 +++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 321 insertions(+), 28 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java index 36c99c2..c3003e8 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java @@ -10,6 +10,7 @@ import cn.hutool.poi.excel.ExcelReader; import cn.hutool.poi.excel.ExcelUtil; import cn.hutool.poi.excel.ExcelWriter; +import cn.lili.base.Result; import cn.lili.common.enums.ClientTypeEnum; import cn.lili.common.enums.PromotionTypeEnum; import cn.lili.common.enums.ResultCode; @@ -25,11 +26,15 @@ import cn.lili.common.utils.StringUtils; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.goods.entity.dos.Goods; +import cn.lili.modules.goods.entity.dos.GoodsSku; import cn.lili.modules.goods.entity.dto.GoodsCompleteMessage; import cn.lili.modules.goods.service.GoodsService; +import cn.lili.modules.goods.service.GoodsSkuService; import cn.lili.modules.lmk.domain.entity.CouponVirtual; +import cn.lili.modules.lmk.domain.vo.OrderCountByDayAndHourVO; import cn.lili.modules.lmk.domain.vo.OrderCountVO; import cn.lili.modules.lmk.enums.general.AdminRoleEnum; +import cn.lili.modules.lmk.enums.general.VirtualGoodsTypeEnum; import cn.lili.modules.lmk.service.CouponVirtualService; import cn.lili.modules.member.entity.dos.Member; import cn.lili.modules.member.entity.dto.MemberAddressDTO; @@ -53,6 +58,7 @@ import cn.lili.modules.promotion.entity.dos.Pintuan; import cn.lili.modules.promotion.service.CouponService; import cn.lili.modules.promotion.service.PintuanService; +import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam; import cn.lili.modules.store.entity.dto.StoreDeliverGoodsAddressDTO; import cn.lili.modules.store.service.StoreDetailService; import cn.lili.modules.system.aspect.annotation.SystemLogPoint; @@ -83,7 +89,9 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.reactivex.rxjava3.core.Maybe; import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; @@ -106,6 +114,10 @@ import java.io.InputStream; import java.math.BigDecimal; import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -213,6 +225,8 @@ @Autowired private RedissonClient redissonClient; + @Autowired + private GoodsSkuService goodsSkuService; private final static String LOCK_ORDER_NO_MQ="lock_order_no_mq:"; private final static String LOCK_EDIT_ORDER_ADDRESS="lock_edit_order_address:"; private final static String LOCK_COUPON_CARD="lock_coupon_card:"; @@ -251,7 +265,21 @@ // item.getPriceDetailDTO().setPlatFormCommissionPoint(Double.valueOf(goods.getCommission().toString())); // e.setPriceDetailDTO(item.getPriceDetailDTO()); // orderItems.add(e); - orderItems.add(new OrderItem(sku, item, tradeDTO)); + //鐗规畩澶勭悊绾夸笂绀煎搧鍗¢棶棰� + String skuId = sku.getGoodsSku().getId(); + GoodsSku skuInfo = goodsSkuService.getById(skuId); + OrderItem orderItem = new OrderItem(sku, item, tradeDTO); + if (skuInfo != null) { + String goodsId = skuInfo.getGoodsId(); + Goods goodsInfo = goodsService.getById(goodsId); + if (goodsInfo != null&& VirtualGoodsTypeEnum.COUPON.name().equals(goodsInfo.getVirtualGoodsType())) { + String couponId = skuInfo.getCouponId(); + String couponName = skuInfo.getCouponName(); + orderItem.setCouponId(couponId); + orderItem.setCouponName(couponName); + } + } + orderItems.add(orderItem); currentOrderItems.add(new OrderItem(sku, item, tradeDTO)); } ); @@ -801,12 +829,19 @@ @OrderLogPoint(description = "'璁㈠崟['+#orderSn+']鏍搁攢锛屾牳閿�鐮乕'+#verificationCode+']'", orderSn = "#orderSn") @Transactional(rollbackFor = Exception.class) public Order take(String orderSn, String verificationCode) { + log.info("璁㈠崟鏍搁攢璁㈠崟鍙蜂负锛歿}锛屾牳閿�鐮佷负{}",orderSn,verificationCode); Order order; RLock lock = redissonClient.getLock(LOCK_COUPON_CARD + orderSn); try { lock.lock(); //鑾峰彇璁㈠崟淇℃伅 order = this.getBySn(orderSn); + log.info("鑾峰彇鍒扮殑璁㈠崟淇℃伅涓簕}",JSON.toJSONString(order)); + //璁㈠崟骞傜瓑闂 + if (OrderStatusEnum.COMPLETED.name().equals(order.getOrderStatus())) { + throw new ServiceException("褰撳墠璁㈠崟宸插畬鎴愭棤娉曞啀娆℃牳楠�"); + } + //妫�娴嬭櫄鎷熻鍗曚俊鎭� checkVerificationOrder(order, verificationCode); order.setOrderStatus(OrderStatusEnum.COMPLETED.name()); @@ -815,6 +850,7 @@ List<OrderItem> orderItems = orderItemService.getByOrderSn(orderSn); List<CouponVirtual> couponVirtuals = new ArrayList<>(); for (OrderItem orderItem : orderItems) { + log.info("鑾峰彇鍒扮殑瀛愯鍗曚俊鎭负{}",JSON.toJSONString(orderItem)); String couponId = orderItem.getCouponId(); if (StringUtils.isBlank(couponId)) { continue; @@ -837,6 +873,7 @@ } } if (!couponVirtuals.isEmpty()) { + log.info("鐢熸垚鐨勫厬鎹㈠崱涓簕}",JSON.toJSONString(couponVirtuals)); order.setCouponFlag(CouPonFlagEnum.COUPON.name()); couponVirtualService.saveBatch(couponVirtuals); //鏇存柊鐘舵�佺敤浜庡悗缁皬绋嬪簭鍒ゆ柇寮瑰嚭鍗峰垪琛� @@ -854,7 +891,7 @@ private static CouponVirtual getCouponVirtual(OrderItem orderItem) { CouponVirtual couponVirtual = new CouponVirtual(); - couponVirtual.setOrderId(orderItem.getSn()); + couponVirtual.setOrderId(orderItem.getOrderSn()); couponVirtual.setCouponId(orderItem.getCouponId()); couponVirtual.setCouponName(orderItem.getCouponName()); couponVirtual.setGoodsId(orderItem.getGoodsId()); @@ -1218,12 +1255,31 @@ orderLogService.saveBatch(orderLogList); //鍒ゆ柇璁㈠崟璐х墿鏄惁鍏ㄩ儴鍙戣揣瀹屾瘯 Boolean delivery = true; + log.info("鎵撳嵃璁㈠崟璐х墿:{}",orderItemList); + + //闇�瑕佸啀姝ゅ鍒ゆ柇璁㈠崟鏄惁鏈夌敵璇峰敭鍚庣姸鎬� for (OrderItem orderItem : orderItemList) { - if (orderItem.getDeliverNumber() < orderItem.getNum()) { - delivery = false; - break; + // 鍏堝垽鏂槸鍚︽槸鏈敵璇峰敭鍚庣殑璁㈠崟 + if (OrderItemAfterSaleStatusEnum.NOT_APPLIED.name().equals(orderItem.getAfterSaleStatus())){ + // 鍙戣揣鏁伴噺灏忎簬璁㈠崟鏁伴噺鍒欏叏鍙� + log.info("鎵撳嵃鍙戣揣鏁伴噺锛歿},璇ュ晢鍝佽鍗曟暟閲忚揣鐗╁搴旂殑:{}",orderItem.getDeliverNumber(),orderItem.getNum()); + if (orderItem.getDeliverNumber() < orderItem.getNum()) { + delivery = false; + break; + } + }else{ + //鍏ㄩ儴閫�鍥炴儏鍐� + if(Objects.equals(orderItem.getReturnGoodsNumber(), orderItem.getNum())){ + break; + } + //瀛樺湪鎯呭喌 閫�鍥炴暟閲忎笉鏄叏閮ㄩ��鍥炶�屾槸閮ㄥ垎閫�鍥� + if (orderItem.getReturnGoodsNumber() + orderItem.getDeliverNumber() < orderItem.getNum()) { + delivery = false; + break; + } } } + log.info("delivery鐘舵��:{}",delivery); //鏄惁鍏ㄩ儴鍙戣揣 if (delivery) { return delivery(orderSn, invoiceNumber, logisticsId); @@ -1237,6 +1293,231 @@ order.setSellerRemark(sellerRemark); this.updateById(order); return order; + } + + @Override + public Result getOrderCount(StatisticsQueryParam queryParam) { + Date startTime = null; + Date endTime = new Date(); // 缁撴潫鏃堕棿榛樿鏄綋鍓嶆椂闂� + List<String> dateList = new ArrayList<>(); + + Calendar calendar = Calendar.getInstance(); // 鐢ㄤ簬鏃ユ湡璁$畻鐨勬棩鍘嗗疄渚� + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + int days = 0; + //鍒ゆ柇鏄惁鏄寜骞存湀鏌ヨ + if (queryParam.getYear() != null && queryParam.getMonth() != null) { + Date[] dates =CommonUtil.getMonthStartAndEnd(queryParam.getYear(),queryParam.getMonth()); + startTime = dates[0]; + endTime = dates[1]; + System.out.println("寮�濮嬫墦鍗�"); + System.out.println(startTime); + System.out.println(endTime); + Calendar tempCalendar = Calendar.getInstance(); + tempCalendar.setTime(startTime); + days = tempCalendar.getActualMaximum(Calendar.DAY_OF_MONTH); + for (int i = 0; i < days; i++) { + dateList.add(sdf.format(tempCalendar.getTime())); + tempCalendar.add(Calendar.DATE, 1); // 姣忓ぉ绱姞1澶� + } + }else{ + switch (queryParam.getSearchType()) { + case "TODAY": + // 浠婂ぉ锛氫粠浠婂ぉ0鐐瑰埌鐜板湪 + calendar.setTime(new Date()); // 閲嶇疆涓哄綋鍓嶆椂闂� + calendar.set(Calendar.HOUR_OF_DAY, 0); // 灏忔椂璁句负0锛�24灏忔椂鍒讹級 + calendar.set(Calendar.MINUTE, 0); // 鍒嗛挓璁句负0 + calendar.set(Calendar.SECOND, 0); // 绉掕涓�0 + calendar.set(Calendar.MILLISECOND, 0); // 姣璁句负0 + startTime = calendar.getTime(); // 寰楀埌浠婂ぉ0鐐圭殑Date瀵硅薄 + dateList.add(sdf.format(startTime)); + break; + case "YESTERDAY": + // 鏄ㄥぉ锛氫粠鏄ㄥぉ0鐐瑰埌鏄ㄥぉ23:59:59.999 + calendar.setTime(new Date()); + calendar.add(Calendar.DATE, -1); // 鏃ユ湡鍑�1澶╋紙鍙樹负鏄ㄥぉ锛� + + // 璁剧疆鏄ㄥぉ0鐐� + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + startTime = calendar.getTime(); + + // 璁剧疆鏄ㄥぉ23:59:59.999 + calendar.set(Calendar.HOUR_OF_DAY, 23); + calendar.set(Calendar.MINUTE, 59); + calendar.set(Calendar.SECOND, 59); + calendar.set(Calendar.MILLISECOND, 999); + endTime = calendar.getTime(); + + dateList.add(sdf.format(startTime)); + break; + case "LAST_SEVEN": + // 杩囧幓涓冨ぉ锛氫粠7澶╁墠0鐐瑰埌鐜板湪锛堝惈浠婂ぉ鍏�7澶╋級 + calendar.setTime(new Date()); + calendar.add(Calendar.DATE, -6); // 鏃ユ湡鍑�6澶╋紙7澶╁墠鐨勪粖澶╋級 + + // 璁剧疆7澶╁墠0鐐� + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + startTime = calendar.getTime(); + + days = 7; + // 寰幆鐢熸垚7澶╃殑鏃ユ湡瀛楃涓� + Calendar tempCalendar = Calendar.getInstance(); + tempCalendar.setTime(startTime); + for (int i = 0; i < days; i++) { + dateList.add(sdf.format(tempCalendar.getTime())); + tempCalendar.add(Calendar.DATE, 1); // 姣忓ぉ绱姞1澶� + } + break; + case "LAST_THIRTY": + // 杩囧幓30澶╋細浠�30澶╁墠0鐐瑰埌鐜板湪锛堝惈浠婂ぉ鍏�30澶╋級 + calendar.setTime(new Date()); + calendar.add(Calendar.DATE, -29); // 鏃ユ湡鍑�29澶╋紙30澶╁墠鐨勪粖澶╋級 + + // 璁剧疆30澶╁墠0鐐� + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + startTime = calendar.getTime(); + + days = 30; + // 寰幆鐢熸垚30澶╃殑鏃ユ湡瀛楃涓� + Calendar tempCalendar30 = Calendar.getInstance(); + tempCalendar30.setTime(startTime); + for (int i = 0; i < days; i++) { + dateList.add(sdf.format(tempCalendar30.getTime())); + tempCalendar30.add(Calendar.DATE, 1); // 姣忓ぉ绱姞1澶� + } + break; + default: + return Result.error("涓嶆敮鎸佺殑鏃堕棿鑼冨洿绫诲瀷"); + } + } + + List<Map<String, Object>> maps = baseMapper.selectOrderCountByDay(startTime,endTime); + + Map<String, Long> dayCountMap = maps.stream() + .collect(Collectors.toMap( + map -> map.get("day").toString(), // 鏃ユ湡瀛楃涓诧紙濡�2023-09-19锛� + map -> Long.valueOf(map.get("count").toString()) // 璁㈠崟鏁伴噺 + )); + + List<Long> orderCounts = new ArrayList<>(); + for (String date : dateList) { + // 鏍稿績锛氬瓨鍦ㄥ垯鍙栨煡璇㈢粨鏋滐紝涓嶅瓨鍦ㄥ垯琛�0 + orderCounts.add(dayCountMap.getOrDefault(date, 0L)); + } + + + return Result.ok().data(orderCounts); + } + + @Override + public Result getOrderTimePeriod(StatisticsQueryParam queryParam) { + Date startTime = null; + Date endTime = new Date(); // 缁撴潫鏃堕棿榛樿鏄綋鍓嶆椂闂� + List<String> dateList = new ArrayList<>(); + + Calendar calendar = Calendar.getInstance(); // 鐢ㄤ簬鏃ユ湡璁$畻鐨勬棩鍘嗗疄渚� + for (int i =0;i<24;i++){ + dateList.add(i + "鐐�"); + } + if (queryParam.getYear() != null && queryParam.getMonth() != null) { + Date[] dates =CommonUtil.getMonthStartAndEnd(queryParam.getYear(),queryParam.getMonth()); + startTime = dates[0]; + endTime = dates[1]; + }else{ + switch (queryParam.getSearchType()) { + case "TODAY": + // 浠婂ぉ锛氫粠浠婂ぉ0鐐瑰埌鐜板湪 + calendar.setTime(new Date()); // 閲嶇疆涓哄綋鍓嶆椂闂� + calendar.set(Calendar.HOUR_OF_DAY, 0); // 灏忔椂璁句负0锛�24灏忔椂鍒讹級 + calendar.set(Calendar.MINUTE, 0); // 鍒嗛挓璁句负0 + calendar.set(Calendar.SECOND, 0); // 绉掕涓�0 + calendar.set(Calendar.MILLISECOND, 0); // 姣璁句负0 + startTime = calendar.getTime(); // 寰楀埌浠婂ぉ0鐐圭殑Date瀵硅薄 + break; + case "YESTERDAY": + // 鏄ㄥぉ锛氫粠鏄ㄥぉ0鐐瑰埌鏄ㄥぉ23:59:59.999 + calendar.setTime(new Date()); + calendar.add(Calendar.DATE, -1); // 鏃ユ湡鍑�1澶╋紙鍙樹负鏄ㄥぉ锛� + + // 璁剧疆鏄ㄥぉ0鐐� + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + startTime = calendar.getTime(); + + // 璁剧疆鏄ㄥぉ23:59:59.999 + calendar.set(Calendar.HOUR_OF_DAY, 23); + calendar.set(Calendar.MINUTE, 59); + calendar.set(Calendar.SECOND, 59); + calendar.set(Calendar.MILLISECOND, 999); + endTime = calendar.getTime(); + break; + case "LAST_SEVEN": + // 杩囧幓涓冨ぉ锛氫粠7澶╁墠0鐐瑰埌鐜板湪锛堝惈浠婂ぉ鍏�7澶╋級 + calendar.setTime(new Date()); + calendar.add(Calendar.DATE, -6); // 鏃ユ湡鍑�6澶╋紙7澶╁墠鐨勪粖澶╋級 + + // 璁剧疆7澶╁墠0鐐� + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + startTime = calendar.getTime(); + + break; + case "LAST_THIRTY": + // 杩囧幓30澶╋細浠�30澶╁墠0鐐瑰埌鐜板湪锛堝惈浠婂ぉ鍏�30澶╋級 + calendar.setTime(new Date()); + calendar.add(Calendar.DATE, -29); // 鏃ユ湡鍑�29澶╋紙30澶╁墠鐨勪粖澶╋級 + + // 璁剧疆30澶╁墠0鐐� + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + startTime = calendar.getTime(); + + break; + default: + return Result.error("涓嶆敮鎸佺殑鏃堕棿鑼冨洿绫诲瀷"); + } + } + + + + List<Map<String, Object>> maps = baseMapper.selectOrderTimePeriod(startTime,endTime); + + Map<String, Long> countByDayHour = maps.stream() + .collect(Collectors.toMap( + map -> map.get("hour").toString(), + map -> Long.valueOf(map.get("count").toString()), + Long::sum // 濡傛灉鏈夐噸澶嶏紝绱姞count + )); + + // 閬嶅巻鏌ョ湅缁撴灉 + List<Long> countList = new ArrayList<>(); + for (int i = 0; i < 24; i++) { + String hourKey = String.valueOf(i); + Long count = countByDayHour.getOrDefault(hourKey, 0L); + countList.add(count); + } + + Map<String,Object> map = new HashMap<>(); + map.put("dateData",dateList); + map.put("countData",countList); + //TODO 娴忚鏁版嵁鏈姞鍏� +// map.put(); + + return Result.ok().data(map); } /** @@ -1255,6 +1536,7 @@ for (Order unpaidOrder : unpaidOrders) { this.systemCancel(unpaidOrder.getSn(), "鎷煎洟娲诲姩缁撴潫璁㈠崟鏈粯娆撅紝绯荤粺鑷姩鍙栨秷璁㈠崟", false); } + } List<Order> paidOrders = listMap.get(PayStatusEnum.PAID.name()); //濡傚緟鍙傚洟浜烘暟澶т簬0锛屽苟宸插紑鍚櫄鎷熸垚鍥� @@ -1572,8 +1854,19 @@ orderExportDetailDTO.setPaymentMethod(CharSequenceUtil.isNotBlank(orderExportDTO.getPaymentMethod()) ? PaymentMethodEnum.valueOf(orderExportDTO.getPaymentMethod()).paymentName() : ""); orderExportDetailDTO.setClientType(ClientTypeEnum.valueOf(orderExportDTO.getClientType()).value()); orderExportDetailDTO.setOrderType(orderExportDTO.getOrderType().equals(OrderTypeEnum.NORMAL.name()) ? "鏅�氳鍗�" : "铏氭嫙璁㈠崟"); - orderExportDetailDTO.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.valueOf(orderExportDTO.getAfterSaleStatus()).description()); + String afterSaleStatus = orderExportDTO.getAfterSaleStatus(); + if (StringUtils.isNotBlank(afterSaleStatus)) { + try { + orderExportDetailDTO.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.valueOf(afterSaleStatus).description()); + } catch (IllegalArgumentException e) { + // 澶勭悊鏋氫妇鍊间笉瀛樺湪鐨勬儏鍐� + orderExportDetailDTO.setAfterSaleStatus("鏈煡鐘舵��"); + } + } else { + // 璁剧疆榛樿鍊兼垨绌哄瓧绗︿覆 + orderExportDetailDTO.setAfterSaleStatus("鏃犲敭鍚庣姸鎬�"); + } //鏃堕棿 orderExportDetailDTO.setCreateTime(DateUtil.formatDateTime(orderExportDTO.getCreateTime())); orderExportDetailDTO.setPaymentTime(DateUtil.formatDateTime(orderExportDTO.getPaymentTime())); @@ -1588,7 +1881,7 @@ // 鍒涘缓琛ㄥご Row header = sheet.createRow(0); String[] headers = {"涓昏鍗曠紪鍙�", "瀛愯鍗曠紪鍙�", "閫夎喘鍟嗗搧", "鍟嗗搧鏁伴噺", "鍟嗗搧ID", "鍟嗗搧鍗曚环", "璁㈠崟搴斾粯閲戦", - "杩愯垂", "浼樻儬鎬婚噾棰�", "骞冲彴浼樻儬", "鍟嗗浼樻儬", "鍟嗗鏀逛环", "鏀粯鏂瑰紡","涔板鍚嶇О", "鏀朵欢浜�", "鏀朵欢浜烘墜鏈哄彿", + "杩愯垂", "浼樻儬鎬婚噾棰�", "骞冲彴浼樻儬", "鍟嗗浼樻儬", "鍟嗗鏀逛环", "鏀粯鏂瑰紡","浼氬憳ID","涔板鍚嶇О", "鏀朵欢浜�", "鏀朵欢浜烘墜鏈哄彿", "鐪�", "甯�", "鍖�", "琛楅亾", "璇︾粏鍦板潃", "涔板鐣欒█", "璁㈠崟鎻愪氦鏃堕棿", "鏀粯瀹屾垚鏃堕棿", "鏉ユ簮", "璁㈠崟鐘舵��", "璁㈠崟绫诲瀷", "鍞悗鐘舵��", "鍙栨秷鍘熷洜", "鍙戣揣鏃堕棿", "瀹屾垚鏃堕棿", "搴楅摵"}; @@ -1603,7 +1896,7 @@ row.createCell(0).setCellValue(dto.getOrderSn()); row.createCell(1).setCellValue(dto.getOrderItemSn()); row.createCell(2).setCellValue(dto.getGoodsName()); - row.createCell(3).setCellValue(dto.getNum()); + row.createCell(3).setCellValue(dto.getNum()!=null?dto.getNum():0); row.createCell(4).setCellValue(dto.getGoodsId()); row.createCell(5).setCellValue(dto.getUnitPrice()!=null?dto.getUnitPrice():0); row.createCell(6).setCellValue(dto.getFlowPrice()!=null?dto.getFlowPrice():0); @@ -1613,27 +1906,27 @@ row.createCell(10).setCellValue(dto.getStoreMarketingCost()!=null?dto.getStoreMarketingCost():0); row.createCell(11).setCellValue(dto.getUpdatePrice()!=null?dto.getUpdatePrice():0); row.createCell(12).setCellValue(dto.getPaymentMethod()); + row.createCell(13).setCellValue(dto.getMemberId()); + row.createCell(14).setCellValue(dto.getNickName()); - row.createCell(13).setCellValue(dto.getNickName()); - - row.createCell(14).setCellValue(dto.getConsigneeName()); - row.createCell(15).setCellValue(dto.getConsigneeMobile()); - row.createCell(16).setCellValue(dto.getProvince()); - row.createCell(17).setCellValue(dto.getCity()); - row.createCell(18).setCellValue(dto.getDistrict()); - row.createCell(19).setCellValue(dto.getStreet()); - row.createCell(20).setCellValue(dto.getConsigneeDetail()); - row.createCell(21).setCellValue(dto.getRemark()); - row.createCell(22).setCellValue(dto.getCreateTime()); - row.createCell(23).setCellValue(dto.getPaymentTime()); - row.createCell(24).setCellValue(dto.getClientType()); - row.createCell(25).setCellValue(dto.getOrderStatus()); - row.createCell(26).setCellValue(dto.getOrderType()); - row.createCell(27).setCellValue(dto.getAfterSaleStatus()); - row.createCell(28).setCellValue(dto.getCancelReason()); - row.createCell(29).setCellValue(dto.getLogisticsTime()); - row.createCell(30).setCellValue(dto.getCompleteTime()); - row.createCell(31).setCellValue(dto.getStoreName()); + row.createCell(15).setCellValue(dto.getConsigneeName()); + row.createCell(16).setCellValue(dto.getConsigneeMobile()); + row.createCell(17).setCellValue(dto.getProvince()); + row.createCell(18).setCellValue(dto.getCity()); + row.createCell(19).setCellValue(dto.getDistrict()); + row.createCell(20).setCellValue(dto.getStreet()); + row.createCell(21).setCellValue(dto.getConsigneeDetail()); + row.createCell(22).setCellValue(dto.getRemark()); + row.createCell(23).setCellValue(dto.getCreateTime()); + row.createCell(24).setCellValue(dto.getPaymentTime()); + row.createCell(25).setCellValue(dto.getClientType()); + row.createCell(26).setCellValue(dto.getOrderStatus()); + row.createCell(27).setCellValue(dto.getOrderType()); + row.createCell(28).setCellValue(dto.getAfterSaleStatus()); + row.createCell(29).setCellValue(dto.getCancelReason()); + row.createCell(30).setCellValue(dto.getLogisticsTime()); + row.createCell(31).setCellValue(dto.getCompleteTime()); + row.createCell(32).setCellValue(dto.getStoreName()); } //淇敼鍒楀 -- Gitblit v1.8.0