From b83b070dc8cc823c877aa3a2ade134272ec0641a Mon Sep 17 00:00:00 2001 From: peng <peng.com> Date: 星期一, 07 七月 2025 17:02:45 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- framework/src/main/java/cn/lili/modules/lmk/service/impl/GoodsTagServiceImpl.java | 92 ++++ framework/src/main/java/cn/lili/modules/lmk/domain/form/FileInfoForm.java | 4 framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreServiceImpl.java | 9 buyer-api/src/main/java/cn/lili/controller/lmk/MySubscribeController.java | 2 framework/src/main/java/cn/lili/modules/lmk/domain/vo/MemberTagVO.java | 28 buyer-api/src/main/java/cn/lili/controller/lmk/VideoController.java | 27 framework/src/main/java/cn/lili/modules/lmk/domain/form/MemberTagForm.java | 52 ++ framework/src/main/java/cn/lili/modules/lmk/service/GoodsTagService.java | 51 ++ framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java | 100 ++++ framework/src/main/resources/mapper/lmk/CustomerMapper.xml | 4 framework/src/main/java/cn/lili/modules/lmk/domain/query/VideoQuery.java | 21 framework/src/main/java/cn/lili/modules/lmk/domain/vo/VideoHistoryVO.java | 26 + framework/src/main/java/cn/lili/modules/lmk/domain/query/GoodsSimilarlyQuery.java | 27 + framework/src/main/java/cn/lili/modules/lmk/domain/query/VideoHistoryQuery.java | 18 framework/src/main/java/cn/lili/modules/member/entity/dos/Member.java | 2 framework/src/main/java/cn/lili/modules/member/entity/vo/MemberVO.java | 4 framework/src/main/java/cn/lili/modules/member/serviceimpl/FootprintServiceImpl.java | 5 framework/src/main/resources/mapper/lmk/VideoMapper.xml | 117 +++++ framework/src/main/resources/mapper/lmk/MemberMapper.xml | 41 + framework/src/main/java/cn/lili/modules/lmk/domain/entity/GoodsTag.java | 13 framework/src/main/java/cn/lili/modules/lmk/service/VideoService.java | 8 framework/src/main/java/cn/lili/modules/lmk/mapper/VideoMapper.java | 19 framework/src/main/resources/mapper/lmk/MemberTagMapper.xml | 43 ++ buyer-api/src/main/java/cn/lili/controller/member/FootprintController.java | 11 framework/src/main/resources/mapper/lmk/MySubscribeMapper.xml | 3 framework/src/main/resources/mapper/lmk/GoodsTagMapper.xml | 15 framework/src/main/java/cn/lili/modules/member/entity/dto/ManagerMemberEditDTO.java | 3 framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java | 3 framework/src/main/java/cn/lili/modules/lmk/domain/entity/MemberTag.java | 13 framework/src/main/java/cn/lili/modules/lmk/service/MemberTagService.java | 29 framework/src/main/java/cn/lili/modules/permission/entity/dos/AdminUser.java | 2 framework/src/main/java/cn/lili/modules/lmk/service/impl/MemberTagServiceImpl.java | 158 +++++++ framework/src/main/resources/mapper/lmk/MyCollectMapper.xml | 3 framework/src/main/java/cn/lili/modules/member/mapper/MemberMapper.java | 2 framework/src/main/java/cn/lili/modules/lmk/mapper/GoodsTagMapper.java | 16 /dev/null | 51 -- framework/src/main/java/cn/lili/modules/lmk/mapper/MemberTagMapper.java | 16 framework/src/main/java/cn/lili/modules/lmk/domain/query/TagQuery.java | 2 framework/src/main/resources/mapper/lmk/TagMapper.xml | 5 buyer-api/src/main/java/cn/lili/controller/lmk/CustomerController.java | 24 manager-api/src/main/java/cn/lili/controller/lmk/CustomerController.java | 38 - framework/src/main/java/cn/lili/modules/lmk/domain/form/GoodsTagForm.java | 51 ++ framework/src/main/java/cn/lili/modules/lmk/domain/vo/GoodsTagVO.java | 33 framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java | 25 + framework/src/main/java/cn/lili/modules/member/service/FootprintService.java | 6 45 files changed, 1,035 insertions(+), 187 deletions(-) diff --git a/buyer-api/src/main/java/cn/lili/controller/lmk/CustomerController.java b/buyer-api/src/main/java/cn/lili/controller/lmk/CustomerController.java index 1478a62..4a7a4d2 100644 --- a/buyer-api/src/main/java/cn/lili/controller/lmk/CustomerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/lmk/CustomerController.java @@ -3,13 +3,13 @@ import cn.lili.base.Result; import cn.lili.group.Add; import cn.lili.group.Update; -import cn.lili.modules.lmk.domain.form.CustomerTagForm; +import cn.lili.modules.lmk.domain.form.MemberTagForm; import cn.lili.modules.lmk.domain.form.CustomerTagRefForm; import cn.lili.modules.lmk.domain.query.CustomerQuery; import cn.lili.modules.lmk.domain.query.CustomerTagQuery; import cn.lili.modules.lmk.service.CustomerService; import cn.lili.modules.lmk.service.CustomerTagRefService; -import cn.lili.modules.lmk.service.CustomerTagService; +import cn.lili.modules.lmk.service.MemberTagService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -27,7 +27,7 @@ public class CustomerController { private final CustomerService customerService; - private final CustomerTagService customerTagService; + private final MemberTagService memberTagService; private final CustomerTagRefService customerTagRefService; @ApiOperation(value = "鍟嗛摵涓嬫媺鍒楄〃") @@ -45,39 +45,39 @@ @PostMapping("/addTag") @ApiOperation(value = "娣诲姞鏍囩", notes = "娣诲姞鏍囩") - public Result add(@RequestBody @Validated(Add.class) CustomerTagForm form) { - return customerTagService.add(form); + public Result add(@RequestBody @Validated(Add.class) MemberTagForm form) { + return memberTagService.add(form); } @PutMapping("/editTag") @ApiOperation(value = "淇敼鏍囩", notes = "淇敼鏍囩") - public Result update(@RequestBody @Validated(Update.class) CustomerTagForm form) { - return customerTagService.update(form); + public Result update(@RequestBody @Validated(Update.class) MemberTagForm form) { + return memberTagService.update(form); } @DeleteMapping("/tag/{id}") @ApiOperation(value = "ID鍒犻櫎鏍囩", notes = "ID鍒犻櫎") public Result removeById(@PathVariable("id") String id) { - return customerTagService.removeById(id); + return memberTagService.removeById(id); } @GetMapping("/tagList") @ApiOperation(value = "鏍囩鍒楄〃", notes = "鏍囩鍒楄〃") public Result list() { - return customerTagService.all(); + return memberTagService.all(); } @GetMapping("/pageTagList") @ApiOperation(value = "鍒嗛〉鏍囩鍒楄〃", notes = "鏍囩鍒楄〃") public Result pageList(CustomerTagQuery query) { - return customerTagService.page(query); + return memberTagService.page(query); } @PostMapping("/customerAddTag") @ApiOperation(value = "娣诲姞瀹㈡埛鏍囩鏍囪瘑", notes = "娣诲姞瀹㈡埛鏍囩鏍囪瘑") - public Result addCustomerTag(@RequestBody @Validated(Add.class) CustomerTagForm form) { - return customerTagService.addCustomerTag(form); + public Result addCustomerTag(@RequestBody @Validated(Add.class) MemberTagForm form) { + return memberTagService.addMemberTag(form); } // @PostMapping("/customerAddTag") diff --git a/buyer-api/src/main/java/cn/lili/controller/lmk/MySubscribeController.java b/buyer-api/src/main/java/cn/lili/controller/lmk/MySubscribeController.java index c741b90..88446a9 100644 --- a/buyer-api/src/main/java/cn/lili/controller/lmk/MySubscribeController.java +++ b/buyer-api/src/main/java/cn/lili/controller/lmk/MySubscribeController.java @@ -38,7 +38,7 @@ } @GetMapping("/page") - @ApiOperation(value = "鍒嗛〉", notes = "鍒嗛〉") + @ApiOperation(value = "鎴戠殑鍏虫敞鐢ㄦ埛鍒嗛〉", notes = "鎴戠殑鍏虫敞鐢ㄦ埛鍒嗛〉") public Result page(MySubscribeQuery query) { return mySubscribeService.page(query); } diff --git a/buyer-api/src/main/java/cn/lili/controller/lmk/VideoController.java b/buyer-api/src/main/java/cn/lili/controller/lmk/VideoController.java index 8078d3f..32fc3b6 100644 --- a/buyer-api/src/main/java/cn/lili/controller/lmk/VideoController.java +++ b/buyer-api/src/main/java/cn/lili/controller/lmk/VideoController.java @@ -1,21 +1,22 @@ package cn.lili.controller.lmk; -import cn.lili.group.Update; +import cn.lili.base.Result; import cn.lili.group.Add; +import cn.lili.group.Update; import cn.lili.modules.lmk.domain.form.ThumbsUpRecordForm; 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.*; -import org.springframework.validation.annotation.Validated; -import lombok.RequiredArgsConstructor; -import java.util.List; -import javax.validation.constraints.NotEmpty; +import cn.lili.modules.lmk.service.VideoService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import cn.lili.modules.lmk.service.VideoService; -import cn.lili.base.Result; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import java.util.List; /** * 瑙嗛鍐呭 鍓嶇鎺у埗鍣� @@ -148,4 +149,16 @@ public Result esSearch(VideoEsQuery query) { return videoService.esSearch(query); } + + @PostMapping("/goods/similarly") + @ApiOperation(value = "鎸傜浉鍚屽晢鍝佺殑瑙嗛", notes = "鎸傜浉鍚屽晢鍝佺殑瑙嗛") + public Result goodsSimilarly(@RequestBody VideoQuery query) { + return videoService.recommendVideo(query); + } + + @GetMapping("/history") + @ApiOperation(value = "鑾峰彇鍘嗗彶鎾斁璁板綍") + public Result getHistoryPage(VideoHistoryQuery query) { + return videoService.getHistoryPage(query); + } } diff --git a/buyer-api/src/main/java/cn/lili/controller/member/FootprintController.java b/buyer-api/src/main/java/cn/lili/controller/member/FootprintController.java index 43318e5..caf0910 100644 --- a/buyer-api/src/main/java/cn/lili/controller/member/FootprintController.java +++ b/buyer-api/src/main/java/cn/lili/controller/member/FootprintController.java @@ -3,7 +3,6 @@ import cn.lili.common.enums.ResultUtil; import cn.lili.common.security.context.UserContext; import cn.lili.common.utils.StringUtils; -import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.member.entity.dto.FootPrintQueryParams; import cn.lili.modules.member.service.FootprintService; @@ -13,7 +12,6 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; -import org.apache.catalina.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -40,6 +38,7 @@ @Autowired private COSUtil cosUtil; + @ApiOperation(value = "鍒嗛〉鑾峰彇") @GetMapping public ResultMessage<IPage<EsGoodsIndex>> getByPage(FootPrintQueryParams params) { @@ -65,10 +64,10 @@ } @ApiOperation(value = "鏍规嵁id鍒犻櫎") - @ApiImplicitParam(name = "ids", value = "鍟嗗搧ID", required = true, allowMultiple = true, dataType = "String", paramType = "path") - @DeleteMapping(value = "/delByIds/{ids}") - public ResultMessage<Object> delAllByIds(@NotNull(message = "鍟嗗搧ID涓嶈兘涓虹┖") @PathVariable("ids") List ids) { - footprintService.deleteByIds(ids); + @ApiImplicitParam(name = "ids", value = "鍏宠仈ID", required = true, allowMultiple = true, dataType = "String", paramType = "path") + @DeleteMapping(value = "/delByIds/{viewType}/{ids}") + public ResultMessage<Object> delAllByIds(@NotNull(message = "鍏宠仈ID涓嶈兘涓虹┖") @PathVariable("ids") List ids, @PathVariable("viewType") String viewType) { + footprintService.deleteByIds(ids, viewType); return ResultUtil.success(); } diff --git a/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java b/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java index e270ab4..f0c599a 100644 --- a/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/connect/serviceimpl/ConnectServiceImpl.java @@ -259,7 +259,8 @@ user.setUsername(UuidUtils.getUUID()); user.setNickName("寰俊鐢ㄦ埛"); user.setPassword(DEFAULT_PASSWORD); - user.setFace("https://i.loli.net/2020/11/19/LyN6JF7zZRskdIe.png"); + user.setFace(""); + user.setDisabled(Boolean.TRUE); memberService.registerHandler(user); } diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/entity/CustomerTag.java b/framework/src/main/java/cn/lili/modules/lmk/domain/entity/GoodsTag.java similarity index 72% rename from framework/src/main/java/cn/lili/modules/lmk/domain/entity/CustomerTag.java rename to framework/src/main/java/cn/lili/modules/lmk/domain/entity/GoodsTag.java index 3a5ae77..7ead7dc 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/domain/entity/CustomerTag.java +++ b/framework/src/main/java/cn/lili/modules/lmk/domain/entity/GoodsTag.java @@ -3,21 +3,24 @@ import cn.lili.mybatis.BaseEntity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; -import java.time.LocalDateTime; import lombok.Data; /** - * - * * @author zxl * @since 2025-05-14 */ @Data -@TableName("lmk_customer_tag") -public class CustomerTag extends BaseEntity { +@TableName("lmk_goods_tag") +public class GoodsTag extends BaseEntity { private static final long serialVersionUID = 1L; + @TableField("tag_id") + private String tagId; + + @TableField("goods_id") + private String goodsId; + @TableField("tag_name") /** 鏍囩鍚嶇О*/ private String tagName; diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/entity/CustomerTag.java b/framework/src/main/java/cn/lili/modules/lmk/domain/entity/MemberTag.java similarity index 72% copy from framework/src/main/java/cn/lili/modules/lmk/domain/entity/CustomerTag.java copy to framework/src/main/java/cn/lili/modules/lmk/domain/entity/MemberTag.java index 3a5ae77..45c334a 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/domain/entity/CustomerTag.java +++ b/framework/src/main/java/cn/lili/modules/lmk/domain/entity/MemberTag.java @@ -3,21 +3,24 @@ import cn.lili.mybatis.BaseEntity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; -import java.time.LocalDateTime; import lombok.Data; /** - * - * * @author zxl * @since 2025-05-14 */ @Data -@TableName("lmk_customer_tag") -public class CustomerTag extends BaseEntity { +@TableName("lmk_member_tag") +public class MemberTag extends BaseEntity { private static final long serialVersionUID = 1L; + @TableField("tag_id") + private String tagId; + + @TableField("member_id") + private String memberId; + @TableField("tag_name") /** 鏍囩鍚嶇О*/ private String tagName; diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/form/CustomerTagForm.java b/framework/src/main/java/cn/lili/modules/lmk/domain/form/CustomerTagForm.java deleted file mode 100644 index 9117724..0000000 --- a/framework/src/main/java/cn/lili/modules/lmk/domain/form/CustomerTagForm.java +++ /dev/null @@ -1,50 +0,0 @@ -package cn.lili.modules.lmk.domain.form; - -import cn.lili.base.AbsForm; -import cn.lili.group.Add; -import cn.lili.group.Update; -import cn.lili.modules.lmk.domain.entity.CustomerTag; -import cn.lili.mybatis.BaseEntity; -import org.springframework.beans.BeanUtils; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import org.springframework.lang.NonNull; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import java.util.Date; - -/** - * 琛ㄥ崟 - * - * @author zxl - * @since 2025-05-14 - */ -@Data -@ApiModel(value = "CustomerTag琛ㄥ崟", description = "琛ㄥ崟") -public class CustomerTagForm extends AbsForm { - - @NotBlank(message = "涓嶈兘涓虹┖", groups = {Add.class, Update.class}) - @ApiModelProperty("鏍囩鍚�") - private String tagName; - - @NotBlank(message = "涓嶈兘涓虹┖", groups = {Add.class, Update.class}) - @ApiModelProperty("") - private String createType; - - - /** - * 瀹㈡埛id - * */ - @ApiModelProperty("瀹㈡埛id") - private String customerId; - - public static CustomerTag getEntityByForm(@NonNull CustomerTagForm form, CustomerTag entity) { - if(entity == null) { - entity = new CustomerTag(); - } - BeanUtils.copyProperties(form, entity); - return entity; - } - -} diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/form/FileInfoForm.java b/framework/src/main/java/cn/lili/modules/lmk/domain/form/FileInfoForm.java index eebf1e0..20890a2 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/domain/form/FileInfoForm.java +++ b/framework/src/main/java/cn/lili/modules/lmk/domain/form/FileInfoForm.java @@ -28,4 +28,8 @@ @ApiModelProperty("鏂囦欢鍘熷鍚�") private String originalFileName; + private String url; + + private String cover; + } diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/form/GoodsTagForm.java b/framework/src/main/java/cn/lili/modules/lmk/domain/form/GoodsTagForm.java new file mode 100644 index 0000000..2dda2bd --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/lmk/domain/form/GoodsTagForm.java @@ -0,0 +1,51 @@ +package cn.lili.modules.lmk.domain.form; + +import cn.lili.base.AbsForm; +import cn.lili.group.Add; +import cn.lili.group.Update; +import cn.lili.modules.lmk.domain.entity.GoodsTag; +import cn.lili.modules.lmk.domain.entity.MemberTag; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.beans.BeanUtils; +import org.springframework.lang.NonNull; + +import javax.validation.constraints.NotBlank; +import java.util.List; + +/** + * 琛ㄥ崟 + * + * @author zxl + * @since 2025-05-14 + */ +@Data +@ApiModel(value = "GoodsTag琛ㄥ崟", description = "琛ㄥ崟") +public class GoodsTagForm extends AbsForm { + + @NotBlank(message = "涓嶈兘涓虹┖", groups = {Add.class, Update.class}) + @ApiModelProperty("鏍囩Id") + private List<String> tagIds; + + + @NotBlank(message = "涓嶈兘涓虹┖", groups = {Add.class, Update.class}) + @ApiModelProperty("") + private String createType; + + + /** + * 瀹㈡埛id + */ + @ApiModelProperty("鍟嗗搧id") + private String goodsId; + + public static GoodsTag getEntityByForm(@NonNull GoodsTagForm form, GoodsTag entity) { + if (entity == null) { + entity = new GoodsTag(); + } + BeanUtils.copyProperties(form, entity); + return entity; + } + +} diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/form/MemberTagForm.java b/framework/src/main/java/cn/lili/modules/lmk/domain/form/MemberTagForm.java new file mode 100644 index 0000000..da6ff44 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/lmk/domain/form/MemberTagForm.java @@ -0,0 +1,52 @@ +package cn.lili.modules.lmk.domain.form; + +import cn.lili.base.AbsForm; +import cn.lili.group.Add; +import cn.lili.group.Update; +import cn.lili.modules.lmk.domain.entity.MemberTag; +import org.springframework.beans.BeanUtils; + +import javax.validation.constraints.NotBlank; + +import org.springframework.lang.NonNull; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * 琛ㄥ崟 + * + * @author zxl + * @since 2025-05-14 + */ +@Data +@ApiModel(value = "MemberTag琛ㄥ崟", description = "琛ㄥ崟") +public class MemberTagForm extends AbsForm { + + @NotBlank(message = "涓嶈兘涓虹┖", groups = {Add.class, Update.class}) + @ApiModelProperty("鏍囩Id") + private List<String> tagIds; + + + @NotBlank(message = "涓嶈兘涓虹┖", groups = {Add.class, Update.class}) + @ApiModelProperty("") + private String createType; + + + /** + * 瀹㈡埛id + */ + @ApiModelProperty("瀹㈡埛id") + private String memberId; + + public static MemberTag getEntityByForm(@NonNull MemberTagForm form, MemberTag entity) { + if (entity == null) { + entity = new MemberTag(); + } + BeanUtils.copyProperties(form, entity); + return entity; + } + +} diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/query/GoodsSimilarlyQuery.java b/framework/src/main/java/cn/lili/modules/lmk/domain/query/GoodsSimilarlyQuery.java new file mode 100644 index 0000000..fa27d6e --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/lmk/domain/query/GoodsSimilarlyQuery.java @@ -0,0 +1,27 @@ +package cn.lili.modules.lmk.domain.query; + +import cn.lili.base.AbsQuery; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author锛歺p + * @date锛�2025/7/2 10:08 + */ +@Data +@ApiModel("鐩稿悓鍟嗗搧瑙嗛") +public class GoodsSimilarlyQuery extends AbsQuery { + + // TODO 鏌ヨ鎸備簡鍚屼竴鍟嗗搧鐨勮棰戜笉搴旇鍖哄垎鏄帹鑽愯棰戣繕鏄ぇ鍋ュ悍锛岃瀛楁鍙槸鍏堝啓鍦ㄨ繖锛屾殏鏃朵笉鐢� + @ApiModelProperty("瑙嗛绫诲瀷") + private String videoType; + + @ApiModelProperty("鍟嗗搧id锛岃繖閲岀敤鍟嗗搧id鑰屼笉鏄痵kuId") + private List<String> goodsIds; + + @ApiModelProperty("褰撳墠鐨勮棰慽d锛屾煡璇㈡椂鐩存帴鎺掗櫎璇ヨ棰�") + private String currentVideoId; +} diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/query/TagQuery.java b/framework/src/main/java/cn/lili/modules/lmk/domain/query/TagQuery.java index 605e894..f2e7006 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/domain/query/TagQuery.java +++ b/framework/src/main/java/cn/lili/modules/lmk/domain/query/TagQuery.java @@ -26,6 +26,8 @@ @ApiModelProperty("鏍囩鍒嗙被") private String tagTypeId; + @ApiModelProperty("鏍囩绫诲埆key") + private String tagTypeKey; } diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/query/VideoHistoryQuery.java b/framework/src/main/java/cn/lili/modules/lmk/domain/query/VideoHistoryQuery.java new file mode 100644 index 0000000..bd940c4 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/lmk/domain/query/VideoHistoryQuery.java @@ -0,0 +1,18 @@ +package cn.lili.modules.lmk.domain.query; + +import cn.lili.base.AbsQuery; +import lombok.Data; + +/** + * 瑙嗛鏍囩鏌ヨ + * + * @author xp + * @since 2025-05-13 + */ +@Data +public class VideoHistoryQuery extends AbsQuery { + + private String userId; + +} + diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/query/VideoQuery.java b/framework/src/main/java/cn/lili/modules/lmk/domain/query/VideoQuery.java index 3aa3b2a..23800fd 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/domain/query/VideoQuery.java +++ b/framework/src/main/java/cn/lili/modules/lmk/domain/query/VideoQuery.java @@ -21,11 +21,16 @@ @ApiModel(value = "Video鏌ヨ鍙傛暟", description = "瑙嗛鍐呭鏌ヨ鍙傛暟") public class VideoQuery extends AbsQuery { + /* ----------------------------- author鏌愪綔鑰呯殑瑙嗛銆乧ollect鏌愪綔鑰呮敹钘忕殑瑙嗛銆乴ike鏌愪綔鑰呯偣璧炵殑瑙嗛 ------------------------------- */ @ApiModelProperty("浣滆�卛d") private String authorId; - @ApiModelProperty("瑙嗛鏉ユ簮锛歳ecommend鎺ㄨ崘銆乤uthor鏌愪綔鑰呯殑瑙嗛銆乧ollect鏌愪綔鑰呮敹钘忕殑瑙嗛銆乴ike鏌愪綔鑰呯偣璧炵殑瑙嗛") + @ApiModelProperty("瑙嗛鏉ユ簮锛歳ecommend鎺ㄨ崘銆乤uthor鏌愪綔鑰呯殑瑙嗛銆乧ollect鏌愪綔鑰呮敹钘忕殑瑙嗛銆乴ike鏌愪綔鑰呯偣璧炵殑瑙嗛銆乻earch鎼滅储銆乬oodsSimilarly鏌ユ寕鍚屼竴鍟嗗搧鐨勮棰�") private String videoFrom; + + + + /** * @see cn.lili.modules.lmk.enums.general.VideoTypeEnum @@ -33,7 +38,21 @@ @ApiModelProperty("瑙嗛绫诲瀷锛氳棰戙�佸ぇ鍋ュ悍銆佺鍘紝榛樿涓嶄紶鏌ヨ棰�") private String videoType = VideoTypeEnum.VIDEO.getValue(); + + + + + + + /* ----------------------------- search鎼滅储 ------------------------------- */ @ApiModelProperty("鎼滅储瑙嗛鐨勫叧閿瘝") private String keyword; + + /* ----------------------------- goodsSimilarly鏌ユ寕鍚屼竴鍟嗗搧鐨勮棰� ------------------------------- */ + @ApiModelProperty("鍟嗗搧id锛岃繖閲岀敤鍟嗗搧id鑰屼笉鏄痵kuId") + private List<String> goodsIds; + + @ApiModelProperty("褰撳墠鐨勮棰慽d锛屾煡璇㈡椂鐩存帴鎺掗櫎璇ヨ棰�") + private String currentVideoId; } diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/CustomerTagVO.java b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/GoodsTagVO.java similarity index 60% copy from framework/src/main/java/cn/lili/modules/lmk/domain/vo/CustomerTagVO.java copy to framework/src/main/java/cn/lili/modules/lmk/domain/vo/GoodsTagVO.java index e0a9236..336360e 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/CustomerTagVO.java +++ b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/GoodsTagVO.java @@ -1,16 +1,12 @@ package cn.lili.modules.lmk.domain.vo; import cn.lili.base.AbsVo; - -import java.util.List; - -import cn.lili.modules.lmk.domain.entity.CustomerTag; -import org.springframework.lang.NonNull; -import org.springframework.beans.BeanUtils; +import cn.lili.modules.lmk.domain.entity.MemberTag; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import java.util.Date; +import org.springframework.beans.BeanUtils; +import org.springframework.lang.NonNull; /** * 灞曠ず @@ -20,21 +16,30 @@ */ @Data @ApiModel(value = "鍝嶅簲鏁版嵁", description = "鍝嶅簲鏁版嵁") -public class CustomerTagVO extends AbsVo { +public class GoodsTagVO extends AbsVo { - /** */ + @ApiModelProperty("鏍囩Id") + private String tagId; + + @ApiModelProperty("瀹㈡埛id") + private String goodsId; + + /** + * + */ @ApiModelProperty("鏍囩鍚嶇О") private String tagName; - /** */ + /** + * + */ @ApiModelProperty("鍒涘缓鏂瑰紡") private String createType; - - public static CustomerTagVO getVoByEntity(@NonNull CustomerTag entity, CustomerTagVO vo) { - if(vo == null) { - vo = new CustomerTagVO(); + public static GoodsTagVO getVoByEntity(@NonNull MemberTag entity, GoodsTagVO vo) { + if (vo == null) { + vo = new GoodsTagVO(); } BeanUtils.copyProperties(entity, vo); return vo; diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/CustomerTagVO.java b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/MemberTagVO.java similarity index 60% rename from framework/src/main/java/cn/lili/modules/lmk/domain/vo/CustomerTagVO.java rename to framework/src/main/java/cn/lili/modules/lmk/domain/vo/MemberTagVO.java index e0a9236..3595151 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/CustomerTagVO.java +++ b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/MemberTagVO.java @@ -2,15 +2,12 @@ import cn.lili.base.AbsVo; -import java.util.List; - -import cn.lili.modules.lmk.domain.entity.CustomerTag; +import cn.lili.modules.lmk.domain.entity.MemberTag; import org.springframework.lang.NonNull; import org.springframework.beans.BeanUtils; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import java.util.Date; /** * 灞曠ず @@ -20,21 +17,30 @@ */ @Data @ApiModel(value = "鍝嶅簲鏁版嵁", description = "鍝嶅簲鏁版嵁") -public class CustomerTagVO extends AbsVo { +public class MemberTagVO extends AbsVo { - /** */ + @ApiModelProperty("鏍囩Id") + private String tagId; + + @ApiModelProperty("瀹㈡埛id") + private String memberId; + + /** + * + */ @ApiModelProperty("鏍囩鍚嶇О") private String tagName; - /** */ + /** + * + */ @ApiModelProperty("鍒涘缓鏂瑰紡") private String createType; - - public static CustomerTagVO getVoByEntity(@NonNull CustomerTag entity, CustomerTagVO vo) { - if(vo == null) { - vo = new CustomerTagVO(); + public static MemberTagVO getVoByEntity(@NonNull MemberTag entity, MemberTagVO vo) { + if (vo == null) { + vo = new MemberTagVO(); } BeanUtils.copyProperties(entity, vo); return vo; diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/VideoHistoryVO.java b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/VideoHistoryVO.java new file mode 100644 index 0000000..00f0c02 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/VideoHistoryVO.java @@ -0,0 +1,26 @@ +package cn.lili.modules.lmk.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @author锛歺p + * @date锛�2025/7/4 17:43 + */ +@Data +@ApiModel("瑙嗛鎾斁璁板綍") +public class VideoHistoryVO extends WxVideoVO { + + @ApiModelProperty("鍘嗗彶璁板綍id") + private String historyId; + + @ApiModelProperty("鎾斁鑷�") + private String playAt; + + @ApiModelProperty("瑙傜湅鏃ユ湡") + private Date playTime; + +} diff --git a/framework/src/main/java/cn/lili/modules/lmk/mapper/CustomerTagMapper.java b/framework/src/main/java/cn/lili/modules/lmk/mapper/CustomerTagMapper.java deleted file mode 100644 index 908b2f6..0000000 --- a/framework/src/main/java/cn/lili/modules/lmk/mapper/CustomerTagMapper.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.lili.modules.lmk.mapper; - -import java.util.List; - -import cn.lili.modules.lmk.domain.entity.CustomerTag; -import cn.lili.modules.lmk.domain.query.CustomerTagQuery; -import cn.lili.modules.lmk.domain.vo.CustomerTagVO; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -/** - * Mapper 鎺ュ彛 - * - * @author zxl - * @since 2025-05-14 - */ -@Mapper -public interface CustomerTagMapper extends BaseMapper<CustomerTag> { - - /** - * id鏌ユ壘 - * @param id - * @return - */ - CustomerTagVO getById(Integer id); - - /** - * 鍒嗛〉 - */ - IPage getPage(IPage page, @Param("query") CustomerTagQuery query); - -} diff --git a/framework/src/main/java/cn/lili/modules/lmk/mapper/GoodsTagMapper.java b/framework/src/main/java/cn/lili/modules/lmk/mapper/GoodsTagMapper.java new file mode 100644 index 0000000..1525508 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/lmk/mapper/GoodsTagMapper.java @@ -0,0 +1,16 @@ +package cn.lili.modules.lmk.mapper; + +import cn.lili.modules.lmk.domain.entity.GoodsTag; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * Mapper 鎺ュ彛 + * + * @author zxl + * @since 2025-05-14 + */ +@Mapper +public interface GoodsTagMapper extends BaseMapper<GoodsTag> { + +} diff --git a/framework/src/main/java/cn/lili/modules/lmk/mapper/MemberTagMapper.java b/framework/src/main/java/cn/lili/modules/lmk/mapper/MemberTagMapper.java new file mode 100644 index 0000000..bc602b5 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/lmk/mapper/MemberTagMapper.java @@ -0,0 +1,16 @@ +package cn.lili.modules.lmk.mapper; + +import cn.lili.modules.lmk.domain.entity.MemberTag; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * Mapper 鎺ュ彛 + * + * @author zxl + * @since 2025-05-14 + */ +@Mapper +public interface MemberTagMapper extends BaseMapper<MemberTag> { + +} diff --git a/framework/src/main/java/cn/lili/modules/lmk/mapper/VideoMapper.java b/framework/src/main/java/cn/lili/modules/lmk/mapper/VideoMapper.java index 252babb..acd674a 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/mapper/VideoMapper.java +++ b/framework/src/main/java/cn/lili/modules/lmk/mapper/VideoMapper.java @@ -41,7 +41,7 @@ IPage managerPage(IPage page, @Param("query") ManagerVideoQuery query); /** - * 鏌ュ嚭5涓帹鑽愯棰� + * 鏌ユ帹鑽愯棰� * * @return */ @@ -155,4 +155,21 @@ * @return */ List<VideoIndex> getEsPage(@Param("start") int start, @Param("pageSize") int pageSize); + + /** + * 鏌ヨ鎸備簡鍚屼竴鍟嗗搧鐨勮棰� + * + * @param page + * @param goodsSimilarlyQuery + */ + IPage goodsSimilarlyPage(IPage page, @Param("query") GoodsSimilarlyQuery goodsSimilarlyQuery); + + /** + * 鑾峰彇鎾斁璁板綍 + * + * @param page + * @param query + * @return + */ + IPage getHistoryPage(IPage page, @Param("query") VideoHistoryQuery query); } diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/GoodsTagService.java b/framework/src/main/java/cn/lili/modules/lmk/service/GoodsTagService.java new file mode 100644 index 0000000..e3afa30 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/lmk/service/GoodsTagService.java @@ -0,0 +1,51 @@ +package cn.lili.modules.lmk.service; + +import cn.lili.base.Result; +import cn.lili.modules.lmk.domain.entity.GoodsTag; +import cn.lili.modules.lmk.domain.form.GoodsTagForm; +import cn.lili.modules.lmk.domain.query.CustomerTagQuery; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 鏈嶅姟绫� + * + * @author zxl + * @since 2025-05-14 + */ +public interface GoodsTagService extends IService<GoodsTag> { + + /** + * 娣诲姞 + * + * @param form + * @return + */ + Result addGoodsTag(GoodsTagForm form); + + + /** + * 鎵归噺鍒犻櫎 + * + * @param ids + * @return + */ + Result remove(List<String> ids); + + /** + * id鍒犻櫎 + * + * @param id + * @return + */ + Result removeById(String id); + + + /** + * 鍒楄〃 + * + * @return + */ + Result getByGoodsId(String goodsId); +} diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/CustomerTagService.java b/framework/src/main/java/cn/lili/modules/lmk/service/MemberTagService.java similarity index 64% rename from framework/src/main/java/cn/lili/modules/lmk/service/CustomerTagService.java rename to framework/src/main/java/cn/lili/modules/lmk/service/MemberTagService.java index e17f760..19c2da5 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/service/CustomerTagService.java +++ b/framework/src/main/java/cn/lili/modules/lmk/service/MemberTagService.java @@ -1,37 +1,40 @@ package cn.lili.modules.lmk.service; import cn.lili.base.Result; -import cn.lili.modules.lmk.domain.entity.CustomerTag; -import cn.lili.modules.lmk.domain.form.CustomerTagForm; +import cn.lili.modules.lmk.domain.entity.MemberTag; +import cn.lili.modules.lmk.domain.form.MemberTagForm; import cn.lili.modules.lmk.domain.query.CustomerTagQuery; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; /** - * 鏈嶅姟绫� + * 鏈嶅姟绫� * * @author zxl * @since 2025-05-14 */ -public interface CustomerTagService extends IService<CustomerTag> { +public interface MemberTagService extends IService<MemberTag> { /** * 娣诲姞 + * * @param form * @return */ - Result add(CustomerTagForm form); + Result add(MemberTagForm form); /** * 淇敼 + * * @param form * @return */ - Result update(CustomerTagForm form); + Result update(MemberTagForm form); /** * 鎵归噺鍒犻櫎 + * * @param ids * @return */ @@ -39,6 +42,7 @@ /** * id鍒犻櫎 + * * @param id * @return */ @@ -46,23 +50,22 @@ /** * 鍒嗛〉鏌ヨ + * * @param query * @return */ Result page(CustomerTagQuery query); - /** - * 鏍规嵁id鏌ユ壘 - * @param id - * @return - */ - Result detail(Integer id); /** * 鍒楄〃 + * * @return */ Result all(); - Result addCustomerTag(CustomerTagForm form); + Result addMemberTag(MemberTagForm form); + + Result getByMemberId(String memberId); + } diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/VideoService.java b/framework/src/main/java/cn/lili/modules/lmk/service/VideoService.java index 2592ed4..95b6784 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/service/VideoService.java +++ b/framework/src/main/java/cn/lili/modules/lmk/service/VideoService.java @@ -297,4 +297,12 @@ * @return */ Result esSearch(VideoEsQuery query); + + /** + * 鑾峰彇鎾斁璁板綍 + * + * @param query + * @return + */ + Result getHistoryPage(VideoHistoryQuery query); } diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/CustomerTagServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/CustomerTagServiceImpl.java deleted file mode 100644 index 59d7a94..0000000 --- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/CustomerTagServiceImpl.java +++ /dev/null @@ -1,144 +0,0 @@ -package cn.lili.modules.lmk.service.impl; - -import cn.lili.base.Result; -import cn.lili.modules.lmk.domain.entity.CustomerTag; -import cn.lili.modules.lmk.domain.entity.CustomerTagRef; -import cn.lili.modules.lmk.domain.form.CustomerTagForm; -import cn.lili.modules.lmk.domain.query.CustomerTagQuery; -import cn.lili.modules.lmk.domain.vo.CustomerTagVO; -import cn.lili.modules.lmk.mapper.CustomerTagMapper; -import cn.lili.modules.lmk.mapper.CustomerTagRefMapper; -import cn.lili.modules.lmk.service.CustomerTagService; -import cn.lili.utils.PageUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; -import lombok.RequiredArgsConstructor; -import org.springframework.beans.BeanUtils; -import org.springframework.util.Assert; - -import java.util.List; -import java.util.stream.Collectors; - -/** - * 鏈嶅姟瀹炵幇绫� - * - * @author zxl - * @since 2025-05-14 - */ -@Service -@RequiredArgsConstructor -public class CustomerTagServiceImpl extends ServiceImpl<CustomerTagMapper, CustomerTag> implements CustomerTagService { - - private final CustomerTagMapper customerTagMapper; - - private final CustomerTagRefMapper customerTagRefMapper; - /** - * 娣诲姞 - * @param form - * @return - */ - @Override - public Result add(CustomerTagForm form) { - CustomerTag entity = CustomerTagForm.getEntityByForm(form, null); - baseMapper.insert(entity); - return Result.ok("娣诲姞鎴愬姛"); - } - - /** - * 淇敼 - * @param form - * @return - */ - @Override - public Result update(CustomerTagForm form) { - CustomerTag entity = baseMapper.selectById(form.getId()); - - // 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊 - Assert.notNull(entity, "璁板綍涓嶅瓨鍦�"); - BeanUtils.copyProperties(form, entity); - baseMapper.updateById(entity); - return Result.ok("淇敼鎴愬姛"); - } - - /** - * 鎵归噺鍒犻櫎 - * @param ids - * @return - */ - @Override - public Result remove(List<String> ids) { - baseMapper.deleteBatchIds(ids); - return Result.ok("鍒犻櫎鎴愬姛"); - } - - /** - * id鍒犻櫎 - * @param id - * @return - */ - @Override - public Result removeById(String id) { - baseMapper.deleteById(id); - return Result.ok("鍒犻櫎鎴愬姛"); - } - - /** - * 鍒嗛〉鏌ヨ - * @param query - * @return - */ - @Override - public Result page(CustomerTagQuery query) { - IPage<CustomerTagVO> page = PageUtil.getPage(query, CustomerTagVO.class); - baseMapper.getPage(page, query); - return Result.ok().data(page.getRecords()).total(page.getTotal()); - } - - /** - * 鏍规嵁id鏌ユ壘 - * @param id - * @return - */ - @Override - public Result detail(Integer id) { - CustomerTagVO vo = baseMapper.getById(id); - Assert.notNull(vo, "璁板綍涓嶅瓨鍦�"); - return Result.ok().data(vo); - } - - /** - * 鍒楄〃 - * @return - */ - @Override - public Result all() { - List<CustomerTag> entities = baseMapper.selectList(null); - List<CustomerTagVO> vos = entities.stream() - .map(entity -> CustomerTagVO.getVoByEntity(entity, null)) - .collect(Collectors.toList()); - return Result.ok().data(vos); - } - - @Override - public Result addCustomerTag(CustomerTagForm form) { - //鎻掑叆瀹㈡埛鏍囩 - CustomerTag entity = CustomerTagForm.getEntityByForm(form, null); - baseMapper.insert(entity); - - //鎻掑叆瀹㈡埛鏍囩涓棿琛� - CustomerTagRef ref = new CustomerTagRef(); - ref.setCustomerTagId(entity.getId()); - ref.setCustomerId(form.getCustomerId()); - customerTagRefMapper.insert(ref); - return Result.ok("娣诲姞鎴愬姛"); - } - - - - public Result delCustomerTag(String id) { - - return null; - } -} diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/GoodsTagServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/GoodsTagServiceImpl.java new file mode 100644 index 0000000..e70fb07 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/GoodsTagServiceImpl.java @@ -0,0 +1,92 @@ +package cn.lili.modules.lmk.service.impl; + +import cn.lili.base.Result; +import cn.lili.modules.lmk.domain.entity.GoodsTag; +import cn.lili.modules.lmk.domain.entity.Tag; +import cn.lili.modules.lmk.domain.form.GoodsTagForm; +import cn.lili.modules.lmk.domain.query.CustomerTagQuery; +import cn.lili.modules.lmk.domain.vo.MemberTagVO; +import cn.lili.modules.lmk.mapper.GoodsTagMapper; +import cn.lili.modules.lmk.service.GoodsTagService; +import cn.lili.modules.lmk.service.TagService; +import cn.lili.utils.PageUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.util.Assert; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 鏈嶅姟瀹炵幇绫� + * + * @author zxl + * @since 2025-05-14 + */ +@Service +@RequiredArgsConstructor +public class GoodsTagServiceImpl extends ServiceImpl<GoodsTagMapper, GoodsTag> implements GoodsTagService { + + private final TagService tagService; + + + /** + * 鎵归噺鍒犻櫎 + * + * @param ids + * @return + */ + @Override + public Result remove(List<String> ids) { + baseMapper.deleteBatchIds(ids); + return Result.ok("鍒犻櫎鎴愬姛"); + } + + /** + * id鍒犻櫎 + * + * @param id + * @return + */ + @Override + public Result removeById(String id) { + baseMapper.deleteById(id); + return Result.ok("鍒犻櫎鎴愬姛"); + } + + @Override + public Result getByGoodsId(String goodsId) { + LambdaQueryWrapper<GoodsTag> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(GoodsTag::getGoodsId, goodsId); + return Result.ok().data(baseMapper.selectList(queryWrapper)); + } + + + @Override + public Result addGoodsTag(GoodsTagForm form) { + LambdaQueryWrapper<Tag> query = new LambdaQueryWrapper<>(); + query.in(Tag::getId, form.getTagIds()); + List<Tag> tags = tagService.list(query); + List<GoodsTag> GoodsTags = tags.stream().map(tag -> { + GoodsTag GoodsTag = new GoodsTag(); + GoodsTag.setTagId(tag.getId()); + GoodsTag.setGoodsId(form.getGoodsId()); + GoodsTag.setTagName(tag.getTagName()); + GoodsTag.setCreateType(form.getCreateType()); + return GoodsTag; + }).collect(Collectors.toList()); + + this.saveBatch(GoodsTags); + return Result.ok("娣诲姞鎴愬姛"); + } + + + public Result delCustomerTag(String id) { + + return null; + } +} diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/MemberTagServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/MemberTagServiceImpl.java new file mode 100644 index 0000000..73a7d1a --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/MemberTagServiceImpl.java @@ -0,0 +1,158 @@ +package cn.lili.modules.lmk.service.impl; + +import cn.lili.base.Result; +import cn.lili.modules.lmk.domain.entity.MemberTag; +import cn.lili.modules.lmk.domain.entity.Tag; +import cn.lili.modules.lmk.domain.form.MemberTagForm; +import cn.lili.modules.lmk.domain.query.CustomerTagQuery; +import cn.lili.modules.lmk.domain.vo.MemberTagVO; +import cn.lili.modules.lmk.mapper.MemberTagMapper; +import cn.lili.modules.lmk.service.MemberTagService; +import cn.lili.modules.lmk.service.TagService; +import cn.lili.utils.PageUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.util.Assert; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 鏈嶅姟瀹炵幇绫� + * + * @author zxl + * @since 2025-05-14 + */ +@Service +@RequiredArgsConstructor +public class MemberTagServiceImpl extends ServiceImpl<MemberTagMapper, MemberTag> implements MemberTagService { + + private final TagService tagService; + + /** + * 娣诲姞 + * + * @param form + * @return + */ + @Override + public Result add(MemberTagForm form) { + MemberTag entity = MemberTagForm.getEntityByForm(form, null); + baseMapper.insert(entity); + return Result.ok("娣诲姞鎴愬姛"); + } + + /** + * 淇敼 + * + * @param form + * @return + */ + @Override + public Result update(MemberTagForm form) { + MemberTag entity = baseMapper.selectById(form.getId()); + + // 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊 + Assert.notNull(entity, "璁板綍涓嶅瓨鍦�"); + BeanUtils.copyProperties(form, entity); + baseMapper.updateById(entity); + return Result.ok("淇敼鎴愬姛"); + } + + /** + * 鎵归噺鍒犻櫎 + * + * @param ids + * @return + */ + @Override + public Result remove(List<String> ids) { + baseMapper.deleteBatchIds(ids); + return Result.ok("鍒犻櫎鎴愬姛"); + } + + /** + * id鍒犻櫎 + * + * @param id + * @return + */ + @Override + public Result removeById(String id) { + baseMapper.deleteById(id); + return Result.ok("鍒犻櫎鎴愬姛"); + } + + /** + * 鍒嗛〉鏌ヨ + * + * @param query + * @return + */ + @Override + public Result page(CustomerTagQuery query) { + IPage<MemberTag> page = PageUtil.getPage(query, MemberTag.class); + + LambdaQueryWrapper<MemberTag> lambdaQueryWrapper = new LambdaQueryWrapper<>(); + + baseMapper.selectPage(page, lambdaQueryWrapper); + return Result.ok().data(page.getRecords()).total(page.getTotal()); + } + + + /** + * 鍒楄〃 + * + * @return + */ + @Override + public Result all() { + List<MemberTag> entities = baseMapper.selectList(null); + List<MemberTagVO> vos = entities.stream() + .map(entity -> MemberTagVO.getVoByEntity(entity, null)) + .collect(Collectors.toList()); + return Result.ok().data(vos); + } + + @Override + public Result addMemberTag(MemberTagForm form) { + + LambdaQueryWrapper<MemberTag> deleteQuery = new LambdaQueryWrapper<>(); + deleteQuery.eq(MemberTag::getMemberId, form.getMemberId()); + baseMapper.delete(deleteQuery); + + LambdaQueryWrapper<Tag> query = new LambdaQueryWrapper<>(); + query.in(Tag::getId, form.getTagIds()); + List<Tag> tags = tagService.list(query); + List<MemberTag> memberTags = tags.stream().map(tag -> { + MemberTag memberTag = new MemberTag(); + memberTag.setTagId(tag.getId()); + memberTag.setMemberId(form.getMemberId()); + memberTag.setTagName(tag.getTagName()); + memberTag.setCreateType(form.getCreateType()); + return memberTag; + }).collect(Collectors.toList()); + + this.saveBatch(memberTags); + return Result.ok("娣诲姞鎴愬姛"); + } + + @Override + public Result getByMemberId(String memberId) { + LambdaQueryWrapper<MemberTag> query = new LambdaQueryWrapper<>(); + query.eq(MemberTag::getMemberId, memberId); + List<MemberTag> memberTags = baseMapper.selectList(query); + return Result.ok().data(memberTags); + } + + + public Result delCustomerTag(String id) { + + return null; + } +} diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java index ad439e9..204b995 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java @@ -492,11 +492,22 @@ baseMapper.getAuthorLikeVideoPage(page, query3); break; case "search": // 鍔犺浇es鎼滅储瑙嗛 - VideoEsQuery query4 = new VideoEsQuery(); - BeanUtils.copyProperties(query, query4); - query4.setPageNumber((int) query.getPageNumber()); - query4.setPageSize((int) query.getPageSize()); - return this.esSearch(query4); + VideoEsQuery videoEsQuery = new VideoEsQuery(); + BeanUtils.copyProperties(query, videoEsQuery); + videoEsQuery.setPageNumber((int) query.getPageNumber()); + videoEsQuery.setPageSize((int) query.getPageSize()); + return this.esSearch(videoEsQuery); + case "goodsSimilarly": // 鎮寕鐩稿悓鍟嗗搧鐨勬帹鑽愯棰� + GoodsSimilarlyQuery goodsSimilarlyQuery = new GoodsSimilarlyQuery(); + BeanUtils.copyProperties(query, goodsSimilarlyQuery); + baseMapper.goodsSimilarlyPage(page, goodsSimilarlyQuery); + break; + case "history": + VideoHistoryQuery videoHistoryQuery = new VideoHistoryQuery(); + BeanUtils.copyProperties(query, videoHistoryQuery); + videoHistoryQuery.setUserId(UserContext.getCurrentUserId()); + baseMapper.getHistoryPage(page, videoHistoryQuery); + break; default: break; } @@ -520,6 +531,7 @@ v.setCommentNum(this.getCommentNum(v.getId(), v.getCommentNum())); v.setCollectNum(this.getCollectNum(v.getId(), v.getCollectNum())); v.setThumbsUpNum(this.getThumbsUpNum(v.getId(), v.getThumbsUpNum())); + v.setAuthorAvatar(cosUtil.getPreviewUrl(v.getAuthorAvatar())); if (VideoContentTypeEnum.VIDEO.getValue().equals(v.getVideoContentType())) { v.setVideoUrl(cosUtil.getPreviewUrl(v.getVideoFileKey())); v.setCoverUrl(cosUtil.getPreviewUrl(v.getCoverFileKey())); @@ -592,9 +604,10 @@ public Result healthRecommendVideo(WxHealthVideoQuery query) { IPage<WxVideoVO> page = PageUtil.getPage(query, WxVideoVO.class); //鑾峰彇澶у仴搴疯棰戝垪琛� - baseMapper.recommendHealthVideo(page,query); + baseMapper.recommendHealthVideo(page,query); if (page.getTotal() > 0) { page.getRecords().forEach(v -> { + v.setAuthorAvatar(cosUtil.getPreviewUrl(v.getAuthorAvatar())); if (VideoContentTypeEnum.VIDEO.getValue().equals(v.getVideoContentType())) { v.setVideoUrl(cosUtil.getPreviewUrl(v.getVideoFileKey())); v.setCoverUrl(cosUtil.getPreviewUrl(v.getCoverFileKey())); @@ -617,6 +630,7 @@ IPage<WxVideoVO> page = PageUtil.getPage(query, WxVideoVO.class); baseMapper.wxKitchenVideoQuery(page, query); page.getRecords().forEach(v -> { + v.setAuthorAvatar(cosUtil.getPreviewUrl(v.getAuthorAvatar())); if (VideoContentTypeEnum.VIDEO.getValue().equals(v.getVideoContentType())) { v.setVideoUrl(cosUtil.getPreviewUrl(v.getVideoFileKey())); v.setCoverUrl(cosUtil.getPreviewUrl(v.getCoverFileKey())); @@ -667,13 +681,24 @@ @Override public Result saveViewRecord(VideoFootPrintForm form) { - FootPrint footPrint = new FootPrint(); - footPrint.setViewType(ViewTypeEnum.VIDEO.getValue()); - footPrint.setRefId(form.getVideoId()); - footPrint.setMemberId(UserContext.getCurrentUserId()); - footPrint.setViewDuration(form.getViewDuration()); - footPrint.setPlayAt(form.getPlayAt()); - footprintService.saveFootprint(footPrint); + FootPrint one = new LambdaQueryChainWrapper<>(footprintService.getBaseMapper()) + .eq(FootPrint::getRefId, form.getVideoId()) + .eq(FootPrint::getMemberId, UserContext.getCurrentUserId()) + .eq(FootPrint::getViewType, ViewTypeEnum.VIDEO.getValue()) + .one(); + if (Objects.nonNull(one)) { + one.setViewDuration(one.getViewDuration() + form.getViewDuration()); + one.setPlayAt(form.getPlayAt()); + footprintService.updateById(one); + } else { + FootPrint footPrint = new FootPrint(); + footPrint.setViewType(ViewTypeEnum.VIDEO.getValue()); + footPrint.setRefId(form.getVideoId()); + footPrint.setMemberId(UserContext.getCurrentUserId()); + footPrint.setViewDuration(form.getViewDuration()); + footPrint.setPlayAt(form.getPlayAt()); + footprintService.saveFootprint(footPrint); + } return Result.ok(); } @@ -715,6 +740,7 @@ v.setCommentNum(this.getCommentNum(v.getId(), v.getCommentNum())); v.setCollectNum(this.getCollectNum(v.getId(), v.getCollectNum())); v.setThumbsUpNum(this.getThumbsUpNum(v.getId(), v.getThumbsUpNum())); + v.setAuthorAvatar(cosUtil.getPreviewUrl(v.getAuthorAvatar())); if (VideoContentTypeEnum.VIDEO.getValue().equals(v.getVideoContentType())) { v.setVideoUrl(cosUtil.getPreviewUrl(v.getVideoFileKey())); v.setCoverUrl(cosUtil.getPreviewUrl(v.getCoverFileKey())); @@ -753,6 +779,7 @@ v.setCommentNum(this.getCommentNum(v.getId(), v.getCommentNum())); v.setCollectNum(this.getCollectNum(v.getId(), v.getCollectNum())); v.setThumbsUpNum(this.getThumbsUpNum(v.getId(), v.getThumbsUpNum())); + v.setAuthorAvatar(cosUtil.getPreviewUrl(v.getAuthorAvatar())); if (VideoContentTypeEnum.VIDEO.getValue().equals(v.getVideoContentType())) { v.setVideoUrl(cosUtil.getPreviewUrl(v.getVideoFileKey())); v.setCoverUrl(cosUtil.getPreviewUrl(v.getCoverFileKey())); @@ -790,6 +817,7 @@ v.setCommentNum(this.getCommentNum(v.getId(), v.getCommentNum())); v.setCollectNum(this.getCollectNum(v.getId(), v.getCollectNum())); v.setThumbsUpNum(this.getThumbsUpNum(v.getId(), v.getThumbsUpNum())); + v.setAuthorAvatar(cosUtil.getPreviewUrl(v.getAuthorAvatar())); if (VideoContentTypeEnum.VIDEO.getValue().equals(v.getVideoContentType())) { v.setVideoUrl(cosUtil.getPreviewUrl(v.getVideoFileKey())); v.setCoverUrl(cosUtil.getPreviewUrl(v.getCoverFileKey())); @@ -1194,6 +1222,7 @@ // 鍒ゆ柇鏄惁鍏虫敞浣滆�呫�佹槸鍚︾偣璧炪�佹槸鍚︽敹钘� wxVideoVO.setCollected(CollectionUtils.isNotEmpty(collectMap.get(wxVideoVO.getId()))); wxVideoVO.setThumbsUp(CollectionUtils.isNotEmpty(thumbsUpMap.get(wxVideoVO.getId()))); + wxVideoVO.setAuthorAvatar(cosUtil.getPreviewUrl(wxVideoVO.getAuthorAvatar())); if (UserContext.getCurrentUserId().equals(wxVideoVO.getAuthorId())) { wxVideoVO.setSubscribeThisAuthor(Boolean.TRUE); } else { @@ -1210,4 +1239,49 @@ }).collect(Collectors.toList()); return Result.ok().data(vos).total(searchHits.getTotalHits()); } + + @Override + public Result getHistoryPage(VideoHistoryQuery query) { + query.setUserId(UserContext.getCurrentUserId()); + IPage<VideoHistoryVO> page = PageUtil.getPage(query, VideoHistoryVO.class); + baseMapper.getHistoryPage(page, query); + if (CollectionUtils.isNotEmpty(page.getRecords())) { + if (page.getTotal() > 0) { + List<String> videoIds = page.getRecords().stream().map(VideoHistoryVO::getId).collect(Collectors.toList()); + Map<String, List<SimpleVideoTagVO>> tagMap = videoTagRefService.getTagsByVideoIds(videoIds) + .stream() + .collect(Collectors.groupingBy(SimpleVideoTagVO::getVideoId)); + Map<String, List<SimpleMyCollectVO>> collectMap = myCollectService.getCollectsByVideoIds(videoIds) + .stream() + .collect(Collectors.groupingBy(SimpleMyCollectVO::getRefId)); + Map<String, List<SimpleMyThumbsUpVO>> thumbsUpMap = thumbsUpRecordService.getThumbssByVideoIds(videoIds) + .stream() + .collect(Collectors.groupingBy(SimpleMyThumbsUpVO::getRefId)); + List<String> subscribes = mySubscribeService.getSubscribesByUserId(UserContext.getCurrentUserId()); + // 3. 鑾峰彇瑙嗛涓存椂璁块棶鍦板潃銆佽缃棰戞爣绛俱�佹垜鏄惁鏀惰棌銆佹槸鍚︾偣璧炪�佷綔鑰呮槸鍚﹀叧娉� + page.getRecords().forEach(v -> { + v.setTagList(tagMap.get(v.getId())); + v.setCollected(CollectionUtils.isNotEmpty(collectMap.get(v.getId()))); + v.setThumbsUp(CollectionUtils.isNotEmpty(thumbsUpMap.get(v.getId()))); + v.setCommentNum(this.getCommentNum(v.getId(), v.getCommentNum())); + v.setCollectNum(this.getCollectNum(v.getId(), v.getCollectNum())); + v.setThumbsUpNum(this.getThumbsUpNum(v.getId(), v.getThumbsUpNum())); + v.setAuthorAvatar(cosUtil.getPreviewUrl(v.getAuthorAvatar())); + if (VideoContentTypeEnum.VIDEO.getValue().equals(v.getVideoContentType())) { + v.setVideoUrl(cosUtil.getPreviewUrl(v.getVideoFileKey())); + v.setCoverUrl(cosUtil.getPreviewUrl(v.getCoverFileKey())); + } else if (VideoContentTypeEnum.IMG.getValue().equals(v.getVideoContentType()) && StringUtils.isNotBlank(v.getVideoImgs())) { + v.setImgs(JSON.parseArray(v.getVideoImgs(), String.class).stream().map(fileKey -> cosUtil.getPreviewUrl(fileKey)).collect(Collectors.toList())); + } + if (CollectionUtils.isNotEmpty(v.getGoodsList())) { + v.getGoodsList().stream().forEach(goods -> { + goods.setThumbnail(cosUtil.getPreviewUrl(goods.getThumbnail())); + }); + } + v.setSubscribeThisAuthor(subscribes.contains(v.getAuthorId())); + }); + } + } + return Result.ok().data(page.getRecords()).total(page.getTotal()); + } } diff --git a/framework/src/main/java/cn/lili/modules/member/entity/dos/Member.java b/framework/src/main/java/cn/lili/modules/member/entity/dos/Member.java index 83bb664..c66c3e2 100644 --- a/framework/src/main/java/cn/lili/modules/member/entity/dos/Member.java +++ b/framework/src/main/java/cn/lili/modules/member/entity/dos/Member.java @@ -72,7 +72,7 @@ @ApiModelProperty(value = "浼氬憳澶村儚") private String face; - @ApiModelProperty(value = "浼氬憳鐘舵��") + @ApiModelProperty(value = "浼氬憳鐘舵�侊細true 琛ㄧず娌¤绂佺敤锛� false 琚鐢�") private Boolean disabled; @ApiModelProperty(value = "鏄惁寮�閫氬簵閾�") diff --git a/framework/src/main/java/cn/lili/modules/member/entity/dto/ManagerMemberEditDTO.java b/framework/src/main/java/cn/lili/modules/member/entity/dto/ManagerMemberEditDTO.java index 13f9c16..efbcc21 100644 --- a/framework/src/main/java/cn/lili/modules/member/entity/dto/ManagerMemberEditDTO.java +++ b/framework/src/main/java/cn/lili/modules/member/entity/dto/ManagerMemberEditDTO.java @@ -10,6 +10,7 @@ import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; import java.util.Date; +import java.util.List; /** * 浼氬憳淇敼 @@ -54,4 +55,6 @@ @ApiModelProperty(value = "浼氬憳澶村儚") private String face; + + private List<String> tags; } diff --git a/framework/src/main/java/cn/lili/modules/member/entity/vo/MemberVO.java b/framework/src/main/java/cn/lili/modules/member/entity/vo/MemberVO.java index 5aba29d..6fa585e 100644 --- a/framework/src/main/java/cn/lili/modules/member/entity/vo/MemberVO.java +++ b/framework/src/main/java/cn/lili/modules/member/entity/vo/MemberVO.java @@ -4,7 +4,7 @@ import cn.lili.common.security.sensitive.Sensitive; import cn.lili.common.security.sensitive.enums.SensitiveStrategy; import cn.lili.common.utils.BeanUtil; -import cn.lili.modules.lmk.domain.vo.CustomerTagVO; +import cn.lili.modules.lmk.domain.vo.MemberTagVO; import cn.lili.modules.member.entity.dos.Member; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; @@ -98,7 +98,7 @@ private Date createTime; @ApiModelProperty(value = "瀹㈡埛鏍囩鍒楄〃") - private List<CustomerTagVO> customerTagList; + private List<MemberTagVO> tags; /** * 涓簄ull鍒欎笉鍦ㄩ粦鍚嶅崟鍐� diff --git a/framework/src/main/java/cn/lili/modules/member/mapper/MemberMapper.java b/framework/src/main/java/cn/lili/modules/member/mapper/MemberMapper.java index 32f09fa..771aa09 100644 --- a/framework/src/main/java/cn/lili/modules/member/mapper/MemberMapper.java +++ b/framework/src/main/java/cn/lili/modules/member/mapper/MemberMapper.java @@ -29,4 +29,6 @@ @Select("select * from li_member ${ew.customSqlSegment}") IPage<MemberVO> pageByMemberVO(IPage<MemberVO> page, @Param(Constants.WRAPPER) Wrapper<Member> queryWrapper); + + MemberVO getVoById(@Param("id") String id); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/member/service/FootprintService.java b/framework/src/main/java/cn/lili/modules/member/service/FootprintService.java index a3ff318..4575232 100644 --- a/framework/src/main/java/cn/lili/modules/member/service/FootprintService.java +++ b/framework/src/main/java/cn/lili/modules/member/service/FootprintService.java @@ -1,5 +1,6 @@ package cn.lili.modules.member.service; +import cn.lili.base.Result; import cn.lili.common.vo.PageVO; import cn.lili.modules.member.entity.dos.FootPrint; import cn.lili.modules.member.entity.dto.FootPrintQueryParams; @@ -36,9 +37,10 @@ * 鏍规嵁ID杩涜娓呴櫎浼氬憳鐨勫巻鍙茶冻杩� * * @param ids 鍟嗗搧ID鍒楄〃 + * @param viewType 娴忚绫诲瀷 * @return 澶勭悊缁撴灉 */ - boolean deleteByIds(List<String> ids); + boolean deleteByIds(List<String> ids, String viewType); /** * 鑾峰彇浼氬憳娴忚鍘嗗彶鍒嗛〉 @@ -55,4 +57,4 @@ */ long getFootprintNum(); -} \ No newline at end of file +} diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/FootprintServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/FootprintServiceImpl.java index 723725f..595e162 100644 --- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/FootprintServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/FootprintServiceImpl.java @@ -1,5 +1,6 @@ package cn.lili.modules.member.serviceimpl; +import cn.lili.base.Result; import cn.lili.common.security.context.UserContext; import cn.lili.modules.goods.entity.dos.GoodsSku; import cn.lili.modules.goods.service.GoodsSkuService; @@ -51,9 +52,10 @@ } @Override - public boolean deleteByIds(List<String> ids) { + public boolean deleteByIds(List<String> ids, String viewType) { LambdaQueryWrapper<FootPrint> lambdaQueryWrapper = Wrappers.lambdaQuery(); lambdaQueryWrapper.eq(FootPrint::getMemberId, UserContext.getCurrentUser().getId()); + lambdaQueryWrapper.eq(FootPrint::getViewType, viewType); lambdaQueryWrapper.in(FootPrint::getRefId, ids); return this.remove(lambdaQueryWrapper); } @@ -98,4 +100,5 @@ lambdaQueryWrapper.eq(FootPrint::getDeleteFlag, false); return this.count(lambdaQueryWrapper); } + } diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java index 489d7ea..564de14 100644 --- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java @@ -24,6 +24,8 @@ import cn.lili.modules.connect.entity.dto.ConnectAuthUser; import cn.lili.modules.connect.service.ConnectService; import cn.lili.modules.lmk.domain.entity.VideoAccount; +import cn.lili.modules.lmk.domain.form.MemberTagForm; +import cn.lili.modules.lmk.service.MemberTagService; import cn.lili.modules.lmk.service.VideoAccountService; import cn.lili.modules.member.aop.annotation.PointLogPoint; import cn.lili.modules.member.entity.dos.Member; @@ -44,6 +46,7 @@ import cn.lili.mybatis.util.PageUtil; import cn.lili.rocketmq.RocketmqSendCallbackBuilder; import cn.lili.rocketmq.tags.MemberTagsEnum; +import cn.lili.utils.COSUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -111,6 +114,12 @@ @Autowired private VideoAccountService videoAccountService; + + @Autowired + private MemberTagService memberTagService; + + @Autowired + private COSUtil cosUtil; @Override public Member findByUsername(String userName) { @@ -250,7 +259,7 @@ authUser.setNickname(CommonUtil.getSpecialStr("鐢ㄦ埛")); } if (CharSequenceUtil.isEmpty(authUser.getAvatar())) { - authUser.setAvatar("https://i.loli.net/2020/11/19/LyN6JF7zZRskdIe.png"); + authUser.setAvatar(""); } try { // String username = UuidUtils.getUUID(); @@ -487,6 +496,7 @@ } @Override + @Transactional public Member updateMember(ManagerMemberEditDTO managerMemberEditDTO) { //杩囨护浼氬憳鏄电О鏁忔劅璇� if (CharSequenceUtil.isNotBlank(managerMemberEditDTO.getNickName())) { @@ -501,6 +511,13 @@ //浼犻�掍慨鏀逛細鍛樹俊鎭� BeanUtil.copyProperties(managerMemberEditDTO, member); this.updateById(member); + if (managerMemberEditDTO.getTags() != null) { + MemberTagForm memberTagForm = new MemberTagForm(); + memberTagForm.setMemberId(member.getId()); + memberTagForm.setTagIds(managerMemberEditDTO.getTags()); + memberTagForm.setCreateType("MANAGER"); + memberTagService.addMemberTag(memberTagForm); + } return member; } @@ -786,7 +803,11 @@ @Override public MemberVO getMember(String id) { - return new MemberVO(this.getById(id)); + MemberVO member = baseMapper.getVoById(id); + if (Objects.nonNull(member)) { + member.setFace(cosUtil.getPreviewUrl(member.getFace())); + } + return member; } @Override diff --git a/framework/src/main/java/cn/lili/modules/permission/entity/dos/AdminUser.java b/framework/src/main/java/cn/lili/modules/permission/entity/dos/AdminUser.java index 92977e0..500f220 100644 --- a/framework/src/main/java/cn/lili/modules/permission/entity/dos/AdminUser.java +++ b/framework/src/main/java/cn/lili/modules/permission/entity/dos/AdminUser.java @@ -41,7 +41,7 @@ private String email; @ApiModelProperty(value = "鐢ㄦ埛澶村儚") - private String avatar = "https://i.loli.net/2020/11/19/LyN6JF7zZRskdIe.png"; + private String avatar = ""; @ApiModelProperty(value = "鏄惁鏄秴绾х鐞嗗憳 瓒呯骇绠$悊鍛�/鏅�氱鐞嗗憳") private Boolean isSuper = false; diff --git a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreServiceImpl.java b/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreServiceImpl.java index 3f8b4dc..2d6693b 100644 --- a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreServiceImpl.java @@ -40,6 +40,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.springframework.beans.factory.annotation.Autowired; @@ -97,8 +98,10 @@ private Cache cache; @Override - public IPage<StoreVO> findByConditionPage(StoreSearchParams storeSearchParams, PageVO page) { - return this.baseMapper.getStoreList(PageUtil.initPage(page), storeSearchParams.queryWrapper()); + public IPage<StoreVO> findByConditionPage(StoreSearchParams storeSearchParams, PageVO vo) { + Page<StoreVO> page = PageUtil.initPage(vo); + this.baseMapper.getStoreList(page, storeSearchParams.queryWrapper()); + return page; } @Override @@ -412,4 +415,4 @@ return this.getOne(lambdaQueryWrapper, false); } -} \ No newline at end of file +} diff --git a/framework/src/main/resources/mapper/lmk/CustomerMapper.xml b/framework/src/main/resources/mapper/lmk/CustomerMapper.xml index d98bcd8..5ca9607 100644 --- a/framework/src/main/resources/mapper/lmk/CustomerMapper.xml +++ b/framework/src/main/resources/mapper/lmk/CustomerMapper.xml @@ -27,7 +27,7 @@ <result property="experience" column="experience"/> <result property="createTime" column="create_time"/> <result property="blackId" column="blackId"/> - <collection property="customerTagList" ofType="cn.lili.modules.lmk.domain.vo.CustomerTagVO" + <collection property="customerTagList" ofType="cn.lili.modules.lmk.domain.vo.MemberTagVO" select="selectTagByMemberId" column="id" /> @@ -69,7 +69,7 @@ ORDER BY lm.create_time DESC </select> - <select id="selectTagByMemberId" resultType="cn.lili.modules.lmk.domain.vo.CustomerTagVO"> + <select id="selectTagByMemberId" resultType="cn.lili.modules.lmk.domain.vo.MemberTagVO"> SELECT LCT.id, LCT.tag_name, diff --git a/framework/src/main/resources/mapper/lmk/CustomerTagMapper.xml b/framework/src/main/resources/mapper/lmk/CustomerTagMapper.xml deleted file mode 100644 index fe509b3..0000000 --- a/framework/src/main/resources/mapper/lmk/CustomerTagMapper.xml +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="cn.lili.modules.lmk.mapper.CustomerTagMapper"> - - <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> - <resultMap id="BaseResultMap" type="cn.lili.modules.lmk.domain.vo.CustomerTagVO"> - <result column="tag_name" property="tagName" /> - <result column="create_type" property="createType" /> - <result column="create_by" property="createBy" /> - <result column="create_time" property="createTime" /> - <result column="update_by" property="updateBy" /> - <result column="update_time" property="updateTime" /> - </resultMap> - - - - - - - <select id="getById" resultMap="BaseResultMap"> - SELECT - LCT.tag_name, - LCT.create_type, - LCT.create_by, - LCT.create_time, - LCT.update_by, - LCT.update_time, - LCT.id - FROM - lmk_customer_tag LCT - WHERE - LCT.id = #{id} AND LCT.delete_flag = 0 - </select> - - - <select id="getPage" resultMap="BaseResultMap"> - SELECT - LCT.tag_name, - LCT.create_type, - LCT.create_by, - LCT.create_time, - LCT.update_by, - LCT.update_time, - LCT.id - FROM - lmk_customer_tag LCT - WHERE - LCT.delete_flag = 0 - </select> - -</mapper> diff --git a/framework/src/main/resources/mapper/lmk/GoodsTagMapper.xml b/framework/src/main/resources/mapper/lmk/GoodsTagMapper.xml new file mode 100644 index 0000000..6db5194 --- /dev/null +++ b/framework/src/main/resources/mapper/lmk/GoodsTagMapper.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="cn.lili.modules.lmk.mapper.GoodsTagMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="cn.lili.modules.lmk.domain.vo.GoodsTagVO"> + <result column="tag_id" property="tagId"/> + <result column="tag_name" property="tagName"/> + <result column="create_type" property="createType"/> + <result column="create_by" property="createBy"/> + <result column="create_time" property="createTime"/> + <result column="update_by" property="updateBy"/> + <result column="update_time" property="updateTime"/> + </resultMap> +</mapper> diff --git a/framework/src/main/resources/mapper/lmk/MemberMapper.xml b/framework/src/main/resources/mapper/lmk/MemberMapper.xml new file mode 100644 index 0000000..559581b --- /dev/null +++ b/framework/src/main/resources/mapper/lmk/MemberMapper.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="cn.lili.modules.member.mapper.MemberMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="cn.lili.modules.member.entity.vo.MemberVO"> + <id column="id" property="id"/> + <result column="username" property="username"/> + <result column="nick_name" property="nickName"/> + <result column="sex" property="sex"/> + <result column="birthday" property="birthday"/> + <result column="region_id" property="regionId"/> + <result column="region" property="region"/> + <result column="mobile" property="mobile"/> + <result column="point" property="point"/> + <result column="total_point" property="totalPoint"/> + <result column="face" property="face"/> + <result column="disabled" property="disabled"/> + <result column="have_store" property="haveStore"/> + <result column="store_id" property="storeId"/> + <result column="open_id" property="openId"/> + <result column="client_enum" property="clientEnum"/> + <result column="last_login_date" property="lastLoginDate"/> + <result column="grade_id" property="gradeId"/> + <result column="experience" property="experience"/> + <collection property="tags" ofType="cn.lili.modules.lmk.domain.vo.MemberTagVO"> + <id column="member_tag_id" property="id"/> + <result column="tag_name" property="tagName"/> + <result column="tag_id" property="tagId"/> + </collection> + + </resultMap> + <select id="getVoById" resultMap="BaseResultMap"> + select m.*, mt.id member_tag_id, mt.tag_name, mt.tag_id + from li_member m + left join lmk_member_tag mt on m.id = mt.member_id and mt.delete_flag = 0 + where m.id = #{id} and m.delete_flag = 0 + </select> + + +</mapper> diff --git a/framework/src/main/resources/mapper/lmk/MemberTagMapper.xml b/framework/src/main/resources/mapper/lmk/MemberTagMapper.xml new file mode 100644 index 0000000..55b6d9a --- /dev/null +++ b/framework/src/main/resources/mapper/lmk/MemberTagMapper.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="cn.lili.modules.lmk.mapper.MemberTagMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="cn.lili.modules.lmk.domain.vo.MemberTagVO"> + <result column="tag_id" property="tagId"/> + <result column="tag_name" property="tagName"/> + <result column="create_type" property="createType"/> + <result column="create_by" property="createBy"/> + <result column="create_time" property="createTime"/> + <result column="update_by" property="updateBy"/> + <result column="update_time" property="updateTime"/> + </resultMap> + + + <select id="getById" resultMap="BaseResultMap"> + SELECT LCT.tag_name, + LCT.create_type, + LCT.create_by, + LCT.create_time, + LCT.update_by, + LCT.update_time, + LCT.id + FROM lmk_customer_tag LCT + WHERE LCT.id = #{id} + AND LCT.delete_flag = 0 + </select> + + + <select id="getPage" resultMap="BaseResultMap"> + SELECT LCT.tag_name, + LCT.create_type, + LCT.create_by, + LCT.create_time, + LCT.update_by, + LCT.update_time, + LCT.id + FROM lmk_customer_tag LCT + WHERE LCT.delete_flag = 0 + </select> + +</mapper> diff --git a/framework/src/main/resources/mapper/lmk/MyCollectMapper.xml b/framework/src/main/resources/mapper/lmk/MyCollectMapper.xml index f1ff446..71af97c 100644 --- a/framework/src/main/resources/mapper/lmk/MyCollectMapper.xml +++ b/framework/src/main/resources/mapper/lmk/MyCollectMapper.xml @@ -101,10 +101,7 @@ <result column="video_file_key" property="videoFileKey" /> <result column="video_fit" property="videoFit" /> <result column="title" property="title" /> - <result column="goods_id" property="goodsId" /> - <result column="goods_view_num" property="goodsViewNum" /> <result column="video_duration" property="videoDuration" /> - <result column="goods_order_num" property="goodsOrderNum" /> <result column="recommend" property="recommend" /> <result column="status" property="status" /> <result column="play_num" property="playNum" /> diff --git a/framework/src/main/resources/mapper/lmk/MySubscribeMapper.xml b/framework/src/main/resources/mapper/lmk/MySubscribeMapper.xml index 7b4b73f..09fb7ec 100644 --- a/framework/src/main/resources/mapper/lmk/MySubscribeMapper.xml +++ b/framework/src/main/resources/mapper/lmk/MySubscribeMapper.xml @@ -34,8 +34,7 @@ LMS.subscribe_user_id, LMS.id, LM.nick_name, - LM.face, - (SELECT COUNT(*) FROM lmk_my_subscribe WHERE subscribe_user_id = LMS.subscribe_user_id AND delete_flag = 0) as fans_num + LM.face FROM lmk_my_subscribe LMS LEFT JOIN li_member LM ON LMS.subscribe_user_id = LM.id diff --git a/framework/src/main/resources/mapper/lmk/TagMapper.xml b/framework/src/main/resources/mapper/lmk/TagMapper.xml index c8ceb7f..64261aa 100644 --- a/framework/src/main/resources/mapper/lmk/TagMapper.xml +++ b/framework/src/main/resources/mapper/lmk/TagMapper.xml @@ -20,7 +20,10 @@ and t.tag_name like concat('%',#{query.tagName},'%') </if> <if test="query.tagTypeId != null and query.tagTypeId != ''"> - and t.tag_type_id like concat('%',#{query.tagTypeId},'%') + and t.tag_type_id = #{query.tagTypeId} + </if> + <if test="query.tagTypeKey != null and query.tagTypeKey != ''"> + and tt.type_key = #{query.tagTypeKey} </if> order by t.sort_num </select> diff --git a/framework/src/main/resources/mapper/lmk/VideoMapper.xml b/framework/src/main/resources/mapper/lmk/VideoMapper.xml index e9b22bf..30a55b7 100644 --- a/framework/src/main/resources/mapper/lmk/VideoMapper.xml +++ b/framework/src/main/resources/mapper/lmk/VideoMapper.xml @@ -47,7 +47,7 @@ LG.price FROM lmk_video_goods LVG - INNER JOIN li_goods LG ON LVG.goods_id = LG.id AND LG.market_enable = 'UPPER' AND LG.delete_flag = 0 + INNER JOIN li_goods_sku LG ON LVG.goods_sku_id = LG.id AND LG.market_enable = 'UPPER' AND LG.delete_flag = 0 WHERE LVG.video_id = #{id} AND LVG.delete_flag = 0 ORDER BY @@ -101,6 +101,29 @@ <collection property="goodsList" column="id" select="getVideoGoods" ofType="cn.lili.modules.lmk.domain.vo.VideoGoodsDetailVO"/> </resultMap> + <!-- 鎾斁鍘嗗彶 --> + <resultMap id="HistoryMap" type="cn.lili.modules.lmk.domain.vo.VideoHistoryVO"> + <id column="id" property="id"/> + <result column="author_id" property="authorId" /> + <result column="authorName" property="authorName" /> + <result column="authorAvatar" property="authorAvatar" /> + <result column="cover_url" property="coverFileKey" /> + <result column="video_file_key" property="videoFileKey" /> + <result column="video_fit" property="videoFit" /> + <result column="video_duration" property="videoDuration" /> + <result column="title" property="title" /> + <result column="collect_num" property="collectNum" /> + <result column="comment_num" property="commentNum" /> + <result column="thumbs_up_num" property="thumbsUpNum" /> + <result column="status" property="status" /> + <result column="video_content_type" property="videoContentType" /> + <result column="video_type" property="videoType" /> + <result column="video_imgs" property="videoImgs" /> + <result column="historyId" property="historyId" /> + <result column="play_at" property="playAt" /> + <result column="playTime" property="playTime" /> + <collection property="goodsList" column="id" select="getVideoGoods" ofType="cn.lili.modules.lmk.domain.vo.VideoGoodsDetailVO"/> + </resultMap> <select id="getById" resultMap="BaseResultMap"> SELECT @@ -243,6 +266,98 @@ ORDER BY LV.create_time DESC </select> + + <select id="goodsSimilarlyPage" 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, + CASE + WHEN LM.nick_name IS NOT NULL THEN LM.nick_name + WHEN LM.nick_name IS NULL THEN (SELECT nick_name FROM li_admin_user WHERE id = LV.author_id) + ELSE '' + END as authorName, + CASE + WHEN LM.face IS NOT NULL THEN LM.face + WHEN LM.face IS NULL THEN (SELECT avatar FROM li_admin_user WHERE id = LV.author_id) + ELSE '' + END as authorAvatar + FROM + lmk_video LV + INNER JOIN lmk_video_goods LVG ON LVG.video_id = LV.id AND LVG.goods_id in <foreach collection="query.goodsIds" open="(" item="goodsId" close=")" separator=",">#{goodsId}</foreach> + LEFT JOIN li_member LM ON LV.author_id = LM.id + WHERE + LV.delete_flag = 0 AND LV.status = '1' AND LV.id != #{query.currentVideoId} + ORDER BY + LV.create_time DESC + </select> + + <select id="getHistoryPage" resultMap="HistoryMap"> + 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, + CASE + WHEN LM.nick_name IS NOT NULL THEN LM.nick_name + WHEN LM.nick_name IS NULL THEN (SELECT nick_name FROM li_admin_user WHERE id = LV.author_id) + ELSE '' + END as authorName, + CASE + WHEN LM.face IS NOT NULL THEN LM.face + WHEN LM.face IS NULL THEN (SELECT avatar FROM li_admin_user WHERE id = LV.author_id) + ELSE '' + END as authorAvatar, + LFP.id as historyId, + LFP.play_at, + LFP.update_time as playTime + FROM + li_foot_print LFP + INNER JOIN lmk_video LV ON LFP.ref_id = LV.id AND LFP.view_type = 'video' AND LFP.delete_flag = 0 AND LFP.member_id = #{query.userId} + LEFT JOIN li_member LM ON LV.author_id = LM.id + WHERE + LV.delete_flag = 0 AND LV.status = '1' + ORDER BY + LFP.update_time DESC + </select> + <select id="recommendHealthVideo" resultMap="WxResultMap"> SELECT LV.author_id, diff --git a/manager-api/src/main/java/cn/lili/controller/lmk/CustomerController.java b/manager-api/src/main/java/cn/lili/controller/lmk/CustomerController.java index 62a9d02..24baa47 100644 --- a/manager-api/src/main/java/cn/lili/controller/lmk/CustomerController.java +++ b/manager-api/src/main/java/cn/lili/controller/lmk/CustomerController.java @@ -1,21 +1,15 @@ package cn.lili.controller.lmk; import cn.lili.base.Result; -import cn.lili.common.enums.ResultUtil; -import cn.lili.common.vo.PageVO; -import cn.lili.common.vo.ResultMessage; import cn.lili.group.Add; import cn.lili.group.Update; -import cn.lili.modules.lmk.domain.form.CustomerTagForm; +import cn.lili.modules.lmk.domain.form.MemberTagForm; import cn.lili.modules.lmk.domain.form.CustomerTagRefForm; import cn.lili.modules.lmk.domain.query.CustomerQuery; import cn.lili.modules.lmk.domain.query.CustomerTagQuery; import cn.lili.modules.lmk.service.CustomerService; import cn.lili.modules.lmk.service.CustomerTagRefService; -import cn.lili.modules.lmk.service.CustomerTagService; -import cn.lili.modules.member.entity.vo.MemberSearchVO; -import cn.lili.modules.member.entity.vo.MemberVO; -import com.baomidou.mybatisplus.core.metadata.IPage; +import cn.lili.modules.lmk.service.MemberTagService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -29,8 +23,7 @@ @RequestMapping("/manager/customerManager") public class CustomerController { private final CustomerService customerService; - private final CustomerTagService customerTagService; - private final CustomerTagRefService customerTagRefService; + private final MemberTagService memberTagService; @ApiOperation(value = "鍟嗛摵涓嬫媺鍒楄〃") @GetMapping("/store/selectOption") @@ -52,39 +45,39 @@ @PostMapping("/addTag") @ApiOperation(value = "娣诲姞鏍囩", notes = "娣诲姞鏍囩") - public Result add(@RequestBody @Validated(Add.class) CustomerTagForm form) { - return customerTagService.add(form); + public Result add(@RequestBody @Validated(Add.class) MemberTagForm form) { + return memberTagService.add(form); } @PutMapping("/editTag") @ApiOperation(value = "淇敼鏍囩", notes = "淇敼鏍囩") - public Result update(@RequestBody @Validated(Update.class) CustomerTagForm form) { - return customerTagService.update(form); + public Result update(@RequestBody @Validated(Update.class) MemberTagForm form) { + return memberTagService.update(form); } @DeleteMapping("/tag/{id}") @ApiOperation(value = "ID鍒犻櫎鏍囩", notes = "ID鍒犻櫎") public Result removeById(@PathVariable("id") String id) { - return customerTagService.removeById(id); + return memberTagService.removeById(id); } @GetMapping("/tagList") @ApiOperation(value = "鏍囩鍒楄〃", notes = "鏍囩鍒楄〃") public Result list() { - return customerTagService.all(); + return memberTagService.all(); } @GetMapping("/pageTagList") @ApiOperation(value = "鍒嗛〉鏍囩鍒楄〃", notes = "鏍囩鍒楄〃") public Result pageList(CustomerTagQuery query) { - return customerTagService.page(query); + return memberTagService.page(query); } @PostMapping("/customerAddTag") @ApiOperation(value = "娣诲姞瀹㈡埛鏍囩鏍囪瘑", notes = "娣诲姞瀹㈡埛鏍囩鏍囪瘑") - public Result addCustomerTag(@RequestBody @Validated(Add.class) CustomerTagForm form) { - return customerTagService.addCustomerTag(form); + public Result addCustomerTag(@RequestBody @Validated(Add.class) MemberTagForm form) { + return memberTagService.addMemberTag(form); } // @PostMapping("/customerAddTag") @@ -93,16 +86,11 @@ // return customerTagRefService.add(form); // } - @PutMapping("/customerEditTag") - @ApiOperation(value = "淇敼瀹㈡埛鏍囩鏍囪瘑", notes = "淇敼瀹㈡埛鏍囩鏍囪瘑") - public Result update(@RequestBody @Validated(Update.class) CustomerTagRefForm form) { - return customerTagRefService.update(form); - } @DeleteMapping("/customerDelTag/{id}") @ApiOperation(value = "鍒犻櫎瀹㈡埛鏍囩鏍囪瘑ID鍒犻櫎", notes = "鍒犻櫎瀹㈡埛鏍囩鏍囪瘑ID鍒犻櫎") public Result removeCustomerTagById(@PathVariable("id") String id) { - return customerTagRefService.removeById(id); + return memberTagService.removeById(id); } } -- Gitblit v1.8.0