update 解决管理后台无法查看快递问题 完成大健康小程序接口
| | |
| | | import cn.lili.modules.lmk.domain.form.VideoFootPrintForm; |
| | | import cn.lili.modules.lmk.domain.form.VideoHomePageInfoForm; |
| | | import cn.lili.modules.lmk.domain.form.WxVideoForm; |
| | | import cn.lili.modules.lmk.domain.query.AuthorVideoQuery; |
| | | import cn.lili.modules.lmk.domain.query.HealthVideoQuery; |
| | | import cn.lili.modules.lmk.domain.query.WxHealthVideoQuery; |
| | | import cn.lili.modules.lmk.domain.query.*; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import lombok.RequiredArgsConstructor; |
| | | import java.util.List; |
| | |
| | | import io.swagger.annotations.ApiOperation; |
| | | import cn.lili.modules.lmk.service.VideoService; |
| | | import cn.lili.base.Result; |
| | | import cn.lili.modules.lmk.domain.query.VideoQuery; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | /** |
| | |
| | | public Result healthRecommendVideo(WxHealthVideoQuery query) { |
| | | return videoService.healthRecommendVideo(query); |
| | | } |
| | | @GetMapping("/kitchen/type") |
| | | @ApiOperation(value = "厨神视频类型列表", notes = "厨神视频类型列表") |
| | | public Result kitchenTypeList() { |
| | | return videoService.kitchenTypeList(); |
| | | } |
| | | |
| | | @GetMapping("/kitchen/recommend") |
| | | @ApiOperation(value = "厨神视频推荐", notes = "厨神视频推荐") |
| | | public Result kitchenRecommendVideo(WxKitchenVideoQuery query) { |
| | | return videoService.kitchenRecommendVideo(query); |
| | | } |
| | | @GetMapping("/goods/detail/{videoId}") |
| | | @ApiOperation(value = "视频商品查看", notes = "视频商品查看") |
| | | public Result getGoodsDetail(@PathVariable("videoId") String videoId) { |
New file |
| | |
| | | package cn.lili.modules.lmk.domain.query; |
| | | |
| | | import cn.lili.base.AbsQuery; |
| | | import cn.lili.modules.lmk.enums.general.VideoTypeEnum; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * 微信小程序大健康查询参数 |
| | | * |
| | | * @author wp |
| | | * @since 2025-05-16 |
| | | */ |
| | | @Data |
| | | @ApiModel(value = "微信小程序大健康查询参数", description = "微信小程序大健康查询参数") |
| | | public class WxKitchenVideoQuery extends AbsQuery { |
| | | |
| | | /** |
| | | * @see VideoTypeEnum |
| | | */ |
| | | @ApiModelProperty("视频类型:视频、大健康、神厨,默认不传查视频") |
| | | private String videoType = VideoTypeEnum.COOK.getValue(); |
| | | |
| | | @ApiModelProperty("厨神视频标签id") |
| | | private String kitchenTypeId; |
| | | } |
| | | |
| | |
| | | |
| | | IPage recommendHealthVideo(IPage page, @Param("query") WxHealthVideoQuery query); |
| | | |
| | | |
| | | IPage wxKitchenVideoQuery(IPage page, @Param("query") WxKitchenVideoQuery query); |
| | | |
| | | /** |
| | | * 批量更新视频收藏数量 |
| | | * |
| | |
| | | |
| | | Result healthRecommendVideo(WxHealthVideoQuery query); |
| | | |
| | | Result kitchenTypeList(); |
| | | |
| | | Result kitchenRecommendVideo(WxKitchenVideoQuery query); |
| | | |
| | | /** |
| | | * 批量更新视频收藏数量 |
| | | * |
| | |
| | | private final VideoAccountService videoAccountService; |
| | | private final KitchenVideoTypeRefService kitchenVideoTypeRefService; |
| | | private final VideoGoodsService videoGoodsService; |
| | | |
| | | private final KitchenTypeService kitchenTypeService; |
| | | |
| | | /** |
| | | * 添加 |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Result kitchenTypeList() { |
| | | List<KitchenType> list = kitchenTypeService.list(Wrappers.<KitchenType>lambdaQuery().orderByAsc(KitchenType::getSortNum)); |
| | | return Result.ok().data(list); |
| | | } |
| | | |
| | | @Override |
| | | public Result kitchenRecommendVideo(WxKitchenVideoQuery query) { |
| | | IPage<WxVideoVO> page = PageUtil.getPage(query, WxVideoVO.class); |
| | | baseMapper.wxKitchenVideoQuery(page, query); |
| | | page.getRecords().forEach(v -> { |
| | | if (VideoContentTypeEnum.VIDEO.getValue().equals(v.getVideoContentType())) { |
| | | v.setVideoUrl(cosUtil.getPreviewUrl(v.getVideoFileKey())); |
| | | v.setCoverUrl(cosUtil.getPreviewUrl(v.getCoverFileKey())); |
| | | } |
| | | }); |
| | | return Result.ok().data(page.getRecords()).total(page.getTotal()); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void updateCollectNumBatch(List<CollectTypeNumVO> numList) { |
| | | // 按500条数据进行拆分 |
| | |
| | | AND LV.video_content_type = 'video' |
| | | </select> |
| | | |
| | | <select id="wxKitchenVideoQuery" 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.weight, |
| | | LV.audit_pass_time, |
| | | LV.update_time, |
| | | LV.video_content_type, |
| | | LV.video_type, |
| | | LV.video_imgs, |
| | | LV.id, |
| | | LAU.nick_name AS authorName, |
| | | LAU.avatar AS authorAvatar |
| | | FROM |
| | | lmk_video LV |
| | | LEFT JOIN li_admin_user LAU ON LV.author_id = LAU.id |
| | | <if test="query.kitchenTypeId !=null and query.kitchenTypeId !=''"> |
| | | JOIN (SELECT DISTINCT video_id FROM lmk_kitchen_video_type_ref WHERE kitchen_type_id = #{query.kitchenTypeId}) VT ON VT.video_id = LV.id |
| | | </if> |
| | | WHERE |
| | | LV.delete_flag = 0 AND LV.status = '1' AND LV.video_type = #{query.videoType} |
| | | AND LV.video_content_type = 'video' |
| | | </select> |
| | | |
| | | |
| | | <update id="updateCollectNumBatch"> |
| | | UPDATE lmk_video |
| | |
| | | import cn.lili.modules.order.order.entity.dto.OrderSearchParams; |
| | | import cn.lili.modules.order.order.entity.vo.OrderDetailVO; |
| | | import cn.lili.modules.order.order.entity.vo.OrderSimpleVO; |
| | | import cn.lili.modules.order.order.service.OrderPackageService; |
| | | import cn.lili.modules.order.order.service.OrderPriceService; |
| | | import cn.lili.modules.order.order.service.OrderService; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | |
| | | */ |
| | | @Autowired |
| | | private OrderPriceService orderPriceService; |
| | | |
| | | @Autowired |
| | | private OrderPackageService orderPackageService; |
| | | |
| | | |
| | | @ApiOperation(value = "查询订单列表分页") |
| | |
| | | return ResultUtil.data(orderService.getTraces(orderSn)); |
| | | } |
| | | |
| | | @GetMapping(value = "/getPackage/{orderSn}") |
| | | public ResultMessage<Object> getPackage(@NotBlank(message = "订单编号不能为空") @PathVariable String orderSn) { |
| | | return ResultUtil.data(orderPackageService.getOrderPackageVOList(orderSn)); |
| | | } |
| | | @ApiOperation(value = "卖家订单备注") |
| | | @PutMapping("/{orderSn}/sellerRemark") |
| | | public ResultMessage<Object> sellerRemark(@PathVariable String orderSn, @RequestParam String sellerRemark) { |