Browse Source

user项目

master
yxt_njy 1 year ago
commit
29546538c3
  1. 116
      .gitignore
  2. 0
      README.md
  3. 133
      pom.xml
  4. 24
      src/main/java/com/yxt/user/UserApplication.java
  5. 10
      src/main/java/com/yxt/user/apiadmin/AdminHomeRest.java
  6. 55
      src/main/java/com/yxt/user/apiadmin/base/BaseCategoryBrandRest.java
  7. 60
      src/main/java/com/yxt/user/apiadmin/base/BaseGoodsBrandRest.java
  8. 55
      src/main/java/com/yxt/user/apiadmin/base/BaseGoodsSkuExtendRest.java
  9. 72
      src/main/java/com/yxt/user/apiadmin/base/BaseGoodsSkuRest.java
  10. 51
      src/main/java/com/yxt/user/apiadmin/base/BaseGoodsSpuDetailRest.java
  11. 58
      src/main/java/com/yxt/user/apiadmin/base/BaseGoodsSpuRest.java
  12. 61
      src/main/java/com/yxt/user/apiadmin/base/BaseGoodsTypeRest.java
  13. 61
      src/main/java/com/yxt/user/apiadmin/base/BaseGoodsUnitRest.java
  14. 69
      src/main/java/com/yxt/user/apiadmin/base/BaseManufacturerRest.java
  15. 57
      src/main/java/com/yxt/user/apiadmin/base/BaseSpecGroupRest.java
  16. 57
      src/main/java/com/yxt/user/apiadmin/base/BaseSpecParamRest.java
  17. 89
      src/main/java/com/yxt/user/apiadmin/base/BaseSupplierBankRest.java
  18. 89
      src/main/java/com/yxt/user/apiadmin/base/BaseSupplierFileRest.java
  19. 97
      src/main/java/com/yxt/user/apiadmin/base/BaseSupplierInfoRest.java
  20. 89
      src/main/java/com/yxt/user/apiadmin/base/BaseSupplierTypeRest.java
  21. 56
      src/main/java/com/yxt/user/apiadmin/base/ShoppingCartRest.java
  22. 10
      src/main/java/com/yxt/user/apiwx/WxHomeRest.java
  23. 21
      src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfo.java
  24. 27
      src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoDto.java
  25. 18
      src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoMapper.java
  26. 15
      src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoMapper.xml
  27. 13
      src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoQuery.java
  28. 127
      src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoService.java
  29. 32
      src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoVo.java
  30. 15
      src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrand.java
  31. 22
      src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandDto.java
  32. 23
      src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandMapper.java
  33. 29
      src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandMapper.xml
  34. 13
      src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandQuery.java
  35. 115
      src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandService.java
  36. 24
      src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandVo.java
  37. 21
      src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSku.java
  38. 69
      src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuDetailsVo.java
  39. 31
      src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuDto.java
  40. 26
      src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuMapper.java
  41. 64
      src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuMapper.xml
  42. 35
      src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuPurSelectList.java
  43. 30
      src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuPurSelectQuery.java
  44. 13
      src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuQuery.java
  45. 36
      src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuSelectList.java
  46. 15
      src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuSelectQuery.java
  47. 208
      src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuService.java
  48. 38
      src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuVo.java
  49. 34
      src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtend.java
  50. 46
      src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendDto.java
  51. 20
      src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendMapper.java
  52. 28
      src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendMapper.xml
  53. 13
      src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendQuery.java
  54. 139
      src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendService.java
  55. 53
      src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendVo.java
  56. 12
      src/main/java/com/yxt/user/biz/base/basegoodsskuextend/UrlsVo.java
  57. 32
      src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpu.java
  58. 47
      src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuDto.java
  59. 19
      src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuMapper.java
  60. 27
      src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuMapper.xml
  61. 13
      src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuQuery.java
  62. 165
      src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuService.java
  63. 51
      src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuVo.java
  64. 20
      src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetail.java
  65. 29
      src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailDto.java
  66. 20
      src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailMapper.java
  67. 24
      src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailMapper.xml
  68. 13
      src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailQuery.java
  69. 105
      src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailService.java
  70. 35
      src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailVo.java
  71. 22
      src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsType.java
  72. 33
      src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeDto.java
  73. 17
      src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeMapper.java
  74. 15
      src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeMapper.xml
  75. 13
      src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeQuery.java
  76. 120
      src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeService.java
  77. 38
      src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeVo.java
  78. 14
      src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnit.java
  79. 27
      src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitDto.java
  80. 17
      src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitMapper.java
  81. 15
      src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitMapper.xml
  82. 13
      src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitQuery.java
  83. 107
      src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitService.java
  84. 27
      src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitVo.java
  85. 20
      src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturer.java
  86. 35
      src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturerDto.java
  87. 21
      src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturerMapper.java
  88. 20
      src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturerMapper.xml
  89. 13
      src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturerQuery.java
  90. 111
      src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturerService.java
  91. 36
      src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturerVo.java
  92. 15
      src/main/java/com/yxt/user/biz/base/basespecgroup/BaseSpecGroup.java
  93. 22
      src/main/java/com/yxt/user/biz/base/basespecgroup/BaseSpecGroupDto.java
  94. 23
      src/main/java/com/yxt/user/biz/base/basespecgroup/BaseSpecGroupMapper.java
  95. 27
      src/main/java/com/yxt/user/biz/base/basespecgroup/BaseSpecGroupMapper.xml
  96. 13
      src/main/java/com/yxt/user/biz/base/basespecgroup/BaseSpecGroupQuery.java
  97. 115
      src/main/java/com/yxt/user/biz/base/basespecgroup/BaseSpecGroupService.java
  98. 23
      src/main/java/com/yxt/user/biz/base/basespecgroup/BaseSpecGroupVo.java
  99. 22
      src/main/java/com/yxt/user/biz/base/basespecparam/BaseSpecParam.java
  100. 28
      src/main/java/com/yxt/user/biz/base/basespecparam/BaseSpecParamDto.java

116
.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/

0
README.md

133
pom.xml

@ -0,0 +1,133 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.yxt</groupId>
<artifactId>yxt-parent</artifactId>
<version>0.0.1</version>
<relativePath/>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>ss-common-user</artifactId>
<groupId>ss-common-user</groupId>
<version>2.0.1</version>
<dependencies>
<dependency>
<groupId>com.yxt</groupId>
<artifactId>yxt-common-base</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-annotation</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- Sa-Token 权限认证,在线文档:https://sa-token.cc -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-boot-starter</artifactId>
<version>1.37.0</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.23</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-core</artifactId>
<version>5.8.23</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.3.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.5.6</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*Mapper.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
</project>

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

10
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 {
}

55
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<PagerVo<BaseCategoryBrandVo>> listPage(@RequestBody PagerQuery<BaseCategoryBrandQuery> pq) {
return baseCategoryBrandService.listPage(pq);
}
@ApiOperation("保存修改")
@PostMapping("/saveOrUpdate")
public ResultBean<String> saveOrUpdate(@RequestBody BaseCategoryBrandDto dto) {
return baseCategoryBrandService.saveOrUpdate(dto);
}
@ApiOperation("初始化")
@GetMapping("/initialization/{sid}")
public ResultBean<BaseCategoryBrandVo> 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);
}
}

60
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<PagerVo<BaseBrandInfoVo>> listPage(@RequestBody PagerQuery<BaseBrandInfoQuery> pq) {
return baseBrandInfoService.listPage(pq);
}
@ApiOperation("查询所有的品牌")
@GetMapping("/listAll")
public ResultBean<List<BaseBrandInfo>> listAll() {
return baseBrandInfoService.listAll();
}
@ApiOperation("保存修改")
@PostMapping("/saveOrUpdate")
public ResultBean<String> saveOrUpdate(@RequestBody BaseBrandInfoDto dto) {
return baseBrandInfoService.saveOrUpdate(dto);
}
@ApiOperation("初始化")
@GetMapping("/initialization/{sid}")
public ResultBean<BaseBrandInfoVo> 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);
}
}

55
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<PagerVo<BaseGoodsSkuExtendVo>> listPage(@RequestBody PagerQuery<BaseGoodsSkuExtendQuery> pq) {
return baseGoodsSkuExtendService.listPage(pq);
}
@ApiOperation("保存修改")
@PostMapping("/saveOrUpdate")
public ResultBean<String> saveOrUpdate(@RequestBody BaseGoodsSkuExtendDto dto) {
return baseGoodsSkuExtendService.saveOrUpdate(dto);
}
@ApiOperation("初始化")
@GetMapping("/initialization/{sid}")
public ResultBean<BaseGoodsSkuExtendVo> 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);
}
}

72
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<PagerVo<BaseGoodsSkuVo>> listPage(@RequestBody PagerQuery<BaseGoodsSkuQuery> pq) {
return baseGoodsSkuService.listPage(pq);
}
@ApiOperation("保存修改")
@PostMapping("/saveOrUpdate")
public ResultBean<String> saveOrUpdate(@RequestBody BaseGoodsSkuDto dto) {
return baseGoodsSkuService.saveOrUpdate(dto);
}
@ApiOperation("初始化")
@GetMapping("/initialization/{sid}")
public ResultBean<BaseGoodsSkuVo> 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<BaseGoodsSkuDetailsVo> getDetails(@RequestParam("sid") String sid) {
return baseGoodsSkuService.getDetails(sid);
}
@ApiOperation("入库添加商品列表")
@PostMapping("/getSelectList")
ResultBean<PagerVo<BaseGoodsSkuSelectList>> getSelectList(@RequestBody PagerQuery<BaseGoodsSkuSelectQuery> pagerQuery) {
ResultBean<PagerVo<BaseGoodsSkuSelectList>> rb = ResultBean.fireFail();
PagerVo<BaseGoodsSkuSelectList> pv = baseGoodsSkuService.getSelectList(pagerQuery);
return rb.success().setData(pv);
}
@ApiOperation("采购商品分页列表")
@PostMapping("/purGoodsListPage")
public ResultBean<PagerVo<BaseGoodsSkuPurSelectList>> purGoodsListPage(@RequestBody PagerQuery<BaseGoodsSkuPurSelectQuery> pq) {
return baseGoodsSkuService.purGoodsListPage(pq);
}
}

51
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<PagerVo<BaseGoodsSpuDetailVo>> listPage(@RequestBody PagerQuery<BaseGoodsSpuDetailQuery> pq) {
return baseGoodsSpuDetailService.listPage(pq);
}
@ApiOperation("保存修改")
@PostMapping("/saveOrUpdate")
public ResultBean<String> saveOrUpdate(@RequestBody BaseGoodsSpuDetailDto dto) {
return baseGoodsSpuDetailService.saveOrUpdate(dto);
}
@ApiOperation("初始化")
@GetMapping("/initialization/{sid}")
public ResultBean<BaseGoodsSpuDetailVo> initialization(@PathVariable("sid") String sid) {
return baseGoodsSpuDetailService.initialization(sid);
}
@ApiOperation("删除")
@DeleteMapping("/delete/{sid}")
public ResultBean delete(@PathVariable("sid") String sid) {
return baseGoodsSpuDetailService.delete(sid);
}
}

58
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<PagerVo<BaseGoodsSpuVo>> listPage(@RequestBody PagerQuery<BaseGoodsSpuQuery> pq) {
return baseGoodsSpuService.listPage(pq);
}
@ApiOperation("保存修改")
@PostMapping("/saveOrUpdate")
public ResultBean<String> saveOrUpdate(@RequestBody BaseGoodsSpuDto dto) {
return baseGoodsSpuService.saveOrUpdate(dto);
}
// @ApiOperation("保存商品信息及sku")
// @PostMapping("/save")
// public ResultBean<String> save(@RequestBody BaseGoodsSpuDto dto) {
// return baseGoodsSpuService.save(dto);
// }
@ApiOperation("初始化")
@GetMapping("/initialization/{sid}")
public ResultBean<BaseGoodsSpuVo> 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);
}
}

61
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<PagerVo<BaseGoodsTypeVo>> listPage(@RequestBody PagerQuery<BaseGoodsTypeQuery> pq) {
return baseGoodsTypeService.listPage(pq);
}
@ApiOperation("查询所有的类别")
@GetMapping("/listAll")
public ResultBean<List<BaseGoodsType>> listAll() {
return baseGoodsTypeService.listAll();
}
@ApiOperation("保存修改")
@PostMapping("/saveOrUpdate")
public ResultBean<String> saveOrUpdate(@RequestBody BaseGoodsTypeDto dto) {
return baseGoodsTypeService.saveOrUpdate(dto);
}
@ApiOperation("初始化")
@GetMapping("/initialization/{sid}")
public ResultBean<BaseGoodsTypeVo> 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);
}
}

61
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<PagerVo<BaseGoodsUnitVo>> listPage(@RequestBody PagerQuery<BaseGoodsUnitQuery> pq) {
return baseGoodsUnitService.listPage(pq);
}
@ApiOperation("查询所有的类别")
@GetMapping("/listAll")
public ResultBean<List<BaseGoodsUnit>> listAll() {
return baseGoodsUnitService.listAll();
}
@ApiOperation("保存修改")
@PostMapping("/saveOrUpdate")
public ResultBean<String> saveOrUpdate(@RequestBody BaseGoodsUnitDto dto) {
return baseGoodsUnitService.saveOrUpdate(dto);
}
@ApiOperation("初始化")
@GetMapping("/initialization/{sid}")
public ResultBean<BaseGoodsUnitVo> 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);
}
}

69
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<PagerVo<BaseManufacturerVo>> listPage(@RequestBody PagerQuery<BaseManufacturerQuery> pq) {
return baseManufacturerService.listPage(pq);
}
@ApiOperation("查询所有的厂家")
@GetMapping("/listAll")
public ResultBean<List<BaseManufacturer>> listAll() {
return baseManufacturerService.listAll();
}
@ApiOperation("保存修改")
@PostMapping("/saveOrUpdate")
public ResultBean<String> saveOrUpdate(@RequestBody BaseManufacturerDto dto) {
return baseManufacturerService.saveOrUpdate(dto);
}
@ApiOperation("初始化")
@GetMapping("/initialization/{sid}")
public ResultBean<BaseManufacturerVo> 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<List<BaseManufacturerVo>> getAllTypeByUseOrgSid(@RequestParam("useOrgSid") String useOrgSid) {
return baseManufacturerService.getAllTypeByUseOrgSid(useOrgSid);
}
}

57
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<PagerVo<BaseSpecParamVo>> listPage(@RequestBody PagerQuery<BaseSpecParamQuery> pq) {
return baseSpecParamService.listPage(pq);
}
@ApiOperation("保存修改")
@PostMapping("/saveOrUpdate")
public ResultBean<String> saveOrUpdate(@RequestBody BaseSpecParamDto dto) {
return baseSpecParamService.saveOrUpdate(dto);
}
@ApiOperation("初始化")
@GetMapping("/initialization/{sid}")
public ResultBean<BaseSpecParamVo> 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);
}
}

57
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<PagerVo<BaseSpecParamVo>> listPage(@RequestBody PagerQuery<BaseSpecParamQuery> pq) {
return baseSpecParamService.listPage(pq);
}
@ApiOperation("保存修改")
@PostMapping("/saveOrUpdate")
public ResultBean<String> saveOrUpdate(@RequestBody BaseSpecParamDto dto) {
return baseSpecParamService.saveOrUpdate(dto);
}
@ApiOperation("初始化")
@GetMapping("/initialization/{sid}")
public ResultBean<BaseSpecParamVo> 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);
}
}

89
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(供应商管理) <br/>
* File: BaseSupplierBankFeignFallback.java <br/>
* Class: com.yxt.base.biz.basesupplierbank.BaseSupplierBankRest <br/>
* Description: 供应商开户行信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-18 13:33:13 <br/>
*
* @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<PagerVo<BaseSupplierBankVo>> listPage(@RequestBody PagerQuery<BaseSupplierBankQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<BaseSupplierBankVo> 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<BaseSupplierBankDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
BaseSupplierBankDetailsVo vo = baseSupplierBankService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
}

89
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(仓储基础信息供应商) <br/>
* File: BaseSupplierFileFeignFallback.java <br/>
* Class: com.yxt.anrui.as.biz.basesupplierfile.BaseSupplierFileRest <br/>
* Description: 供应商附件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-13 16:51:56 <br/>
*
* @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<PagerVo<BaseSupplierFileVo>> listPage(@RequestBody PagerQuery<BaseSupplierFileQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<BaseSupplierFileVo> 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<BaseSupplierFileDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
BaseSupplierFileDetailsVo vo = baseSupplierFileService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
}

97
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(仓储基础信息供应商) <br/>
* File: BaseSupplierInfoFeignFallback.java <br/>
* Class: com.yxt.anrui.as.biz.basesupplierinfo.BaseSupplierInfoRest <br/>
* Description: 供应商信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-13 16:51:56 <br/>
*
* @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<PagerVo<BaseSupplierInfoVo>> listPage(@RequestBody PagerQuery<BaseSupplierInfoQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<BaseSupplierInfoVo> 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<BaseSupplierInfoDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
BaseSupplierInfoDetailsVo vo = baseSupplierInfoService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@ApiOperation("选择供应商")
@PostMapping("/choiceSupplierInfo")
public ResultBean<List<BaseSupplierInfoChoice>> choiceSupplierInfo(@RequestParam("createOrgSid") String createOrgSid){
ResultBean rb = ResultBean.fireFail();
List<BaseSupplierInfoChoice> baseSupplierInfoChoiceList = baseSupplierInfoService.choiceSupplierInfo(createOrgSid);
return rb.success().setData(baseSupplierInfoChoiceList);
}
}

89
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(仓储基础信息供应商) <br/>
* File: BaseSupplierTypeFeignFallback.java <br/>
* Class: com.yxt.anrui.as.biz.basesuppliertype.BaseSupplierTypeRest <br/>
* Description: 供应商类型. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-13 16:51:56 <br/>
*
* @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<PagerVo<BaseSupplierTypeVo>> listPage(@RequestBody PagerQuery<BaseSupplierTypeQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<BaseSupplierTypeVo> 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<BaseSupplierTypeDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
BaseSupplierTypeDetailsVo vo = baseSupplierTypeService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
}

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

10
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 {
}

21
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
}

27
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
}

18
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<BaseBrandInfo> {
IPage<BaseBrandInfoVo> listPage(IPage<BaseBrandInfo> page, @Param(Constants.WRAPPER) QueryWrapper<BaseBrandInfo> qw);
}

15
src/main/java/com/yxt/user/biz/base/basebrandinfo/BaseBrandInfoMapper.xml

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.goods.biz.base.basebrandinfo.BaseBrandInfoMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="listPage" resultType="com.yxt.goods.biz.base.basebrandinfo.BaseBrandInfoVo">
select
*
from base_brand_info
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

13
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;
}

127
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<BaseBrandInfoMapper, BaseBrandInfo> {
@Autowired
private FileUploadComponent fileUploadComponent;
public ResultBean<PagerVo<BaseBrandInfoVo>> listPage(PagerQuery<BaseBrandInfoQuery> pq) {
ResultBean rb = ResultBean.fireFail();
BaseBrandInfoQuery query = pq.getParams();
QueryWrapper<BaseBrandInfo> qw = new QueryWrapper<>();
if(StringUtils.isNotBlank(query.getName())){
qw.like("brandName",query.getName());
}
IPage<BaseBrandInfo> page = PagerUtil.queryToPage(pq);
IPage<BaseBrandInfoVo> pagging = baseMapper.listPage(page, qw);
PagerVo<BaseBrandInfoVo> p = PagerUtil.pageToVo(pagging, null);
List<BaseBrandInfoVo> 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<List<BaseBrandInfo>> listAll() {
ResultBean rb = ResultBean.fireFail();
List<BaseBrandInfo> pagging = baseMapper.selectList(new QueryWrapper<BaseBrandInfo>().eq("isEnable",1));
return rb.success().setData(pagging);
}
public ResultBean<String> 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<BaseBrandInfo>().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<BaseBrandInfoVo> 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("成功");
}
}

32
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
}

15
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
}

22
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
}

23
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<BaseCategoryBrand> {
IPage<BaseCategoryBrandVo> listPage(IPage<BaseCategoryBrand> page, @Param(Constants.WRAPPER) QueryWrapper<BaseCategoryBrand> qw);
List<BaseCategoryBrandVo> getSkusBySpuSid(@Param("spuSid")String spuSid);
BaseCategoryBrandVo getVoBySid(@Param("sid")String sid);
}

29
src/main/java/com/yxt/user/biz/base/basecategorybrand/BaseCategoryBrandMapper.xml

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.goods.biz.base.basecategorybrand.BaseCategoryBrandMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="listPage" resultType="com.yxt.goods.biz.base.basecategorybrand.BaseCategoryBrandVo">
select s.*,a.goodsTypeName as categoryName ,b.brandName as brandName;
from base_category_brand s
left join base_goods_type a on a.sid =s.ceategorySid
left join base_brand_info b on b.sid= s.brandSid
<where>
${ew.sqlSegment}
</where>
</select>
<select id="getSkusBySpuSid" resultType="com.yxt.goods.biz.base.basecategorybrand.BaseCategoryBrandVo">
select s.*,
s.own_spec as ownSpec
from base_goods_sku s
where s.goodsSpuSid = #{spuSid}
</select>
<select id="getVoBySid" resultType="com.yxt.goods.biz.base.basecategorybrand.BaseCategoryBrandVo">
select s.*,a.goodsTypeName as categoryName ,b.brandName as brandName;
from base_category_brand s
left join base_goods_type a on a.sid =s.ceategorySid
left join base_brand_info b on b.sid= s.brandSid
where s.sid = #{sid}
</select>
</mapper>

13
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;
}

115
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<BaseCategoryBrandMapper, BaseCategoryBrand> {
@Autowired
private FileUploadComponent fileUploadComponent;
public ResultBean<PagerVo<BaseCategoryBrandVo>> listPage(PagerQuery<BaseCategoryBrandQuery> pq) {
ResultBean rb = ResultBean.fireFail();
BaseCategoryBrandQuery query = pq.getParams();
QueryWrapper<BaseCategoryBrand> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getName())) {
qw.like("goodsName", query.getName());
}
IPage<BaseCategoryBrand> page = PagerUtil.queryToPage(pq);
IPage<BaseCategoryBrandVo> pagging = baseMapper.listPage(page, qw);
PagerVo<BaseCategoryBrandVo> p = PagerUtil.pageToVo(pagging, null);
return rb.success().setData(p);
}
@Transactional
public ResultBean<String> 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<String> saveOrUpdate(List<BaseCategoryBrandDto> dtos) {
ResultBean rb = ResultBean.fireFail();
for (BaseCategoryBrandDto dto : dtos) {
BaseCategoryBrand sku=baseMapper.selectOne(new QueryWrapper<BaseCategoryBrand>().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<BaseCategoryBrandVo> initialization(String sid) {
ResultBean rb = ResultBean.fireFail();
BaseCategoryBrandVo vo = baseMapper.getVoBySid(sid);
return rb.success().setData(vo);
}
public ResultBean<List<BaseCategoryBrandVo>> getSkusBySpuSid(String sid) {
ResultBean rb = ResultBean.fireFail();
List<BaseCategoryBrandVo> 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("成功");
}
}

24
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;//品牌名
}

21
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,保证有序
}

69
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;//商品类别名称
//厂家
//规格
//品牌
//车型
//原厂标志
//产地
//锁定售价
//备注
//上限数量
//下限数量
//积分商品
//所需积分
}

31
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扩展
}

26
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<BaseGoodsSku> {
IPage<BaseGoodsSkuVo> listPage(IPage<BaseGoodsSku> page, @Param(Constants.WRAPPER) QueryWrapper<BaseGoodsSku> qw);
List<BaseGoodsSkuVo> getSkusBySpuSid(@Param("spuSid")String spuSid);
BaseGoodsSkuVo getSkuBySid(@Param("sid")String sid);
IPage<BaseGoodsSkuSelectList> getSelectList(IPage<BaseGoodsSku> page, @Param(Constants.WRAPPER)QueryWrapper<BaseGoodsSku> qw);
IPage<BaseGoodsSkuPurSelectList> purGoodsListPage(IPage<BaseGoodsSku> page, @Param(Constants.WRAPPER) QueryWrapper<BaseGoodsSku> qw);
}

64
src/main/java/com/yxt/user/biz/base/basegoodssku/BaseGoodsSkuMapper.xml

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.goods.biz.base.basegoodssku.BaseGoodsSkuMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="listPage" resultType="com.yxt.goods.biz.base.basegoodssku.BaseGoodsSkuVo">
select s.*,s.own_spec as ownSpec,a.goodsName
from base_goods_sku s
left join base_goods_spu a on a.sid=s.goodsSpuSid
<where>
${ew.sqlSegment}
</where>
</select>
<select id="getSkusBySpuSid" resultType="com.yxt.goods.biz.base.basegoodssku.BaseGoodsSkuVo">
select s.*,
s.own_spec as ownSpec
from base_goods_sku s
where s.goodsSpuSid = #{spuSid}
</select>
<select id="getSkuBySid" resultType="com.yxt.goods.biz.base.basegoodssku.BaseGoodsSkuVo">
select *,
s.own_spec as ownSpec
from base_goods_sku s
where s.sid = #{sid}
</select>
<select id="getSelectList" resultType="com.yxt.goods.biz.base.basegoodssku.BaseGoodsSkuSelectList">
select sku.sid goodsSkuSid,
spu.sid as goodsSpuSid,
spu.goodsName goodsSpuName,
sku.goodsSkuCode,
sku.title as goodsSkuTitle,
spu.goodsUnitSid,
spu.goodsUnitName
from base_goods_sku sku
left join base_goods_spu spu on spu.sid = sku.goodsSpuSid
<where>
${ew.sqlSegment}
</where>
</select>
<select id="purGoodsListPage" resultType="com.yxt.goods.biz.base.basegoodssku.BaseGoodsSkuPurSelectList">
SELECT
s.sid,
s.goodsSkuCode,
s.title,
s.own_spec AS ownSpec,
a.goodsName,
a.goodsPY,
a.goodsShortName,
a.goodsTypeSid,
a.brandSid,
a.manufacturerSid,
a.goodsUnitName
FROM
base_goods_sku s
LEFT JOIN base_goods_spu a
ON a.sid = s.goodsSpuSid
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

35
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;
}

30
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;
}

13
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;
}

36
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
//操作时间
//操作人
}

15
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;
}

208
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<BaseGoodsSkuMapper, BaseGoodsSku> {
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
BaseGoodsSpuDetailService baseGoodsSpuDetailService;
@Autowired
BaseGoodsSkuExtendService baseGoodsSkuExtendService;
@Autowired
private BaseGoodsSpuService baseGoodsSpuService;
@Autowired
BaseGoodsTypeService baseGoodsTypeService;
public ResultBean<PagerVo<BaseGoodsSkuVo>> listPage(PagerQuery<BaseGoodsSkuQuery> pq) {
ResultBean rb = ResultBean.fireFail();
BaseGoodsSkuQuery query = pq.getParams();
QueryWrapper<BaseGoodsSku> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getName())) {
qw.like("goodsName", query.getName());
}
IPage<BaseGoodsSku> page = PagerUtil.queryToPage(pq);
IPage<BaseGoodsSkuVo> pagging = baseMapper.listPage(page, qw);
PagerVo<BaseGoodsSkuVo> p = PagerUtil.pageToVo(pagging, null);
return rb.success().setData(p);
}
@Transactional
public ResultBean<String> 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<String> saveOrUpdate(List<BaseGoodsSkuDto> dtos) {
ResultBean rb = ResultBean.fireFail();
for (BaseGoodsSkuDto dto : dtos) {
BaseGoodsSku sku=baseMapper.selectOne(new QueryWrapper<BaseGoodsSku>().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<BaseGoodsSkuVo> 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<List<BaseGoodsSkuVo>> getSkusBySpuSid(String sid) {
ResultBean rb = ResultBean.fireFail();
List<BaseGoodsSkuVo> 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<BaseGoodsSkuDetailsVo> getDetails(String sid) {
ResultBean<BaseGoodsSkuDetailsVo> 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<BaseGoodsSkuSelectList> getSelectList(PagerQuery<BaseGoodsSkuSelectQuery> pagerQuery) {
BaseGoodsSkuSelectQuery query = pagerQuery.getParams();
QueryWrapper<BaseGoodsSku> qw = new QueryWrapper<>();
if (query != null) {
//商品编码
if (StringUtils.isNotBlank(query.getGoodsSkuCode())) {
qw.like("sku.goodsSkuCode", query.getGoodsSkuCode());
}
}
IPage<BaseGoodsSku> page = PagerUtil.queryToPage(pagerQuery);
IPage<BaseGoodsSkuSelectList> pagging = baseMapper.getSelectList(page, qw);
PagerVo<BaseGoodsSkuSelectList> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public ResultBean<PagerVo<BaseGoodsSkuPurSelectList>> purGoodsListPage(PagerQuery<BaseGoodsSkuPurSelectQuery> pq) {
ResultBean rb = ResultBean.fireFail();
BaseGoodsSkuPurSelectQuery query = pq.getParams();
QueryWrapper<BaseGoodsSku> 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<BaseGoodsSku> page = PagerUtil.queryToPage(pq);
IPage<BaseGoodsSkuPurSelectList> pagging = baseMapper.purGoodsListPage(page, qw);
PagerVo<BaseGoodsSkuPurSelectList> p = PagerUtil.pageToVo(pagging, null);
return rb.success().setData(p);
}
}

38
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;
}

34
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;//商品的图片,多个图片以‘,’分割
}

46
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<UrlsVo> urls;//图片数组
}

20
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<BaseGoodsSkuExtend> {
IPage<BaseGoodsSkuExtendVo> listPage(IPage<BaseGoodsSkuExtend> page, @Param(Constants.WRAPPER) QueryWrapper<BaseGoodsSkuExtend> qw);
BaseGoodsSkuExtendVo getExtendBySkuSid(@Param("skuSid")String skuSid);
BaseGoodsSkuExtendVo getExtendBySid(@Param("sid")String sid);
}

28
src/main/java/com/yxt/user/biz/base/basegoodsskuextend/BaseGoodsSkuExtendMapper.xml

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.goods.biz.base.basegoodsskuextend.BaseGoodsSkuExtendMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="listPage" resultType="com.yxt.goods.biz.base.basegoodsskuextend.BaseGoodsSkuExtendVo">
select
s.*,a.title
from base_goods_sku_extend s
left join base_goods_sku a on a.sid=s.goodsSkuSid
<where>
${ew.sqlSegment}
</where>
</select>
<select id="getExtendBySkuSid" resultType="com.yxt.goods.biz.base.basegoodsskuextend.BaseGoodsSkuExtendVo">
select
s.*,s.InventoryAlertUpperLimit as inventoryAlertUpperLimit,s.InventoryAlertLowerLimit as inventoryAlertLowerLimit
from base_goods_sku_extend s
where s.goodsSkuSid=#{skuSid}
</select>
<select id="getExtendBySid" resultType="com.yxt.goods.biz.base.basegoodsskuextend.BaseGoodsSkuExtendVo">
select
s.*,s.InventoryAlertUpperLimit as inventoryAlertUpperLimit,s.InventoryAlertLowerLimit as inventoryAlertLowerLimit
from base_goods_sku_extend s
where s.sid=#{sid}
</select>
</mapper>

13
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;
}

139
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<BaseGoodsSkuExtendMapper, BaseGoodsSkuExtend> {
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private BaseBrandInfoService baseBrandInfoService;
@Autowired
private BaseGoodsTypeService baseGoodsTypeService;
@Autowired
private BaseManufacturerService baseManufacturerService;
@Autowired
BaseGoodsSpuDetailService baseGoodsSpuDetailService;
public ResultBean<PagerVo<BaseGoodsSkuExtendVo>> listPage(PagerQuery<BaseGoodsSkuExtendQuery> pq) {
ResultBean rb = ResultBean.fireFail();
BaseGoodsSkuExtendQuery query = pq.getParams();
QueryWrapper<BaseGoodsSkuExtend> qw = new QueryWrapper<>();
if(StringUtils.isNotBlank(query.getName())){
qw.like("goodsName",query.getName());
}
IPage<BaseGoodsSkuExtend> page = PagerUtil.queryToPage(pq);
IPage<BaseGoodsSkuExtendVo> pagging = baseMapper.listPage(page, qw);
PagerVo<BaseGoodsSkuExtendVo> p = PagerUtil.pageToVo(pagging, null);
List<BaseGoodsSkuExtendVo> 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<String> saveOrUpdate(BaseGoodsSkuExtendDto dto) {
ResultBean rb = ResultBean.fireFail();
String sid = "";
BaseGoodsSkuExtend extend=baseMapper.selectOne(new QueryWrapper<BaseGoodsSkuExtend>().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<BaseGoodsSkuExtendVo> initialization(String sid) {
ResultBean rb = ResultBean.fireFail();
BaseGoodsSkuExtendVo vo = baseMapper.getExtendBySid(sid);
return rb.success().setData(vo);
}
public ResultBean<BaseGoodsSkuExtendVo> 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("成功");
}
}

53
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<UrlsVo> urls;//图片数组
private String title;//sku标题
}

12
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;
}

32
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
}

47
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<BaseGoodsSkuDto> baseGoodsSkus;//商品sku
}

19
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<BaseGoodsSpu> {
IPage<BaseGoodsSpuVo> listPage(IPage<BaseGoodsSpu> page, @Param(Constants.WRAPPER) QueryWrapper<BaseGoodsSpu> qw);
BaseGoodsSpuVo initialization(@Param("sid")String sid);
}

27
src/main/java/com/yxt/user/biz/base/basegoodsspu/BaseGoodsSpuMapper.xml

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.goods.biz.base.basegoodsspu.BaseGoodsSpuMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="listPage" resultType="com.yxt.goods.biz.base.basegoodsspu.BaseGoodsSpuVo">
select
s.*,a.goodsTypeName as typeName,b.brandName as brandName,c.manufacturerName as manufacturerName
from base_goods_spu s
left join base_goods_type a on a.sid=s.goodsTypeSid
left join base_brand_info b on b.sid=s.brandSid
left join base_manufacturer c on c.sid=s.manufacturerSid
<where>
${ew.sqlSegment}
</where>
</select>
<select id="initialization" resultType="com.yxt.goods.biz.base.basegoodsspu.BaseGoodsSpuVo">
select
s.*,a.goodsTypeName as typeName,b.brandName as brandName,c.manufacturerName as manufacturerName
from base_goods_spu s
left join base_goods_type a on a.sid=s.goodsTypeSid
left join base_brand_info b on b.sid=s.brandSid
left join base_manufacturer c on c.sid=s.manufacturerSid
where s.sid=#{sid}
</select>
</mapper>

13
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;
}

165
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<BaseGoodsSpuMapper, BaseGoodsSpu> {
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
BaseGoodsSpuDetailService baseGoodsSpuDetailService;
@Autowired
BaseGoodsSkuService baseGoodsSkuService;
@Autowired
BaseGoodsUnitService baseGoodsUnitService;
@Autowired
BaseGoodsSkuExtendService baseGoodsSkuExtendService;
public ResultBean<PagerVo<BaseGoodsSpuVo>> listPage(PagerQuery<BaseGoodsSpuQuery> pq) {
ResultBean rb = ResultBean.fireFail();
BaseGoodsSpuQuery query = pq.getParams();
QueryWrapper<BaseGoodsSpu> qw = new QueryWrapper<>();
if(StringUtils.isNotBlank(query.getName())){
qw.like("goodsName",query.getName());
}
IPage<BaseGoodsSpu> page = PagerUtil.queryToPage(pq);
IPage<BaseGoodsSpuVo> pagging = baseMapper.listPage(page, qw);
PagerVo<BaseGoodsSpuVo> p = PagerUtil.pageToVo(pagging, null);
List<BaseGoodsSpuVo> 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<String> saveOrUpdate(BaseGoodsSpuDto dto) {
ResultBean rb = ResultBean.fireFail();
String sid = "";
BaseGoodsSpu spun= baseMapper.selectOne(new QueryWrapper<BaseGoodsSpu>().eq("sid",dto.getSid()));
BaseGoodsUnit baseGoodsUnit=baseGoodsUnitService.getOne(new QueryWrapper<BaseGoodsUnit>().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<BaseGoodsSpu>().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<BaseGoodsSpuVo> initialization(String sid) {
ResultBean rb = ResultBean.fireFail();
BaseGoodsSpuVo vo = baseMapper.initialization(sid);
BaseGoodsSpuDetailVo vo1=baseGoodsSpuDetailService.getSpuDetailsBySpuSid(vo.getSid()).getData();
vo.setBaseGoodsSpuDetail(vo1);
List<BaseGoodsSkuVo> vos=baseGoodsSkuService.getSkusBySpuSid(vo.getSid()).getData();
for (BaseGoodsSkuVo baseGoodsSkuVo : vos) {
List<UrlsVo> 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("成功");
}
}

51
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<BaseGoodsSkuVo> baseGoodsSkus;
}

20
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,[可选参数值])
}

29
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,[可选参数值])
}

20
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<BaseGoodsSpuDetail> {
IPage<BaseGoodsSpuDetailVo> listPage(IPage<BaseGoodsSpuDetail> page, @Param(Constants.WRAPPER) QueryWrapper<BaseGoodsSpuDetail> qw);
BaseGoodsSpuDetailVo getSpuDetailsBySpuSid (@Param("skuSid")String skuSid);
}

24
src/main/java/com/yxt/user/biz/base/basegoodsspudetail/BaseGoodsSpuDetailMapper.xml

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.goods.biz.base.basegoodsspudetail.BaseGoodsSpuDetailMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="listPage" resultType="com.yxt.goods.biz.base.basegoodsspudetail.BaseGoodsSpuDetailVo">
select
s.*,a.goodsName
from base_goods_spu_detail s
left join base_goods_spu a on a.sid=s.goodSpuSid
<where>
${ew.sqlSegment}
</where>
</select>
<select id="getSpuDetailsBySpuSid" resultType="com.yxt.goods.biz.base.basegoodsspudetail.BaseGoodsSpuDetailVo">
select
s.*,s.generic_spec as genericSpec,s.special_spec as specialSpec
from base_goods_spu_detail s
where s.goodSpuSid=#{skuSid}
</select>
</mapper>

13
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;
}

105
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<BaseGoodsSpuDetailMapper, BaseGoodsSpuDetail> {
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private BaseBrandInfoService baseBrandInfoService;
@Autowired
private BaseGoodsTypeService baseGoodsTypeService;
@Autowired
private BaseManufacturerService wmsManufacturerService;
public ResultBean<PagerVo<BaseGoodsSpuDetailVo>> listPage(PagerQuery<BaseGoodsSpuDetailQuery> pq) {
ResultBean rb = ResultBean.fireFail();
BaseGoodsSpuDetailQuery query = pq.getParams();
QueryWrapper<BaseGoodsSpuDetail> qw = new QueryWrapper<>();
if(StringUtils.isNotBlank(query.getName())){
qw.like("goodsName",query.getName());
}
IPage<BaseGoodsSpuDetail> page = PagerUtil.queryToPage(pq);
IPage<BaseGoodsSpuDetailVo> pagging = baseMapper.listPage(page, qw);
PagerVo<BaseGoodsSpuDetailVo> p = PagerUtil.pageToVo(pagging, null);
return rb.success().setData(p);
}
public ResultBean<String> saveOrUpdate(BaseGoodsSpuDetailDto dto) {
ResultBean rb = ResultBean.fireFail();
BaseGoodsSpuDetail detail=baseMapper.selectOne(new QueryWrapper<BaseGoodsSpuDetail>().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<BaseGoodsSpuDetailVo> 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<BaseGoodsSpuDetailVo> 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("成功");
}
}

35
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;
}

22
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
}

33
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
}

17
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<BaseGoodsType> {
IPage<BaseGoodsTypeVo> listPage(IPage<BaseGoodsType> page, @Param(Constants.WRAPPER) QueryWrapper<BaseGoodsType> qw);
}

15
src/main/java/com/yxt/user/biz/base/basegoodstype/BaseGoodsTypeMapper.xml

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.goods.biz.base.basegoodstype.BaseGoodsTypeMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="listPage" resultType="com.yxt.goods.biz.base.basegoodstype.BaseGoodsTypeVo">
select
*
from base_goods_type
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

13
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;
}

120
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<BaseGoodsTypeMapper, BaseGoodsType> {
public ResultBean<PagerVo<BaseGoodsTypeVo>> listPage(PagerQuery<BaseGoodsTypeQuery> pq) {
ResultBean rb = ResultBean.fireFail();
BaseGoodsTypeQuery query = pq.getParams();
QueryWrapper<BaseGoodsType> qw = new QueryWrapper<>();
if(StringUtils.isNotBlank(query.getName())){
qw.like("goodsTypeName",query.getName());
}
IPage<BaseGoodsType> page = PagerUtil.queryToPage(pq);
IPage<BaseGoodsTypeVo> pagging = baseMapper.listPage(page, qw);
PagerVo<BaseGoodsTypeVo> p = PagerUtil.pageToVo(pagging, null);
List<BaseGoodsTypeVo> 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<List<BaseGoodsType>> listAll() {
ResultBean rb = ResultBean.fireFail();
List<BaseGoodsType> pagging = baseMapper.selectList(new QueryWrapper<BaseGoodsType>().eq("isEnable",1));
return rb.success().setData(pagging);
}
public ResultBean<String> 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<BaseGoodsTypeVo> 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("成功");
}
}

38
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
}

14
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;//单位名称
}

27
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;//单位名称
}

17
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<BaseGoodsUnit> {
IPage<BaseGoodsUnitVo> listPage(IPage<BaseGoodsUnit> page, @Param(Constants.WRAPPER) QueryWrapper<BaseGoodsUnit> qw);
}

15
src/main/java/com/yxt/user/biz/base/basegoodsunit/BaseGoodsUnitMapper.xml

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.goods.biz.base.basegoodsunit.BaseGoodsUnitMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="listPage" resultType="com.yxt.goods.biz.base.basegoodsunit.BaseGoodsUnitVo">
select
*
from base_goods_unit
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

13
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;
}

107
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<BaseGoodsUnitMapper, BaseGoodsUnit> {
public ResultBean<PagerVo<BaseGoodsUnitVo>> listPage(PagerQuery<BaseGoodsUnitQuery> pq) {
ResultBean rb = ResultBean.fireFail();
BaseGoodsUnitQuery query = pq.getParams();
QueryWrapper<BaseGoodsUnit> qw = new QueryWrapper<>();
if(StringUtils.isNotBlank(query.getName())){
qw.like("unitName",query.getName());
}
IPage<BaseGoodsUnit> page = PagerUtil.queryToPage(pq);
IPage<BaseGoodsUnitVo> pagging = baseMapper.listPage(page, qw);
PagerVo<BaseGoodsUnitVo> p = PagerUtil.pageToVo(pagging, null);
List<BaseGoodsUnitVo> records = pagging.getRecords();
return rb.success().setData(p);
} public ResultBean<List<BaseGoodsUnit>> listAll() {
ResultBean rb = ResultBean.fireFail();
List<BaseGoodsUnit> pagging = baseMapper.selectList(new QueryWrapper<BaseGoodsUnit>().eq("isEnable",1));
return rb.success().setData(pagging);
}
public ResultBean<String> 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<BaseGoodsUnitVo> 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("成功");
}
}

27
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;//单位名称
}

20
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
}

35
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
}

21
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<BaseManufacturer> {
IPage<BaseManufacturerVo> listPage(IPage<BaseManufacturer> page, @Param(Constants.WRAPPER) QueryWrapper<BaseManufacturer> qw);
List<BaseManufacturerVo> getAllTypeByUseOrgSid(@Param("useOrgSid") String useOrgSid);
}

20
src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturerMapper.xml

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.goods.biz.base.basemanufacturer.BaseManufacturerMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="listPage" resultType="com.yxt.goods.biz.base.basemanufacturer.BaseManufacturerVo">
select
*
from base_manufacturer
<where>
${ew.sqlSegment}
</where>
</select>
<select id="getAllTypeByUseOrgSid" resultType="com.yxt.goods.biz.base.basemanufacturer.BaseManufacturerVo">
select *
from base_manufacturer
where useOrgSid = #{useOrgSid}
</select>
</mapper>

13
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;
}

111
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<BaseManufacturerMapper, BaseManufacturer> {
public ResultBean<PagerVo<BaseManufacturerVo>> listPage(PagerQuery<BaseManufacturerQuery> pq) {
ResultBean rb = ResultBean.fireFail();
BaseManufacturerQuery query = pq.getParams();
QueryWrapper<BaseManufacturer> qw = new QueryWrapper<>();
if(StringUtils.isNotBlank(query.getName())){
qw.like("goodsTypeName",query.getName());
}
IPage<BaseManufacturer> page = PagerUtil.queryToPage(pq);
IPage<BaseManufacturerVo> pagging = baseMapper.listPage(page, qw);
PagerVo<BaseManufacturerVo> p = PagerUtil.pageToVo(pagging, null);
List<BaseManufacturerVo> records = pagging.getRecords();
return rb.success().setData(p);
}
public ResultBean<List<BaseManufacturer>> listAll() {
ResultBean rb = ResultBean.fireFail();
List<BaseManufacturer> pagging = baseMapper.selectList(new QueryWrapper<BaseManufacturer>().eq("isEnable",1));
return rb.success().setData(pagging);
}
public ResultBean<String> saveOrUpdate(BaseManufacturerDto dto) {
ResultBean rb = ResultBean.fireFail();
String sid = "";
if (StringUtils.isNotBlank(dto.getSid())) {
sid = dto.getSid();
BaseManufacturer wmsManufacturer = fetchBySid(dto.getSid());
BeanUtil.copyProperties(dto, wmsManufacturer, "id", "sid");
wmsManufacturer.setModifyTime(new Date());
baseMapper.updateById(wmsManufacturer);
} else {
BaseManufacturer wmsManufacturer = new BaseManufacturer();
sid = wmsManufacturer.getSid();
BeanUtil.copyProperties(dto, wmsManufacturer, "id", "sid");
wmsManufacturer.setCreateTime(new DateTime());
// if (StringUtils.isNotBlank(dto.getPicUrl())) {
// String urlPrefix = fileUploadComponent.getUrlPrefix();
// String path = dto.getPicUrl().substring(urlPrefix.length());
// lpkGoods.setPicUrl(path);
// }
baseMapper.insert(wmsManufacturer);
}
return rb.success().setMsg("成功");
}
public ResultBean<BaseManufacturerVo> initialization(String sid) {
ResultBean rb = ResultBean.fireFail();
BaseManufacturerVo vo = new BaseManufacturerVo();
BaseManufacturer wmsManufacturer = fetchBySid(sid);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (null != wmsManufacturer) {
BeanUtil.copyProperties(wmsManufacturer, vo);
// if (StringUtils.isNotBlank(wmsGoods.getPicUrl())) {
// vo.setPicUrl(fileUploadComponent.getUrlPrefix() + wmsGoods.getPicUrl());
// }
// vo.setCreateTime(sdf.format(lpkGoods.getCreateTime()));
}
return rb.success().setData(vo);
}
public ResultBean delete(String sid) {
ResultBean rb = ResultBean.fireFail();
BaseManufacturer wmsManufacturer = fetchBySid(sid);
if (null != wmsManufacturer) {
baseMapper.deleteById(wmsManufacturer.getId());
}
return rb.success();
}
public ResultBean updateIsEnable(String sid,String isEnable) {
ResultBean rb = ResultBean.fireFail();
BaseManufacturer wmsManufacturer = fetchBySid(sid);
if (null != wmsManufacturer) {
wmsManufacturer.setIsEnable(Integer.parseInt(isEnable));
baseMapper.updateById(wmsManufacturer);
}
return rb.success().setMsg("成功");
}
public ResultBean<List<BaseManufacturerVo>> getAllTypeByUseOrgSid(String useOrgSid) {
ResultBean rb = ResultBean.fireFail();
List<BaseManufacturerVo> list = baseMapper.getAllTypeByUseOrgSid(useOrgSid);
return rb.success().setData(list);
}
}

36
src/main/java/com/yxt/user/biz/base/basemanufacturer/BaseManufacturerVo.java

@ -0,0 +1,36 @@
package com.yxt.goods.biz.base.basemanufacturer;
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 BaseManufacturerVo 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 createBySid;
private String updateBySid;
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
}

15
src/main/java/com/yxt/user/biz/base/basespecgroup/BaseSpecGroup.java

@ -0,0 +1,15 @@
package com.yxt.goods.biz.base.basespecgroup;
import com.yxt.common.core.domain.BaseEntity;
import lombok.Data;
/**
* @author wangpengfei
* @date 2024/4/8 9:34
*/
@Data
public class BaseSpecGroup extends BaseEntity {
private String categorySid;//商品分类sid
private String groupName;//组名
}

22
src/main/java/com/yxt/user/biz/base/basespecgroup/BaseSpecGroupDto.java

@ -0,0 +1,22 @@
package com.yxt.goods.biz.base.basespecgroup;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
* @author wangpengfei
* @date 2024/4/8 9:34
*/
@Data
public class BaseSpecGroupDto {
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 groupName;//组名
}

23
src/main/java/com/yxt/user/biz/base/basespecgroup/BaseSpecGroupMapper.java

@ -0,0 +1,23 @@
package com.yxt.goods.biz.base.basespecgroup;
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 BaseSpecGroupMapper extends BaseMapper<BaseSpecGroup> {
IPage<BaseSpecGroupVo> listPage(IPage<BaseSpecGroup> page, @Param(Constants.WRAPPER) QueryWrapper<BaseSpecGroup> qw);
List<BaseSpecGroupVo> getSkusBySpuSid(@Param("spuSid")String spuSid);
BaseSpecGroupVo getVoBySid(@Param("sid")String sid);
}

27
src/main/java/com/yxt/user/biz/base/basespecgroup/BaseSpecGroupMapper.xml

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.goods.biz.base.basespecgroup.BaseSpecGroupMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="listPage" resultType="com.yxt.goods.biz.base.basespecgroup.BaseSpecGroupVo">
select s.*,a.goodsTypeName as categoryName
from base_spec_group s
left join base_goods_type a on a.sid =s.categroySid
<where>
${ew.sqlSegment}
</where>
</select>
<select id="getSkusBySpuSid" resultType="com.yxt.goods.biz.base.basespecgroup.BaseSpecGroupVo">
select s.*,
s.own_spec as ownSpec
from base_goods_sku s
where s.goodsSpuSid = #{spuSid}
</select>
<select id="getVoBySid" resultType="com.yxt.goods.biz.base.basespecgroup.BaseSpecGroupVo">
select s.*,a.goodsTypeName as categoryName
from base_spec_group s
left join base_goods_type a on a.sid =s.categroySid
where s.sid = #{sid}
</select>
</mapper>

13
src/main/java/com/yxt/user/biz/base/basespecgroup/BaseSpecGroupQuery.java

@ -0,0 +1,13 @@
package com.yxt.goods.biz.base.basespecgroup;
import com.yxt.common.core.query.Query;
import lombok.Data;
/**
* @author wangpengfei
* @date 2024/4/8 9:34
*/
@Data
public class BaseSpecGroupQuery implements Query {
private String name;
}

115
src/main/java/com/yxt/user/biz/base/basespecgroup/BaseSpecGroupService.java

@ -0,0 +1,115 @@
package com.yxt.goods.biz.base.basespecgroup;
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 BaseSpecGroupService extends MybatisBaseService<BaseSpecGroupMapper, BaseSpecGroup> {
@Autowired
private FileUploadComponent fileUploadComponent;
public ResultBean<PagerVo<BaseSpecGroupVo>> listPage(PagerQuery<BaseSpecGroupQuery> pq) {
ResultBean rb = ResultBean.fireFail();
BaseSpecGroupQuery query = pq.getParams();
QueryWrapper<BaseSpecGroup> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getName())) {
qw.like("goodsName", query.getName());
}
IPage<BaseSpecGroup> page = PagerUtil.queryToPage(pq);
IPage<BaseSpecGroupVo> pagging = baseMapper.listPage(page, qw);
PagerVo<BaseSpecGroupVo> p = PagerUtil.pageToVo(pagging, null);
return rb.success().setData(p);
}
@Transactional
public ResultBean<String> saveOrUpdate(BaseSpecGroupDto dto) {
ResultBean rb = ResultBean.fireFail();
String sid = "";
if (StringUtils.isNotBlank(dto.getSid())) {
sid = dto.getSid();
BaseSpecGroup wmsGoods = fetchBySid(dto.getSid());
BeanUtil.copyProperties(dto, wmsGoods, "id", "sid");
wmsGoods.setModifyTime(new Date());
baseMapper.updateById(wmsGoods);
} else {
BaseSpecGroup wmsGoods = new BaseSpecGroup();
BeanUtil.copyProperties(dto, wmsGoods, "id", "sid");
wmsGoods.setCreateTime(new DateTime());
baseMapper.insert(wmsGoods);
}
return rb.success().setMsg("成功");
}
@Transactional
public ResultBean<String> saveOrUpdate(List<BaseSpecGroupDto> dtos) {
ResultBean rb = ResultBean.fireFail();
for (BaseSpecGroupDto dto : dtos) {
BaseSpecGroup sku=baseMapper.selectOne(new QueryWrapper<BaseSpecGroup>().eq("sid",dto.getSid()));
String sid = "";
if (null!=sku) {
sid = dto.getSid();
BaseSpecGroup wmsGoods = fetchBySid(dto.getSid());
BeanUtil.copyProperties(dto, wmsGoods);
wmsGoods.setModifyTime(new Date());
baseMapper.updateById(wmsGoods);
} else {
BaseSpecGroup wmsGoods = new BaseSpecGroup();
BeanUtil.copyProperties(dto, wmsGoods);
wmsGoods.setCreateTime(new DateTime());
baseMapper.insert(wmsGoods);
}
}
return rb.success().setMsg("成功");
}
public ResultBean<BaseSpecGroupVo> initialization(String sid) {
ResultBean rb = ResultBean.fireFail();
BaseSpecGroupVo vo = baseMapper.getVoBySid(sid);
return rb.success().setData(vo);
}
public ResultBean<List<BaseSpecGroupVo>> getSkusBySpuSid(String sid) {
ResultBean rb = ResultBean.fireFail();
List<BaseSpecGroupVo> vo = baseMapper.getSkusBySpuSid(sid);
return rb.success().setData(vo);
}
public ResultBean delete(String sid) {
ResultBean rb = ResultBean.fireFail();
BaseSpecGroup wmsGoods = fetchBySid(sid);
if (null != wmsGoods) {
baseMapper.deleteById(wmsGoods.getId());
}
return rb.success();
}
public ResultBean updateIsEnable(String sid, String isEnable) {
ResultBean rb = ResultBean.fireFail();
BaseSpecGroup wmsGoods = fetchBySid(sid);
if (null != wmsGoods) {
wmsGoods.setIsEnable(Integer.parseInt(isEnable));
baseMapper.updateById(wmsGoods);
}
return rb.success().setMsg("成功");
}
}

23
src/main/java/com/yxt/user/biz/base/basespecgroup/BaseSpecGroupVo.java

@ -0,0 +1,23 @@
package com.yxt.goods.biz.base.basespecgroup;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
* @author wangpengfei
* @date 2024/4/8 9:34
*/
@Data
public class BaseSpecGroupVo {
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 categoryName;//商品分类名
private String groupName;//组名
}

22
src/main/java/com/yxt/user/biz/base/basespecparam/BaseSpecParam.java

@ -0,0 +1,22 @@
package com.yxt.goods.biz.base.basespecparam;
import com.yxt.common.core.domain.BaseEntity;
import lombok.Data;
/**
* @author wangpengfei
* @date 2024/4/8 9:34
*/
@Data
public class BaseSpecParam extends BaseEntity {
private String categorySid;//商品分类sid
private String groupSid;//参数组sid
private String paramName;//参数名
private String numeric;//是否数字类型 1 true 2false
private String unit;//数字类型的单位 非数字行可为空
private String generic;//是否sku通用属性1true 2 false
private String searching;//是否用于搜索过滤 1true 2 false
private String segments;//数值类型参数,如果需要搜索。则添加分段间隔值
}

28
src/main/java/com/yxt/user/biz/base/basespecparam/BaseSpecParamDto.java

@ -0,0 +1,28 @@
package com.yxt.goods.biz.base.basespecparam;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
* @author wangpengfei
* @date 2024/4/8 9:34
*/
@Data
public class BaseSpecParamDto {
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 groupSid;//参数组sid
private String paramName;//参数名
private String numeric;//是否数字类型 1 true 2false
private String unit;//数字类型的单位 非数字行可为空
private String generic;//是否sku通用属性1true 2 false
private String searching;//是否用于搜索过滤 1true 2 false
private String segments;//数值类型参数,如果需要搜索。则添加分段间隔值
}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save