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; } 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; } } 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()); 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()); } }