From 9b774a0d10e522323a51053ae9b79e02af3accae Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期二, 10 十二月 2024 13:29:13 +0800 Subject: [PATCH] add: 供应商子账号3 --- src/main/java/com/mzl/flower/service/supplier/SupplierSubService.java | 57 +++++++++++++++++++++++++--- src/main/java/com/mzl/flower/web/supplier/SupplierSubController.java | 27 ++++++++----- src/main/java/com/mzl/flower/entity/supplier/SupplierSub.java | 10 ++++ src/main/java/com/mzl/flower/service/system/UserService.java | 4 +- 4 files changed, 78 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/mzl/flower/entity/supplier/SupplierSub.java b/src/main/java/com/mzl/flower/entity/supplier/SupplierSub.java index 4902cc8..0619d21 100644 --- a/src/main/java/com/mzl/flower/entity/supplier/SupplierSub.java +++ b/src/main/java/com/mzl/flower/entity/supplier/SupplierSub.java @@ -1,12 +1,12 @@ package com.mzl.flower.entity.supplier; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.mzl.flower.base.BaseAutoEntity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import java.time.LocalDateTime; @Data @TableName("t_supplier_sub_info") @@ -32,4 +32,12 @@ @ApiModelProperty("启用/禁用") private Boolean isEnabled; + @TableField(exist = false) + private Boolean isSub; + + @TableField(exist = false) + private Integer type; + + + } diff --git a/src/main/java/com/mzl/flower/service/supplier/SupplierSubService.java b/src/main/java/com/mzl/flower/service/supplier/SupplierSubService.java index b73a886..7a61aef 100644 --- a/src/main/java/com/mzl/flower/service/supplier/SupplierSubService.java +++ b/src/main/java/com/mzl/flower/service/supplier/SupplierSubService.java @@ -36,6 +36,7 @@ import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; import org.springframework.util.StringUtils; @@ -248,20 +249,36 @@ } public List<SupplierSub> getSubSupplier() { + List<SupplierSub> supplierSubs = new ArrayList<>(); SupplierDTO supplierDTO = supplierMapper.getCurrentSupplier(SecurityUtils.getUserId()); - if(ObjectUtils.isEmpty(supplierDTO)){ + if (ObjectUtils.isEmpty(supplierDTO)) { throw new ValidationException("供应商信息不存在"); } - return supplierSubMapper.getSubSupplier(String.valueOf(supplierDTO.getId())); + + List<SupplierSub> subSupplier = supplierSubMapper.getSubSupplier(String.valueOf(supplierDTO.getId())); + if (!CollectionUtils.isEmpty(subSupplier)) { + subSupplier.forEach(s -> { + s.setIsSub(true); + s.setType(0); + }); + supplierSubs.addAll(subSupplier); + } + return supplierSubs; } public SupplierSub getById(Long id) { return supplierSubMapper.selectById(id); } - public CurrentUserDTO getSwitchById(Long id) { - SupplierSub supplierSub = supplierSubMapper.selectById(id); - String userId = supplierSub.getUserId(); + public CurrentUserDTO getSwitchById(Long id, int type) { + String userId = ""; + if (type == 1) { + userId = SecurityUtils.getUserId(); + }else { + SupplierSub supplierSub = supplierSubMapper.selectById(id); + supplierSub.setType(0); + userId = supplierSub.getUserId(); + } CurrentUserDTO result = new CurrentUserDTO(); @@ -319,8 +336,9 @@ } }else if(Constants.USER_TYPE.supplier.name().equals(user.getType())){ result.setSupplierDTO(supplierService.getCurrentSupplier()); - SupplierSub sub = supplierSubMapper.getCurrentSupplier(SecurityUtils.getUserId()); + SupplierSub sub = supplierSubMapper.getCurrentSupplier(userId); if (!ObjectUtils.isEmpty(sub)) { + sub.setType(0); result.setIsSubSupplier(true); result.setSupplierSub(sub); result.setSwitchFlag(true); @@ -344,4 +362,31 @@ public User getUserById(String id){ return userMapper.selectById(id); } + + public List<SupplierSub> getAllSupplier() { + List<SupplierSub> supplierSubs = new ArrayList<>(); + SupplierDTO supplierDTO = supplierMapper.getCurrentSupplier(SecurityUtils.getUserId()); + if (!ObjectUtils.isEmpty(supplierDTO)) { + SupplierSub subParent = new SupplierSub(); + subParent.setId((long) -1); + subParent.setUserId(supplierDTO.getUserId()); + subParent.setSupplierId(supplierDTO.getId()); + subParent.setName(supplierDTO.getName()); + subParent.setContact(supplierDTO.getContactName()); + subParent.setPhone(supplierDTO.getContactTel()); + subParent.setIsEnabled(supplierDTO.getIsEnabled()); + subParent.setIsSub(false); + subParent.setType(1); + supplierSubs.add(subParent); + } + List<SupplierSub> subSupplier = supplierSubMapper.getSubSupplier(String.valueOf(supplierDTO.getId())); + if (!CollectionUtils.isEmpty(subSupplier)) { + subSupplier.forEach(s->{ + s.setIsSub(true); + s.setType(0); + }); + supplierSubs.addAll(subSupplier); + } + return supplierSubs; + } } diff --git a/src/main/java/com/mzl/flower/service/system/UserService.java b/src/main/java/com/mzl/flower/service/system/UserService.java index 5b704fe..b2f93d0 100644 --- a/src/main/java/com/mzl/flower/service/system/UserService.java +++ b/src/main/java/com/mzl/flower/service/system/UserService.java @@ -220,12 +220,12 @@ result.setIsSubSupplier(true); result.setSupplierSub(sub); //可切换 - result.setSwitchFlag(true); + result.setSwitchFlag(false); } else { result.setIsSubSupplier(false); result.setSupplierSub(null); //不可切换 - result.setSwitchFlag(false); + result.setSwitchFlag(true); } }else if(Constants.USER_TYPE.partner.name().equals(user.getType())){ result.setPartnerDTO(partnerService.getCurrentPartner()); diff --git a/src/main/java/com/mzl/flower/web/supplier/SupplierSubController.java b/src/main/java/com/mzl/flower/web/supplier/SupplierSubController.java index ee11286..0307f5d 100644 --- a/src/main/java/com/mzl/flower/web/supplier/SupplierSubController.java +++ b/src/main/java/com/mzl/flower/web/supplier/SupplierSubController.java @@ -6,7 +6,6 @@ import com.mzl.flower.base.ReturnDataDTO; import com.mzl.flower.dto.request.supplier.*; import com.mzl.flower.dto.response.current.CurrentUserDTO; -import com.mzl.flower.dto.response.payment.DeliveryOrderItemListDTO; import com.mzl.flower.dto.response.supplier.SupplierSubVO; import com.mzl.flower.entity.supplier.SupplierSub; import com.mzl.flower.service.supplier.SupplierSubService; @@ -21,7 +20,7 @@ import java.util.List; @RestController -@RequestMapping("/api/supplierSub") +@RequestMapping("/api") @Api(value = "供应商子账号管理", tags = "供应商子账号管理") @Validated @Slf4j @@ -34,7 +33,7 @@ } - @PostMapping("/addOrUpdate") + @PostMapping("/supplierSub/addOrUpdate") @ApiOperation(value = "供应商子账号信息登记、修改", notes = "供应商信息子账号登记、修改") public ResponseEntity<ReturnDataDTO> addOrUpdateSupplier(@Validated @RequestBody SupplierSubDTO dto) { supplierSubService.addOrUpdateSupplier(dto); @@ -42,44 +41,50 @@ } - @GetMapping("/page") + @GetMapping("/supplierSub/page") @ApiOperation(value = "运营端-供应商子账号分页查询", notes = "运营端-供应商子账号分页查询") public ResponseEntity<ReturnDataDTO<Page<SupplierSubVO>>> querySupplier(QuerySupplierSubDTO dto, Page page) { return returnData(R.SUCCESS.getCode(), supplierSubService.querySupplier(dto, page)); } - @GetMapping("/page/isEnable") + @GetMapping("/supplierSub/page/isEnable") @ApiOperation(value = "子账号启用/禁用", notes = "子账号启用/禁用") public ResponseEntity<ReturnDataDTO<String>> isEnable(@NotNull(message = "id不能为空") Long id) { supplierSubService.isEnable(id); return returnData(R.SUCCESS.getCode(), null); } - @PostMapping("/delete/{id}") + @PostMapping("/supplierSub/delete/{id}") @ApiOperation(value = "子账号删除", notes = "子账号删除") public ResponseEntity<ReturnDataDTO> delete(@PathVariable("id") Long id) { supplierSubService.delete(id); return returnData(R.SUCCESS.getCode(), null); } - @GetMapping("/sub/all") + @GetMapping("/supplierSub/sub/all") @ApiOperation(value = "获取当前用户下子账号信息", notes = "获取当前用户下子账号信息") public ResponseEntity<ReturnDataDTO<List<SupplierSub>>> getSubSupplier() { return returnData(R.SUCCESS.getCode(), supplierSubService.getSubSupplier()); } - @GetMapping("/getById") + @GetMapping("/supplierSub/getById") @ApiOperation(value = "通过ID查询子账号", notes = "通过ID查询子账号") public ResponseEntity<ReturnDataDTO<SupplierSub>> getById(@NotNull(message = "id不能为空") Long id) { SupplierSub supplierSub = supplierSubService.getById(id); return returnData(R.SUCCESS.getCode(), supplierSub); } - @GetMapping("/getSwitchById") + @GetMapping("/supplierSub/getSwitchById") @ApiOperation(value = "子账号切换", notes = "子账号切换") - public ResponseEntity<ReturnDataDTO<CurrentUserDTO>> getSwitchById(@NotNull(message = "id不能为空") Long id) { - CurrentUserDTO currentUserDTO = supplierSubService.getSwitchById(id); + public ResponseEntity<ReturnDataDTO<CurrentUserDTO>> getSwitchById(@NotNull(message = "id不能为空") Long id, Integer type) { + CurrentUserDTO currentUserDTO = supplierSubService.getSwitchById(id, type); return returnData(R.SUCCESS.getCode(), currentUserDTO); } + + @GetMapping("/supplierAccount/all") + @ApiOperation(value = "获取当前用户下所有账号信息", notes = "获取当前用户下所有账号信息") + public ResponseEntity<ReturnDataDTO<List<SupplierSub>>> getSupplierAccount() { + return returnData(R.SUCCESS.getCode(), supplierSubService.getAllSupplier()); + } } -- Gitblit v1.9.3