commit 29546538c363a4cbb97755f5718db32ac3ea242b
Author: yxt_njy <119782786@qq.com>
Date: Wed Apr 24 09:09:53 2024 +0800
user项目
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a70b169
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,116 @@
+# ---> Java
+# Compiled class file
+*.class
+
+# Log file
+*.log
+
+# BlueJ files
+*.ctxt
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.nar
+*.ear
+*.zip
+*.tar.gz
+*.rar
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
+
+# ---> Maven
+target/
+pom.xml.tag
+pom.xml.releaseBackup
+pom.xml.versionsBackup
+pom.xml.next
+release.properties
+dependency-reduced-pom.xml
+buildNumber.properties
+.mvn/timing.properties
+# https://github.com/takari/maven-wrapper#usage-without-binary-jar
+.mvn/wrapper/maven-wrapper.jar
+
+# ---> JetBrains
+# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
+# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
+
+# User-specific stuff
+.idea/**/workspace.xml
+.idea/**/tasks.xml
+.idea/**/usage.statistics.xml
+.idea/**/dictionaries
+.idea/**/shelf
+
+# AWS User-specific
+.idea/**/aws.xml
+
+# Generated files
+.idea/**/contentModel.xml
+
+# Sensitive or high-churn files
+.idea/**/dataSources/
+.idea/**/dataSources.ids
+.idea/**/dataSources.local.xml
+.idea/**/sqlDataSources.xml
+.idea/**/dynamic.xml
+.idea/**/uiDesigner.xml
+.idea/**/dbnavigator.xml
+
+# Gradle
+.idea/**/gradle.xml
+.idea/**/libraries
+
+# Gradle and Maven with auto-import
+# When using Gradle or Maven with auto-import, you should exclude module files,
+# since they will be recreated, and may cause churn. Uncomment if using
+# auto-import.
+# .idea/artifacts
+# .idea/compiler.xml
+# .idea/jarRepositories.xml
+# .idea/modules.xml
+# .idea/*.iml
+# .idea/modules
+# *.iml
+# *.ipr
+
+# CMake
+cmake-build-*/
+
+# Mongo Explorer plugin
+.idea/**/mongoSettings.xml
+
+# File-based project format
+*.iws
+
+# IntelliJ
+out/
+
+# mpeltonen/sbt-idea plugin
+.idea_modules/
+
+# JIRA plugin
+atlassian-ide-plugin.xml
+
+# Cursive Clojure plugin
+.idea/replstate.xml
+
+# Crashlytics plugin (for Android Studio and IntelliJ)
+com_crashlytics_export_strings.xml
+crashlytics.properties
+crashlytics-build.properties
+fabric.properties
+
+# Editor-based Rest Client
+.idea/httpRequests
+
+# Android studio 3.1+ serialized cache file
+.idea/caches/build_file_checksums.ser
+
+**/.idea/
+**/logs/
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..e69de29
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..ae052fe
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,133 @@
+
+
+
+
+ com.yxt
+ yxt-parent
+ 0.0.1
+
+
+ 4.0.0
+
+ ss-common-user
+ ss-common-user
+ 2.0.1
+
+
+
+ com.yxt
+ yxt-common-base
+ 0.0.1
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+
+
+
+
+ mysql
+ mysql-connector-java
+ runtime
+
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+
+
+ com.baomidou
+ mybatis-plus-annotation
+
+
+ junit
+ junit
+ compile
+
+
+
+ org.projectlombok
+ lombok
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+ cn.dev33
+ sa-token-spring-boot-starter
+ 1.37.0
+
+
+ cn.hutool
+ hutool-all
+ 5.8.23
+
+
+ cn.hutool
+ hutool-core
+ 5.8.23
+
+
+ com.google.zxing
+ core
+ 3.5.2
+
+
+ com.alibaba
+ easyexcel
+ 3.3.2
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+ 2.5.6
+
+
+
+ repackage
+
+
+
+
+
+
+
+ src/main/java
+
+ **/*Mapper.xml
+
+
+
+ src/main/resources
+
+ **/*.*
+
+ false
+
+
+
+
+
diff --git a/src/main/java/com/yxt/user/UserApplication.java b/src/main/java/com/yxt/user/UserApplication.java
new file mode 100644
index 0000000..4299157
--- /dev/null
+++ b/src/main/java/com/yxt/user/UserApplication.java
@@ -0,0 +1,24 @@
+package com.yxt.goods;
+
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+/**
+ * @author dimengzhe
+ */
+@SpringBootApplication(scanBasePackages = {
+ "com.yxt.goods.config",
+ "com.yxt.common.base.config",
+ "com.yxt.goods"
+})
+// 启用自带定时任务
+@EnableScheduling
+@EnableFeignClients(basePackages = {})
+public class GoodsApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(GoodsApplication.class, args);
+ }
+}
diff --git a/src/main/java/com/yxt/user/apiadmin/AdminHomeRest.java b/src/main/java/com/yxt/user/apiadmin/AdminHomeRest.java
new file mode 100644
index 0000000..12f361d
--- /dev/null
+++ b/src/main/java/com/yxt/user/apiadmin/AdminHomeRest.java
@@ -0,0 +1,10 @@
+package com.yxt.goods.apiadmin;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController("com.yxt.base.apiadmin.AdminHomeRest")
+@RequestMapping("/apiadmin/home")
+public class AdminHomeRest {
+
+}
diff --git a/src/main/java/com/yxt/user/apiadmin/base/BaseCategoryBrandRest.java b/src/main/java/com/yxt/user/apiadmin/base/BaseCategoryBrandRest.java
new file mode 100644
index 0000000..1f1bb7f
--- /dev/null
+++ b/src/main/java/com/yxt/user/apiadmin/base/BaseCategoryBrandRest.java
@@ -0,0 +1,55 @@
+package com.yxt.user.apiadmin.base;
+
+import com.yxt.goods.biz.base.basecategorybrand.BaseCategoryBrandDto;
+import com.yxt.goods.biz.base.basecategorybrand.BaseCategoryBrandQuery;
+import com.yxt.goods.biz.base.basecategorybrand.BaseCategoryBrandService;
+import com.yxt.goods.biz.base.basecategorybrand.BaseCategoryBrandVo;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author wangpengfei
+ * @date 2024/4/10 9:57
+ */
+@Api(tags = "品牌与商品类别关联")
+@RestController
+@RequestMapping("/apiadmin/base/basecategorybrand")
+public class BaseCategoryBrandRest {
+ @Autowired
+ BaseCategoryBrandService baseCategoryBrandService;
+
+ @ApiOperation("分页列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq) {
+ return baseCategoryBrandService.listPage(pq);
+ }
+
+ @ApiOperation("保存修改")
+ @PostMapping("/saveOrUpdate")
+ public ResultBean saveOrUpdate(@RequestBody BaseCategoryBrandDto dto) {
+ return baseCategoryBrandService.saveOrUpdate(dto);
+ }
+
+ @ApiOperation("初始化")
+ @GetMapping("/initialization/{sid}")
+ public ResultBean initialization(@PathVariable("sid") String sid) {
+ return baseCategoryBrandService.initialization(sid);
+ }
+
+ @ApiOperation("删除")
+ @DeleteMapping("/delete/{sid}")
+ public ResultBean delete(@PathVariable("sid") String sid) {
+ return baseCategoryBrandService.delete(sid);
+ }
+
+ @ApiOperation("更改可用状态")
+ @GetMapping("/updateIsEnable/{sid}/{isEnable}")
+ public ResultBean updateIsEnable(@PathVariable("sid") String sid, @PathVariable("isEnable") String isEnable) {
+ return baseCategoryBrandService.updateIsEnable(sid, isEnable);
+ }
+}
diff --git a/src/main/java/com/yxt/user/apiadmin/base/BaseGoodsBrandRest.java b/src/main/java/com/yxt/user/apiadmin/base/BaseGoodsBrandRest.java
new file mode 100644
index 0000000..9519d28
--- /dev/null
+++ b/src/main/java/com/yxt/user/apiadmin/base/BaseGoodsBrandRest.java
@@ -0,0 +1,60 @@
+package com.yxt.user.apiadmin.base;
+
+import com.yxt.goods.biz.base.basebrandinfo.*;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 15:49
+ */
+@Api(tags = "商品品牌")
+@RestController
+@RequestMapping("/apiadmin/base/basegoodsbrand")
+public class BaseGoodsBrandRest {
+
+ @Autowired
+ BaseBrandInfoService baseBrandInfoService;
+
+ @ApiOperation("分页列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq) {
+ return baseBrandInfoService.listPage(pq);
+ }
+ @ApiOperation("查询所有的品牌")
+ @GetMapping("/listAll")
+ public ResultBean> listAll() {
+ return baseBrandInfoService.listAll();
+ }
+ @ApiOperation("保存修改")
+ @PostMapping("/saveOrUpdate")
+ public ResultBean saveOrUpdate(@RequestBody BaseBrandInfoDto dto) {
+ return baseBrandInfoService.saveOrUpdate(dto);
+ }
+
+ @ApiOperation("初始化")
+ @GetMapping("/initialization/{sid}")
+ public ResultBean initialization(@PathVariable("sid") String sid) {
+ return baseBrandInfoService.initialization(sid);
+ }
+
+ @ApiOperation("删除")
+ @DeleteMapping("/delete/{sid}")
+ public ResultBean delete(@PathVariable("sid") String sid) {
+ return baseBrandInfoService.delete(sid);
+ }
+
+
+ @ApiOperation("更改可用状态")
+ @GetMapping("/updateIsEnable/{sid}/{isEnable}")
+ public ResultBean updateIsEnable(@PathVariable("sid") String sid,@PathVariable("isEnable")String isEnable) {
+ return baseBrandInfoService.updateIsEnable(sid,isEnable);
+ }
+}
diff --git a/src/main/java/com/yxt/user/apiadmin/base/BaseGoodsSkuExtendRest.java b/src/main/java/com/yxt/user/apiadmin/base/BaseGoodsSkuExtendRest.java
new file mode 100644
index 0000000..c820b17
--- /dev/null
+++ b/src/main/java/com/yxt/user/apiadmin/base/BaseGoodsSkuExtendRest.java
@@ -0,0 +1,55 @@
+package com.yxt.user.apiadmin.base;
+
+import com.yxt.goods.biz.base.basegoodsskuextend.BaseGoodsSkuExtendDto;
+import com.yxt.goods.biz.base.basegoodsskuextend.BaseGoodsSkuExtendQuery;
+import com.yxt.goods.biz.base.basegoodsskuextend.BaseGoodsSkuExtendService;
+import com.yxt.goods.biz.base.basegoodsskuextend.BaseGoodsSkuExtendVo;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author wangpengfei
+ * @date 2024/3/11 15:05
+ */
+@Api(tags = "商品sku扩展")
+@RestController
+@RequestMapping("/apiadmin/base/basegoodsskuextend")
+public class BaseGoodsSkuExtendRest {
+
+ @Autowired
+ BaseGoodsSkuExtendService baseGoodsSkuExtendService;
+
+ @ApiOperation("分页列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq) {
+ return baseGoodsSkuExtendService.listPage(pq);
+ }
+
+ @ApiOperation("保存修改")
+ @PostMapping("/saveOrUpdate")
+ public ResultBean saveOrUpdate(@RequestBody BaseGoodsSkuExtendDto dto) {
+ return baseGoodsSkuExtendService.saveOrUpdate(dto);
+ }
+
+ @ApiOperation("初始化")
+ @GetMapping("/initialization/{sid}")
+ public ResultBean initialization(@PathVariable("sid") String sid) {
+ return baseGoodsSkuExtendService.initialization(sid);
+ }
+
+ @ApiOperation("删除")
+ @DeleteMapping("/delete/{sid}")
+ public ResultBean delete(@PathVariable("sid") String sid) {
+ return baseGoodsSkuExtendService.delete(sid);
+ }
+ @ApiOperation("更改可用状态")
+ @GetMapping("/updateIsEnable/{sid}/{isEnable}")
+ public ResultBean updateIsEnable(@PathVariable("sid") String sid,@PathVariable("isEnable")String isEnable) {
+ return baseGoodsSkuExtendService.updateIsEnable(sid,isEnable);
+ }
+}
diff --git a/src/main/java/com/yxt/user/apiadmin/base/BaseGoodsSkuRest.java b/src/main/java/com/yxt/user/apiadmin/base/BaseGoodsSkuRest.java
new file mode 100644
index 0000000..8f02d56
--- /dev/null
+++ b/src/main/java/com/yxt/user/apiadmin/base/BaseGoodsSkuRest.java
@@ -0,0 +1,72 @@
+package com.yxt.user.apiadmin.base;
+
+import com.yxt.goods.biz.base.basegoodssku.*;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author wangpengfei
+ * @date 2024/3/11 14:27
+ */
+@Api(tags = "商品sku")
+@RestController
+@RequestMapping("/apiadmin/base/basegoodssku")
+public class BaseGoodsSkuRest {
+ @Autowired
+ BaseGoodsSkuService baseGoodsSkuService;
+
+ @ApiOperation("分页列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq) {
+ return baseGoodsSkuService.listPage(pq);
+ }
+
+ @ApiOperation("保存修改")
+ @PostMapping("/saveOrUpdate")
+ public ResultBean saveOrUpdate(@RequestBody BaseGoodsSkuDto dto) {
+ return baseGoodsSkuService.saveOrUpdate(dto);
+ }
+
+ @ApiOperation("初始化")
+ @GetMapping("/initialization/{sid}")
+ public ResultBean initialization(@PathVariable("sid") String sid) {
+ return baseGoodsSkuService.initialization(sid);
+ }
+
+ @ApiOperation("删除")
+ @DeleteMapping("/delete/{sid}")
+ public ResultBean delete(@PathVariable("sid") String sid) {
+ return baseGoodsSkuService.delete(sid);
+ }
+
+ @ApiOperation("更改可用状态")
+ @GetMapping("/updateIsEnable/{sid}/{isEnable}")
+ public ResultBean updateIsEnable(@PathVariable("sid") String sid, @PathVariable("isEnable") String isEnable) {
+ return baseGoodsSkuService.updateIsEnable(sid, isEnable);
+ }
+
+ @ApiOperation("获取商品信息")
+ @GetMapping("/getDetails")
+ ResultBean getDetails(@RequestParam("sid") String sid) {
+ return baseGoodsSkuService.getDetails(sid);
+ }
+
+ @ApiOperation("入库添加商品列表")
+ @PostMapping("/getSelectList")
+ ResultBean> getSelectList(@RequestBody PagerQuery pagerQuery) {
+ ResultBean> rb = ResultBean.fireFail();
+ PagerVo pv = baseGoodsSkuService.getSelectList(pagerQuery);
+ return rb.success().setData(pv);
+ }
+
+ @ApiOperation("采购商品分页列表")
+ @PostMapping("/purGoodsListPage")
+ public ResultBean> purGoodsListPage(@RequestBody PagerQuery pq) {
+ return baseGoodsSkuService.purGoodsListPage(pq);
+ }
+}
diff --git a/src/main/java/com/yxt/user/apiadmin/base/BaseGoodsSpuDetailRest.java b/src/main/java/com/yxt/user/apiadmin/base/BaseGoodsSpuDetailRest.java
new file mode 100644
index 0000000..c701aca
--- /dev/null
+++ b/src/main/java/com/yxt/user/apiadmin/base/BaseGoodsSpuDetailRest.java
@@ -0,0 +1,51 @@
+package com.yxt.user.apiadmin.base;
+
+import com.yxt.goods.biz.base.basegoodsspudetail.BaseGoodsSpuDetailDto;
+import com.yxt.goods.biz.base.basegoodsspudetail.BaseGoodsSpuDetailQuery;
+import com.yxt.goods.biz.base.basegoodsspudetail.BaseGoodsSpuDetailService;
+import com.yxt.goods.biz.base.basegoodsspudetail.BaseGoodsSpuDetailVo;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author wangpengfei
+ * @date 2024/3/21 16:58
+ */
+
+@Api(tags = "商品spu详情")
+@RestController
+@RequestMapping("/apiadmin/base/basegoodsspudetail")
+public class BaseGoodsSpuDetailRest {
+
+ @Autowired
+ BaseGoodsSpuDetailService baseGoodsSpuDetailService;
+
+ @ApiOperation("分页列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq) {
+ return baseGoodsSpuDetailService.listPage(pq);
+ }
+
+ @ApiOperation("保存修改")
+ @PostMapping("/saveOrUpdate")
+ public ResultBean saveOrUpdate(@RequestBody BaseGoodsSpuDetailDto dto) {
+ return baseGoodsSpuDetailService.saveOrUpdate(dto);
+ }
+
+ @ApiOperation("初始化")
+ @GetMapping("/initialization/{sid}")
+ public ResultBean initialization(@PathVariable("sid") String sid) {
+ return baseGoodsSpuDetailService.initialization(sid);
+ }
+
+ @ApiOperation("删除")
+ @DeleteMapping("/delete/{sid}")
+ public ResultBean delete(@PathVariable("sid") String sid) {
+ return baseGoodsSpuDetailService.delete(sid);
+ }
+}
diff --git a/src/main/java/com/yxt/user/apiadmin/base/BaseGoodsSpuRest.java b/src/main/java/com/yxt/user/apiadmin/base/BaseGoodsSpuRest.java
new file mode 100644
index 0000000..9f55350
--- /dev/null
+++ b/src/main/java/com/yxt/user/apiadmin/base/BaseGoodsSpuRest.java
@@ -0,0 +1,58 @@
+package com.yxt.user.apiadmin.base;
+
+import com.yxt.goods.biz.base.basegoodsspu.BaseGoodsSpuDto;
+import com.yxt.goods.biz.base.basegoodsspu.BaseGoodsSpuQuery;
+import com.yxt.goods.biz.base.basegoodsspu.BaseGoodsSpuService;
+import com.yxt.goods.biz.base.basegoodsspu.BaseGoodsSpuVo;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author wangpengfei
+ * @date 2024/3/7 16:58
+ */
+@Api(tags = "商品spu")
+@RestController
+@RequestMapping("/apiadmin/base/basegoodsspu")
+public class BaseGoodsSpuRest {
+ @Autowired
+ BaseGoodsSpuService baseGoodsSpuService;
+
+ @ApiOperation("分页列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq) {
+ return baseGoodsSpuService.listPage(pq);
+ }
+
+ @ApiOperation("保存修改")
+ @PostMapping("/saveOrUpdate")
+ public ResultBean saveOrUpdate(@RequestBody BaseGoodsSpuDto dto) {
+ return baseGoodsSpuService.saveOrUpdate(dto);
+ }
+// @ApiOperation("保存商品信息及sku")
+// @PostMapping("/save")
+// public ResultBean save(@RequestBody BaseGoodsSpuDto dto) {
+// return baseGoodsSpuService.save(dto);
+// }
+ @ApiOperation("初始化")
+ @GetMapping("/initialization/{sid}")
+ public ResultBean initialization(@PathVariable("sid") String sid) {
+ return baseGoodsSpuService.initialization(sid);
+ }
+
+ @ApiOperation("删除")
+ @DeleteMapping("/delete/{sid}")
+ public ResultBean delete(@PathVariable("sid") String sid) {
+ return baseGoodsSpuService.delete(sid);
+ }
+ @ApiOperation("更改可用状态")
+ @GetMapping("/updateIsEnable/{sid}/{isEnable}")
+ public ResultBean updateIsEnable(@PathVariable("sid") String sid,@PathVariable("isEnable")String isEnable) {
+ return baseGoodsSpuService.updateIsEnable(sid,isEnable);
+ }
+}
diff --git a/src/main/java/com/yxt/user/apiadmin/base/BaseGoodsTypeRest.java b/src/main/java/com/yxt/user/apiadmin/base/BaseGoodsTypeRest.java
new file mode 100644
index 0000000..e95fb84
--- /dev/null
+++ b/src/main/java/com/yxt/user/apiadmin/base/BaseGoodsTypeRest.java
@@ -0,0 +1,61 @@
+package com.yxt.user.apiadmin.base;
+
+import com.yxt.goods.biz.base.basegoodstype.*;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:44
+ */
+@Api(tags = "商品类型")
+@RestController
+@RequestMapping("/apiadmin/base/basegoodstype")
+public class BaseGoodsTypeRest {
+ @Autowired
+ BaseGoodsTypeService baseGoodsTypeService;
+
+
+ @ApiOperation("分页列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq) {
+ return baseGoodsTypeService.listPage(pq);
+ }
+ @ApiOperation("查询所有的类别")
+ @GetMapping("/listAll")
+ public ResultBean> listAll() {
+ return baseGoodsTypeService.listAll();
+ }
+
+ @ApiOperation("保存修改")
+ @PostMapping("/saveOrUpdate")
+ public ResultBean saveOrUpdate(@RequestBody BaseGoodsTypeDto dto) {
+ return baseGoodsTypeService.saveOrUpdate(dto);
+ }
+
+ @ApiOperation("初始化")
+ @GetMapping("/initialization/{sid}")
+ public ResultBean initialization(@PathVariable("sid") String sid) {
+ return baseGoodsTypeService.initialization(sid);
+ }
+
+ @ApiOperation("删除")
+ @DeleteMapping("/delete/{sid}")
+ public ResultBean delete(@PathVariable("sid") String sid) {
+ return baseGoodsTypeService.delete(sid);
+ }
+
+
+ @ApiOperation("更改可用状态")
+ @GetMapping("/updateIsEnable/{sid}/{isEnable}")
+ public ResultBean updateIsEnable(@PathVariable("sid") String sid,@PathVariable("isEnable")String isEnable) {
+ return baseGoodsTypeService.updateIsEnable(sid,isEnable);
+ }
+}
diff --git a/src/main/java/com/yxt/user/apiadmin/base/BaseGoodsUnitRest.java b/src/main/java/com/yxt/user/apiadmin/base/BaseGoodsUnitRest.java
new file mode 100644
index 0000000..5f30ee1
--- /dev/null
+++ b/src/main/java/com/yxt/user/apiadmin/base/BaseGoodsUnitRest.java
@@ -0,0 +1,61 @@
+package com.yxt.user.apiadmin.base;
+
+import com.yxt.goods.biz.base.basegoodsunit.*;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @author wangpengfei
+ * @date 2024/3/8 9:19
+ */
+@Api(tags = "商品类型")
+@RestController
+@RequestMapping("/apiadmin/base/basegoodsunit")
+public class BaseGoodsUnitRest {
+ @Autowired
+ BaseGoodsUnitService baseGoodsUnitService;
+
+
+ @ApiOperation("分页列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq) {
+ return baseGoodsUnitService.listPage(pq);
+ }
+ @ApiOperation("查询所有的类别")
+ @GetMapping("/listAll")
+ public ResultBean> listAll() {
+ return baseGoodsUnitService.listAll();
+ }
+
+ @ApiOperation("保存修改")
+ @PostMapping("/saveOrUpdate")
+ public ResultBean saveOrUpdate(@RequestBody BaseGoodsUnitDto dto) {
+ return baseGoodsUnitService.saveOrUpdate(dto);
+ }
+
+ @ApiOperation("初始化")
+ @GetMapping("/initialization/{sid}")
+ public ResultBean initialization(@PathVariable("sid") String sid) {
+ return baseGoodsUnitService.initialization(sid);
+ }
+
+ @ApiOperation("删除")
+ @DeleteMapping("/delete/{sid}")
+ public ResultBean delete(@PathVariable("sid") String sid) {
+ return baseGoodsUnitService.delete(sid);
+ }
+
+
+ @ApiOperation("更改可用状态")
+ @GetMapping("/updateIsEnable/{sid}/{isEnable}")
+ public ResultBean updateIsEnable(@PathVariable("sid") String sid,@PathVariable("isEnable")String isEnable) {
+ return baseGoodsUnitService.updateIsEnable(sid,isEnable);
+ }
+}
diff --git a/src/main/java/com/yxt/user/apiadmin/base/BaseManufacturerRest.java b/src/main/java/com/yxt/user/apiadmin/base/BaseManufacturerRest.java
new file mode 100644
index 0000000..6e54f77
--- /dev/null
+++ b/src/main/java/com/yxt/user/apiadmin/base/BaseManufacturerRest.java
@@ -0,0 +1,69 @@
+package com.yxt.user.apiadmin.base;
+
+import com.yxt.goods.biz.base.basemanufacturer.*;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/27 13:56
+ */
+@Api(tags = "厂家信息")
+@RestController
+@RequestMapping("/apiadmin/base/basemanufacturer")
+public class BaseManufacturerRest {
+
+ @Autowired
+ BaseManufacturerService baseManufacturerService;
+
+ @ApiOperation("分页列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq) {
+ return baseManufacturerService.listPage(pq);
+ }
+
+ @ApiOperation("查询所有的厂家")
+ @GetMapping("/listAll")
+ public ResultBean> listAll() {
+ return baseManufacturerService.listAll();
+ }
+
+ @ApiOperation("保存修改")
+ @PostMapping("/saveOrUpdate")
+ public ResultBean saveOrUpdate(@RequestBody BaseManufacturerDto dto) {
+ return baseManufacturerService.saveOrUpdate(dto);
+ }
+
+ @ApiOperation("初始化")
+ @GetMapping("/initialization/{sid}")
+ public ResultBean initialization(@PathVariable("sid") String sid) {
+ return baseManufacturerService.initialization(sid);
+ }
+
+ @ApiOperation("删除")
+ @DeleteMapping("/delete/{sid}")
+ public ResultBean delete(@PathVariable("sid") String sid) {
+ return baseManufacturerService.delete(sid);
+ }
+
+
+ @ApiOperation("更改可用状态")
+ @GetMapping("/updateIsEnable/{sid}/{isEnable}")
+ public ResultBean updateIsEnable(@PathVariable("sid") String sid, @PathVariable("isEnable") String isEnable) {
+ return baseManufacturerService.updateIsEnable(sid, isEnable);
+ }
+
+ @ApiOperation("查询分公司下所有的厂家")
+ @GetMapping("/getAllTypeByUseOrgSid")
+ public ResultBean> getAllTypeByUseOrgSid(@RequestParam("useOrgSid") String useOrgSid) {
+ return baseManufacturerService.getAllTypeByUseOrgSid(useOrgSid);
+ }
+
+}
diff --git a/src/main/java/com/yxt/user/apiadmin/base/BaseSpecGroupRest.java b/src/main/java/com/yxt/user/apiadmin/base/BaseSpecGroupRest.java
new file mode 100644
index 0000000..4320c78
--- /dev/null
+++ b/src/main/java/com/yxt/user/apiadmin/base/BaseSpecGroupRest.java
@@ -0,0 +1,57 @@
+package com.yxt.user.apiadmin.base;
+
+
+import com.yxt.goods.biz.base.basespecparam.BaseSpecParamDto;
+import com.yxt.goods.biz.base.basespecparam.BaseSpecParamQuery;
+import com.yxt.goods.biz.base.basespecparam.BaseSpecParamService;
+import com.yxt.goods.biz.base.basespecparam.BaseSpecParamVo;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author wangpengfei
+ * @date 2024/3/11 14:27
+ */
+@Api(tags = "规格参数组表")
+@RestController
+@RequestMapping("/apiadmin/base/basespecgroup")
+public class BaseSpecGroupRest {
+ @Autowired
+ BaseSpecParamService baseSpecParamService;
+
+ @ApiOperation("分页列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq) {
+ return baseSpecParamService.listPage(pq);
+ }
+
+ @ApiOperation("保存修改")
+ @PostMapping("/saveOrUpdate")
+ public ResultBean saveOrUpdate(@RequestBody BaseSpecParamDto dto) {
+ return baseSpecParamService.saveOrUpdate(dto);
+ }
+
+ @ApiOperation("初始化")
+ @GetMapping("/initialization/{sid}")
+ public ResultBean initialization(@PathVariable("sid") String sid) {
+ return baseSpecParamService.initialization(sid);
+ }
+
+ @ApiOperation("删除")
+ @DeleteMapping("/delete/{sid}")
+ public ResultBean delete(@PathVariable("sid") String sid) {
+ return baseSpecParamService.delete(sid);
+ }
+
+ @ApiOperation("更改可用状态")
+ @GetMapping("/updateIsEnable/{sid}/{isEnable}")
+ public ResultBean updateIsEnable(@PathVariable("sid") String sid, @PathVariable("isEnable") String isEnable) {
+ return baseSpecParamService.updateIsEnable(sid, isEnable);
+ }
+
+}
diff --git a/src/main/java/com/yxt/user/apiadmin/base/BaseSpecParamRest.java b/src/main/java/com/yxt/user/apiadmin/base/BaseSpecParamRest.java
new file mode 100644
index 0000000..0c291cb
--- /dev/null
+++ b/src/main/java/com/yxt/user/apiadmin/base/BaseSpecParamRest.java
@@ -0,0 +1,57 @@
+package com.yxt.user.apiadmin.base;
+
+
+import com.yxt.goods.biz.base.basespecparam.BaseSpecParamDto;
+import com.yxt.goods.biz.base.basespecparam.BaseSpecParamQuery;
+import com.yxt.goods.biz.base.basespecparam.BaseSpecParamService;
+import com.yxt.goods.biz.base.basespecparam.BaseSpecParamVo;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author wangpengfei
+ * @date 2024/3/11 14:27
+ */
+@Api(tags = "规格参数定义表")
+@RestController
+@RequestMapping("/apiadmin/base/basespecparam")
+public class BaseSpecParamRest {
+ @Autowired
+ BaseSpecParamService baseSpecParamService;
+
+ @ApiOperation("分页列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq) {
+ return baseSpecParamService.listPage(pq);
+ }
+
+ @ApiOperation("保存修改")
+ @PostMapping("/saveOrUpdate")
+ public ResultBean saveOrUpdate(@RequestBody BaseSpecParamDto dto) {
+ return baseSpecParamService.saveOrUpdate(dto);
+ }
+
+ @ApiOperation("初始化")
+ @GetMapping("/initialization/{sid}")
+ public ResultBean initialization(@PathVariable("sid") String sid) {
+ return baseSpecParamService.initialization(sid);
+ }
+
+ @ApiOperation("删除")
+ @DeleteMapping("/delete/{sid}")
+ public ResultBean delete(@PathVariable("sid") String sid) {
+ return baseSpecParamService.delete(sid);
+ }
+
+ @ApiOperation("更改可用状态")
+ @GetMapping("/updateIsEnable/{sid}/{isEnable}")
+ public ResultBean updateIsEnable(@PathVariable("sid") String sid, @PathVariable("isEnable") String isEnable) {
+ return baseSpecParamService.updateIsEnable(sid, isEnable);
+ }
+
+}
diff --git a/src/main/java/com/yxt/user/apiadmin/base/BaseSupplierBankRest.java b/src/main/java/com/yxt/user/apiadmin/base/BaseSupplierBankRest.java
new file mode 100644
index 0000000..0d3e301
--- /dev/null
+++ b/src/main/java/com/yxt/user/apiadmin/base/BaseSupplierBankRest.java
@@ -0,0 +1,89 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.user.apiadmin.base;
+
+import com.yxt.goods.biz.base.basesupplierBank.*;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * Project: yxt-base(供应商管理)
+ * File: BaseSupplierBankFeignFallback.java
+ * Class: com.yxt.base.biz.basesupplierbank.BaseSupplierBankRest
+ * Description: 供应商开户行信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-18 13:33:13
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "供应商开户行信息")
+@RestController
+@RequestMapping("/apiadmin/base/basesupplierbank")
+public class BaseSupplierBankRest {
+
+ @Autowired
+ private BaseSupplierBankService baseSupplierBankService;
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = baseSupplierBankService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody BaseSupplierBankDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ baseSupplierBankService.saveOrUpdateDto(dto);
+ return rb.success();
+ }
+
+ @ApiOperation("根据sid批量删除")
+ @PostMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids){
+ ResultBean rb = ResultBean.fireFail();
+ baseSupplierBankService.delBySids(sids);
+ return rb.success();
+ }
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ BaseSupplierBankDetailsVo vo = baseSupplierBankService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+}
diff --git a/src/main/java/com/yxt/user/apiadmin/base/BaseSupplierFileRest.java b/src/main/java/com/yxt/user/apiadmin/base/BaseSupplierFileRest.java
new file mode 100644
index 0000000..da86e4e
--- /dev/null
+++ b/src/main/java/com/yxt/user/apiadmin/base/BaseSupplierFileRest.java
@@ -0,0 +1,89 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.user.apiadmin.base;
+
+import com.yxt.goods.biz.base.basesupplierfile.*;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * Project: yxt-base(仓储基础信息供应商)
+ * File: BaseSupplierFileFeignFallback.java
+ * Class: com.yxt.anrui.as.biz.basesupplierfile.BaseSupplierFileRest
+ * Description: 供应商附件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-13 16:51:56
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "供应商附件")
+@RestController
+@RequestMapping("/apiadmin/base/basesupplierfile")
+public class BaseSupplierFileRest {
+
+ @Autowired
+ private BaseSupplierFileService baseSupplierFileService;
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = baseSupplierFileService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody BaseSupplierFileDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ baseSupplierFileService.saveOrUpdateDto(dto);
+ return rb.success();
+ }
+
+ @ApiOperation("根据sid批量删除")
+ @DeleteMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids){
+ ResultBean rb = ResultBean.fireFail();
+ baseSupplierFileService.delBySids(sids);
+ return rb.success();
+ }
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ BaseSupplierFileDetailsVo vo = baseSupplierFileService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+}
diff --git a/src/main/java/com/yxt/user/apiadmin/base/BaseSupplierInfoRest.java b/src/main/java/com/yxt/user/apiadmin/base/BaseSupplierInfoRest.java
new file mode 100644
index 0000000..51a9857
--- /dev/null
+++ b/src/main/java/com/yxt/user/apiadmin/base/BaseSupplierInfoRest.java
@@ -0,0 +1,97 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.user.apiadmin.base;
+
+import com.yxt.goods.biz.base.basesupplierinfo.*;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * Project: yxt-base(仓储基础信息供应商)
+ * File: BaseSupplierInfoFeignFallback.java
+ * Class: com.yxt.anrui.as.biz.basesupplierinfo.BaseSupplierInfoRest
+ * Description: 供应商信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-13 16:51:56
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "供应商信息")
+@RestController
+@RequestMapping("/apiadmin/base/basesupplierinfo")
+public class BaseSupplierInfoRest {
+
+ @Autowired
+ private BaseSupplierInfoService baseSupplierInfoService;
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = baseSupplierInfoService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody BaseSupplierInfoDto dto){
+ return baseSupplierInfoService.saveOrUpdateDto(dto);
+ }
+
+ @ApiOperation("根据sid批量删除")
+ @DeleteMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids){
+ ResultBean rb = ResultBean.fireFail();
+ baseSupplierInfoService.delAll(sids);
+ return rb.success();
+ }
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ BaseSupplierInfoDetailsVo vo = baseSupplierInfoService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+
+ @ApiOperation("选择供应商")
+ @PostMapping("/choiceSupplierInfo")
+ public ResultBean> choiceSupplierInfo(@RequestParam("createOrgSid") String createOrgSid){
+ ResultBean rb = ResultBean.fireFail();
+ List baseSupplierInfoChoiceList = baseSupplierInfoService.choiceSupplierInfo(createOrgSid);
+ return rb.success().setData(baseSupplierInfoChoiceList);
+ }
+}
diff --git a/src/main/java/com/yxt/user/apiadmin/base/BaseSupplierTypeRest.java b/src/main/java/com/yxt/user/apiadmin/base/BaseSupplierTypeRest.java
new file mode 100644
index 0000000..29a5106
--- /dev/null
+++ b/src/main/java/com/yxt/user/apiadmin/base/BaseSupplierTypeRest.java
@@ -0,0 +1,89 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.user.apiadmin.base;
+
+import com.yxt.goods.biz.base.basesuppliertype.*;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * Project: yxt-base(仓储基础信息供应商)
+ * File: BaseSupplierTypeFeignFallback.java
+ * Class: com.yxt.anrui.as.biz.basesuppliertype.BaseSupplierTypeRest
+ * Description: 供应商类型.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-13 16:51:56
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "供应商类型")
+@RestController
+@RequestMapping("/apiadmin/base/basesuppliertype")
+public class BaseSupplierTypeRest {
+
+ @Autowired
+ private BaseSupplierTypeService baseSupplierTypeService;
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = baseSupplierTypeService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody BaseSupplierTypeDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ baseSupplierTypeService.saveOrUpdateDto(dto);
+ return rb.success();
+ }
+
+ @ApiOperation("根据sid批量删除")
+ @DeleteMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids){
+ ResultBean rb = ResultBean.fireFail();
+ baseSupplierTypeService.delBySids(sids);
+ return rb.success();
+ }
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ BaseSupplierTypeDetailsVo vo = baseSupplierTypeService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+}
diff --git a/src/main/java/com/yxt/user/apiadmin/base/ShoppingCartRest.java b/src/main/java/com/yxt/user/apiadmin/base/ShoppingCartRest.java
new file mode 100644
index 0000000..e5a45c2
--- /dev/null
+++ b/src/main/java/com/yxt/user/apiadmin/base/ShoppingCartRest.java
@@ -0,0 +1,56 @@
+package com.yxt.user.apiadmin.base;
+
+
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.goods.biz.base.shoppingcart.ShoppingCartDto;
+import com.yxt.goods.biz.base.shoppingcart.ShoppingCartQuery;
+import com.yxt.goods.biz.base.shoppingcart.ShoppingCartService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author wangpengfei
+ * @date 2023/12/8 9:19
+ */
+@Api(tags = "购物车")
+@RestController
+@RequestMapping("shoppingcart")
+public class ShoppingCartRest {
+ @Autowired
+ ShoppingCartService shoppingCartService;
+
+
+ @ApiOperation("加入购物车")
+ @PostMapping("/addShoppingCart")
+ public ResultBean save(@RequestBody ShoppingCartDto dto) {
+ return shoppingCartService.save(dto);
+ }
+ @ApiOperation("减购物车")
+ @PostMapping("/minusShoppingCart")
+ public ResultBean minusShoppingCart(@RequestBody ShoppingCartDto dto) {
+ return shoppingCartService.minusShoppingCart(dto);
+ }
+ @ApiOperation("修改购物车数量")
+ @PostMapping("/updateShoppingCart")
+ public ResultBean updateShoppingCart(@RequestBody ShoppingCartDto dto) {
+ return shoppingCartService.updateShoppingCart(dto);
+ }
+ @ApiOperation("购物车列表")
+ @PostMapping("/shoppingCartList")
+ public ResultBean shoppingCartList(@RequestBody ShoppingCartQuery query) {
+ return shoppingCartService.shoppingCartList(query);
+ }
+
+ @ApiOperation("删除购物车商品")
+ @PostMapping("/delShoppingCart/{sid}")
+ public ResultBean delShoppingCart(@PathVariable("sid") String sid) {
+ return shoppingCartService.delShoppingCart(sid);
+ }
+ @ApiOperation("计算购物车价格和重量")
+ @PostMapping("/getGoodsWeight")
+ public ResultBean getGoodsWeight(@RequestBody ShoppingCartQuery query) {
+ return shoppingCartService.getGoodsWeight(query);
+ }
+}
diff --git a/src/main/java/com/yxt/user/apiwx/WxHomeRest.java b/src/main/java/com/yxt/user/apiwx/WxHomeRest.java
new file mode 100644
index 0000000..35e8be8
--- /dev/null
+++ b/src/main/java/com/yxt/user/apiwx/WxHomeRest.java
@@ -0,0 +1,10 @@
+package com.yxt.goods.apiwx;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController("com.yxt.base.apiwx.WxHomeRest")
+@RequestMapping("/apiwx/home")
+public class WxHomeRest {
+
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfo.java b/src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfo.java
new file mode 100644
index 0000000..9cf396f
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfo.java
@@ -0,0 +1,21 @@
+package com.yxt.goods.biz.base.basebrandinfo;
+
+import com.yxt.common.core.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:36
+ */
+@Data
+public class BaseBrandInfo extends BaseEntity {
+
+ private String brandName;//品牌代码
+ private String brandCode;//品牌名称
+ private String image;//品牌图片url地址
+ private String letter;//品牌的首字母大写
+ private String useOrgSid;//使用组织sid
+ private String createOrgSid;//创建组织sid
+
+
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoDto.java b/src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoDto.java
new file mode 100644
index 0000000..250c12c
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoDto.java
@@ -0,0 +1,27 @@
+package com.yxt.goods.biz.base.basebrandinfo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.dto.Dto;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:38
+ */
+@Data
+public class BaseBrandInfoDto implements Dto {
+ private String id;
+ private String sid;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+ private String remarks;
+ private String isEnable;
+ private String brandName;//品牌代码
+ private String brandCode;//品牌名称
+ private String image;//品牌图片url地址
+ private String letter;//品牌的首字母大写
+ private String useOrgSid;//使用组织sid
+ private String createOrgSid;//创建组织sid
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoMapper.java b/src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoMapper.java
new file mode 100644
index 0000000..37330ac
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoMapper.java
@@ -0,0 +1,18 @@
+package com.yxt.goods.biz.base.basebrandinfo;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:40
+ */
+@Mapper
+public interface BaseBrandInfoMapper extends BaseMapper {
+
+ IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoMapper.xml b/src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoMapper.xml
new file mode 100644
index 0000000..53b13f0
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoMapper.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoQuery.java b/src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoQuery.java
new file mode 100644
index 0000000..3f607c4
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoQuery.java
@@ -0,0 +1,13 @@
+package com.yxt.goods.biz.base.basebrandinfo;
+
+import com.yxt.common.core.query.Query;
+import lombok.Data;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:37
+ */
+@Data
+public class BaseBrandInfoQuery implements Query {
+ private String name;
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoService.java b/src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoService.java
new file mode 100644
index 0000000..0830b66
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoService.java
@@ -0,0 +1,127 @@
+package com.yxt.goods.biz.base.basebrandinfo;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateTime;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.common.base.config.component.FileUploadComponent;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.base.utils.StringUtils;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.text.SimpleDateFormat;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:40
+ */
+@Service
+public class BaseBrandInfoService extends MybatisBaseService {
+ @Autowired
+ private FileUploadComponent fileUploadComponent;
+
+ public ResultBean> listPage(PagerQuery pq) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseBrandInfoQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+
+ if(StringUtils.isNotBlank(query.getName())){
+ qw.like("brandName",query.getName());
+ }
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.listPage(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ List records = pagging.getRecords();
+ records.removeAll(Collections.singleton(null));
+// if (!records.isEmpty()) {
+// for (BaseBrandInfoVo record : records) {
+// if (StringUtils.isNotBlank(record.getBigPic())) {
+// record.setBigPic(fileUploadComponent.getUrlPrefix() + record.getBigPic());
+// }
+// }
+// }
+ return rb.success().setData(p);
+ }
+ public ResultBean> listAll() {
+ ResultBean rb = ResultBean.fireFail();
+ List pagging = baseMapper.selectList(new QueryWrapper().eq("isEnable",1));
+ return rb.success().setData(pagging);
+}
+ public ResultBean saveOrUpdate(BaseBrandInfoDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ String sid = "";
+ if (StringUtils.isNotBlank(dto.getSid())) {
+ sid = dto.getSid();
+ BaseBrandInfo wmsGoodsBrand = fetchBySid(dto.getSid());
+ BeanUtil.copyProperties(dto, wmsGoodsBrand, "id", "sid");
+// if (StringUtils.isNotBlank(dto.getBigPic())) {
+// String urlPrefix = fileUploadComponent.getUrlPrefix();
+// String path = dto.getBigPic().substring(urlPrefix.length());
+// wmsGoodsBrand.setBigPic(path);
+// }
+ wmsGoodsBrand.setModifyTime(new Date());
+ baseMapper.updateById(wmsGoodsBrand);
+ } else {
+ BaseBrandInfo goods=baseMapper.selectOne(new QueryWrapper().eq("name",dto.getBrandName()));
+ if(null!=goods){
+ return rb.setMsg("商品名不能重复");
+ }
+ BaseBrandInfo wmsGoodsBrand = new BaseBrandInfo();
+ sid = wmsGoodsBrand.getSid();
+ BeanUtil.copyProperties(dto, wmsGoodsBrand, "id", "sid");
+ wmsGoodsBrand.setCreateTime(new DateTime());
+// if (StringUtils.isNotBlank(dto.getBigPic())) {
+// String urlPrefix = fileUploadComponent.getUrlPrefix();
+// String path = dto.getBigPic().substring(urlPrefix.length());
+// wmsGoodsBrand.setBigPic(path);
+// }
+ baseMapper.insert(wmsGoodsBrand);
+ }
+ return rb.success().setMsg("成功");
+ }
+
+ public ResultBean initialization(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseBrandInfoVo vo = new BaseBrandInfoVo();
+ BaseBrandInfo wmsGoodsBrand = fetchBySid(sid);
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ BeanUtil.copyProperties(wmsGoodsBrand, vo);
+// if (null != wmsGoodsBrand) {
+//
+// if (StringUtils.isNotBlank(wmsGoodsBrand.getBigPic())) {
+// vo.setBigPic(fileUploadComponent.getUrlPrefix() + wmsGoodsBrand.getBigPic());
+// }
+//// vo.setCreateTime(sdf.format(lpkGoods.getCreateTime()));
+// }
+ return rb.success().setData(vo);
+ }
+
+
+
+ public ResultBean delete(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseBrandInfo wmsGoodsBrand = fetchBySid(sid);
+ if (null != wmsGoodsBrand) {
+ baseMapper.deleteById(wmsGoodsBrand.getId());
+ }
+ return rb.success().setMsg("成功");
+ }
+ public ResultBean updateIsEnable(String sid,String isEnable) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseBrandInfo wmsGoodsBrand = fetchBySid(sid);
+ if (null != wmsGoodsBrand) {
+ wmsGoodsBrand.setIsEnable(Integer.parseInt(isEnable));
+ baseMapper.updateById(wmsGoodsBrand);
+ }
+ return rb.success().setMsg("成功");
+ }
+
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoVo.java b/src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoVo.java
new file mode 100644
index 0000000..a211845
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoVo.java
@@ -0,0 +1,32 @@
+package com.yxt.goods.biz.base.basebrandinfo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.vo.Vo;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:37
+ */
+@Data
+public class BaseBrandInfoVo implements Vo {
+ private String id;
+ private String sid;
+ private String lockVersion;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date modifyTime;
+ private String remarks;
+ private String isEnable;
+ private String state;
+ private String isDelete;
+ private String brandName;//品牌代码
+ private String brandCode;//品牌名称
+ private String image;//品牌图片url地址
+ private String letter;//品牌的首字母大写
+ private String useOrgSid;//使用组织sid
+ private String createOrgSid;//创建组织sid
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrand.java b/src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrand.java
new file mode 100644
index 0000000..98f65fe
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrand.java
@@ -0,0 +1,15 @@
+package com.yxt.goods.biz.base.basecategorybrand;
+
+import com.yxt.common.core.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * @author wangpengfei
+ * @date 2024/4/8 9:34
+ */
+@Data
+public class BaseCategoryBrand extends BaseEntity {
+ private String categorySid;//商品分类sid
+ private String brandSid;//品牌sid
+
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandDto.java b/src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandDto.java
new file mode 100644
index 0000000..1b43086
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandDto.java
@@ -0,0 +1,22 @@
+package com.yxt.goods.biz.base.basecategorybrand;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author wangpengfei
+ * @date 2024/4/8 9:34
+ */
+@Data
+public class BaseCategoryBrandDto {
+ private String id;
+ private String sid;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+ private String remarks;
+ private String isEnable;
+ private String categorySid;//商品分类sid
+ private String brandSid;//品牌sid
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandMapper.java b/src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandMapper.java
new file mode 100644
index 0000000..e688995
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandMapper.java
@@ -0,0 +1,23 @@
+package com.yxt.goods.biz.base.basecategorybrand;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:40
+ */
+@Mapper
+public interface BaseCategoryBrandMapper extends BaseMapper {
+
+ IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+ List getSkusBySpuSid(@Param("spuSid")String spuSid);
+ BaseCategoryBrandVo getVoBySid(@Param("sid")String sid);
+
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandMapper.xml b/src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandMapper.xml
new file mode 100644
index 0000000..09033d9
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandMapper.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandQuery.java b/src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandQuery.java
new file mode 100644
index 0000000..77c83a9
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandQuery.java
@@ -0,0 +1,13 @@
+package com.yxt.goods.biz.base.basecategorybrand;
+
+import com.yxt.common.core.query.Query;
+import lombok.Data;
+
+/**
+ * @author wangpengfei
+ * @date 2024/4/8 9:34
+ */
+@Data
+public class BaseCategoryBrandQuery implements Query {
+ private String name;
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandService.java b/src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandService.java
new file mode 100644
index 0000000..f251d36
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandService.java
@@ -0,0 +1,115 @@
+package com.yxt.goods.biz.base.basecategorybrand;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateTime;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.common.base.config.component.FileUploadComponent;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.base.utils.StringUtils;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:40
+ */
+@Service
+public class BaseCategoryBrandService extends MybatisBaseService {
+ @Autowired
+ private FileUploadComponent fileUploadComponent;
+
+
+ public ResultBean> listPage(PagerQuery pq) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseCategoryBrandQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ if (StringUtils.isNotBlank(query.getName())) {
+ qw.like("goodsName", query.getName());
+ }
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.listPage(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return rb.success().setData(p);
+ }
+ @Transactional
+ public ResultBean saveOrUpdate(BaseCategoryBrandDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ String sid = "";
+ if (StringUtils.isNotBlank(dto.getSid())) {
+ sid = dto.getSid();
+ BaseCategoryBrand wmsGoods = fetchBySid(dto.getSid());
+ BeanUtil.copyProperties(dto, wmsGoods, "id", "sid");
+ wmsGoods.setModifyTime(new Date());
+ baseMapper.updateById(wmsGoods);
+ } else {
+ BaseCategoryBrand wmsGoods = new BaseCategoryBrand();
+ BeanUtil.copyProperties(dto, wmsGoods, "id", "sid");
+ wmsGoods.setCreateTime(new DateTime());
+ baseMapper.insert(wmsGoods);
+ }
+ return rb.success().setMsg("成功");
+ }
+ @Transactional
+ public ResultBean saveOrUpdate(List dtos) {
+ ResultBean rb = ResultBean.fireFail();
+ for (BaseCategoryBrandDto dto : dtos) {
+ BaseCategoryBrand sku=baseMapper.selectOne(new QueryWrapper().eq("sid",dto.getSid()));
+ String sid = "";
+ if (null!=sku) {
+ sid = dto.getSid();
+ BaseCategoryBrand wmsGoods = fetchBySid(dto.getSid());
+ BeanUtil.copyProperties(dto, wmsGoods);
+ wmsGoods.setModifyTime(new Date());
+ baseMapper.updateById(wmsGoods);
+ } else {
+ BaseCategoryBrand wmsGoods = new BaseCategoryBrand();
+ BeanUtil.copyProperties(dto, wmsGoods);
+ wmsGoods.setCreateTime(new DateTime());
+ baseMapper.insert(wmsGoods);
+ }
+ }
+
+ return rb.success().setMsg("成功");
+ }
+
+ public ResultBean initialization(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseCategoryBrandVo vo = baseMapper.getVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+
+ public ResultBean> getSkusBySpuSid(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ List vo = baseMapper.getSkusBySpuSid(sid);
+ return rb.success().setData(vo);
+ }
+
+
+ public ResultBean delete(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseCategoryBrand wmsGoods = fetchBySid(sid);
+ if (null != wmsGoods) {
+ baseMapper.deleteById(wmsGoods.getId());
+ }
+ return rb.success();
+ }
+
+ public ResultBean updateIsEnable(String sid, String isEnable) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseCategoryBrand wmsGoods = fetchBySid(sid);
+ if (null != wmsGoods) {
+ wmsGoods.setIsEnable(Integer.parseInt(isEnable));
+ baseMapper.updateById(wmsGoods);
+ }
+ return rb.success().setMsg("成功");
+ }
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandVo.java b/src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandVo.java
new file mode 100644
index 0000000..b15e116
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandVo.java
@@ -0,0 +1,24 @@
+package com.yxt.goods.biz.base.basecategorybrand;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author wangpengfei
+ * @date 2024/4/8 9:34
+ */
+@Data
+public class BaseCategoryBrandVo {
+ private String id;
+ private String sid;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+ private String remarks;
+ private String isEnable;
+ private String categorySid;//商品分类sid
+ private String brandSid;//品牌sid
+ private String categoryName;//分类名
+ private String brandName;//品牌名
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSku.java b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSku.java
new file mode 100644
index 0000000..2f8ffec
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSku.java
@@ -0,0 +1,21 @@
+package com.yxt.goods.biz.base.basegoodssku;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.yxt.common.core.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:36
+ */
+@Data
+public class BaseGoodsSku extends BaseEntity {
+ private String goodsSkuCode;//商品Sku代码
+ private String title;//商品标题
+ private String goodsSpuSid;//商品基础信息Sid
+ private String externalCode;//外部编码
+ private String indexes;//特有规格属性在spu表中special_spec字段对应每个参数值数组下标的组合,如0_0_0,1_0_0,相当于SKU这条记录的编码。
+ @TableField(value = "own_spec")
+ private String ownSpec;//sku的特有规格参数键值对,json格式,反序列化时请使用linkedHashMap,保证有序
+
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuDetailsVo.java b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuDetailsVo.java
new file mode 100644
index 0000000..5217aeb
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuDetailsVo.java
@@ -0,0 +1,69 @@
+package com.yxt.goods.biz.base.basegoodssku;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: dimengzhe
+ * @date: 2024/3/19
+ **/
+@Data
+public class BaseGoodsSkuDetailsVo {
+
+ @ApiModelProperty("商品代码")
+ private String goodsCode;
+ @ApiModelProperty("条形码")
+ private String barCode;
+ @ApiModelProperty("商品名称")
+ private String goodsName;
+ @ApiModelProperty("副标题")
+ private String subTitle;
+ @ApiModelProperty("拼音缩写")
+ private String goodsPY;
+ @ApiModelProperty("商品简称")
+ private String goodsShortName;
+ @ApiModelProperty("商品分类sid")
+ private String goodsTypeSid;
+ @ApiModelProperty("品牌sid")
+ private String brandSid;
+ @ApiModelProperty("厂家sid")
+ private String manufacturersid;
+ @ApiModelProperty("商品单位sid")
+ private String goodsUnitSid;
+ @ApiModelProperty("商品单位名称")
+ private String goodsUnitName;
+
+ @ApiModelProperty("商品Sku代码")
+ private String goodsSkuCode;
+ @ApiModelProperty("商品标题")
+ private String title;
+ @ApiModelProperty("是否一品一码(goodID),0否,1是")
+ @JsonProperty("isGoodsID")
+ private int isGoodsID;
+
+ //=================================
+
+ //商品名称
+ //零件号
+ //拼音
+ //条形码
+ //计量单位
+ //商品类别
+ private String goodsTypeName;//商品类别名称
+ //厂家
+ //规格
+ //品牌
+ //车型
+ //原厂标志
+ //产地
+ //锁定售价
+ //备注
+ //上限数量
+ //下限数量
+ //积分商品
+ //所需积分
+
+
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuDto.java b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuDto.java
new file mode 100644
index 0000000..4bf00c8
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuDto.java
@@ -0,0 +1,31 @@
+package com.yxt.goods.biz.base.basegoodssku;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.goods.biz.base.basegoodsskuextend.BaseGoodsSkuExtendDto;
+import com.yxt.common.core.dto.Dto;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:38
+ */
+@Data
+public class BaseGoodsSkuDto implements Dto {
+ private String id;
+ private String sid;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+ private String remarks;
+ private String isEnable;
+ private String goodsSkuCode;//商品Sku代码
+ private String title;//商品标题
+ private String goodsSpuSid;//商品基础信息Sid
+ private String externalCode;//外部编码
+ private String indexes;//特有规格属性在spu表中special_spec字段对应每个参数值数组下标的组合,如0_0_0,1_0_0,相当于SKU这条记录的编码。
+ @TableField(value = "own_spec")
+ private String ownSpec;//sku的特有规格参数键值对,json格式,反序列化时请使用linkedHashMap,保证有序
+ private BaseGoodsSkuExtendDto baseGoodsSkuExtend;//sku扩展
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuMapper.java b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuMapper.java
new file mode 100644
index 0000000..8f6e02b
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuMapper.java
@@ -0,0 +1,26 @@
+package com.yxt.goods.biz.base.basegoodssku;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:40
+ */
+@Mapper
+public interface BaseGoodsSkuMapper extends BaseMapper {
+
+ IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+ List getSkusBySpuSid(@Param("spuSid")String spuSid);
+ BaseGoodsSkuVo getSkuBySid(@Param("sid")String sid);
+
+ IPage getSelectList(IPage page, @Param(Constants.WRAPPER)QueryWrapper qw);
+
+ IPage purGoodsListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuMapper.xml b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuMapper.xml
new file mode 100644
index 0000000..d8ce8e4
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuMapper.xml
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuPurSelectList.java b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuPurSelectList.java
new file mode 100644
index 0000000..ca465ef
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuPurSelectList.java
@@ -0,0 +1,35 @@
+package com.yxt.goods.biz.base.basegoodssku;
+
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: dimengzhe
+ * @date: 2024/3/21
+ **/
+@Data
+public class BaseGoodsSkuPurSelectList {
+
+ //sid
+ private String sid;
+ //零件号
+ private String goodsSkuCode;
+ //规格
+ private String title;
+ //商品名称
+ private String goodsName;
+ //商品拼音
+ private String goodsPY;
+ //商品简称
+ private String goodsShortName;
+ //商品类别sid
+ private String goodsTypeSid;
+ //品牌sid
+ private String brandSid;
+ //厂家sid
+ private String manufacturerSid;
+ //商品单位名称
+ private String goodsUnitName;
+ //sku特有规格参数键值对
+ private String ownSpec;
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuPurSelectQuery.java b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuPurSelectQuery.java
new file mode 100644
index 0000000..adbae98
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuPurSelectQuery.java
@@ -0,0 +1,30 @@
+package com.yxt.goods.biz.base.basegoodssku;
+
+import com.yxt.common.core.query.Query;
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: dimengzhe
+ * @date: 2024/3/21
+ **/
+@Data
+public class BaseGoodsSkuPurSelectQuery implements Query {
+
+ //组织sid
+ private String orgSid;
+ //商品名称
+ private String goodsName;
+ //商品类别sid
+ private String goodsTypeSid;
+ //商品拼音
+ private String goodsPY;
+ //品牌sid
+ private String brandSid;
+ //零件号
+ private String goodsSkuCode;
+ //规格
+ private String title;
+ //其他查询条件
+ private String otherQuery;
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuQuery.java b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuQuery.java
new file mode 100644
index 0000000..455f291
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuQuery.java
@@ -0,0 +1,13 @@
+package com.yxt.goods.biz.base.basegoodssku;
+
+import com.yxt.common.core.query.Query;
+import lombok.Data;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:37
+ */
+@Data
+public class BaseGoodsSkuQuery implements Query {
+ private String name;
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuSelectList.java b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuSelectList.java
new file mode 100644
index 0000000..c438eba
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuSelectList.java
@@ -0,0 +1,36 @@
+package com.yxt.goods.biz.base.basegoodssku;
+
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: dimengzhe
+ * @date: 2024/3/21
+ **/
+@Data
+public class BaseGoodsSkuSelectList {
+
+ //商品名称
+ private String goodsSpuSid;
+ private String goodsSpuName;
+ //商品sid
+ private String goodsSkuSid;
+ //商品编码
+ private String goodsSkuCode;
+ //规格/型号
+ private String goodsSkuTitle;
+ //计量单位
+ private String goodsUnitSid;
+ private String goodsUnitName;
+ //仓库名称
+ //货位
+ //单位成本(进货价)
+ //数量
+ //税额
+ //含税价
+ //金额
+ //销售价1
+ //销售价2
+ //操作时间
+ //操作人
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuSelectQuery.java b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuSelectQuery.java
new file mode 100644
index 0000000..513efa7
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuSelectQuery.java
@@ -0,0 +1,15 @@
+package com.yxt.goods.biz.base.basegoodssku;
+
+import com.yxt.common.core.query.Query;
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: dimengzhe
+ * @date: 2024/3/21
+ **/
+@Data
+public class BaseGoodsSkuSelectQuery implements Query {
+
+ private String goodsSkuCode;
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuService.java b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuService.java
new file mode 100644
index 0000000..7e54fc2
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuService.java
@@ -0,0 +1,208 @@
+package com.yxt.goods.biz.base.basegoodssku;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateTime;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.goods.biz.base.basegoodsskuextend.BaseGoodsSkuExtendService;
+import com.yxt.goods.biz.base.basegoodsskuextend.BaseGoodsSkuExtendVo;
+import com.yxt.goods.biz.base.basegoodsspu.BaseGoodsSpu;
+import com.yxt.goods.biz.base.basegoodsspu.BaseGoodsSpuService;
+import com.yxt.goods.biz.base.basegoodsspudetail.BaseGoodsSpuDetailService;
+import com.yxt.goods.biz.base.basegoodstype.BaseGoodsType;
+import com.yxt.goods.biz.base.basegoodstype.BaseGoodsTypeService;
+import com.yxt.common.base.config.component.FileUploadComponent;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.base.utils.StringUtils;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:40
+ */
+@Service
+public class BaseGoodsSkuService extends MybatisBaseService {
+ @Autowired
+ private FileUploadComponent fileUploadComponent;
+ @Autowired
+ BaseGoodsSpuDetailService baseGoodsSpuDetailService;
+ @Autowired
+ BaseGoodsSkuExtendService baseGoodsSkuExtendService;
+ @Autowired
+ private BaseGoodsSpuService baseGoodsSpuService;
+ @Autowired
+ BaseGoodsTypeService baseGoodsTypeService;
+
+ public ResultBean> listPage(PagerQuery pq) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsSkuQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ if (StringUtils.isNotBlank(query.getName())) {
+ qw.like("goodsName", query.getName());
+ }
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.listPage(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return rb.success().setData(p);
+ }
+ @Transactional
+ public ResultBean saveOrUpdate(BaseGoodsSkuDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ String sid = "";
+ if (StringUtils.isNotBlank(dto.getSid())) {
+ sid = dto.getSid();
+ BaseGoodsSku wmsGoods = fetchBySid(dto.getSid());
+ BeanUtil.copyProperties(dto, wmsGoods, "id", "sid");
+ wmsGoods.setModifyTime(new Date());
+ baseMapper.updateById(wmsGoods);
+ dto.getBaseGoodsSkuExtend().setGoodsSkuSid(wmsGoods.getSid());
+ baseGoodsSkuExtendService.saveOrUpdate(dto.getBaseGoodsSkuExtend());
+ } else {
+ BaseGoodsSku wmsGoods = new BaseGoodsSku();
+ BeanUtil.copyProperties(dto, wmsGoods, "id", "sid");
+ wmsGoods.setCreateTime(new DateTime());
+ baseMapper.insert(wmsGoods);
+ dto.getBaseGoodsSkuExtend().setGoodsSkuSid(wmsGoods.getSid());
+ baseGoodsSkuExtendService.saveOrUpdate(dto.getBaseGoodsSkuExtend());
+ }
+ return rb.success().setMsg("成功");
+ }
+ @Transactional
+ public ResultBean saveOrUpdate(List dtos) {
+ ResultBean rb = ResultBean.fireFail();
+ for (BaseGoodsSkuDto dto : dtos) {
+ BaseGoodsSku sku=baseMapper.selectOne(new QueryWrapper().eq("sid",dto.getSid()));
+ String sid = "";
+ if (null!=sku) {
+ sid = dto.getSid();
+ BaseGoodsSku wmsGoods = fetchBySid(dto.getSid());
+ BeanUtil.copyProperties(dto, wmsGoods);
+ wmsGoods.setModifyTime(new Date());
+ baseMapper.updateById(wmsGoods);
+ dto.getBaseGoodsSkuExtend().setGoodsSkuSid(wmsGoods.getSid());
+ baseGoodsSkuExtendService.saveOrUpdate(dto.getBaseGoodsSkuExtend());
+ } else {
+ BaseGoodsSku wmsGoods = new BaseGoodsSku();
+ BeanUtil.copyProperties(dto, wmsGoods);
+ wmsGoods.setCreateTime(new DateTime());
+ baseMapper.insert(wmsGoods);
+ dto.getBaseGoodsSkuExtend().setGoodsSkuSid(wmsGoods.getSid());
+ baseGoodsSkuExtendService.saveOrUpdate(dto.getBaseGoodsSkuExtend());
+ }
+ }
+
+ return rb.success().setMsg("成功");
+ }
+
+ public ResultBean initialization(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsSkuVo vo = baseMapper.getSkuBySid(sid);
+ BaseGoodsSkuExtendVo vo1=baseGoodsSkuExtendService.getExtendBySkuSid(vo.getSid()).getData();
+ if(vo1==null){
+ vo.setBaseGoodsSkuExtend(new BaseGoodsSkuExtendVo());
+ }
+ vo.setBaseGoodsSkuExtend(vo1);
+ return rb.success().setData(vo);
+ }
+
+ public ResultBean> getSkusBySpuSid(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ List vo = baseMapper.getSkusBySpuSid(sid);
+ return rb.success().setData(vo);
+ }
+
+
+ public ResultBean delete(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsSku wmsGoods = fetchBySid(sid);
+ if (null != wmsGoods) {
+ baseMapper.deleteById(wmsGoods.getId());
+ }
+ return rb.success();
+ }
+
+ public ResultBean updateIsEnable(String sid, String isEnable) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsSku wmsGoods = fetchBySid(sid);
+ if (null != wmsGoods) {
+ wmsGoods.setIsEnable(Integer.parseInt(isEnable));
+ baseMapper.updateById(wmsGoods);
+ }
+ return rb.success().setMsg("成功");
+ }
+
+ public ResultBean getDetails(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsSkuDetailsVo baseGoodsSkuDetailsVo = new BaseGoodsSkuDetailsVo();
+ BaseGoodsSku baseGoodsSku = fetchBySid(sid);
+ BaseGoodsSpu baseGoodsSpu = baseGoodsSpuService.fetchBySid(baseGoodsSku.getGoodsSpuSid());
+ BeanUtil.copyProperties(baseGoodsSku, baseGoodsSkuDetailsVo);
+ BeanUtil.copyProperties(baseGoodsSpu, baseGoodsSkuDetailsVo);
+ BaseGoodsType baseGoodsType = baseGoodsTypeService.fetchBySid(baseGoodsSpu.getGoodsTypeSid());
+ if (baseGoodsType != null && StringUtils.isNotBlank(baseGoodsType.getIsGoodsID())) {
+ baseGoodsSkuDetailsVo.setIsGoodsID(Integer.parseInt(baseGoodsType.getIsGoodsID()));
+ baseGoodsSkuDetailsVo.setGoodsTypeName(baseGoodsType.getGoodsTypeName());
+ } else {
+ baseGoodsSkuDetailsVo.setIsGoodsID(0);
+ }
+ return rb.success().setData(baseGoodsSkuDetailsVo);
+ }
+
+ public PagerVo getSelectList(PagerQuery pagerQuery) {
+ BaseGoodsSkuSelectQuery query = pagerQuery.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ if (query != null) {
+ //商品编码
+ if (StringUtils.isNotBlank(query.getGoodsSkuCode())) {
+ qw.like("sku.goodsSkuCode", query.getGoodsSkuCode());
+ }
+ }
+ IPage page = PagerUtil.queryToPage(pagerQuery);
+ IPage pagging = baseMapper.getSelectList(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public ResultBean> purGoodsListPage(PagerQuery pq) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsSkuPurSelectQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ if (StringUtils.isNotBlank(query.getOrgSid())){
+ qw.eq("s.createOrgSid",query.getOrgSid());
+ }
+ if (StringUtils.isNotBlank(query.getGoodsName())) {
+ qw.like("a.goodsName", query.getGoodsName());
+ }
+ if (StringUtils.isNotBlank(query.getGoodsTypeSid())) {
+ qw.eq("a.goodsTypeSid", query.getGoodsTypeSid());
+ }
+ if (StringUtils.isNotBlank(query.getGoodsPY())) {
+ qw.like("a.goodsPY", query.getGoodsPY());
+ }
+ if (StringUtils.isNotBlank(query.getBrandSid())) {
+ qw.like("a.brandSid", query.getBrandSid());
+ }
+ if (StringUtils.isNotBlank(query.getGoodsSkuCode())) {
+ qw.like("s.goodsSkuCode", query.getGoodsSkuCode());
+ }
+ if (StringUtils.isNotBlank(query.getTitle())) {
+ qw.like("s.title", query.getTitle());
+ }
+ if (org.apache.commons.lang3.StringUtils.isNotBlank(query.getOtherQuery())){
+ qw.and(wrapper -> wrapper.like("a.goodsName", query.getOtherQuery()).or().like("s.goodsSkuCode", query.getOtherQuery()).or().like("a.goodsPY",query.getOtherQuery()));
+ }
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.purGoodsListPage(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return rb.success().setData(p);
+ }
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuVo.java b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuVo.java
new file mode 100644
index 0000000..92efb31
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuVo.java
@@ -0,0 +1,38 @@
+package com.yxt.goods.biz.base.basegoodssku;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.goods.biz.base.basegoodsskuextend.BaseGoodsSkuExtendVo;
+import com.yxt.common.core.vo.Vo;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:37
+ */
+@Data
+public class BaseGoodsSkuVo implements Vo {
+ private String id;
+ private String sid;
+ private String lockVersion;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date modifyTime;
+ private String remarks;
+ private String isEnable;
+ private String state;
+ private String isDelete;
+ private String goodsSkuCode;//商品Sku代码
+ private String title;//商品标题
+ private String goodsSpuSid;//商品基础信息Sid
+ private String externalCode;//外部编码
+ private String indexes;//特有规格属性在spu表中special_spec字段对应每个参数值数组下标的组合,如0_0_0,1_0_0,相当于SKU这条记录的编码。
+ @TableField(value = "own_spec")
+ private String ownSpec;//sku的特有规格参数键值对,json格式,反序列化时请使用linkedHashMap,保证有序
+ private String goodsName;
+ private BaseGoodsSkuExtendVo baseGoodsSkuExtend;
+
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtend.java b/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtend.java
new file mode 100644
index 0000000..c768b21
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtend.java
@@ -0,0 +1,34 @@
+package com.yxt.goods.biz.base.basegoodsskuextend;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.yxt.common.core.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:36
+ */
+@Data
+public class BaseGoodsSkuExtend extends BaseEntity {
+ private String goodsSkuSid;//商品Sku代码
+ private String finalPurchasePrice;//最后采购价
+ private String safetyStockDays;//安全库存天数
+ private String isOriginalFactory;//是否原厂
+ private String isInventoryAlert;//是否库存警戒
+ @TableField(value = "InventoryAlertUpperLimit")
+ private String inventoryAlertUpperLimit;//库存警戒上线
+ @TableField(value = "InventoryAlertLowerLimit")
+ private String inventoryAlertLowerLimit;//库存警戒下线
+ private String costPrice;//成本价
+ private String tagPrice;//吊牌价
+ private String salesPrice;//销售单价
+ private String standardPurchasePrice;//标准进价
+ private String agencyPrice;//代理价
+ private String discount;//折扣
+ private String minimumSalesPrice;//最低零售价
+ private String isLockingSalesPrice;//是否锁定销售价
+ private String isIntegralExchange;//是否可以积分兑换
+ private String integralAmount;//积分数量
+ private String sortNo;//排序
+ private String picUrl;//商品的图片,多个图片以‘,’分割
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendDto.java b/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendDto.java
new file mode 100644
index 0000000..8cae2a1
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendDto.java
@@ -0,0 +1,46 @@
+package com.yxt.goods.biz.base.basegoodsskuextend;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.dto.Dto;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:38
+ */
+@Data
+public class BaseGoodsSkuExtendDto implements Dto {
+ private String id;
+ private String sid;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+ private String remarks;
+ private String isEnable;
+ private String goodsSkuSid;//商品Sku代码
+ private String finalPurchasePrice;//最后采购价
+ private String safetyStockDays;//安全库存天数
+ private String isOriginalFactory;//是否原厂
+ private String isInventoryAlert;//是否库存警戒
+ @TableField(value = "InventoryAlertUpperLimit")
+ private String inventoryAlertUpperLimit;//库存警戒上线
+ @TableField(value = "InventoryAlertLowerLimit")
+ private String inventoryAlertLowerLimit;//库存警戒下线
+ private String costPrice;//成本价
+ private String tagPrice;//吊牌价
+ private String salesPrice;//销售单价
+ private String standardPurchasePrice;//标准进价
+ private String agencyPrice;//代理价
+ private String discount;//折扣
+ private String minimumSalesPrice;//最低零售价
+ private String isLockingSalesPrice;//是否锁定销售价
+ private String isIntegralExchange;//是否可以积分兑换
+ private String integralAmount;//积分数量
+ private String sortNo;//排序
+ private String picUrl;//商品的图片,多个图片以‘,’分割
+// private String [] Urls={};//图片数组
+ private List urls;//图片数组
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendMapper.java b/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendMapper.java
new file mode 100644
index 0000000..9db05ab
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendMapper.java
@@ -0,0 +1,20 @@
+package com.yxt.goods.biz.base.basegoodsskuextend;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:40
+ */
+@Mapper
+public interface BaseGoodsSkuExtendMapper extends BaseMapper {
+
+ IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+ BaseGoodsSkuExtendVo getExtendBySkuSid(@Param("skuSid")String skuSid);
+ BaseGoodsSkuExtendVo getExtendBySid(@Param("sid")String sid);
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendMapper.xml b/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendMapper.xml
new file mode 100644
index 0000000..41c9db6
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendMapper.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendQuery.java b/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendQuery.java
new file mode 100644
index 0000000..435f217
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendQuery.java
@@ -0,0 +1,13 @@
+package com.yxt.goods.biz.base.basegoodsskuextend;
+
+import com.yxt.common.core.query.Query;
+import lombok.Data;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:37
+ */
+@Data
+public class BaseGoodsSkuExtendQuery implements Query {
+ private String name;
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendService.java b/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendService.java
new file mode 100644
index 0000000..1a9c270
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendService.java
@@ -0,0 +1,139 @@
+package com.yxt.goods.biz.base.basegoodsskuextend;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateTime;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.goods.biz.base.basebrandinfo.BaseBrandInfoService;
+import com.yxt.goods.biz.base.basegoodsspudetail.BaseGoodsSpuDetailService;
+import com.yxt.goods.biz.base.basegoodstype.BaseGoodsTypeService;
+import com.yxt.goods.biz.base.basemanufacturer.BaseManufacturerService;
+import com.yxt.common.base.config.component.FileUploadComponent;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.base.utils.StringUtils;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:40
+ */
+@Service
+public class BaseGoodsSkuExtendService extends MybatisBaseService {
+ @Autowired
+ private FileUploadComponent fileUploadComponent;
+ @Autowired
+ private BaseBrandInfoService baseBrandInfoService;
+ @Autowired
+ private BaseGoodsTypeService baseGoodsTypeService;
+ @Autowired
+ private BaseManufacturerService baseManufacturerService;
+ @Autowired
+ BaseGoodsSpuDetailService baseGoodsSpuDetailService;
+
+ public ResultBean> listPage(PagerQuery pq) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsSkuExtendQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ if(StringUtils.isNotBlank(query.getName())){
+ qw.like("goodsName",query.getName());
+ }
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.listPage(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ List records = pagging.getRecords();
+ records.removeAll(Collections.singleton(null));
+// if (!records.isEmpty()) {
+// for (BaseGoodsSpuVo record : records) {
+// if (StringUtils.isNotBlank(record.getPicUrl())) {
+// record.setPicUrl(fileUploadComponent.getUrlPrefix() + record.getPicUrl());
+// }
+// }
+// }
+ return rb.success().setData(p);
+ }
+ @Transactional
+ public ResultBean saveOrUpdate(BaseGoodsSkuExtendDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ String sid = "";
+ BaseGoodsSkuExtend extend=baseMapper.selectOne(new QueryWrapper().eq("sid",dto.getSid()));
+ if (null!=extend) {
+ sid = dto.getSid();
+ BaseGoodsSkuExtend wmsGoods = fetchBySid(dto.getSid());
+ BeanUtil.copyProperties(dto, wmsGoods);
+ wmsGoods.setModifyTime(new Date());
+ for (UrlsVo url : dto.getUrls()) {
+ String urlPrefix = fileUploadComponent.getUrlPrefix();
+ String path = url.getUrl().substring(urlPrefix.length());
+ if(StringUtils.isBlank(dto.getPicUrl())){
+ wmsGoods.setPicUrl(path);
+ }else{
+ wmsGoods.setPicUrl(wmsGoods.getPicUrl()+","+path);
+ }
+ }
+ if (StringUtils.isNotBlank(dto.getPicUrl())) {
+ String urlPrefix = fileUploadComponent.getUrlPrefix();
+ String path = dto.getPicUrl().substring(urlPrefix.length());
+ wmsGoods.setPicUrl(path);
+ }
+ baseMapper.updateById(wmsGoods);
+
+ } else {
+ BaseGoodsSkuExtend wmsGoods = new BaseGoodsSkuExtend();
+ sid = wmsGoods.getSid();
+ BeanUtil.copyProperties(dto, wmsGoods);
+ wmsGoods.setCreateTime(new DateTime());
+ for (UrlsVo url : dto.getUrls()) {
+ String urlPrefix = fileUploadComponent.getUrlPrefix();
+ String path = url.getUrl().substring(urlPrefix.length());
+ if(StringUtils.isBlank(dto.getPicUrl())){
+ wmsGoods.setPicUrl(path);
+ }else{
+ wmsGoods.setPicUrl(wmsGoods.getPicUrl()+","+path);
+ }
+ }
+ baseMapper.insert(wmsGoods);
+ }
+ return rb.success().setMsg("成功");
+ }
+
+ public ResultBean initialization(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsSkuExtendVo vo = baseMapper.getExtendBySid(sid);
+ return rb.success().setData(vo);
+ }
+
+ public ResultBean getExtendBySkuSid(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsSkuExtendVo vo = baseMapper.getExtendBySkuSid(sid);
+ return rb.success().setData(vo);
+ }
+
+ public ResultBean delete(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsSkuExtend wmsGoods = fetchBySid(sid);
+ if (null != wmsGoods) {
+ baseMapper.deleteById(wmsGoods.getId());
+ }
+ return rb.success();
+ }
+
+ public ResultBean updateIsEnable(String sid,String isEnable) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsSkuExtend wmsGoods = fetchBySid(sid);
+ if (null != wmsGoods) {
+ wmsGoods.setIsEnable(Integer.parseInt(isEnable));
+ baseMapper.updateById(wmsGoods);
+ }
+ return rb.success().setMsg("成功");
+ }
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendVo.java b/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendVo.java
new file mode 100644
index 0000000..347ce66
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendVo.java
@@ -0,0 +1,53 @@
+package com.yxt.goods.biz.base.basegoodsskuextend;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.vo.Vo;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:37
+ */
+@Data
+public class BaseGoodsSkuExtendVo implements Vo {
+ private String id;
+ private String sid;
+ private String lockVersion;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date modifyTime;
+ private String remarks;
+ private String isEnable;
+ private String state;
+ private String isDelete;
+ private String goodsSkuSid;//商品Skusid
+ private String finalPurchasePrice;//最后采购价
+ private String safetyStockDays;//安全库存天数
+ private String isOriginalFactory;//是否原厂
+ private String isInventoryAlert;//是否库存警戒
+ @TableField(value = "InventoryAlertUpperLimit")
+ private String inventoryAlertUpperLimit;//库存警戒上线
+ @TableField(value = "InventoryAlertLowerLimit")
+ private String inventoryAlertLowerLimit;//库存警戒下线
+ private String costPrice;//成本价
+ private String tagPrice;//吊牌价
+ private String salesPrice;//销售单价
+ private String standardPurchasePrice;//标准进价
+ private String agencyPrice;//代理价
+ private String discount;//折扣
+ private String minimumSalesPrice;//最低零售价
+ private String isLockingSalesPrice;//是否锁定销售价
+ private String isIntegralExchange;//是否可以积分兑换
+ private String integralAmount;//积分数量
+ private String sortNo;//排序
+ private String picUrl;//商品的图片,多个图片以‘,’分割
+// private String [] Urls={};//图片数组
+ private List urls;//图片数组
+ private String title;//sku标题
+
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/UrlsVo.java b/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/UrlsVo.java
new file mode 100644
index 0000000..24ff8b4
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsskuextend/UrlsVo.java
@@ -0,0 +1,12 @@
+package com.yxt.goods.biz.base.basegoodsskuextend;
+
+import lombok.Data;
+
+/**
+ * @author wangpengfei
+ * @date 2024/3/22 10:20
+ */
+@Data
+public class UrlsVo {
+ private String url;
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpu.java b/src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpu.java
new file mode 100644
index 0000000..1b54ce9
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpu.java
@@ -0,0 +1,32 @@
+package com.yxt.goods.biz.base.basegoodsspu;
+
+import com.yxt.common.core.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:36
+ */
+@Data
+public class BaseGoodsSpu extends BaseEntity {
+ private String goodsCode;//商品代码
+ private String barCode;//条形码
+ private String goodsName;//商品名称
+ private String subTitle;//商品名称
+ private String goodsPY;//拼音缩写
+ private String goodsShortName;//商品简称
+ private String goodsTypeSid;//商品分类sid
+ private String brandSid;//品牌sid
+ private String manufacturerSid;//厂家sid
+ private String goodsUnitSid;//商品单位sid
+ private String goodsUnitName;//商品单位名称
+ private String taxRate;//税率
+ private String shelfLife;//保质期天
+ private String nationalStandardCode;//国标码
+ private String sortNo;//排序
+ private String externalCode;//外部编码
+ private String factoryCode;//厂家货号
+ private String isListed;//是否上架
+ private String useOrgSid;//使用组织sid
+ private String createOrgSid;//创建组织sid
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuDto.java b/src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuDto.java
new file mode 100644
index 0000000..f9ac0b9
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuDto.java
@@ -0,0 +1,47 @@
+package com.yxt.goods.biz.base.basegoodsspu;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.goods.biz.base.basegoodssku.BaseGoodsSkuDto;
+import com.yxt.goods.biz.base.basegoodsspudetail.BaseGoodsSpuDetailDto;
+import com.yxt.common.core.dto.Dto;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:38
+ */
+@Data
+public class BaseGoodsSpuDto implements Dto {
+ private String id;
+ private String sid;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+ private String remarks;
+ private String isEnable;
+ private String goodsCode;//商品代码
+ private String barCode;//条形码
+ private String goodsName;//商品名称
+ private String subTitle;//副标题
+ private String goodsPY;//拼音缩写
+ private String goodsShortName;//商品简称
+ private String goodsTypeSid;//商品分类sid
+ private String brandSid;//品牌sid
+ private String manufacturerSid;//厂家sid
+ private String goodsUnitSid;//商品单位sid
+ private String goodsUnitName;//商品单位名称
+ private String taxRate;//税率
+ private String shelfLife;//保质期天
+ private String nationalStandardCode;//国标码
+ private String sortNo;//排序
+ private String externalCode;//外部编码
+ private String factoryCode;//厂家货号
+ private String isListed;//是否上架
+ private String useOrgSid;//使用组织sid
+ private String createOrgSid;//创建组织sid
+ private BaseGoodsSpuDetailDto baseGoodsSpuDetail;//商品spu详情
+ private List baseGoodsSkus;//商品sku
+
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuMapper.java b/src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuMapper.java
new file mode 100644
index 0000000..24f7a44
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuMapper.java
@@ -0,0 +1,19 @@
+package com.yxt.goods.biz.base.basegoodsspu;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:40
+ */
+@Mapper
+public interface BaseGoodsSpuMapper extends BaseMapper {
+
+ IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+ BaseGoodsSpuVo initialization(@Param("sid")String sid);
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuMapper.xml b/src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuMapper.xml
new file mode 100644
index 0000000..3f59686
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuMapper.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuQuery.java b/src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuQuery.java
new file mode 100644
index 0000000..4b2b959
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuQuery.java
@@ -0,0 +1,13 @@
+package com.yxt.goods.biz.base.basegoodsspu;
+
+import com.yxt.common.core.query.Query;
+import lombok.Data;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:37
+ */
+@Data
+public class BaseGoodsSpuQuery implements Query {
+ private String name;
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuService.java b/src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuService.java
new file mode 100644
index 0000000..7a058c0
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuService.java
@@ -0,0 +1,165 @@
+package com.yxt.goods.biz.base.basegoodsspu;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateTime;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.goods.biz.base.basegoodssku.BaseGoodsSkuService;
+import com.yxt.goods.biz.base.basegoodssku.BaseGoodsSkuVo;
+import com.yxt.goods.biz.base.basegoodsskuextend.BaseGoodsSkuExtendService;
+import com.yxt.goods.biz.base.basegoodsskuextend.BaseGoodsSkuExtendVo;
+import com.yxt.goods.biz.base.basegoodsskuextend.UrlsVo;
+import com.yxt.goods.biz.base.basegoodsspudetail.BaseGoodsSpuDetailService;
+import com.yxt.goods.biz.base.basegoodsspudetail.BaseGoodsSpuDetailVo;
+import com.yxt.goods.biz.base.basegoodsunit.BaseGoodsUnit;
+import com.yxt.goods.biz.base.basegoodsunit.BaseGoodsUnitService;
+import com.yxt.goods.utils.PinYinUtils;
+import com.yxt.common.base.config.component.FileUploadComponent;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.base.utils.StringUtils;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:40
+ */
+@Service
+public class BaseGoodsSpuService extends MybatisBaseService {
+ @Autowired
+ private FileUploadComponent fileUploadComponent;
+ @Autowired
+ BaseGoodsSpuDetailService baseGoodsSpuDetailService;
+ @Autowired
+ BaseGoodsSkuService baseGoodsSkuService;
+ @Autowired
+ BaseGoodsUnitService baseGoodsUnitService;
+ @Autowired
+ BaseGoodsSkuExtendService baseGoodsSkuExtendService;
+
+
+ public ResultBean> listPage(PagerQuery pq) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsSpuQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ if(StringUtils.isNotBlank(query.getName())){
+ qw.like("goodsName",query.getName());
+ }
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.listPage(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ List records = pagging.getRecords();
+ records.removeAll(Collections.singleton(null));
+// if (!records.isEmpty()) {
+// for (BaseGoodsSpuVo record : records) {
+// if (StringUtils.isNotBlank(record.getPicUrl())) {
+// record.setPicUrl(fileUploadComponent.getUrlPrefix() + record.getPicUrl());
+// }
+// }
+// }
+ return rb.success().setData(p);
+ }
+ @Transactional
+ public ResultBean saveOrUpdate(BaseGoodsSpuDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ String sid = "";
+ BaseGoodsSpu spun= baseMapper.selectOne(new QueryWrapper().eq("sid",dto.getSid()));
+ BaseGoodsUnit baseGoodsUnit=baseGoodsUnitService.getOne(new QueryWrapper().eq("sid",dto.getGoodsUnitSid()));
+ if(null!=baseGoodsUnit){
+ dto.setGoodsUnitName(baseGoodsUnit.getUnitName());
+ }
+
+ if (spun!=null) {
+ if(!spun.getSid().equals(dto.getSid())){
+ return rb.setMsg("商品编码重复");
+ }
+ sid = dto.getSid();
+ BaseGoodsSpu wmsGoods = fetchBySid(dto.getSid());
+ BeanUtil.copyProperties(dto, wmsGoods);
+ wmsGoods.setModifyTime(new Date());
+ wmsGoods.setGoodsPY(PinYinUtils.getPinYinName(wmsGoods.getGoodsName()));;
+ baseMapper.updateById(wmsGoods);
+ //spu详情
+ dto.getBaseGoodsSpuDetail().setGoodSpuSid(wmsGoods.getSid());
+ baseGoodsSpuDetailService.saveOrUpdate(dto.getBaseGoodsSpuDetail());
+ //商品sku
+ dto.getBaseGoodsSkus().forEach(s->{
+ s.setGoodsSpuSid(wmsGoods.getSid());
+ });
+ baseGoodsSkuService.saveOrUpdate(dto.getBaseGoodsSkus());
+ } else {
+ BaseGoodsSpu spu=baseMapper.selectOne(new QueryWrapper().eq("goodsCode",dto.getGoodsCode()));
+ if(spu!=null){
+ return rb.setMsg("商品编码重复");
+ }
+ BaseGoodsSpu wmsGoods = new BaseGoodsSpu();
+ sid = wmsGoods.getSid();
+ BeanUtil.copyProperties(dto, wmsGoods);
+ wmsGoods.setCreateTime(new DateTime());
+ baseMapper.insert(wmsGoods);
+ //spu详情
+ dto.getBaseGoodsSpuDetail().setGoodSpuSid(wmsGoods.getSid());
+ baseGoodsSpuDetailService.saveOrUpdate(dto.getBaseGoodsSpuDetail());
+ //商品sku
+ dto.getBaseGoodsSkus().forEach(s->{
+ s.setGoodsSpuSid(wmsGoods.getSid());
+ });
+ baseGoodsSkuService.saveOrUpdate(dto.getBaseGoodsSkus());
+ }
+ return rb.success().setMsg("成功");
+ }
+
+ public ResultBean initialization(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsSpuVo vo = baseMapper.initialization(sid);
+ BaseGoodsSpuDetailVo vo1=baseGoodsSpuDetailService.getSpuDetailsBySpuSid(vo.getSid()).getData();
+ vo.setBaseGoodsSpuDetail(vo1);
+ List vos=baseGoodsSkuService.getSkusBySpuSid(vo.getSid()).getData();
+ for (BaseGoodsSkuVo baseGoodsSkuVo : vos) {
+ List ur=new ArrayList<>();
+ BaseGoodsSkuExtendVo vo2=baseGoodsSkuExtendService.getExtendBySkuSid(baseGoodsSkuVo.getSid()).getData();
+ if(StringUtils.isNotBlank(vo2.getPicUrl())){
+ for (String url : vo2.getPicUrl().split(",")) {
+ url=fileUploadComponent.getUrlPrefix()+url;
+ UrlsVo vo3=new UrlsVo();vo3.setUrl(url);
+ ur.add(vo3);
+ }
+ }
+ vo2.setUrls(ur);
+ baseGoodsSkuVo.setBaseGoodsSkuExtend(vo2);
+ }
+ vo.setBaseGoodsSkus(vos);
+ return rb.success().setData(vo);
+ }
+
+
+
+ public ResultBean delete(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsSpu wmsGoods = fetchBySid(sid);
+ if (null != wmsGoods) {
+ baseMapper.deleteById(wmsGoods.getId());
+ }
+ return rb.success();
+ }
+
+ public ResultBean updateIsEnable(String sid,String isEnable) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsSpu wmsGoods = fetchBySid(sid);
+ if (null != wmsGoods) {
+ wmsGoods.setIsEnable(Integer.parseInt(isEnable));
+ baseMapper.updateById(wmsGoods);
+ }
+ return rb.success().setMsg("成功");
+ }
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuVo.java b/src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuVo.java
new file mode 100644
index 0000000..be99e8c
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuVo.java
@@ -0,0 +1,51 @@
+package com.yxt.goods.biz.base.basegoodsspu;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.goods.biz.base.basegoodssku.BaseGoodsSkuVo;
+import com.yxt.goods.biz.base.basegoodsspudetail.BaseGoodsSpuDetailVo;
+import com.yxt.common.core.vo.Vo;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:37
+ */
+@Data
+public class BaseGoodsSpuVo implements Vo {
+ private String id;
+ private String sid;
+ private String lockVersion;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date modifyTime;
+ private String remarks;
+ private String isEnable;
+ private String state;
+ private String isDelete;
+ private String goodsCode;//商品代码
+ private String barCode;//条形码
+ private String goodsName;//商品名称
+ private String subTitle;//商品名称
+ private String goodsPY;//拼音缩写
+ private String goodsShortName;//商品简称
+ private String goodsTypeSid;//商品分类sid
+ private String brandSid;//品牌sid
+ private String manufacturerSid;//厂家sid
+ private String goodsUnitSid;//商品单位sid
+ private String goodsUnitName;//商品单位名称
+ private String taxRate;//税率
+ private String shelfLife;//保质期天
+ private String nationalStandardCode;//国标码
+ private String sortNo;//排序
+ private String externalCode;//外部编码
+ private String factoryCode;//厂家货号
+ private String isListed;//是否上架
+ private String useOrgSid;//使用组织sid
+ private String createOrgSid;//创建组织sid
+ private BaseGoodsSpuDetailVo baseGoodsSpuDetail;
+ private List baseGoodsSkus;
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetail.java b/src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetail.java
new file mode 100644
index 0000000..51a15b0
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetail.java
@@ -0,0 +1,20 @@
+package com.yxt.goods.biz.base.basegoodsspudetail;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.yxt.common.core.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:36
+ */
+@Data
+public class BaseGoodsSpuDetail extends BaseEntity {
+ private String goodSpuSid;//商品基础信息Sid
+ private String goodsExplain;//商品详细说明
+ private String goodsDescription;//商品描述
+ @TableField(value = "generic_spec")
+ private String genericSpec;//通用规格参数及数据,json格式(规格参数id,规格参数值的键值对)
+ @TableField(value = "special_spec")
+ private String specialSpec;//特有规格参数及可选值信息,json格式(特有规格参数id,[可选参数值])
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailDto.java b/src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailDto.java
new file mode 100644
index 0000000..be06414
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailDto.java
@@ -0,0 +1,29 @@
+package com.yxt.goods.biz.base.basegoodsspudetail;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.dto.Dto;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:38
+ */
+@Data
+public class BaseGoodsSpuDetailDto implements Dto {
+ private String id;
+ private String sid;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+ private String remarks;
+ private String isEnable;
+ private String goodSpuSid;//商品基础信息Sid
+ private String goodsExplain;//商品详细说明
+ private String goodsDescription;//商品描述
+ @TableField(value = "generic_spec")
+ private String genericSpec;//通用规格参数及数据,json格式(规格参数id,规格参数值的键值对)
+ @TableField(value = "special_spec")
+ private String specialSpec;//特有规格参数及可选值信息,json格式(特有规格参数id,[可选参数值])
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailMapper.java b/src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailMapper.java
new file mode 100644
index 0000000..12ce544
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailMapper.java
@@ -0,0 +1,20 @@
+package com.yxt.goods.biz.base.basegoodsspudetail;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:40
+ */
+@Mapper
+public interface BaseGoodsSpuDetailMapper extends BaseMapper {
+
+ IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+
+ BaseGoodsSpuDetailVo getSpuDetailsBySpuSid (@Param("skuSid")String skuSid);
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailMapper.xml b/src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailMapper.xml
new file mode 100644
index 0000000..69b2042
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailMapper.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailQuery.java b/src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailQuery.java
new file mode 100644
index 0000000..5b3f188
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailQuery.java
@@ -0,0 +1,13 @@
+package com.yxt.goods.biz.base.basegoodsspudetail;
+
+import com.yxt.common.core.query.Query;
+import lombok.Data;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:37
+ */
+@Data
+public class BaseGoodsSpuDetailQuery implements Query {
+ private String name;
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailService.java b/src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailService.java
new file mode 100644
index 0000000..8689e15
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailService.java
@@ -0,0 +1,105 @@
+package com.yxt.goods.biz.base.basegoodsspudetail;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateTime;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.goods.biz.base.basebrandinfo.BaseBrandInfoService;
+import com.yxt.goods.biz.base.basegoodstype.BaseGoodsTypeService;
+import com.yxt.goods.biz.base.basemanufacturer.BaseManufacturerService;
+import com.yxt.common.base.config.component.FileUploadComponent;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.base.utils.StringUtils;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:40
+ */
+@Service
+public class BaseGoodsSpuDetailService extends MybatisBaseService {
+ @Autowired
+ private FileUploadComponent fileUploadComponent;
+ @Autowired
+ private BaseBrandInfoService baseBrandInfoService;
+ @Autowired
+ private BaseGoodsTypeService baseGoodsTypeService;
+ @Autowired
+ private BaseManufacturerService wmsManufacturerService;
+ public ResultBean> listPage(PagerQuery pq) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsSpuDetailQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ if(StringUtils.isNotBlank(query.getName())){
+ qw.like("goodsName",query.getName());
+ }
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.listPage(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return rb.success().setData(p);
+ }
+
+ public ResultBean saveOrUpdate(BaseGoodsSpuDetailDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsSpuDetail detail=baseMapper.selectOne(new QueryWrapper().eq("sid",dto.getSid()));
+ String sid = "";
+ if (null!=detail) {
+ sid = dto.getSid();
+ BaseGoodsSpuDetail baseGoodsSpuDetail = fetchBySid(dto.getSid());
+ BeanUtil.copyProperties(dto, baseGoodsSpuDetail);
+ baseGoodsSpuDetail.setModifyTime(new Date());
+ baseMapper.updateById(baseGoodsSpuDetail);
+ } else {
+
+ BaseGoodsSpuDetail baseGoodsSpuDetail = new BaseGoodsSpuDetail();
+ sid = baseGoodsSpuDetail.getSid();
+ BeanUtil.copyProperties(dto, baseGoodsSpuDetail);
+ baseGoodsSpuDetail.setCreateTime(new DateTime());
+
+ baseMapper.insert(baseGoodsSpuDetail);
+ }
+ return rb.success().setMsg("成功");
+ }
+
+ public ResultBean initialization(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsSpuDetailVo vo = new BaseGoodsSpuDetailVo();
+ BaseGoodsSpuDetail wmsGoods = fetchBySid(sid);
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ BeanUtil.copyProperties(wmsGoods, vo);
+ return rb.success().setData(vo);
+ }
+ public ResultBean getSpuDetailsBySpuSid(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsSpuDetailVo vo = baseMapper.getSpuDetailsBySpuSid(sid);
+ return rb.success().setData(vo);
+ }
+
+
+ public ResultBean delete(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsSpuDetail wmsGoods = fetchBySid(sid);
+ if (null != wmsGoods) {
+ baseMapper.deleteById(wmsGoods.getId());
+ }
+ return rb.success();
+ }
+
+ public ResultBean updateIsEnable(String sid,String isEnable) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsSpuDetail wmsGoods = fetchBySid(sid);
+ if (null != wmsGoods) {
+ wmsGoods.setIsEnable(Integer.parseInt(isEnable));
+ baseMapper.updateById(wmsGoods);
+ }
+ return rb.success().setMsg("成功");
+ }
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailVo.java b/src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailVo.java
new file mode 100644
index 0000000..4fc1419
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailVo.java
@@ -0,0 +1,35 @@
+package com.yxt.goods.biz.base.basegoodsspudetail;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.vo.Vo;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:37
+ */
+@Data
+public class BaseGoodsSpuDetailVo implements Vo {
+ private String id;
+ private String sid;
+ private String lockVersion;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date modifyTime;
+ private String remarks;
+ private String isEnable;
+ private String state;
+ private String isDelete;
+ private String goodSpuSid;//商品基础信息Sid
+ private String goodsExplain;//商品详细说明
+ private String goodsDescription;//商品描述
+ @TableField(value = "generic_spec")
+ private String genericSpec;//通用规格参数及数据,json格式(规格参数id,规格参数值的键值对)
+ @TableField(value = "special_spec")
+ private String specialSpec;//特有规格参数及可选值信息,json格式(特有规格参数id,[可选参数值])
+ private String goodsName;
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsType.java b/src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsType.java
new file mode 100644
index 0000000..301f73e
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsType.java
@@ -0,0 +1,22 @@
+package com.yxt.goods.biz.base.basegoodstype;
+
+import com.yxt.common.core.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:36
+ */
+@Data
+public class BaseGoodsType extends BaseEntity {
+ private String goodsTypeName;//商品类别名称
+ private String goodsTypeCode;//类别编码
+ private String percentageRate;//提成比例
+ private String percentageAmount;//提成金额
+ private String pSid;//父级sid
+ private String isParent;//是否为父节点,0为否,1为是,0标识为叶子节点
+ private String isGoodsID;//是否一品一码 0 否 1是
+ private String sortNo;//排序
+ private String useOrgSid;//使用组织sid
+ private String createOrgSid;//创建组织sid
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeDto.java b/src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeDto.java
new file mode 100644
index 0000000..efcd862
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeDto.java
@@ -0,0 +1,33 @@
+package com.yxt.goods.biz.base.basegoodstype;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.dto.Dto;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:38
+ */
+@Data
+public class BaseGoodsTypeDto implements Dto {
+ private String id;
+ private String sid;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+ private String remarks;
+ private String isEnable;
+ private String goodsTypeName;//商品类别名称
+ private String goodsTypeCode;//类别编码
+ private String percentageRate;//提成比例
+ private String percentageAmount;//提成金额
+ private String pSid;//父级sid
+ private String isParent;//是否为父节点,0为否,1为是,0标识为叶子节点
+ private String isGoodsID;//是否一品一码 0 否 1是
+ private String sortNo;//排序
+ private String useOrgSid;//使用组织sid
+ private String createOrgSid;//创建组织sid
+ private String pName;//创建组织sid
+ private String sids;//父级sid
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeMapper.java b/src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeMapper.java
new file mode 100644
index 0000000..0e636cc
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeMapper.java
@@ -0,0 +1,17 @@
+package com.yxt.goods.biz.base.basegoodstype;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:40
+ */
+@Mapper
+public interface BaseGoodsTypeMapper extends BaseMapper {
+ IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeMapper.xml b/src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeMapper.xml
new file mode 100644
index 0000000..8cf55d1
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeMapper.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeQuery.java b/src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeQuery.java
new file mode 100644
index 0000000..fa45143
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeQuery.java
@@ -0,0 +1,13 @@
+package com.yxt.goods.biz.base.basegoodstype;
+
+import com.yxt.common.core.query.Query;
+import lombok.Data;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:37
+ */
+@Data
+public class BaseGoodsTypeQuery implements Query {
+ private String name;
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeService.java b/src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeService.java
new file mode 100644
index 0000000..2ca0bb3
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeService.java
@@ -0,0 +1,120 @@
+package com.yxt.goods.biz.base.basegoodstype;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateTime;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.base.utils.StringUtils;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import org.springframework.stereotype.Service;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:40
+ */
+@Service
+public class BaseGoodsTypeService extends MybatisBaseService {
+
+
+ public ResultBean> listPage(PagerQuery pq) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsTypeQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ if(StringUtils.isNotBlank(query.getName())){
+ qw.like("goodsTypeName",query.getName());
+ }
+
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.listPage(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ List records = pagging.getRecords();
+ for (BaseGoodsTypeVo record : records) {
+ if(StringUtils.isNotBlank(record.getPSid())){
+ BaseGoodsType wmsGoodsType1 = fetchBySid(record.getPSid());
+ record.setPName(wmsGoodsType1.getGoodsTypeName());
+ record.setSids(record.getPSid());
+ }
+ }
+ return rb.success().setData(p);
+ } public ResultBean> listAll() {
+ ResultBean rb = ResultBean.fireFail();
+ List pagging = baseMapper.selectList(new QueryWrapper().eq("isEnable",1));
+ return rb.success().setData(pagging);
+ }
+
+ public ResultBean saveOrUpdate(BaseGoodsTypeDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ String sid = "";
+ dto.setPSid(dto.getSids());
+ if (StringUtils.isNotBlank(dto.getSid())) {
+ sid = dto.getSid();
+ BaseGoodsType wmsGoodsType = fetchBySid(dto.getSid());
+ BeanUtil.copyProperties(dto, wmsGoodsType, "id", "sid");
+ wmsGoodsType.setModifyTime(new Date());
+ wmsGoodsType.setIsParent("0");
+ if(StringUtils.isBlank(wmsGoodsType.getPSid())){
+ wmsGoodsType.setIsParent("1");
+ }
+ baseMapper.updateById(wmsGoodsType);
+ } else {
+ BaseGoodsType wmsGoods = new BaseGoodsType();
+ sid = wmsGoods.getSid();
+ BeanUtil.copyProperties(dto, wmsGoods, "id", "sid");
+ wmsGoods.setCreateTime(new DateTime());
+ wmsGoods.setIsParent("0");
+ if(StringUtils.isBlank(wmsGoods.getPSid())){
+ wmsGoods.setIsParent("1");
+ }
+ baseMapper.insert(wmsGoods);
+ }
+ return rb.success().setMsg("成功");
+ }
+
+ public ResultBean initialization(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsTypeVo vo = new BaseGoodsTypeVo();
+ BaseGoodsType wmsGoodsType = fetchBySid(sid);
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ if (null != wmsGoodsType) {
+ BeanUtil.copyProperties(wmsGoodsType, vo);
+// if (StringUtils.isNotBlank(wmsGoods.getPicUrl())) {
+// vo.setPicUrl(fileUploadComponent.getUrlPrefix() + wmsGoods.getPicUrl());
+// }
+// vo.setCreateTime(sdf.format(lpkGoods.getCreateTime()));
+ if(StringUtils.isNotBlank(wmsGoodsType.getPSid())){
+ BaseGoodsType wmsGoodsType1 = fetchBySid(wmsGoodsType.getPSid());
+ vo.setPName(wmsGoodsType1.getGoodsTypeName());
+ }
+ vo.setSids(wmsGoodsType.getPSid());
+ }
+ return rb.success().setData(vo);
+ }
+
+
+
+ public ResultBean delete(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsType wmsGoodsType = fetchBySid(sid);
+ if (null != wmsGoodsType) {
+ baseMapper.deleteById(wmsGoodsType.getId());
+ }
+ return rb.success();
+ }
+ public ResultBean updateIsEnable(String sid,String isEnable) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsType wmsGoodsType = fetchBySid(sid);
+ if (null != wmsGoodsType) {
+ wmsGoodsType.setIsEnable(Integer.parseInt(isEnable));
+ baseMapper.updateById(wmsGoodsType);
+ }
+ return rb.success().setMsg("成功");
+ }
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeVo.java b/src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeVo.java
new file mode 100644
index 0000000..08d9644
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeVo.java
@@ -0,0 +1,38 @@
+package com.yxt.goods.biz.base.basegoodstype;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.vo.Vo;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:37
+ */
+@Data
+public class BaseGoodsTypeVo implements Vo {
+ private String id;
+ private String sid;
+ private String lockVersion;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date modifyTime;
+ private String remarks;
+ private String isEnable;
+ private String state;
+ private String isDelete;
+ private String goodsTypeName;//商品类别名称
+ private String goodsTypeCode;//类别编码
+ private String percentageRate;//提成比例
+ private String percentageAmount;//提成金额
+ private String pSid;//父级sid
+ private String pName;//父级sid
+ private String isParent;//是否为父节点,0为否,1为是,0标识为叶子节点
+ private String isGoodsID;//是否一品一码 0 否 1是
+ private String sortNo;//排序
+ private String useOrgSid;//使用组织sid
+ private String createOrgSid;//创建组织sid
+ private String sids;//创建组织sid
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnit.java b/src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnit.java
new file mode 100644
index 0000000..639239a
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnit.java
@@ -0,0 +1,14 @@
+package com.yxt.goods.biz.base.basegoodsunit;
+
+import com.yxt.common.core.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:36
+ */
+@Data
+public class BaseGoodsUnit extends BaseEntity {
+
+ private String unitName;//单位名称
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitDto.java b/src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitDto.java
new file mode 100644
index 0000000..4cc71eb
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitDto.java
@@ -0,0 +1,27 @@
+package com.yxt.goods.biz.base.basegoodsunit;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.dto.Dto;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:38
+ */
+@Data
+public class BaseGoodsUnitDto implements Dto {
+ private String id;
+ private String sid;
+ private String lockVersion;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date modifyTime;
+ private String remarks;
+ private String isEnable;
+ private String state;
+ private String isDelete;
+ private String unitName;//单位名称
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitMapper.java b/src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitMapper.java
new file mode 100644
index 0000000..737a308
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitMapper.java
@@ -0,0 +1,17 @@
+package com.yxt.goods.biz.base.basegoodsunit;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:40
+ */
+@Mapper
+public interface BaseGoodsUnitMapper extends BaseMapper {
+ IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitMapper.xml b/src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitMapper.xml
new file mode 100644
index 0000000..09c8848
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitMapper.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitQuery.java b/src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitQuery.java
new file mode 100644
index 0000000..8db9151
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitQuery.java
@@ -0,0 +1,13 @@
+package com.yxt.goods.biz.base.basegoodsunit;
+
+import com.yxt.common.core.query.Query;
+import lombok.Data;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:37
+ */
+@Data
+public class BaseGoodsUnitQuery implements Query {
+ private String name;
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitService.java b/src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitService.java
new file mode 100644
index 0000000..f298d68
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitService.java
@@ -0,0 +1,107 @@
+package com.yxt.goods.biz.base.basegoodsunit;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateTime;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.base.utils.StringUtils;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import org.springframework.stereotype.Service;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:40
+ */
+@Service
+public class BaseGoodsUnitService extends MybatisBaseService {
+
+
+ public ResultBean> listPage(PagerQuery pq) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsUnitQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ if(StringUtils.isNotBlank(query.getName())){
+ qw.like("unitName",query.getName());
+ }
+
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.listPage(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ List records = pagging.getRecords();
+ return rb.success().setData(p);
+ } public ResultBean> listAll() {
+ ResultBean rb = ResultBean.fireFail();
+ List pagging = baseMapper.selectList(new QueryWrapper().eq("isEnable",1));
+ return rb.success().setData(pagging);
+ }
+
+ public ResultBean saveOrUpdate(BaseGoodsUnitDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ String sid = "";
+ if (StringUtils.isNotBlank(dto.getSid())) {
+ sid = dto.getSid();
+ BaseGoodsUnit wmsGoodsType = fetchBySid(dto.getSid());
+ BeanUtil.copyProperties(dto, wmsGoodsType, "id", "sid");
+ wmsGoodsType.setModifyTime(new Date());
+ baseMapper.updateById(wmsGoodsType);
+ } else {
+ BaseGoodsUnit wmsGoods = new BaseGoodsUnit();
+ sid = wmsGoods.getSid();
+ BeanUtil.copyProperties(dto, wmsGoods, "id", "sid");
+ wmsGoods.setCreateTime(new DateTime());
+// if (StringUtils.isNotBlank(dto.getPicUrl())) {
+// String urlPrefix = fileUploadComponent.getUrlPrefix();
+// String path = dto.getPicUrl().substring(urlPrefix.length());
+// lpkGoods.setPicUrl(path);
+// }
+ baseMapper.insert(wmsGoods);
+ }
+ return rb.success().setMsg("成功");
+ }
+
+ public ResultBean initialization(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsUnitVo vo = new BaseGoodsUnitVo();
+ BaseGoodsUnit wmsGoodsType = fetchBySid(sid);
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ BeanUtil.copyProperties(wmsGoodsType, vo);
+ if (null != wmsGoodsType) {
+// BeanUtil.copyProperties(wmsGoodsType, vo);
+// if (StringUtils.isNotBlank(wmsGoods.getPicUrl())) {
+// vo.setPicUrl(fileUploadComponent.getUrlPrefix() + wmsGoods.getPicUrl());
+// }
+// vo.setCreateTime(sdf.format(lpkGoods.getCreateTime()));
+// BaseGoodsUnit wmsGoodsType1 = fetchBySid(wmsGoodsType.getPSid());
+// vo.setPName(wmsGoodsType1.getGoodsTypeName());
+ }
+ return rb.success().setData(vo);
+ }
+
+
+
+ public ResultBean delete(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsUnit wmsGoodsType = fetchBySid(sid);
+ if (null != wmsGoodsType) {
+ baseMapper.deleteById(wmsGoodsType.getId());
+ }
+ return rb.success();
+ }
+ public ResultBean updateIsEnable(String sid,String isEnable) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseGoodsUnit wmsGoodsType = fetchBySid(sid);
+ if (null != wmsGoodsType) {
+ wmsGoodsType.setIsEnable(Integer.parseInt(isEnable));
+ baseMapper.updateById(wmsGoodsType);
+ }
+ return rb.success().setMsg("成功");
+ }
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitVo.java b/src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitVo.java
new file mode 100644
index 0000000..bc062b8
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitVo.java
@@ -0,0 +1,27 @@
+package com.yxt.goods.biz.base.basegoodsunit;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.vo.Vo;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:37
+ */
+@Data
+public class BaseGoodsUnitVo implements Vo {
+ private String id;
+ private String sid;
+ private String lockVersion;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date modifyTime;
+ private String remarks;
+ private String isEnable;
+ private String state;
+ private String isDelete;
+ private String unitName;//单位名称
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturer.java b/src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturer.java
new file mode 100644
index 0000000..2eda4ee
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturer.java
@@ -0,0 +1,20 @@
+package com.yxt.goods.biz.base.basemanufacturer;
+
+import com.yxt.common.core.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:36
+ */
+@Data
+public class BaseManufacturer extends BaseEntity {
+ private String manufacturerName;//厂家名称
+ private String manufacturerCode;//厂家编码
+ private String address;//地址
+ private String telephone;//电话
+ private String contacts;//联系人
+ private String sortNo;//排序
+ private String useOrgSid;//使用组织sid
+ private String createOrgSid;//创建组织sid
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturerDto.java b/src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturerDto.java
new file mode 100644
index 0000000..97c6608
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturerDto.java
@@ -0,0 +1,35 @@
+package com.yxt.goods.biz.base.basemanufacturer;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.dto.Dto;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:38
+ */
+@Data
+public class BaseManufacturerDto implements Dto {
+ private String id;
+ private String sid;
+ private String lockVersion;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date modifyTime;
+ private String remarks;
+ private String isEnable;
+ private String state;
+ private String isDelete;
+
+ private String manufacturerName;//厂家名称
+ private String manufacturerCode;//厂家编码
+ private String address;//地址
+ private String telephone;//电话
+ private String contacts;//联系人
+ private String sortNo;//排序
+ private String useOrgSid;//使用组织sid
+ private String createOrgSid;//创建组织sid
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturerMapper.java b/src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturerMapper.java
new file mode 100644
index 0000000..fd27fab
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturerMapper.java
@@ -0,0 +1,21 @@
+package com.yxt.goods.biz.base.basemanufacturer;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:40
+ */
+@Mapper
+public interface BaseManufacturerMapper extends BaseMapper {
+ IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+
+ List getAllTypeByUseOrgSid(@Param("useOrgSid") String useOrgSid);
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturerMapper.xml b/src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturerMapper.xml
new file mode 100644
index 0000000..d5ea849
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturerMapper.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturerQuery.java b/src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturerQuery.java
new file mode 100644
index 0000000..91a686d
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturerQuery.java
@@ -0,0 +1,13 @@
+package com.yxt.goods.biz.base.basemanufacturer;
+
+import com.yxt.common.core.query.Query;
+import lombok.Data;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:37
+ */
+@Data
+public class BaseManufacturerQuery implements Query {
+ private String name;
+}
diff --git a/src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturerService.java b/src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturerService.java
new file mode 100644
index 0000000..e05fa4c
--- /dev/null
+++ b/src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturerService.java
@@ -0,0 +1,111 @@
+package com.yxt.goods.biz.base.basemanufacturer;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateTime;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.base.utils.StringUtils;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import org.springframework.stereotype.Service;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wangpengfei
+ * @date 2024/2/26 13:40
+ */
+@Service
+public class BaseManufacturerService extends MybatisBaseService {
+
+
+ public ResultBean> listPage(PagerQuery pq) {
+ ResultBean rb = ResultBean.fireFail();
+ BaseManufacturerQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ if(StringUtils.isNotBlank(query.getName())){
+ qw.like("goodsTypeName",query.getName());
+ }
+
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.listPage(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ List records = pagging.getRecords();
+ return rb.success().setData(p);
+ }
+ public ResultBean> listAll() {
+ ResultBean rb = ResultBean.fireFail();
+ List pagging = baseMapper.selectList(new QueryWrapper