From 91b7d154e71a4ba5222ecfef6b95ff2ea26b6291 Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期一, 09 六月 2025 11:19:53 +0800 Subject: [PATCH] 客户管理,客户权限管理(会员分页) --- framework/src/main/java/cn/lili/modules/lmk/service/impl/CustomerServiceImpl.java | 14 ++++ buyer-api/src/main/java/cn/lili/controller/lmk/CustomerController.java | 100 +++++++++++++++++++++++++++++++++ framework/src/main/java/cn/lili/modules/lmk/service/CustomerService.java | 8 ++ 3 files changed, 121 insertions(+), 1 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 new file mode 100644 index 0000000..1478a62 --- /dev/null +++ b/buyer-api/src/main/java/cn/lili/controller/lmk/CustomerController.java @@ -0,0 +1,100 @@ +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.CustomerTagForm; +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 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("/buyer/lmk/customer") +public class CustomerController { + + private final CustomerService customerService; + private final CustomerTagService customerTagService; + private final CustomerTagRefService customerTagRefService; + + @ApiOperation(value = "鍟嗛摵涓嬫媺鍒楄〃") + @GetMapping("/store/selectOption") + public Result getStoreSelectOptions(){ + return customerService.getStoreSelectOptions(); + } + + + @ApiOperation(value = "瀹㈡埛鍒嗛〉鍒楄〃") + @GetMapping + public Result getByPage(CustomerQuery customerQuery) { + return customerService.getMemberPageByWX(customerQuery); + } + + @PostMapping("/addTag") + @ApiOperation(value = "娣诲姞鏍囩", notes = "娣诲姞鏍囩") + public Result add(@RequestBody @Validated(Add.class) CustomerTagForm form) { + return customerTagService.add(form); + } + + @PutMapping("/editTag") + @ApiOperation(value = "淇敼鏍囩", notes = "淇敼鏍囩") + public Result update(@RequestBody @Validated(Update.class) CustomerTagForm form) { + return customerTagService.update(form); + } + + @DeleteMapping("/tag/{id}") + @ApiOperation(value = "ID鍒犻櫎鏍囩", notes = "ID鍒犻櫎") + public Result removeById(@PathVariable("id") String id) { + return customerTagService.removeById(id); + } + + + @GetMapping("/tagList") + @ApiOperation(value = "鏍囩鍒楄〃", notes = "鏍囩鍒楄〃") + public Result list() { + return customerTagService.all(); + } + @GetMapping("/pageTagList") + @ApiOperation(value = "鍒嗛〉鏍囩鍒楄〃", notes = "鏍囩鍒楄〃") + public Result pageList(CustomerTagQuery query) { + return customerTagService.page(query); + } + + + @PostMapping("/customerAddTag") + @ApiOperation(value = "娣诲姞瀹㈡埛鏍囩鏍囪瘑", notes = "娣诲姞瀹㈡埛鏍囩鏍囪瘑") + public Result addCustomerTag(@RequestBody @Validated(Add.class) CustomerTagForm form) { + return customerTagService.addCustomerTag(form); + } + +// @PostMapping("/customerAddTag") +// @ApiOperation(value = "娣诲姞瀹㈡埛鏍囩鏍囪瘑", notes = "娣诲姞瀹㈡埛鏍囩鏍囪瘑") +// public Result add(@RequestBody @Validated(Add.class) CustomerTagRefForm form) { +// 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); + } +} diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/CustomerService.java b/framework/src/main/java/cn/lili/modules/lmk/service/CustomerService.java index b648e66..1f6eb4e 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/service/CustomerService.java +++ b/framework/src/main/java/cn/lili/modules/lmk/service/CustomerService.java @@ -13,7 +13,13 @@ import com.baomidou.mybatisplus.extension.service.IService; public interface CustomerService extends IService<Member> { - + /** + * 鑾峰彇浼氬憳鍒嗛〉 澶嶇敤浜庤妗嗘灦寮�婧恆pi WX绔� + * + * @param customerQuery 浼氬憳鎼滅储 + * @return 浼氬憳鍒嗛〉 + */ + Result getMemberPageByWX(CustomerQuery customerQuery); /** * 鑾峰彇浼氬憳鍒嗛〉 澶嶇敤浜庤妗嗘灦寮�婧恆pi * diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/CustomerServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/CustomerServiceImpl.java index a52ce67..2e198b1 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/CustomerServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/CustomerServiceImpl.java @@ -2,6 +2,7 @@ import cn.lili.base.Result; +import cn.lili.common.security.context.UserContext; import cn.lili.modules.lmk.domain.query.CustomerQuery; import cn.lili.modules.lmk.mapper.CustomerMapper; import cn.lili.modules.lmk.mapper.LmkStoreMapper; @@ -20,6 +21,8 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.Objects; + @Service @RequiredArgsConstructor public class CustomerServiceImpl extends ServiceImpl<MemberMapper, Member> implements CustomerService { @@ -37,6 +40,17 @@ } @Override + public Result getMemberPageByWX(CustomerQuery customerQuery) { + String storeId = Objects.requireNonNull(UserContext.getCurrentUser()).getStoreId(); + if ( storeId == null) { + return Result.error("璇ヨ处鍙锋病鏈夋敞鍐屽簵閾�"); + } + return getMemberPage(customerQuery); + + } + + + @Override public MemberVO getMember(String id) { return null; } -- Gitblit v1.8.0