buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java
@@ -12,6 +12,7 @@ import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.dos.OrderPackage; import cn.lili.modules.order.order.entity.dto.OrderSearchParams; import cn.lili.modules.order.order.entity.dto.OrderSearchXcxParams; import cn.lili.modules.order.order.entity.enums.OrderStatusEnum; import cn.lili.modules.order.order.entity.vo.OrderDetailVO; import cn.lili.modules.order.order.entity.vo.OrderSimpleVO; @@ -85,7 +86,7 @@ @ApiOperation(value = "æ¥è¯¢ä¼å订åå表") @GetMapping("/xcx") public ResultMessage<IPage<OrderSimpleXcxVO>> queryXcxMineOrder(OrderSearchParams orderSearchParams) { public ResultMessage<IPage<OrderSimpleXcxVO>> queryXcxMineOrder(OrderSearchXcxParams orderSearchParams) { AuthUser currentUser = Objects.requireNonNull(UserContext.getCurrentUser()); orderSearchParams.setMemberId(currentUser.getId()); return ResultUtil.data(orderService.queryByXcxParams(orderSearchParams)); framework/src/main/java/cn/lili/modules/lmk/domain/query/VideoQuery.java
@@ -28,10 +28,10 @@ @ApiModelProperty("è§é¢æ¥æºï¼recommendæ¨èãauthoræä½è çè§é¢ãcollectæä½è æ¶èçè§é¢ãlikeæä½è ç¹èµçè§é¢ãsearchæç´¢ãgoodsSimilarlyæ¥æåä¸ååçè§é¢") private String videoFrom; @ApiModelProperty("è§é¢id") private String videoId; /** * @see cn.lili.modules.lmk.enums.general.VideoTypeEnum */ framework/src/main/java/cn/lili/modules/lmk/mapper/VideoMapper.java
@@ -47,6 +47,8 @@ */ IPage recommendVideo(IPage page, @Param("query") VideoQuery query); WxVideoVO recommendVideoByVideoId( @Param("query") VideoQuery query); List<WxVideoVO> recommendVideoList(@Param("query") VideoQuery query); IPage recommendHealthVideo(IPage page, @Param("query") WxHealthVideoQuery query); framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java
@@ -558,8 +558,15 @@ case "recommend":// å è½½æ¨èè§é¢ baseMapper.recommendVideo(page, query); //æ¨èè§é¢éæ°æåº WxVideoVO wxVideoVO = null; if (StringUtils.isNotBlank(query.getVideoId())) { wxVideoVO = baseMapper.recommendVideoByVideoId(query); } List<WxVideoVO> records = page.getRecords(); Collections.shuffle(records); if (wxVideoVO!=null) { records.set(0, wxVideoVO); } break; case "author": // å è½½è§é¢ä¸»é¡µæåå¸çè§é¢ AuthorVideoQuery query1 = new AuthorVideoQuery(); framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderSearchXcxParams.java
New file @@ -0,0 +1,215 @@ package cn.lili.modules.order.order.entity.dto; import cn.hutool.core.text.CharSequenceUtil; import cn.lili.common.security.AuthUser; import cn.lili.common.security.context.UserContext; import cn.lili.common.security.enums.UserEnums; import cn.lili.common.utils.DateUtil; import cn.lili.common.vo.PageVO; import cn.lili.modules.order.order.entity.enums.*; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; /** * è®¢åæ¥è¯¢åæ° * * @author Chopper * @since 2020/11/17 4:33 ä¸å */ @EqualsAndHashCode(callSuper = true) @Data public class OrderSearchXcxParams extends PageVO { private static final long serialVersionUID = -6380573339089959194L; @ApiModelProperty(value = "åååç§°") private String goodsName; @ApiModelProperty(value = "订åç¼å·") private String orderSn; @ApiModelProperty(value = "页颿 ç¾", example = "ALL:å ¨é¨," + "WAIT_PAY:å¾ ä»æ¬¾," + "WAIT_ROG:å¾ æ¶è´§," + "CANCELLED:已忶," + "COMPLETE:已宿") private String tag; @ApiModelProperty(value = "åå®¶ID") private String storeId; @ApiModelProperty(value = "ä¼åID") private String memberId; @ApiModelProperty(value = "æ¶è´§äºº") private String shipName; @ApiModelProperty(value = "ä¹°å®¶æµç§°") private String buyerName; @ApiModelProperty(value = "订åç¶æ") private String orderStatus; @ApiModelProperty(value = "仿¬¾ç¶æ") private String payStatus; @ApiModelProperty(value = "å ³é®å åååç§°/ä¹°å®¶åç§°/åºéºåç§°") private String keywords; @ApiModelProperty(value = "仿¬¾æ¹å¼") private String paymentType; /** * @see OrderTypeEnum * @see OrderPromotionTypeEnum */ @ApiModelProperty(value = "订åç±»å", allowableValues = "NORMAL,VIRTUAL,GIFT,PINTUAN,POINT") private String orderType; @ApiModelProperty(value = "æ¯ä»æ¹å¼") private String paymentMethod; @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "æ¯ä»æ¶é´") private Date paymentTime; @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "ä¸åå¼å§æ¶é´") private Date startDate; @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "ä¸åç»ææ¶é´") private Date endDate; @ApiModelProperty(value = "è®¢åæ¥æº") private String clientType; /** * @see CommentStatusEnum */ @ApiModelProperty(value = "è¯è®ºç¶æ:æªè¯è®º(UNFINISHED),å¾ è¿½è¯(WAIT_CHASE),è¯è®ºå®æ(FINISHED)ï¼") private String commentStatus; @ApiModelProperty(value = "æ¯å¦ä¸ºå ¶ä»è®¢åä¸ç订åï¼å¦ææ¯å为ä¾èµè®¢åçsnï¼å¦å为空") private String parentOrderSn; @ApiModelProperty(value = "æ¯å¦ä¸ºæè®¢åç±»åç订åï¼å¦ææ¯å为订åç±»åçidï¼å¦å为空") private String promotionId; @ApiModelProperty(value = "æ»ä»·æ ¼,å¯ä»¥ä¸ºèå´ï¼å¦10_1000") private String flowPrice; /** * @see OrderPromotionTypeEnum */ @ApiModelProperty(value = "订åä¿éç±»å") private String orderPromotionType; public <T> QueryWrapper<T> queryWrapper() { AuthUser currentUser = UserContext.getCurrentUser(); QueryWrapper<T> wrapper = new QueryWrapper<>(); //å ³é®åæ¥è¯¢ if (CharSequenceUtil.isNotEmpty(keywords)) { wrapper.and(keyWrapper -> keyWrapper.like("o.sn", keywords).or().like("oi.goods_name", keywords)); } //æç §ä¹°å®¶æ¥è¯¢ wrapper.like(CharSequenceUtil.isNotEmpty(memberId), "o.member_id", memberId); //æè®¢åç¼å·æ¥è¯¢ wrapper.like(CharSequenceUtil.isNotEmpty(orderSn), "o.sn", orderSn); //ææ¶é´æ¥è¯¢ wrapper.ge(startDate != null, "o.create_time", startDate); wrapper.le(endDate != null, "o.create_time", DateUtil.endOfDate(endDate)); //æè´ä¹°äººç¨æ·å wrapper.like(CharSequenceUtil.isNotEmpty(buyerName), "o.member_name", buyerName); //æè®¢åç±»å wrapper.eq(CharSequenceUtil.isNotEmpty(orderType), "o.order_type", orderType); //ç©æµæ¥è¯¢ wrapper.like(CharSequenceUtil.isNotEmpty(shipName), "o.consignee_name", shipName); //æåååç§°æ¥è¯¢ wrapper.like(CharSequenceUtil.isNotEmpty(goodsName), "oi.goods_name", goodsName); //仿¬¾æ¹å¼ wrapper.like(CharSequenceUtil.isNotEmpty(paymentType), "o.payment_type", paymentType); //ææ¯ä»æ¹å¼ wrapper.eq(CharSequenceUtil.isNotEmpty(paymentMethod), "o.payment_method", paymentMethod); //订åç¶æ wrapper.eq(CharSequenceUtil.isNotEmpty(orderStatus), "o.order_status", orderStatus); //仿¬¾ç¶æ wrapper.eq(CharSequenceUtil.isNotEmpty(payStatus), "o.pay_status", payStatus); //è®¢åæ¥æº wrapper.like(CharSequenceUtil.isNotEmpty(clientType), "o.client_type", clientType); //æè¯ä»·ç¶æ wrapper.eq(CharSequenceUtil.isNotEmpty(commentStatus), "oi.comment_status", commentStatus); //ææ ç¾æ¥è¯¢ if (CharSequenceUtil.isNotEmpty(tag)) { String orderStatusColumn = "o.order_status"; OrderTagEnum tagEnum = OrderTagEnum.valueOf(tag); switch (tagEnum) { //å¾ ä»æ¬¾ case WAIT_PAY: wrapper.eq(orderStatusColumn, OrderStatusEnum.UNPAID.name()); break; //å¾ åè´§ case WAIT_SHIP: wrapper.eq(orderStatusColumn, OrderStatusEnum.UNDELIVERED.name()); break; //å¾ æ¶è´§ case WAIT_ROG: wrapper.eq(orderStatusColumn, OrderStatusEnum.DELIVERED.name()); break; //已忶 case CANCELLED: wrapper.eq(orderStatusColumn, OrderStatusEnum.CANCELLED.name()); break; //已宿 case COMPLETE: wrapper.eq(orderStatusColumn, OrderStatusEnum.COMPLETED.name()); break; default: break; } } // ä¾èµè®¢å wrapper.eq(parentOrderSn != null, "o.parent_order_sn", parentOrderSn); // ä¿éæ´»å¨id wrapper.eq(CharSequenceUtil.isNotEmpty(promotionId), "o.promotion_id", promotionId); wrapper.eq(CharSequenceUtil.isNotEmpty(orderPromotionType), "o.order_promotion_type", orderPromotionType); if (CharSequenceUtil.isNotEmpty(flowPrice)) { String[] s = flowPrice.split("_"); if (s.length > 1) { wrapper.between("o.flow_price", s[0], s[1]); } else { wrapper.ge("o.flow_price", s[0]); } } wrapper.eq("o.delete_flag", false); return wrapper; } } framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java
@@ -3,10 +3,7 @@ import cn.lili.modules.member.entity.dto.MemberAddressDTO; import cn.lili.modules.order.cart.entity.dto.TradeDTO; import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.dto.OrderMessage; import cn.lili.modules.order.order.entity.dto.OrderSearchParams; import cn.lili.modules.order.order.entity.dto.PartDeliveryParamsDTO; import cn.lili.modules.order.order.entity.dto.SupplierOrderSearchParams; import cn.lili.modules.order.order.entity.dto.*; import cn.lili.modules.order.order.entity.vo.OrderDetailVO; import cn.lili.modules.order.order.entity.vo.OrderSimpleVO; import cn.lili.modules.order.order.entity.vo.OrderSimpleXcxVO; @@ -60,7 +57,7 @@ * @param orderSearchParams æ¥è¯¢åæ° * @return ç®ç订åå页 */ IPage<OrderSimpleXcxVO> queryByXcxParams(OrderSearchParams orderSearchParams); IPage<OrderSimpleXcxVO> queryByXcxParams(OrderSearchXcxParams orderSearchParams); IPage<OrderSimpleXcxVO> querySupplierOrderParams(SupplierOrderSearchParams orderSearchParams); framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
@@ -237,7 +237,7 @@ } @Override public IPage<OrderSimpleXcxVO> queryByXcxParams(OrderSearchParams orderSearchParams) { public IPage<OrderSimpleXcxVO> queryByXcxParams(OrderSearchXcxParams orderSearchParams) { QueryWrapper queryWrapper = orderSearchParams.queryWrapper(); queryWrapper.groupBy("o.id"); queryWrapper.orderByDesc("o.id"); framework/src/main/java/cn/lili/modules/store/mapper/StoreDetailMapper.java
@@ -73,6 +73,13 @@ "OR settlement_cycle LIKE concat('%,',#{day})"+ "OR settlement_cycle = #{day}") List<StoreSettlementDay> getSettlementStore(int day); /** * è·åå¾ ç»ç®åºéºå表 * * @return å¾ ç»ç®åºéºå表 */ @Select("SELECT store_id,settlement_day FROM li_store_detail ") List<StoreSettlementDay> getAllSettlementStore(); /** * ä¿®æ¹åºéºçç»ç®æ¥ framework/src/main/java/cn/lili/modules/store/service/StoreDetailService.java
@@ -131,6 +131,8 @@ */ List<StoreSettlementDay> getSettlementStore(int day); List<StoreSettlementDay> getAllSettlementStore(); /** * ä¿®æ¹åºéºçç»ç®æ¥ * framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreDetailServiceImpl.java
@@ -142,6 +142,10 @@ public List<StoreSettlementDay> getSettlementStore(int day) { return this.baseMapper.getSettlementStore(day); } @Override public List<StoreSettlementDay> getAllSettlementStore() { return this.baseMapper.getAllSettlementStore(); } @Override public StoreDeliverGoodsAddressDTO getStoreDeliverGoodsAddressDto() { framework/src/main/resources/mapper/lmk/VideoMapper.xml
@@ -267,6 +267,40 @@ ORDER BY LV.create_time DESC </select> <select id="recommendVideoByVideoId" resultMap="WxResultMap"> SELECT LV.author_id, LV.cover_url, LV.video_fit, LV.video_duration, LV.video_file_key, LV.title, LV.goods_view_num, LV.goods_order_num, LV.recommend, LV.status, LV.play_num, LV.comment_num, LV.collect_num, LV.thumbs_up_num, LV.weight, LV.audit_pass_time, LV.update_time, LV.create_time, LV.video_content_type, LV.video_type, LV.video_imgs, LV.id, LM.nick_name as authorName, LM.face as authorAvatar FROM lmk_video LV LEFT JOIN li_member LM ON LV.author_id = LM.id WHERE LV.delete_flag = 0 AND LV.status = '1' AND LV.id = #{query.videoId} ORDER BY LV.create_time DESC </select> <select id="recommendVideoList" resultMap="WxResultMap"> SELECT LV.author_id, lmk-job/src/main/java/cn/lili/handler/impl/order/OrderEveryDayTaskExecute.java
@@ -269,7 +269,9 @@ int day = DateUtil.date().dayOfMonth(); //è·åå¾ ç»ç®åå®¶å表 List<StoreSettlementDay> storeList = storeDetailService.getSettlementStore(day); // List<StoreSettlementDay> storeList = storeDetailService.getSettlementStore(day); //ç´æ¥ä»ææåå®¶ä¸å»ç»ç®ä¸å¨æ ¹æ®å¤©æ°å»ç»ç® List<StoreSettlementDay> storeList = storeDetailService.getAllSettlementStore(); //è·åå½åæ¶é´ DateTime endTime = DateUtil.date(); mykÏßÉÏÅäÖÃ.xlsxBinary files differ