From ac7f98e0925c42219630335248274b151c6be476 Mon Sep 17 00:00:00 2001 From: Yen Date: Wed, 12 Oct 2022 16:10:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=BA=E5=91=98=E6=A0=91?= =?UTF-8?q?=E3=80=81=E4=BE=9B=E5=BA=94=E5=95=86=E6=A0=91=E3=80=81=E4=BE=9B?= =?UTF-8?q?=E5=BA=94=E5=95=86=E5=9C=B0=E5=9D=80=E5=8F=8A=E9=93=B6=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bms/controller/BmsRegionController.java | 3 + .../BmsSupplierAddressController.java | 103 +++++++++++++++ .../controller/BmsSupplierBandController.java | 103 +++++++++++++++ .../bms/controller/BmsSupplierController.java | 26 ++++ .../bms/entity/BmsSupplierAddress.java | 95 ++++++++++++++ .../modules/bms/entity/BmsSupplierBand.java | 86 +++++++++++++ .../bms/entity/vo/BmsSupplierTreeVo.java | 41 ++++++ .../bms/mapper/BmsSupplierAddressMapper.java | 14 +++ .../bms/mapper/BmsSupplierBandMapper.java | 14 +++ .../modules/bms/service/BmsRegionService.java | 3 + .../service/BmsSupplierAddressService.java | 14 +++ .../bms/service/BmsSupplierBandService.java | 14 +++ .../service/impl/BmsRegionServiceImpl.java | 8 ++ .../impl/BmsSupplierAddressServiceImpl.java | 22 ++++ .../impl/BmsSupplierBandServiceImpl.java | 22 ++++ .../serve/modules/goods/entity/GoodsSpu.java | 2 + .../sys/controller/SysUserController.java | 21 ++++ .../qs/serve/modules/sys/entity/SysUser.java | 3 + .../modules/sys/entity/SysUserSales.java | 119 ++++++++++++++++++ .../sys/entity/dto/SysUserSalesTreeVo.java | 77 ++++++++++++ .../sys/mapper/SysUserSalesMapper.java | 20 +++ .../sys/service/SysUserSalesService.java | 24 ++++ .../service/impl/SysUserSalesServiceImpl.java | 29 +++++ .../sys/service/impl/SysUserServiceImpl.java | 1 - .../resources/mapper/sys/SysUserMapper.xml | 3 + .../mapper/sys/SysUserSalesMapper.xml | 58 +++++++++ 26 files changed, 924 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierAddressController.java create mode 100644 src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierBandController.java create mode 100644 src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierAddress.java create mode 100644 src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierBand.java create mode 100644 src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSupplierTreeVo.java create mode 100644 src/main/java/com/qs/serve/modules/bms/mapper/BmsSupplierAddressMapper.java create mode 100644 src/main/java/com/qs/serve/modules/bms/mapper/BmsSupplierBandMapper.java create mode 100644 src/main/java/com/qs/serve/modules/bms/service/BmsSupplierAddressService.java create mode 100644 src/main/java/com/qs/serve/modules/bms/service/BmsSupplierBandService.java create mode 100644 src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierAddressServiceImpl.java create mode 100644 src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierBandServiceImpl.java create mode 100644 src/main/java/com/qs/serve/modules/sys/entity/SysUserSales.java create mode 100644 src/main/java/com/qs/serve/modules/sys/entity/dto/SysUserSalesTreeVo.java create mode 100644 src/main/java/com/qs/serve/modules/sys/mapper/SysUserSalesMapper.java create mode 100644 src/main/java/com/qs/serve/modules/sys/service/SysUserSalesService.java create mode 100644 src/main/java/com/qs/serve/modules/sys/service/impl/SysUserSalesServiceImpl.java create mode 100644 src/main/resources/mapper/sys/SysUserSalesMapper.xml diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java index d2b03cab..a10270e9 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java @@ -142,6 +142,9 @@ public class BmsRegionController { @SysLog(module = SystemModule.BASE, title = "区域档案", biz = BizType.DELETE) @PreAuthorize("hasRole('bms:region:delete')") public R deleteById(@PathVariable("id") String id){ + if(bmsRegionService.listChild(id).size()>0){ + return R.error("含有子节点无法删除"); + } boolean result = bmsRegionService.removeById(id); return R.isTrue(result); } diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierAddressController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierAddressController.java new file mode 100644 index 00000000..f3d5d05d --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierAddressController.java @@ -0,0 +1,103 @@ +package com.qs.serve.modules.bms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.SysLog; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.model.enums.BizType; +import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.PageUtil; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import com.qs.serve.modules.bms.entity.BmsSupplierAddress; +import com.qs.serve.modules.bms.service.BmsSupplierAddressService; + +import javax.validation.Valid; +import java.util.List; + +/** + * 基础档案 供应商地址 后台接口 + * @author YenHex + * @since 2022-10-12 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("bms/supplierAddress") +public class BmsSupplierAddressController { + + private BmsSupplierAddressService bmsSupplierAddressService; + + /** + * 翻页查询 + * @param param + * @return + */ + @GetMapping("/page") + @PreAuthorize("hasRole('bms:supplierAddress:query')") + public R> getPage(BmsSupplierAddress param){ + PageUtil.startPage(); + LambdaQueryWrapper supplierAddressWrapper = new LambdaQueryWrapper<>(param); + List list = bmsSupplierAddressService.list(supplierAddressWrapper); + return R.byPageHelperList(list); + } + + /** + * 根据ID查询 + * @param id + * @return + */ + @GetMapping("/getById/{id}") + @SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.QUERY) + @PreAuthorize("hasRole('bms:supplierAddress:query')") + public R getById(@PathVariable("id") String id){ + BmsSupplierAddress bmsSupplierAddress = bmsSupplierAddressService.getById(id); + return R.ok(bmsSupplierAddress); + } + + + + /** + * 根据ID更新 + * @param param + * @return + */ + @PostMapping("/updateById") + @SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.UPDATE) + @PreAuthorize("hasRole('bms:supplierAddress:update')") + public R updateById(@RequestBody @Valid BmsSupplierAddress param){ + boolean result = bmsSupplierAddressService.updateById(param); + return R.isTrue(result); + } + + /** + * 新增供应商地址 + * @param param + * @return + */ + @PostMapping("/save") + @SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.INSERT) + @PreAuthorize("hasRole('bms:supplierAddress:insert')") + public R save(@RequestBody @Valid BmsSupplierAddress param){ + boolean result = bmsSupplierAddressService.save(param); + return R.isTrue(result); + } + + /** + * 删除供应商地址 + * @param id + * @return + */ + @DeleteMapping("/deleteById/{id}") + @SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.DELETE) + @PreAuthorize("hasRole('bms:supplierAddress:delete')") + public R deleteById(@PathVariable("id") String id){ + boolean result = bmsSupplierAddressService.removeById(id); + return R.isTrue(result); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierBandController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierBandController.java new file mode 100644 index 00000000..9f4da5a6 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierBandController.java @@ -0,0 +1,103 @@ +package com.qs.serve.modules.bms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.SysLog; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.model.enums.BizType; +import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.PageUtil; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import com.qs.serve.modules.bms.entity.BmsSupplierBand; +import com.qs.serve.modules.bms.service.BmsSupplierBandService; + +import javax.validation.Valid; +import java.util.List; + +/** + * 基础档案 供应商地址 后台接口 + * @author YenHex + * @since 2022-10-12 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("bms/supplierBand") +public class BmsSupplierBandController { + + private BmsSupplierBandService bmsSupplierBandService; + + /** + * 翻页查询 + * @param param + * @return + */ + @GetMapping("/page") + @PreAuthorize("hasRole('bms:supplierBand:query')") + public R> getPage(BmsSupplierBand param){ + PageUtil.startPage(); + LambdaQueryWrapper supplierBandWrapper = new LambdaQueryWrapper<>(param); + List list = bmsSupplierBandService.list(supplierBandWrapper); + return R.byPageHelperList(list); + } + + /** + * 根据ID查询 + * @param id + * @return + */ + @GetMapping("/getById/{id}") + @SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.QUERY) + @PreAuthorize("hasRole('bms:supplierBand:query')") + public R getById(@PathVariable("id") String id){ + BmsSupplierBand bmsSupplierBand = bmsSupplierBandService.getById(id); + return R.ok(bmsSupplierBand); + } + + + + /** + * 根据ID更新 + * @param param + * @return + */ + @PostMapping("/updateById") + @SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.UPDATE) + @PreAuthorize("hasRole('bms:supplierBand:update')") + public R updateById(@RequestBody @Valid BmsSupplierBand param){ + boolean result = bmsSupplierBandService.updateById(param); + return R.isTrue(result); + } + + /** + * 新增供应商地址 + * @param param + * @return + */ + @PostMapping("/save") + @SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.INSERT) + @PreAuthorize("hasRole('bms:supplierBand:insert')") + public R save(@RequestBody @Valid BmsSupplierBand param){ + boolean result = bmsSupplierBandService.save(param); + return R.isTrue(result); + } + + /** + * 删除供应商地址 + * @param id + * @return + */ + @DeleteMapping("/deleteById/{id}") + @SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.DELETE) + @PreAuthorize("hasRole('bms:supplierBand:delete')") + public R deleteById(@PathVariable("id") String id){ + boolean result = bmsSupplierBandService.removeById(id); + return R.isTrue(result); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java index 90f2eeb3..ac95d93c 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java @@ -6,8 +6,12 @@ import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.PageUtil; +import com.qs.serve.common.util.TreeUtil; +import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo; import com.qs.serve.modules.bms.entity.vo.BmsSupplierBo; +import com.qs.serve.modules.bms.entity.vo.BmsSupplierTreeVo; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.access.prepost.PreAuthorize; @@ -18,6 +22,7 @@ import com.qs.serve.modules.bms.service.BmsSupplierService; import javax.validation.Valid; import java.util.List; +import java.util.stream.Collectors; /** * 基础档案 客户 @@ -46,6 +51,27 @@ public class BmsSupplierController { return R.byPageHelperList(list); } + /** + * 树查询 + * @param param + * @return + */ + @GetMapping("/tree") + @PreAuthorize("hasRole('bms:supplier:query')") + public R> getTree(BmsSupplier param){ + LambdaQueryWrapper supplierWrapper = new LambdaQueryWrapper<>(param); + List list = bmsSupplierService.list(supplierWrapper); + List list2 = list.stream().map(supplier->{ + BmsSupplierTreeVo treeNode = CopierUtil.copy(supplier,new BmsSupplierTreeVo()); + treeNode.setId(supplier.getId()); + treeNode.setParentId(supplier.getPid()); + treeNode.setSort(0); + return treeNode; + }).collect(Collectors.toList()); + list2 = TreeUtil.buildByRecursive(list2,TreeUtil.DEFAULT_PID_STRING); + return R.ok(list2); + } + /** * 根据ID查询 * @param id diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierAddress.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierAddress.java new file mode 100644 index 00000000..5031f885 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierAddress.java @@ -0,0 +1,95 @@ +package com.qs.serve.modules.bms.entity; + +import java.time.LocalDateTime; +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * 供应商地址 实体类 + * @author YenHex + * @since 2022-10-12 + */ +@Data +@TableName("bms_supplier_address") +public class BmsSupplierAddress implements Serializable { + + private static final long serialVersionUID = 1L; + + /** id */ + @TableId(type = IdType.AUTO) + private Long id; + + /** 供应商id */ + @NotNull(message = "供应商id不能为空") + private Long supplierId; + + /** 是否默认 */ + @NotNull(message = "是否默认不能为空") + private Integer defaultFlag; + + /** 省 */ + @NotBlank(message = "省不能为空") + @Length(max = 12,message = "省长度不能超过12字") + private String province; + + /** 市 */ + @NotBlank(message = "市不能为空") + @Length(max = 20,message = "市长度不能超过20字") + private String city; + + /** 区 */ + @NotBlank(message = "区不能为空") + @Length(max = 20,message = "区长度不能超过20字") + private String area; + + /** 详细地址 */ + @NotBlank(message = "详细地址不能为空") + @Length(max = 255,message = "详细地址长度不能超过255字") + private String detail; + + /** 备注 */ + @Length(max = 255,message = "备注长度不能超过255字") + private String remark; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 最后更新时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; + + /** 所属租户 */ + @JsonIgnore + @JsonProperty + private String tenantId; + + /** 逻辑删除标记(0:显示;1:隐藏) */ + @JsonIgnore + @JsonProperty + private String delFlag; + + /** 创建人 */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 更新人 */ + @TableField(fill = FieldFill.UPDATE) + private String updateBy; + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierBand.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierBand.java new file mode 100644 index 00000000..486bf93b --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierBand.java @@ -0,0 +1,86 @@ +package com.qs.serve.modules.bms.entity; + +import java.time.LocalDateTime; +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * 供应商地址 实体类 + * @author YenHex + * @since 2022-10-12 + */ +@Data +@TableName("bms_supplier_band") +public class BmsSupplierBand implements Serializable { + + private static final long serialVersionUID = 1L; + + /** id */ + @TableId(type = IdType.AUTO) + private Long id; + + /** 供应商id */ + @NotNull(message = "供应商id不能为空") + private Long supplierId; + + /** 开户银行 */ + @NotBlank(message = "开户银行不能为空") + @Length(max = 20,message = "开户银行长度不能超过20字") + private String cardBank; + + /** 银行卡号 */ + @NotBlank(message = "银行卡号不能为空") + @Length(max = 30,message = "银行卡号长度不能超过30字") + private String cardNum; + + /** 持卡人 */ + @NotBlank(message = "持卡人不能为空") + @Length(max = 20,message = "持卡人长度不能超过20字") + private String cardUser; + + /** 备注 */ + @Length(max = 255,message = "备注长度不能超过255字") + private String remark; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 最后更新时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; + + /** 所属租户 */ + @JsonIgnore + @JsonProperty + private String tenantId; + + /** 逻辑删除标记(0:显示;1:隐藏) */ + @JsonIgnore + @JsonProperty + private String delFlag; + + /** 创建人 */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 更新人 */ + @TableField(fill = FieldFill.UPDATE) + private String updateBy; + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSupplierTreeVo.java b/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSupplierTreeVo.java new file mode 100644 index 00000000..7cdb83f0 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSupplierTreeVo.java @@ -0,0 +1,41 @@ +package com.qs.serve.modules.bms.entity.vo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.qs.serve.common.model.dto.TreeNode; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; + +/** + * @author YenHex + * @since 2022/10/12 + */ +public class BmsSupplierTreeVo extends TreeNode { + + /** id */ + @TableId(type = IdType.AUTO) + private String id; + + /** 一级区域ID */ + private String regionFirst; + + /** 二级区域ID */ + private String regionSecond; + + /** 三级区域ID */ + private String regionThird; + + /** 详细地址 */ + private String address; + + /** 名称 */ + private String name; + + /** 客户编码 */ + private String code; + + /** 父级id */ + private String pid; + +} diff --git a/src/main/java/com/qs/serve/modules/bms/mapper/BmsSupplierAddressMapper.java b/src/main/java/com/qs/serve/modules/bms/mapper/BmsSupplierAddressMapper.java new file mode 100644 index 00000000..f7b63967 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/mapper/BmsSupplierAddressMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.bms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.bms.entity.BmsSupplierAddress; + +/** + * 供应商地址 Mapper + * @author YenHex + * @date 2022-10-12 + */ +public interface BmsSupplierAddressMapper extends BaseMapper { + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/mapper/BmsSupplierBandMapper.java b/src/main/java/com/qs/serve/modules/bms/mapper/BmsSupplierBandMapper.java new file mode 100644 index 00000000..6b18291a --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/mapper/BmsSupplierBandMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.bms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.bms.entity.BmsSupplierBand; + +/** + * 供应商地址 Mapper + * @author YenHex + * @date 2022-10-12 + */ +public interface BmsSupplierBandMapper extends BaseMapper { + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsRegionService.java b/src/main/java/com/qs/serve/modules/bms/service/BmsRegionService.java index 4aeb4b24..b7de725e 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/BmsRegionService.java +++ b/src/main/java/com/qs/serve/modules/bms/service/BmsRegionService.java @@ -2,6 +2,7 @@ package com.qs.serve.modules.bms.service; import com.baomidou.mybatisplus.extension.service.IService; import com.qs.serve.modules.bms.entity.BmsRegion; +import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo; import java.util.List; @@ -15,6 +16,8 @@ public interface BmsRegionService extends IService { List getTree(BmsRegion param); + List listChild(String pid); + void flushLevel(BmsRegion param); void flushAllLevel(); diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsSupplierAddressService.java b/src/main/java/com/qs/serve/modules/bms/service/BmsSupplierAddressService.java new file mode 100644 index 00000000..b14025b3 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/service/BmsSupplierAddressService.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.bms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.bms.entity.BmsSupplierAddress; + +/** + * 供应商地址 服务接口 + * @author YenHex + * @date 2022-10-12 + */ +public interface BmsSupplierAddressService extends IService { + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsSupplierBandService.java b/src/main/java/com/qs/serve/modules/bms/service/BmsSupplierBandService.java new file mode 100644 index 00000000..0802d80e --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/service/BmsSupplierBandService.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.bms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.bms.entity.BmsSupplierBand; + +/** + * 供应商地址 服务接口 + * @author YenHex + * @date 2022-10-12 + */ +public interface BmsSupplierBandService extends IService { + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java index 432d663b..39359d9f 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qs.serve.common.model.dto.TreeNode; import com.qs.serve.common.util.*; +import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -39,6 +40,13 @@ public class BmsRegionServiceImpl extends ServiceImpl return TreeUtil.buildByRecursive(treeVoList,TreeUtil.DEFAULT_PID_STRING); } + @Override + public List listChild(String pid) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(BmsRegion::getPid,pid); + return this.list(lqw); + } + @Override public void flushLevel(BmsRegion param) { if(StringUtils.hasText(param.getPid())){ diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierAddressServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierAddressServiceImpl.java new file mode 100644 index 00000000..7d93dfc3 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierAddressServiceImpl.java @@ -0,0 +1,22 @@ +package com.qs.serve.modules.bms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.bms.entity.BmsSupplierAddress; +import com.qs.serve.modules.bms.service.BmsSupplierAddressService; +import com.qs.serve.modules.bms.mapper.BmsSupplierAddressMapper; + +/** + * 供应商地址 服务实现类 + * @author YenHex + * @since 2022-10-12 + */ +@Slf4j +@Service +@AllArgsConstructor +public class BmsSupplierAddressServiceImpl extends ServiceImpl implements BmsSupplierAddressService { + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierBandServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierBandServiceImpl.java new file mode 100644 index 00000000..aed9468e --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierBandServiceImpl.java @@ -0,0 +1,22 @@ +package com.qs.serve.modules.bms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.bms.entity.BmsSupplierBand; +import com.qs.serve.modules.bms.service.BmsSupplierBandService; +import com.qs.serve.modules.bms.mapper.BmsSupplierBandMapper; + +/** + * 供应商地址 服务实现类 + * @author YenHex + * @since 2022-10-12 + */ +@Slf4j +@Service +@AllArgsConstructor +public class BmsSupplierBandServiceImpl extends ServiceImpl implements BmsSupplierBandService { + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java index 01b59da6..6934e820 100644 --- a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java +++ b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java @@ -41,8 +41,10 @@ public class GoodsSpu implements Serializable { @Length(max = 200,message = "商品名字长度不能超过200字") private String name; + /** 品牌id */ private Long brandId; + /** 系列id */ private Long seriesId; /** 一级分类ID */ diff --git a/src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java b/src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java index 115a5f54..3e3cd3d3 100644 --- a/src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java +++ b/src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java @@ -13,6 +13,7 @@ import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.util.*; +import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo; import com.qs.serve.modules.sys.entity.*; import com.qs.serve.modules.sys.entity.bo.SysUserBatchBo; import com.qs.serve.modules.sys.entity.bo.SysUserBo; @@ -49,6 +50,26 @@ public class SysUserController { private SysPostService sysPostService; private SysRoleService sysRoleService; private WxUserService wxUserService; + private SysUserSalesService sysUserSalesService; + + /** + * 树查询 + * @return + */ + @GetMapping("/tree") + @PreAuthorize("hasRole('sys:user:query')") + public R> getTree(){ + List userSales = sysUserSalesService.selectSysUserSalesList(new SysUserSales()); + List treeVoList = userSales.stream().map(obj->{ + SysUserSalesTreeVo treeNode = CopierUtil.copy(obj,new SysUserSalesTreeVo()); + treeNode.setId(obj.getId()); + treeNode.setParentId(obj.getPid()); + treeNode.setSort(0); + return treeNode; + }).collect(Collectors.toList()); + treeVoList = TreeUtil.buildByRecursive(treeVoList,TreeUtil.DEFAULT_PID_STRING); + return R.ok(treeVoList); + } /** * (个人)登录信息 diff --git a/src/main/java/com/qs/serve/modules/sys/entity/SysUser.java b/src/main/java/com/qs/serve/modules/sys/entity/SysUser.java index 3ec2be29..1292b194 100644 --- a/src/main/java/com/qs/serve/modules/sys/entity/SysUser.java +++ b/src/main/java/com/qs/serve/modules/sys/entity/SysUser.java @@ -75,6 +75,9 @@ public class SysUser implements Serializable { /** 在职状态【0->离职;1->在职】 */ private Integer servingState; + /** 是否销售人员 */ + private Integer salesFlag; + /** 身份证号码 */ @Length(max = 45,message = "身份证号码长度不能超过45字") private String identityNo; diff --git a/src/main/java/com/qs/serve/modules/sys/entity/SysUserSales.java b/src/main/java/com/qs/serve/modules/sys/entity/SysUserSales.java new file mode 100644 index 00000000..7a1eab10 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/sys/entity/SysUserSales.java @@ -0,0 +1,119 @@ +package com.qs.serve.modules.sys.entity; + +import java.time.LocalDateTime; +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * 实体类 + * @author YenHex + * @since 2022-10-12 + */ +@Data +@TableName("sys_user_sales") +public class SysUserSales implements Serializable { + + private static final long serialVersionUID = 1L; + + /** 用户id */ + @Length(max = 32,message = "用户id长度不能超过32字") + @TableId(type = IdType.ASSIGN_UUID) + private String userId; + + /** 父级id */ + @Length(max = 32,message = "父级id长度不能超过32字") + private String pid; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 创建人 */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 更新时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; + + /** 更新人 */ + @TableField(fill = FieldFill.UPDATE) + private String updateBy; + + /** 租户id */ + @JsonIgnore + @JsonProperty + private String tenantId; + + /** 删除标识 */ + @JsonIgnore + @JsonProperty + private Boolean delFlag; + + @TableField(exist = false) + private String id; + + /** 手机号 */ + @TableField(exist = false) + private String mobile; + + /** 账号 */ + @TableField(exist = false) + private String account; + + /** 昵称 */ + @TableField(exist = false) + private String name; + + /** 编号/工号 */ + @TableField(exist = false) + private String code; + + /** 头像 */ + @TableField(exist = false) + private String icon; + + /** 部门ID */ + @TableField(exist = false) + private String deptId; + + /** 职位ID */ + @TableField(exist = false) + private String positionId; + + /** 系统登录权限【0->停用;1->启用】 */ + @TableField(exist = false) + private Integer loginEnable; + + /** 在职状态【0->离职;1->在职】 */ + @TableField(exist = false) + private Integer servingState; + + /** 是否销售人员 */ + @TableField(exist = false) + private Integer salesFlag; + + /** 身份证号码 */ + @TableField(exist = false) + private String identityNo; + + /** 备注 */ + @TableField(exist = false) + private String remark; + +} + diff --git a/src/main/java/com/qs/serve/modules/sys/entity/dto/SysUserSalesTreeVo.java b/src/main/java/com/qs/serve/modules/sys/entity/dto/SysUserSalesTreeVo.java new file mode 100644 index 00000000..90851a81 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/sys/entity/dto/SysUserSalesTreeVo.java @@ -0,0 +1,77 @@ +package com.qs.serve.modules.sys.entity.dto; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.qs.serve.common.model.dto.TreeNode; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +/** + * @author YenHex + * @since 2022/10/12 + */ +public class SysUserSalesTreeVo extends TreeNode { + + private String userId; + + /** 父级id */ + @Length(max = 32,message = "父级id长度不能超过32字") + private String pid; + + @TableField(exist = false) + private String id; + + /** 手机号 */ + @TableField(exist = false) + private String mobile; + + /** 账号 */ + @TableField(exist = false) + private String account; + + /** 昵称 */ + @TableField(exist = false) + private String name; + + /** 编号/工号 */ + @TableField(exist = false) + private String code; + + /** 头像 */ + @TableField(exist = false) + private String icon; + + /** 部门ID */ + @TableField(exist = false) + private String deptId; + + /** 职位ID */ + @TableField(exist = false) + private String positionId; + + /** 系统登录权限【0->停用;1->启用】 */ + @TableField(exist = false) + private Integer loginEnable; + + /** 在职状态【0->离职;1->在职】 */ + @TableField(exist = false) + private Integer servingState; + + /** 是否销售人员 */ + @TableField(exist = false) + private Integer salesFlag; + + /** 身份证号码 */ + @TableField(exist = false) + private String identityNo; + + /** 备注 */ + @TableField(exist = false) + private String remark; + +} diff --git a/src/main/java/com/qs/serve/modules/sys/mapper/SysUserSalesMapper.java b/src/main/java/com/qs/serve/modules/sys/mapper/SysUserSalesMapper.java new file mode 100644 index 00000000..17f0e578 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/sys/mapper/SysUserSalesMapper.java @@ -0,0 +1,20 @@ +package com.qs.serve.modules.sys.mapper; + +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.sys.entity.SysUserSales; +import org.apache.ibatis.annotations.Param; +import java.util.List; + +/** + * Mapper + * @author YenHex + * @date 2022-10-12 + */ +public interface SysUserSalesMapper extends BaseMapper { + + @InterceptorIgnore(tenantLine = "1") + List selectSysUserSalesList(@Param("query") SysUserSales userSales); + +} + diff --git a/src/main/java/com/qs/serve/modules/sys/service/SysUserSalesService.java b/src/main/java/com/qs/serve/modules/sys/service/SysUserSalesService.java new file mode 100644 index 00000000..3fe4c0f6 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/sys/service/SysUserSalesService.java @@ -0,0 +1,24 @@ +package com.qs.serve.modules.sys.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.sys.entity.SysUserSales; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 服务接口 + * @author YenHex + * @date 2022-10-12 + */ +public interface SysUserSalesService extends IService { + + /** + * 加载所有销售人员 + * @param userSales + * @return + */ + List selectSysUserSalesList(SysUserSales userSales); + +} + diff --git a/src/main/java/com/qs/serve/modules/sys/service/impl/SysUserSalesServiceImpl.java b/src/main/java/com/qs/serve/modules/sys/service/impl/SysUserSalesServiceImpl.java new file mode 100644 index 00000000..58d857c5 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/sys/service/impl/SysUserSalesServiceImpl.java @@ -0,0 +1,29 @@ +package com.qs.serve.modules.sys.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.sys.entity.SysUserSales; +import com.qs.serve.modules.sys.service.SysUserSalesService; +import com.qs.serve.modules.sys.mapper.SysUserSalesMapper; + +import java.util.List; + +/** + * 服务实现类 + * @author YenHex + * @since 2022-10-12 + */ +@Slf4j +@Service +@AllArgsConstructor +public class SysUserSalesServiceImpl extends ServiceImpl implements SysUserSalesService { + + @Override + public List selectSysUserSalesList(SysUserSales userSales) { + return baseMapper.selectSysUserSalesList(userSales); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/sys/service/impl/SysUserServiceImpl.java b/src/main/java/com/qs/serve/modules/sys/service/impl/SysUserServiceImpl.java index 3c36dc25..64aa7b8b 100644 --- a/src/main/java/com/qs/serve/modules/sys/service/impl/SysUserServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/sys/service/impl/SysUserServiceImpl.java @@ -38,7 +38,6 @@ public class SysUserServiceImpl extends ServiceImpl impl private final SysMenuMapper sysMenuMapper; - @Override public SysUser getByAccount(String acc) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); diff --git a/src/main/resources/mapper/sys/SysUserMapper.xml b/src/main/resources/mapper/sys/SysUserMapper.xml index f63a15a0..e4c8a704 100644 --- a/src/main/resources/mapper/sys/SysUserMapper.xml +++ b/src/main/resources/mapper/sys/SysUserMapper.xml @@ -15,6 +15,7 @@ + @@ -40,6 +41,7 @@ sys_user.super_flag, sys_user.login_enable, sys_user.serving_state, + sys_user.sales_flag, sys_user.identity_no, sys_user.remark, sys_user.app_client, @@ -69,6 +71,7 @@ and sys_user.super_flag = #{query.superFlag} and sys_user.login_enable = #{query.loginEnable} and sys_user.serving_state = #{query.servingState} + and sys_user.sales_flag = #{query.salesFlag} and sys_user.identity_no = #{query.identityNo} and sys_user.remark = #{query.remark} and sys_user.create_time = #{query.createTime} diff --git a/src/main/resources/mapper/sys/SysUserSalesMapper.xml b/src/main/resources/mapper/sys/SysUserSalesMapper.xml new file mode 100644 index 00000000..f5688023 --- /dev/null +++ b/src/main/resources/mapper/sys/SysUserSalesMapper.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + sys_user.id, + sys_user.mobile, + sys_user.account, + sys_user.name, + sys_user.code, + sys_user.icon, + sys_user.dept_id, + sys_user.position_id, + sys_user.super_flag, + sys_user.login_enable, + sys_user.serving_state, + sys_user.sales_flag, + sys_user.identity_no, + sys_user.remark, + sys_user_sales.`user_id`, + sys_user_sales.`pid` + + + +