Quellcode durchsuchen

图稿库、事业部

24282 vor 1 Jahr
Ursprung
Commit
5788f16bb8
24 geänderte Dateien mit 968 neuen und 55 gelöschten Zeilen
  1. 71 0
      sd-business/src/main/java/com/sd/business/controller/artwork/ArtworkLibraryController.java
  2. 75 0
      sd-business/src/main/java/com/sd/business/controller/department/DepartmentController.java
  3. 23 24
      sd-business/src/main/java/com/sd/business/controller/sku/SkuController.java
  4. 17 0
      sd-business/src/main/java/com/sd/business/entity/artwork/dto/ArtworkLibraryDto.java
  5. 27 0
      sd-business/src/main/java/com/sd/business/entity/artwork/dto/ArtworkLibrarySelectDto.java
  6. 66 0
      sd-business/src/main/java/com/sd/business/entity/artwork/po/ArtworkLibrary.java
  7. 17 0
      sd-business/src/main/java/com/sd/business/entity/artwork/vo/ArtworkLibraryVo.java
  8. 17 0
      sd-business/src/main/java/com/sd/business/entity/department/dto/DepartmentDto.java
  9. 37 0
      sd-business/src/main/java/com/sd/business/entity/department/dto/DepartmentSelectDto.java
  10. 105 0
      sd-business/src/main/java/com/sd/business/entity/department/po/Department.java
  11. 17 0
      sd-business/src/main/java/com/sd/business/entity/department/vo/DepartmentVo.java
  12. 30 0
      sd-business/src/main/java/com/sd/business/entity/sku/dto/SkuSelectDto.java
  13. 8 0
      sd-business/src/main/java/com/sd/business/entity/sku/vo/SkuVo.java
  14. 16 0
      sd-business/src/main/java/com/sd/business/mapper/artwork/ArtworkLibraryMapper.java
  15. 16 0
      sd-business/src/main/java/com/sd/business/mapper/department/DepartmentMapper.java
  16. 46 0
      sd-business/src/main/java/com/sd/business/service/artwork/ArtworkLibraryService.java
  17. 70 0
      sd-business/src/main/java/com/sd/business/service/artwork/impl/ArtworkLibraryServiceImpl.java
  18. 46 0
      sd-business/src/main/java/com/sd/business/service/department/DepartmentService.java
  19. 162 0
      sd-business/src/main/java/com/sd/business/service/department/impl/DepartmentServiceImpl.java
  20. 14 15
      sd-business/src/main/java/com/sd/business/service/sku/SkuService.java
  21. 67 16
      sd-business/src/main/java/com/sd/business/service/sku/impl/SkuServiceImpl.java
  22. 5 0
      sd-business/src/main/resources/mapper/artwork/ArtworkLibraryMapper.xml
  23. 5 0
      sd-business/src/main/resources/mapper/department/DepartmentMapper.xml
  24. 11 0
      sd-framework/src/main/java/com/sd/framework/util/sql/Where.java

+ 71 - 0
sd-business/src/main/java/com/sd/business/controller/artwork/ArtworkLibraryController.java

@@ -0,0 +1,71 @@
+package com.sd.business.controller.artwork;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.sd.business.entity.artwork.dto.ArtworkLibraryDto;
+import com.sd.business.entity.artwork.dto.ArtworkLibrarySelectDto;
+import com.sd.business.entity.artwork.vo.ArtworkLibraryVo;
+import com.sd.business.service.artwork.ArtworkLibraryService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * <p>
+ * 图稿库 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2023-11-09
+ */
+@RestController
+@RequestMapping("/artworkLibrary")
+public class ArtworkLibraryController {
+
+    @Autowired
+    private ArtworkLibraryService artworkLibraryService;
+
+    /**
+     * 图稿库分页
+     */
+    @PostMapping("/page")
+    public Page<ArtworkLibraryVo> page(@RequestBody ArtworkLibrarySelectDto dto) {
+        return artworkLibraryService.getPage(dto);
+    }
+
+    /**
+     * 图稿库明细
+     */
+    @PostMapping("/detail")
+    public ArtworkLibraryVo detail(@RequestBody BaseSelectDto dto) {
+        return artworkLibraryService.detail(dto.getId());
+    }
+
+    /**
+     * 图稿库新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody ArtworkLibraryDto dto) {
+        artworkLibraryService.add(dto);
+    }
+
+    /**
+     * 图稿库编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody ArtworkLibraryDto dto) {
+        artworkLibraryService.edit(dto);
+    }
+
+    /**
+     * 图稿库删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        artworkLibraryService.delete(dto.getId());
+    }
+
+}

+ 75 - 0
sd-business/src/main/java/com/sd/business/controller/department/DepartmentController.java

@@ -0,0 +1,75 @@
+package com.sd.business.controller.department;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.sd.business.entity.department.dto.DepartmentDto;
+import com.sd.business.entity.department.dto.DepartmentSelectDto;
+import com.sd.business.entity.department.vo.DepartmentVo;
+import com.sd.business.service.department.DepartmentService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * <p>
+ * 事业部 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2023-11-09
+ */
+@RestController
+@RequestMapping("/department")
+public class DepartmentController {
+
+    @Autowired
+    private DepartmentService departmentService;
+
+    /**
+     * 事业部分页
+     */
+    @PostMapping("/page")
+    public Page<DepartmentVo> page(@RequestBody DepartmentSelectDto dto) {
+        return departmentService.getPage(dto);
+    }
+
+    /**
+     * 事业部明细
+     */
+    @PostMapping("/detail")
+    public DepartmentVo detail(@RequestBody BaseSelectDto dto) {
+        return departmentService.detail(dto.getId());
+    }
+
+    /**
+     * 事业部新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody DepartmentDto dto) {
+        synchronized (this) {
+            departmentService.add(dto);
+        }
+    }
+
+    /**
+     * 事业部编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody DepartmentDto dto) {
+        synchronized (this) {
+            departmentService.edit(dto);
+        }
+    }
+
+    /**
+     * 事业部删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        departmentService.delete(dto.getId());
+    }
+
+}

+ 23 - 24
sd-business/src/main/java/com/sd/business/controller/sku/SkuController.java

@@ -2,7 +2,6 @@ package com.sd.business.controller.sku;
 
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.BaseSelectDto;
 import com.ruoyi.common.core.domain.BaseSelectDto;
-import com.sd.business.entity.sku.dto.SkuDto;
 import com.sd.business.entity.sku.dto.SkuSelectDto;
 import com.sd.business.entity.sku.dto.SkuSelectDto;
 import com.sd.business.entity.sku.vo.SkuVo;
 import com.sd.business.entity.sku.vo.SkuVo;
 import com.sd.business.service.sku.SkuService;
 import com.sd.business.service.sku.SkuService;
@@ -44,28 +43,28 @@ public class SkuController {
         return skuService.detail(dto.getId());
         return skuService.detail(dto.getId());
     }
     }
 
 
-    /**
-     * sku新增
-     */
-    @PostMapping("/add")
-    public void add(@RequestBody SkuDto dto) {
-        skuService.add(dto);
-    }
-
-    /**
-     * sku编辑
-     */
-    @PostMapping("/edit")
-    public void edit(@RequestBody SkuDto dto) {
-        skuService.edit(dto);
-    }
-
-    /**
-     * sku删除
-     */
-    @PostMapping("/delete")
-    public void delete(@RequestBody BaseSelectDto dto) {
-        skuService.delete(dto.getId());
-    }
+//    /**
+//     * sku新增
+//     */
+//    @PostMapping("/add")
+//    public void add(@RequestBody SkuDto dto) {
+//        skuService.add(dto);
+//    }
+//
+//    /**
+//     * sku编辑
+//     */
+//    @PostMapping("/edit")
+//    public void edit(@RequestBody SkuDto dto) {
+//        skuService.edit(dto);
+//    }
+//
+//    /**
+//     * sku删除
+//     */
+//    @PostMapping("/delete")
+//    public void delete(@RequestBody BaseSelectDto dto) {
+//        skuService.delete(dto.getId());
+//    }
 
 
 }
 }

+ 17 - 0
sd-business/src/main/java/com/sd/business/entity/artwork/dto/ArtworkLibraryDto.java

@@ -0,0 +1,17 @@
+package com.sd.business.entity.artwork.dto;
+
+import com.sd.business.entity.artwork.po.ArtworkLibrary;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 图稿库新增编辑入参实体
+ *
+ * @author
+ * @since 2023-11-09
+ */
+@Getter
+@Setter
+public class ArtworkLibraryDto extends ArtworkLibrary {
+
+}

+ 27 - 0
sd-business/src/main/java/com/sd/business/entity/artwork/dto/ArtworkLibrarySelectDto.java

@@ -0,0 +1,27 @@
+package com.sd.business.entity.artwork.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 图稿库列表查询入参实体
+ *
+ * @author
+ * @since 2023-11-09
+ */
+@Getter
+@Setter
+public class ArtworkLibrarySelectDto extends BaseSelectDto {
+
+    /**
+     * 图稿名称
+     */
+    private String artworkName;
+
+    /**
+     * 事业部id
+     */
+    private Long departmentId;
+
+}

+ 66 - 0
sd-business/src/main/java/com/sd/business/entity/artwork/po/ArtworkLibrary.java

@@ -0,0 +1,66 @@
+package com.sd.business.entity.artwork.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 图稿库
+ * </p>
+ *
+ * @author
+ * @since 2023-11-09
+ */
+@Getter
+@Setter
+@TableName("artwork_library")
+public class ArtworkLibrary extends BasePo {
+
+    /**
+     * 事业部id
+     */
+    private String departmentId;
+
+    /**
+     * 名称
+     */
+    private String artworkName;
+
+    /**
+     * 图片id
+     */
+    private Long imgId;
+
+    /**
+     * 图片名称
+     */
+    private String imgName;
+
+    /**
+     * 图片链接
+     */
+    private String imgUrl;
+
+    /**
+     * 文件id
+     */
+    private Long fileId;
+
+    /**
+     * 文件名称
+     */
+    private String fileName;
+
+    /**
+     * 文件链接
+     */
+    private String fileUrl;
+
+    /**
+     * 是否下载
+     */
+    private Boolean download;
+
+}

+ 17 - 0
sd-business/src/main/java/com/sd/business/entity/artwork/vo/ArtworkLibraryVo.java

@@ -0,0 +1,17 @@
+package com.sd.business.entity.artwork.vo;
+
+import com.sd.business.entity.artwork.po.ArtworkLibrary;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 图稿库列表查询返回值实体
+ *
+ * @author
+ * @since 2023-11-09
+ */
+@Getter
+@Setter
+public class ArtworkLibraryVo extends ArtworkLibrary {
+
+}

+ 17 - 0
sd-business/src/main/java/com/sd/business/entity/department/dto/DepartmentDto.java

@@ -0,0 +1,17 @@
+package com.sd.business.entity.department.dto;
+
+import com.sd.business.entity.department.po.Department;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 事业部新增编辑入参实体
+ *
+ * @author
+ * @since 2023-11-09
+ */
+@Getter
+@Setter
+public class DepartmentDto extends Department {
+
+}

+ 37 - 0
sd-business/src/main/java/com/sd/business/entity/department/dto/DepartmentSelectDto.java

@@ -0,0 +1,37 @@
+package com.sd.business.entity.department.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 事业部列表查询入参实体
+ *
+ * @author
+ * @since 2023-11-09
+ */
+@Getter
+@Setter
+public class DepartmentSelectDto extends BaseSelectDto {
+
+    /**
+     * 事业部
+     */
+    private String name;
+
+    /**
+     * 售价体系id
+     */
+    private Long priceSystemId;
+
+    /**
+     * 联系人
+     */
+    private String contactPerson;
+
+    /**
+     * 加工计费标准id
+     */
+    private Long priceBillingStandardId;
+
+}

+ 105 - 0
sd-business/src/main/java/com/sd/business/entity/department/po/Department.java

@@ -0,0 +1,105 @@
+package com.sd.business.entity.department.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * 事业部
+ * </p>
+ *
+ * @author
+ * @since 2023-11-09
+ */
+@Getter
+@Setter
+@TableName("department")
+public class Department extends BasePo {
+
+    /**
+     * 管理员账号
+     */
+    private String adminUsername;
+
+    /**
+     * 管理员密码
+     */
+    private String adminPassword;
+
+    /**
+     * 事业部
+     */
+    private String name;
+
+    /**
+     * 事业部电话
+     */
+    private String telephone;
+
+    /**
+     * 事业部地址
+     */
+    private String address;
+
+    /**
+     * 联系人
+     */
+    private String contactPerson;
+
+    /**
+     * 联系人电话
+     */
+    private String contactNumber;
+
+    /**
+     * 售价体系id
+     */
+    private Long priceSystemId;
+
+    /**
+     * 下单模式 字典:department_orderMode
+     */
+    private String orderMode;
+
+    /**
+     * 佣金规则 字典:department_commissionRule
+     */
+    private String commissionRule;
+
+    /**
+     * 状态 0禁用 1启用
+     */
+    private Integer status;
+
+    /**
+     * 信用额度
+     */
+    private BigDecimal lineCredit;
+
+    /**
+     * 已用额度
+     */
+    private BigDecimal usedCredit;
+
+    /**
+     * 万里牛仓库编码 多个用,拼接 字典:warehouse_code
+     */
+    private String wlnWarehouseCode;
+
+    /**
+     * 万里牛品牌 多个用,拼接 字典:wlnBrand
+     */
+    private String wlnBrand;
+
+    /**
+     * 加工计费标准id,多个用,拼接
+     */
+    private String priceBillingStandardId;
+
+    private String oldId;
+
+}

+ 17 - 0
sd-business/src/main/java/com/sd/business/entity/department/vo/DepartmentVo.java

@@ -0,0 +1,17 @@
+package com.sd.business.entity.department.vo;
+
+import com.sd.business.entity.department.po.Department;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 事业部列表查询返回值实体
+ *
+ * @author
+ * @since 2023-11-09
+ */
+@Getter
+@Setter
+public class DepartmentVo extends Department {
+
+}

+ 30 - 0
sd-business/src/main/java/com/sd/business/entity/sku/dto/SkuSelectDto.java

@@ -14,4 +14,34 @@ import lombok.Setter;
 @Setter
 @Setter
 public class SkuSelectDto extends BaseSelectDto {
 public class SkuSelectDto extends BaseSelectDto {
 
 
+    /**
+     * 群组品号
+     */
+    private String code;
+
+    /**
+     * 群组品名
+     */
+    private String name;
+
+    /**
+     * 类型 0非集团SKU 1集团SKU
+     */
+    private Integer type;
+
+    /**
+     * 品牌
+     */
+    private String brand;
+
+    /**
+     * 品号
+     */
+    private String specCode;
+
+    /**
+     * 品名
+     */
+    private String specName;
+
 }
 }

+ 8 - 0
sd-business/src/main/java/com/sd/business/entity/sku/vo/SkuVo.java

@@ -1,9 +1,12 @@
 package com.sd.business.entity.sku.vo;
 package com.sd.business.entity.sku.vo;
 
 
 import com.sd.business.entity.sku.po.Sku;
 import com.sd.business.entity.sku.po.Sku;
+import com.sd.business.entity.sku.po.SkuSpec;
 import lombok.Getter;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.Setter;
 
 
+import java.util.List;
+
 /**
 /**
  * sku列表查询返回值实体
  * sku列表查询返回值实体
  *
  *
@@ -14,4 +17,9 @@ import lombok.Setter;
 @Setter
 @Setter
 public class SkuVo extends Sku {
 public class SkuVo extends Sku {
 
 
+    /**
+     * sku规格列表
+     */
+    private List<? extends SkuSpec> skuSpecList;
+
 }
 }

+ 16 - 0
sd-business/src/main/java/com/sd/business/mapper/artwork/ArtworkLibraryMapper.java

@@ -0,0 +1,16 @@
+package com.sd.business.mapper.artwork;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sd.business.entity.artwork.po.ArtworkLibrary;
+
+/**
+ * <p>
+ * 图稿库 Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2023-11-09
+ */
+public interface ArtworkLibraryMapper extends BaseMapper<ArtworkLibrary> {
+
+}

+ 16 - 0
sd-business/src/main/java/com/sd/business/mapper/department/DepartmentMapper.java

@@ -0,0 +1,16 @@
+package com.sd.business.mapper.department;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sd.business.entity.department.po.Department;
+
+/**
+ * <p>
+ * 事业部 Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2023-11-09
+ */
+public interface DepartmentMapper extends BaseMapper<Department> {
+
+}

+ 46 - 0
sd-business/src/main/java/com/sd/business/service/artwork/ArtworkLibraryService.java

@@ -0,0 +1,46 @@
+package com.sd.business.service.artwork;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.service.BaseService;
+import com.sd.business.entity.artwork.dto.ArtworkLibraryDto;
+import com.sd.business.entity.artwork.dto.ArtworkLibrarySelectDto;
+import com.sd.business.entity.artwork.po.ArtworkLibrary;
+import com.sd.business.entity.artwork.vo.ArtworkLibraryVo;
+
+
+/**
+ * <p>
+ * 图稿库 服务类
+ * </p>
+ *
+ * @author
+ * @since 2023-11-09
+ */
+public interface ArtworkLibraryService extends BaseService<ArtworkLibrary> {
+
+    /**
+     * 图稿库分页
+     */
+    Page<ArtworkLibraryVo> getPage(ArtworkLibrarySelectDto dto);
+
+    /**
+     * 图稿库明细
+     */
+    ArtworkLibraryVo detail(Long id);
+
+    /**
+     * 图稿库新增
+     */
+    void add(ArtworkLibraryDto dto);
+
+    /**
+     * 图稿库编辑
+     */
+    void edit(ArtworkLibraryDto dto);
+
+    /**
+     * 图稿库删除
+     */
+    void delete(Long id);
+
+}

+ 70 - 0
sd-business/src/main/java/com/sd/business/service/artwork/impl/ArtworkLibraryServiceImpl.java

@@ -0,0 +1,70 @@
+package com.sd.business.service.artwork.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sd.business.entity.artwork.dto.ArtworkLibraryDto;
+import com.sd.business.entity.artwork.dto.ArtworkLibrarySelectDto;
+import com.sd.business.entity.artwork.po.ArtworkLibrary;
+import com.sd.business.entity.artwork.vo.ArtworkLibraryVo;
+import com.sd.business.mapper.artwork.ArtworkLibraryMapper;
+import com.sd.business.service.artwork.ArtworkLibraryService;
+import com.sd.framework.util.Assert;
+import com.sd.framework.util.sql.Sql;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * <p>
+ * 图稿库 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2023-11-09
+ */
+@Service
+public class ArtworkLibraryServiceImpl extends ServiceImpl<ArtworkLibraryMapper, ArtworkLibrary> implements ArtworkLibraryService {
+
+    @Override
+    public Page<ArtworkLibraryVo> getPage(ArtworkLibrarySelectDto dto) {
+
+        Page<ArtworkLibraryVo> page = Sql.create(ArtworkLibraryVo.class)
+                .selectAll(ArtworkLibrary.class)
+                .from(ArtworkLibrary.class)
+                .like(ArtworkLibrary::getArtworkName, dto.getArtworkName())
+                .findInSet(ArtworkLibrary::getDepartmentId, dto.getDepartmentId())
+                .orderByDesc(ArtworkLibrary::getId)
+                .page(dto.getPage());
+
+        return page;
+    }
+
+    @Override
+    public ArtworkLibraryVo detail(Long id) {
+
+        ArtworkLibraryVo vo = Sql.create(ArtworkLibraryVo.class)
+                .selectAll(ArtworkLibrary.class)
+                .from(ArtworkLibrary.class)
+                .eq(ArtworkLibrary::getId, id)
+                .one();
+
+        Assert.notNull(vo, "未知数据");
+
+        return vo;
+    }
+
+    @Override
+    public void add(ArtworkLibraryDto dto) {
+        save(dto);
+    }
+
+    @Override
+    public void edit(ArtworkLibraryDto dto) {
+        updateById(dto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        removeById(id);
+    }
+
+}

+ 46 - 0
sd-business/src/main/java/com/sd/business/service/department/DepartmentService.java

@@ -0,0 +1,46 @@
+package com.sd.business.service.department;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.service.BaseService;
+import com.sd.business.entity.department.dto.DepartmentDto;
+import com.sd.business.entity.department.dto.DepartmentSelectDto;
+import com.sd.business.entity.department.po.Department;
+import com.sd.business.entity.department.vo.DepartmentVo;
+
+
+/**
+ * <p>
+ * 事业部 服务类
+ * </p>
+ *
+ * @author
+ * @since 2023-11-09
+ */
+public interface DepartmentService extends BaseService<Department> {
+
+    /**
+     * 事业部分页
+     */
+    Page<DepartmentVo> getPage(DepartmentSelectDto dto);
+
+    /**
+     * 事业部明细
+     */
+    DepartmentVo detail(Long id);
+
+    /**
+     * 事业部新增
+     */
+    void add(DepartmentDto dto);
+
+    /**
+     * 事业部编辑
+     */
+    void edit(DepartmentDto dto);
+
+    /**
+     * 事业部删除
+     */
+    void delete(Long id);
+
+}

+ 162 - 0
sd-business/src/main/java/com/sd/business/service/department/impl/DepartmentServiceImpl.java

@@ -0,0 +1,162 @@
+package com.sd.business.service.department.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.annotation.TenantIgnore;
+import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.system.service.ISysDeptService;
+import com.ruoyi.system.service.ISysRoleService;
+import com.ruoyi.system.service.ISysUserService;
+import com.sd.business.entity.department.dto.DepartmentDto;
+import com.sd.business.entity.department.dto.DepartmentSelectDto;
+import com.sd.business.entity.department.po.Department;
+import com.sd.business.entity.department.vo.DepartmentVo;
+import com.sd.business.mapper.department.DepartmentMapper;
+import com.sd.business.service.department.DepartmentService;
+import com.sd.framework.util.Assert;
+import com.sd.framework.util.sql.Sql;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+
+/**
+ * <p>
+ * 事业部 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2023-11-09
+ */
+@Service
+public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Department> implements DepartmentService {
+
+    @Autowired
+    private ISysUserService sysUserService;
+
+    @Autowired
+    private ISysDeptService sysDeptService;
+
+    @Autowired
+    private ISysRoleService sysRoleService;
+
+    @Override
+    public Page<DepartmentVo> getPage(DepartmentSelectDto dto) {
+
+        List<Long> detpIdList = sysUserService.getDetpIdListByUserId(SecurityUtils.getUserId());
+
+        Page<DepartmentVo> page = Sql.create(DepartmentVo.class)
+                .selectAll(Department.class)
+                .from(Department.class)
+                .in(Department::getId, detpIdList)
+                .like(Department::getName, dto.getName())
+                .eq(Department::getPriceSystemId, dto.getPriceSystemId())
+                .like(Department::getContactPerson, dto.getContactPerson())
+                .findInSet(Department::getPriceBillingStandardId, dto.getPriceBillingStandardId())
+                .orderByDesc(Department::getId)
+                .page(dto.getPage());
+
+        return page;
+    }
+
+    @Override
+    public DepartmentVo detail(Long id) {
+
+        DepartmentVo vo = Sql.create(DepartmentVo.class)
+                .selectAll(Department.class)
+                .from(Department.class)
+                .eq(Department::getId, id)
+                .one();
+
+        Assert.notNull(vo, "未知数据");
+
+        return vo;
+    }
+
+    @TenantIgnore
+    @DSTransactional
+    @Override
+    public void add(DepartmentDto dto) {
+        Date date = new Date();
+        String tenantId = "000000";
+        String name = dto.getName();
+        String adminUsername = dto.getAdminUsername();
+        String adminPassword = dto.getAdminPassword();
+
+        long count = sysUserService.count(Wrappers.<SysUser>lambdaQuery()
+                .eq(SysUser::getUserName, adminUsername).last("limit 1"));
+        if (count != 0) {
+            throw new ServiceException("用户名已存在");
+        }
+
+        SysDept sysDept = new SysDept();
+        sysDept.setDeptName(name);
+        sysDept.setParentId(0L);
+        sysDept.setOrderNum(1);
+        sysDept.setStatus("0");
+        sysDept.setType(0);
+        sysDept.setTenantId(tenantId);
+        sysDept.setCreateBy("admin");
+        sysDept.setCreateTime(date);
+        sysDeptService.save(sysDept);
+
+        SysUser sysUser = new SysUser();
+        sysUser.setDeptId(sysDept.getDeptId());
+        sysUser.setUserName(adminUsername);
+        sysUser.setNickName(name + "管理员");
+        sysUser.setPassword(SecurityUtils.encryptPassword(adminPassword));
+        sysUser.setStatus("0");
+        sysUser.setTenantId(tenantId);
+        sysUser.setCreateBy("admin");
+        sysUser.setCreateTime(date);
+        sysUserService.save(sysUser);
+
+        sysRoleService.insertAuthUsers(10L, new Long[]{sysUser.getUserId()});
+
+        dto.setId(sysDept.getDeptId());
+        save(dto);
+    }
+
+    @TenantIgnore
+    @DSTransactional
+    @Override
+    public void edit(DepartmentDto dto) {
+
+        Department department = getById(dto.getId());
+
+        if (ObjectUtil.notEqual(department.getAdminUsername(), dto.getAdminUsername())) {
+            long count = sysUserService.count(Wrappers.<SysUser>lambdaQuery()
+                    .eq(SysUser::getUserName, dto.getAdminUsername()).last("limit 1"));
+            if (count != 0) {
+                throw new ServiceException("用户名已存在");
+            }
+
+            SysUser oldUser = sysUserService.getOne(Wrappers.<SysUser>lambdaQuery()
+                    .eq(SysUser::getUserName, department.getAdminUsername()).last("limit 1"));
+            oldUser.setUserName(dto.getAdminUsername());
+            oldUser.setPassword(SecurityUtils.encryptPassword(dto.getAdminPassword()));
+            sysUserService.updateById(oldUser);
+        } else if (ObjectUtil.notEqual(department.getAdminPassword(), dto.getAdminPassword())) {
+            sysUserService.update(Wrappers.lambdaUpdate(SysUser.class)
+                    .eq(SysUser::getUserName, dto.getAdminUsername())
+                    .set(SysUser::getPassword, SecurityUtils.encryptPassword(dto.getAdminPassword()))
+            );
+        }
+
+        updateById(dto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        removeById(id);
+    }
+
+}

+ 14 - 15
sd-business/src/main/java/com/sd/business/service/sku/SkuService.java

@@ -2,7 +2,6 @@ package com.sd.business.service.sku;
 
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.service.BaseService;
 import com.ruoyi.common.core.service.BaseService;
-import com.sd.business.entity.sku.dto.SkuDto;
 import com.sd.business.entity.sku.dto.SkuSelectDto;
 import com.sd.business.entity.sku.dto.SkuSelectDto;
 import com.sd.business.entity.sku.po.Sku;
 import com.sd.business.entity.sku.po.Sku;
 import com.sd.business.entity.sku.vo.SkuVo;
 import com.sd.business.entity.sku.vo.SkuVo;
@@ -28,19 +27,19 @@ public interface SkuService extends BaseService<Sku> {
      */
      */
     SkuVo detail(Long id);
     SkuVo detail(Long id);
 
 
-    /**
-     * sku新增
-     */
-    void add(SkuDto dto);
-
-    /**
-     * sku编辑
-     */
-    void edit(SkuDto dto);
-
-    /**
-     * sku删除
-     */
-    void delete(Long id);
+//    /**
+//     * sku新增
+//     */
+//    void add(SkuDto dto);
+//
+//    /**
+//     * sku编辑
+//     */
+//    void edit(SkuDto dto);
+//
+//    /**
+//     * sku删除
+//     */
+//    void delete(Long id);
 
 
 }
 }

+ 67 - 16
sd-business/src/main/java/com/sd/business/service/sku/impl/SkuServiceImpl.java

@@ -1,17 +1,27 @@
 package com.sd.business.service.sku.impl;
 package com.sd.business.service.sku.impl;
 
 
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.sd.business.entity.sku.dto.SkuDto;
+import com.ruoyi.common.core.domain.BaseIdPo;
 import com.sd.business.entity.sku.dto.SkuSelectDto;
 import com.sd.business.entity.sku.dto.SkuSelectDto;
 import com.sd.business.entity.sku.po.Sku;
 import com.sd.business.entity.sku.po.Sku;
+import com.sd.business.entity.sku.po.SkuSpec;
+import com.sd.business.entity.sku.vo.SkuSpecVo;
 import com.sd.business.entity.sku.vo.SkuVo;
 import com.sd.business.entity.sku.vo.SkuVo;
 import com.sd.business.mapper.sku.SkuMapper;
 import com.sd.business.mapper.sku.SkuMapper;
 import com.sd.business.service.sku.SkuService;
 import com.sd.business.service.sku.SkuService;
+import com.sd.business.service.sku.SkuSpecService;
 import com.sd.framework.util.Assert;
 import com.sd.framework.util.Assert;
 import com.sd.framework.util.sql.Sql;
 import com.sd.framework.util.sql.Sql;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
 
 
 /**
 /**
  * <p>
  * <p>
@@ -24,45 +34,86 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class SkuServiceImpl extends ServiceImpl<SkuMapper, Sku> implements SkuService {
 public class SkuServiceImpl extends ServiceImpl<SkuMapper, Sku> implements SkuService {
 
 
+    @Autowired
+    private SkuSpecService skuSpecService;
+
     @Override
     @Override
     public Page<SkuVo> getPage(SkuSelectDto dto) {
     public Page<SkuVo> getPage(SkuSelectDto dto) {
 
 
+        // sku规格品号品名查询
+        List<Long> selectSkuIdList = null;
+        if (StrUtil.isNotBlank(dto.getSpecCode()) || StrUtil.isNotBlank(dto.getSpecName())) {
+            selectSkuIdList = skuSpecService.listObject(SkuSpec::getSkuId, q -> q
+                    .like(StrUtil.isNotBlank(dto.getSpecCode()), SkuSpec::getCode, dto.getSpecCode())
+                    .like(StrUtil.isNotBlank(dto.getSpecName()), SkuSpec::getName, dto.getSpecName()));
+            if (selectSkuIdList.isEmpty()) {
+                return new Page<>();
+            }
+        }
+
+        // sku分页
         Page<SkuVo> page = Sql.create(SkuVo.class)
         Page<SkuVo> page = Sql.create(SkuVo.class)
                 .selectAll(Sku.class)
                 .selectAll(Sku.class)
                 .from(Sku.class)
                 .from(Sku.class)
+                .in(Sku::getId, selectSkuIdList)
+                .like(Sku::getCode, dto.getCode())
+                .like(Sku::getName, dto.getName())
+                .eq(Sku::getType, dto.getType())
+                .eq(Sku::getBrand, dto.getBrand())
                 .orderByDesc(Sku::getId)
                 .orderByDesc(Sku::getId)
                 .page(dto.getPage());
                 .page(dto.getPage());
 
 
+        List<SkuVo> records = page.getRecords();
+        if (records.isEmpty()) {
+            return page;
+        }
+
+        // 赋值sku规格
+        List<Long> skuIdList = records.stream().map(BaseIdPo::getId).collect(Collectors.toList());
+        Map<Long, List<SkuSpec>> skuSpecMap = skuSpecService.mapKGroup(SkuSpec::getSkuId, q -> q
+                .in(SkuSpec::getSkuId, skuIdList)
+                .like(StrUtil.isNotBlank(dto.getSpecCode()), SkuSpec::getCode, dto.getSpecCode())
+                .like(StrUtil.isNotBlank(dto.getSpecName()), SkuSpec::getName, dto.getSpecName()));
+        records.forEach(item -> item.setSkuSpecList(skuSpecMap.getOrDefault(item.getId(), Collections.emptyList())));
+
         return page;
         return page;
     }
     }
 
 
     @Override
     @Override
     public SkuVo detail(Long id) {
     public SkuVo detail(Long id) {
 
 
+        // sku详情
         SkuVo vo = Sql.create(SkuVo.class)
         SkuVo vo = Sql.create(SkuVo.class)
                 .selectAll(Sku.class)
                 .selectAll(Sku.class)
                 .from(Sku.class)
                 .from(Sku.class)
                 .eq(Sku::getId, id)
                 .eq(Sku::getId, id)
                 .one();
                 .one();
-
         Assert.notNull(vo, "未知数据");
         Assert.notNull(vo, "未知数据");
 
 
-        return vo;
-    }
+        // 赋值sku规格
+        List<SkuSpecVo> skuSpecList = Sql.create(SkuSpecVo.class)
+                .selectAll(SkuSpec.class)
+                .from(SkuSpecVo.class)
+                .eq(SkuSpec::getSkuId, id)
+                .list();
+        vo.setSkuSpecList(skuSpecList);
 
 
-    @Override
-    public void add(SkuDto dto) {
-        save(dto);
-    }
-
-    @Override
-    public void edit(SkuDto dto) {
-        updateById(dto);
+        return vo;
     }
     }
 
 
-    @Override
-    public void delete(Long id) {
-        removeById(id);
-    }
+//    @Override
+//    public void add(SkuDto dto) {
+//        save(dto);
+//    }
+//
+//    @Override
+//    public void edit(SkuDto dto) {
+//        updateById(dto);
+//    }
+//
+//    @Override
+//    public void delete(Long id) {
+//        removeById(id);
+//    }
 
 
 }
 }

+ 5 - 0
sd-business/src/main/resources/mapper/artwork/ArtworkLibraryMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sd.business.mapper.artwork.ArtworkLibraryMapper">
+
+</mapper>

+ 5 - 0
sd-business/src/main/resources/mapper/department/DepartmentMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sd.business.mapper.department.DepartmentMapper">
+
+</mapper>

+ 11 - 0
sd-framework/src/main/java/com/sd/framework/util/sql/Where.java

@@ -268,6 +268,17 @@ public class Where<T> extends AbstractWrapper<T, String, Where<T>> {
         return notIn(sql.getSqlFieldName(alias, function), value);
         return notIn(sql.getSqlFieldName(alias, function), value);
     }
     }
 
 
+    /**
+     * findInSet
+     */
+    public <K, V> Where<T> findInSet(SFunction<K, V> function, Object value) {
+        return apply(ObjectUtil.isNotEmpty(value), "find_in_set({0}, " + sql.getSqlFieldName(function) + ")", value);
+    }
+
+    public <K, V> Where<T> findInSet(String alias, SFunction<K, V> function, Object value) {
+        return apply(ObjectUtil.isNotEmpty(value), "find_in_set({0}, " + sql.getSqlFieldName(alias, function) + ")", value);
+    }
+
     @Override
     @Override
     protected Where<T> instance() {
     protected Where<T> instance() {
         return new Where<>(sql, getEntity(), getEntityClass(), paramNameSeq, paramNameValuePairs, new MergeSegments(),
         return new Where<>(sql, getEntity(), getEntityClass(), paramNameSeq, paramNameValuePairs, new MergeSegments(),