package cn.lili.controller.lmk; import cn.lili.base.Result; import cn.lili.group.Add; import cn.lili.group.Update; 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.domain.query.FootPrintQuery; import cn.lili.modules.lmk.domain.vo.VideoFootVO; import cn.lili.modules.lmk.service.CustomerService; import cn.lili.modules.lmk.service.CustomerTagRefService; import cn.lili.modules.lmk.service.MemberTagService; import cn.lili.modules.member.entity.dto.FootPrintQueryParams; import cn.lili.modules.member.entity.vo.MemberSearchVO; import cn.lili.modules.member.entity.vo.MemberVO; import cn.lili.modules.member.service.FootprintService; import cn.lili.modules.member.service.MemberService; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @Validated @RequiredArgsConstructor @Api(value = "客户管理", tags = "管理") @RestController @RequestMapping("/manager/customerManager") public class CustomerController { private final CustomerService customerService; private final MemberTagService memberTagService; private final CustomerTagRefService customerTagRefService; private final FootprintService footprintService; @ApiOperation(value = "商铺下拉列表") @GetMapping("/store/selectOption") public Result getStoreSelectOptions(){ return customerService.getStoreSelectOptions(); } @ApiOperation(value = "获得客户详情") @GetMapping("/{id}") public Result getCustomerInfo(@PathVariable String id){ return customerService.getMember(id); } @ApiOperation(value = "客户分页列表") @GetMapping public Result getByPage(CustomerQuery customerQuery) { return customerService.getMemberPage(customerQuery); } @PostMapping("/addTag") @ApiOperation(value = "添加标签", notes = "添加标签") 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) MemberTagForm form) { return memberTagService.update(form); } @DeleteMapping("/tag/{id}") @ApiOperation(value = "ID删除标签", notes = "ID删除") public Result removeById(@PathVariable("id") String id) { return memberTagService.removeById(id); } @GetMapping("/tagList") @ApiOperation(value = "标签列表", notes = "标签列表") public Result list() { return memberTagService.all(); } @GetMapping("/pageTagList") @ApiOperation(value = "分页标签列表", notes = "标签列表") public Result pageList(CustomerTagQuery query) { return memberTagService.page(query); } @PostMapping("/customerAddTag") @ApiOperation(value = "添加客户标签标识", notes = "添加客户标签标识") public Result addCustomerTag(@RequestBody @Validated(Add.class) MemberTagForm form) { return memberTagService.addMemberTag(form); } // @PostMapping("/customerAddTag") // @ApiOperation(value = "添加客户标签标识", notes = "添加客户标签标识") // public Result add(@RequestBody @Validated(Add.class) CustomerTagRefForm form) { // return customerTagRefService.add(form); // } @DeleteMapping("/customerDelTag/{id}") @ApiOperation(value = "删除客户标签标识ID删除", notes = "删除客户标签标识ID删除") public Result removeCustomerTagById(@PathVariable("id") String id) { return memberTagService.removeById(id); } @GetMapping("/videoFootPage") @ApiOperation(value = "视频浏览历史分页", notes = "视频浏览历史分页") public Result videoFootPage(FootPrintQuery query){ return footprintService.videoFootPrintPage(query); } @GetMapping("/memberActionAnalyse/{id}") @ApiOperation(value = "会员行为分析", notes = "会员行为分析") public Result memberActionAnalyse(@PathVariable("id") String id){ return footprintService.memberActionAnalyse(id); } }