diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java index 668869fc..12cf595f 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java @@ -7,9 +7,8 @@ import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.*; -import com.qs.serve.modules.bms.entity.vo.BmsRegionBatchBo; +import com.qs.serve.modules.bms.entity.bo.BmsRegionBatchBo; import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo; -import com.qs.serve.modules.sys.entity.dto.SysDeptTreeNode; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.access.prepost.PreAuthorize; diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsSkuRegionController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsSkuRegionController.java new file mode 100644 index 00000000..94a3487e --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsSkuRegionController.java @@ -0,0 +1,101 @@ +package com.qs.serve.modules.bms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.SysLog; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.model.enums.BizType; +import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.PageUtil; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import com.qs.serve.modules.bms.entity.BmsSkuRegion; +import com.qs.serve.modules.bms.service.BmsSkuRegionService; + +import javax.validation.Valid; +import java.util.List; + +/** + * 基础档案 sku销售区域 + * @author YenHex + * @since 2022-10-17 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("bms/skuRegion") +public class BmsSkuRegionController { + + private BmsSkuRegionService bmsSkuRegionService; + + /** + * 翻页查询 + * @param param + * @return + */ + @GetMapping("/page") + @PreAuthorize("hasRole('bms:skuRegion:query')") + public R> getPage(BmsSkuRegion param){ + PageUtil.startPage(); + LambdaQueryWrapper skuRegionWrapper = new LambdaQueryWrapper<>(param); + List list = bmsSkuRegionService.list(skuRegionWrapper); + return R.byPageHelperList(list); + } + + /** + * 根据ID查询 + * @param id + * @return + */ + @GetMapping("/getById/{id}") + @SysLog(module = SystemModule.BASE, title = "sku销售区域", biz = BizType.QUERY) + @PreAuthorize("hasRole('bms:skuRegion:query')") + public R getById(@PathVariable("id") String id){ + BmsSkuRegion bmsSkuRegion = bmsSkuRegionService.getById(id); + return R.ok(bmsSkuRegion); + } + + /** + * 根据ID更新 + * @param param + * @return + */ + @PostMapping("/updateById") + @SysLog(module = SystemModule.BASE, title = "sku销售区域", biz = BizType.UPDATE) + @PreAuthorize("hasRole('bms:skuRegion:update')") + public R updateById(@RequestBody @Valid BmsSkuRegion param){ + boolean result = bmsSkuRegionService.updateById(param); + return R.isTrue(result); + } + + /** + * 新增sku销售区域 + * @param param + * @return + */ + @PostMapping("/save") + @SysLog(module = SystemModule.BASE, title = "sku销售区域", biz = BizType.INSERT) + @PreAuthorize("hasRole('bms:skuRegion:insert')") + public R save(@RequestBody @Valid BmsSkuRegion param){ + boolean result = bmsSkuRegionService.save(param); + return R.isTrue(result); + } + + /** + * 删除sku销售区域 + * @param id + * @return + */ + @DeleteMapping("/deleteById/{id}") + @SysLog(module = SystemModule.BASE, title = "sku销售区域", biz = BizType.DELETE) + @PreAuthorize("hasRole('bms:skuRegion:delete')") + public R deleteById(@PathVariable("id") String id){ + boolean result = bmsSkuRegionService.removeById(id); + return R.isTrue(result); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsSkuSupplierController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsSkuSupplierController.java new file mode 100644 index 00000000..20fc6d0b --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsSkuSupplierController.java @@ -0,0 +1,105 @@ +package com.qs.serve.modules.bms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.SysLog; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.model.enums.BizType; +import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.CopierUtil; +import com.qs.serve.common.util.PageUtil; +import com.qs.serve.modules.bms.entity.bo.BmsSkuSupplierBo; +import com.qs.serve.modules.bms.entity.bo.BmsSkuSupplierBo2; +import com.qs.serve.modules.bms.entity.vo.BmsSkuSupplierVo; +import com.qs.serve.modules.goods.entity.GoodsSku; +import com.qs.serve.modules.goods.service.GoodsSkuService; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import com.qs.serve.modules.bms.entity.BmsSkuSupplier; +import com.qs.serve.modules.bms.service.BmsSkuSupplierService; + +import javax.validation.Valid; +import java.util.List; + +/** + * 基础档案 sku供应商关联 + * @author YenHex + * @since 2022-10-17 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("bms/skuSupplier") +public class BmsSkuSupplierController { + + private BmsSkuSupplierService bmsSkuSupplierService; + private GoodsSkuService goodsSkuService; + + /** + * 翻页查询 + * @param param + * @return + */ + @GetMapping("/page") + @PreAuthorize("hasRole('bms:skuSupplier:query')") + public R> getPage(BmsSkuSupplier param){ + PageUtil.startPage(); + List list = bmsSkuSupplierService.selectList(param); + return R.byPageHelperList(list); + } + + /** + * 供应商可购指定商品(购买设置等级优先级最高) + * @param param + * @return + */ + @PostMapping("/update4Sku") + @SysLog(module = SystemModule.BASE, title = "sku供应商关联", biz = BizType.UPDATE) + @PreAuthorize("hasRole('bms:skuSupplier:update')") + public R updateById(@RequestBody @Valid BmsSkuSupplierBo param){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(BmsSkuSupplier::getSupplierId,param.getSupplierId()); + lqw.eq(BmsSkuSupplier::getSkuId,param.getSkuId()); + BmsSkuSupplier skuSupplier = bmsSkuSupplierService.getOne(lqw,false); + if(skuSupplier==null){ + GoodsSku goodsSku = goodsSkuService.getById(param.getSkuId()); + skuSupplier = CopierUtil.copy(param,new BmsSkuSupplier()); + skuSupplier.setSpuId(goodsSku.getSpuId()); + bmsSkuSupplierService.save(skuSupplier); + }else { + skuSupplier.setBanStatus(param.getBanStatus()); + bmsSkuSupplierService.updateById(skuSupplier); + } + return R.ok(); + } + + /** + * 供应商可购指定商品(购买设置等级比区域设置高) + * @param param + * @return + */ + @PostMapping("/update4Spu") + @SysLog(module = SystemModule.BASE, title = "sku供应商关联", biz = BizType.UPDATE) + @PreAuthorize("hasRole('bms:skuSupplier:update')") + public R updateById(@RequestBody @Valid BmsSkuSupplierBo2 param){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(BmsSkuSupplier::getSupplierId,param.getSupplierId()); + lqw.eq(BmsSkuSupplier::getSpuId,param.getSpuId()); + lqw.eq(BmsSkuSupplier::getSkuId,0); + BmsSkuSupplier skuSupplier = bmsSkuSupplierService.getOne(lqw,false); + if(skuSupplier==null){ + skuSupplier = CopierUtil.copy(param,new BmsSkuSupplier()); + skuSupplier.setSkuId(0L); + bmsSkuSupplierService.save(skuSupplier); + }else { + skuSupplier.setBanStatus(param.getBanStatus()); + bmsSkuSupplierService.updateById(skuSupplier); + } + return R.ok(); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierAddressController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierAddressController.java index d9e5dd6f..052555e2 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierAddressController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierAddressController.java @@ -104,11 +104,11 @@ public class BmsSupplierAddressController { * @param id 地址ID * @return */ - @PostMapping("/setDefault") + @PostMapping("/setDefault/{id}") @SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.INSERT) @PreAuthorize("hasRole('bms:supplierAddress:insert')") @Transactional(rollbackFor = Exception.class) - public R setDefault(@RequestBody @Valid Long id){ + public R setDefault(@PathVariable("id") Long id){ BmsSupplierAddress supplierAddress = bmsSupplierAddressService.getById(id); List list = bmsSupplierAddressService.listBySupplierId(supplierAddress.getSupplierId()); //设置其它 diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierBandController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierBandController.java index f774f58b..276e9039 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierBandController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierBandController.java @@ -94,7 +94,7 @@ public class BmsSupplierBandController { @DeleteMapping("/deleteById/{id}") @SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.DELETE) @PreAuthorize("hasRole('bms:supplierBand:delete')") - public R deleteById(@PathVariable("id") String id){ + public R deleteById(@PathVariable("id") Long id){ boolean result = bmsSupplierBandService.removeById(id); return R.isTrue(result); } diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java index c31897d9..cdf2de62 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java @@ -9,9 +9,8 @@ import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.TreeUtil; -import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo; -import com.qs.serve.modules.bms.entity.vo.BmsSupplierBatchBo; -import com.qs.serve.modules.bms.entity.vo.BmsSupplierBo; +import com.qs.serve.modules.bms.entity.bo.BmsSupplierBatchBo; +import com.qs.serve.modules.bms.entity.bo.BmsSupplierBo; import com.qs.serve.modules.bms.entity.vo.BmsSupplierTreeVo; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierUserController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierUserController.java index d6166b20..21f98b7d 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierUserController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierUserController.java @@ -94,7 +94,7 @@ public class BmsSupplierUserController { @DeleteMapping("/deleteById/{id}") @SysLog(module = SystemModule.BASE, title = "供应商分配", biz = BizType.DELETE) @PreAuthorize("hasRole('bms:supplierUser:delete')") - public R deleteById(@PathVariable("id") String id){ + public R deleteById(@PathVariable("id") Long id){ boolean result = bmsSupplierUserService.removeById(id); return R.isTrue(result); } diff --git a/src/main/java/com/qs/serve/modules/bms/controller/api/BmsRegionApi.java b/src/main/java/com/qs/serve/modules/bms/controller/api/BmsRegionApi.java index 555a91c9..6ce54af6 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/api/BmsRegionApi.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/api/BmsRegionApi.java @@ -1,25 +1,13 @@ package com.qs.serve.modules.bms.controller.api; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.qs.serve.common.model.annotation.SysLog; -import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.R; -import com.qs.serve.common.model.enums.BizType; -import com.qs.serve.common.model.enums.SystemModule; -import com.qs.serve.common.util.CopierUtil; -import com.qs.serve.common.util.IdUtil; -import com.qs.serve.common.util.PageUtil; -import com.qs.serve.common.util.ValidateTools; import com.qs.serve.modules.bms.entity.BmsRegion; -import com.qs.serve.modules.bms.entity.vo.BmsRegionBatchBo; import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo; import com.qs.serve.modules.bms.service.BmsRegionService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; import java.util.List; /** diff --git a/src/main/java/com/qs/serve/modules/bms/controller/api/BmsSupplierAddressApi.java b/src/main/java/com/qs/serve/modules/bms/controller/api/BmsSupplierAddressApi.java index d22f14fd..9fbd94a0 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/api/BmsSupplierAddressApi.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/api/BmsSupplierAddressApi.java @@ -9,6 +9,7 @@ import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.PageUtil; import com.qs.serve.modules.bms.entity.BmsSupplierAddress; import com.qs.serve.modules.bms.service.BmsSupplierAddressService; +import com.qs.serve.modules.bms.service.BmsSupplierUserService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.access.prepost.PreAuthorize; @@ -30,6 +31,7 @@ import java.util.List; public class BmsSupplierAddressApi { private BmsSupplierAddressService bmsSupplierAddressService; + private BmsSupplierUserService bmsSupplierUserService; /** * 翻页查询 @@ -37,22 +39,37 @@ public class BmsSupplierAddressApi { * @return */ @GetMapping("/page") - @PreAuthorize("hasRole('bms:supplierAddress:query')") public R> getPage(BmsSupplierAddress param){ + if(bmsSupplierUserService.checkWxUserSupplier(param.getSupplierId())){ + return R.error("未授权"); + } PageUtil.startPage(); LambdaQueryWrapper supplierAddressWrapper = new LambdaQueryWrapper<>(param); List list = bmsSupplierAddressService.list(supplierAddressWrapper); return R.byPageHelperList(list); } + /** + * 翻页查询 + * @param param + * @return + */ + @GetMapping("/list") + public R> getList(BmsSupplierAddress param){ + if(bmsSupplierUserService.checkWxUserSupplier(param.getSupplierId())){ + return R.error("未授权"); + } + LambdaQueryWrapper supplierAddressWrapper = new LambdaQueryWrapper<>(param); + List list = bmsSupplierAddressService.list(supplierAddressWrapper); + return R.ok(list); + } + /** * 根据ID查询 * @param id * @return */ @GetMapping("/getById/{id}") - @SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.QUERY) - @PreAuthorize("hasRole('bms:supplierAddress:query')") public R getById(@PathVariable("id") String id){ BmsSupplierAddress bmsSupplierAddress = bmsSupplierAddressService.getById(id); return R.ok(bmsSupplierAddress); @@ -66,14 +83,10 @@ public class BmsSupplierAddressApi { * @return */ @PostMapping("/updateById") - @SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.UPDATE) - @PreAuthorize("hasRole('bms:supplierAddress:update')") public R updateById(@RequestBody @Valid BmsSupplierAddress param){ - BmsSupplierAddress supplierAddress = bmsSupplierAddressService.getDefault(param.getSupplierId()); - if(supplierAddress==null){ - param.setDefaultFlag(1); - }else { - param.setDefaultFlag(0); + BmsSupplierAddress supplierAddress = bmsSupplierAddressService.getById(param.getId()); + if(bmsSupplierUserService.checkWxUserSupplier(supplierAddress.getSupplierId())){ + return R.error("未授权"); } boolean result = bmsSupplierAddressService.updateById(param); return R.isTrue(result); @@ -85,9 +98,10 @@ public class BmsSupplierAddressApi { * @return */ @PostMapping("/save") - @SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.INSERT) - @PreAuthorize("hasRole('bms:supplierAddress:insert')") public R save(@RequestBody @Valid BmsSupplierAddress param){ + if(bmsSupplierUserService.checkWxUserSupplier(param.getSupplierId())){ + return R.error("未授权"); + } BmsSupplierAddress supplierAddress = bmsSupplierAddressService.getDefault(param.getSupplierId()); if(supplierAddress==null){ param.setDefaultFlag(1); @@ -104,11 +118,12 @@ public class BmsSupplierAddressApi { * @return */ @PostMapping("/setDefault") - @SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.INSERT) - @PreAuthorize("hasRole('bms:supplierAddress:insert')") @Transactional(rollbackFor = Exception.class) public R setDefault(@RequestBody @Valid Long id){ BmsSupplierAddress supplierAddress = bmsSupplierAddressService.getById(id); + if(bmsSupplierUserService.checkWxUserSupplier(supplierAddress.getSupplierId())){ + return R.error("未授权"); + } List list = bmsSupplierAddressService.listBySupplierId(supplierAddress.getSupplierId()); //设置其它 for (BmsSupplierAddress address : list) { @@ -129,9 +144,11 @@ public class BmsSupplierAddressApi { * @return */ @DeleteMapping("/deleteById/{id}") - @SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.DELETE) - @PreAuthorize("hasRole('bms:supplierAddress:delete')") - public R deleteById(@PathVariable("id") String id){ + public R deleteById(@PathVariable("id") Long id){ + BmsSupplierAddress supplierAddress = bmsSupplierAddressService.getById(id); + if(bmsSupplierUserService.checkWxUserSupplier(supplierAddress.getSupplierId())){ + return R.error("未授权"); + } boolean result = bmsSupplierAddressService.removeById(id); return R.isTrue(result); } diff --git a/src/main/java/com/qs/serve/modules/bms/controller/api/BmsSupplierApi.java b/src/main/java/com/qs/serve/modules/bms/controller/api/BmsSupplierApi.java index c8681641..eefd1df8 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/api/BmsSupplierApi.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/api/BmsSupplierApi.java @@ -1,6 +1,5 @@ package com.qs.serve.modules.bms.controller.api; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.qs.serve.common.model.annotation.SysLog; import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.R; @@ -10,8 +9,6 @@ import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.TreeUtil; import com.qs.serve.modules.bms.entity.BmsSupplier; -import com.qs.serve.modules.bms.entity.vo.BmsSupplierBatchBo; -import com.qs.serve.modules.bms.entity.vo.BmsSupplierBo; import com.qs.serve.modules.bms.entity.vo.BmsSupplierTreeVo; import com.qs.serve.modules.bms.service.BmsSupplierService; import com.qs.serve.modules.wx.entity.WxUser; @@ -21,7 +18,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; diff --git a/src/main/java/com/qs/serve/modules/bms/controller/api/BmsSupplierBandApi.java b/src/main/java/com/qs/serve/modules/bms/controller/api/BmsSupplierBandApi.java index c9166bdf..ed56e8ff 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/api/BmsSupplierBandApi.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/api/BmsSupplierBandApi.java @@ -9,6 +9,7 @@ import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.PageUtil; import com.qs.serve.modules.bms.entity.BmsSupplierBand; import com.qs.serve.modules.bms.service.BmsSupplierBandService; +import com.qs.serve.modules.bms.service.BmsSupplierUserService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.access.prepost.PreAuthorize; @@ -29,6 +30,7 @@ import java.util.List; public class BmsSupplierBandApi { private BmsSupplierBandService bmsSupplierBandService; + private BmsSupplierUserService bmsSupplierUserService; /** * 翻页查询 @@ -38,12 +40,31 @@ public class BmsSupplierBandApi { @GetMapping("/page") @PreAuthorize("hasRole('bms:supplierBand:query')") public R> getPage(BmsSupplierBand param){ + if(bmsSupplierUserService.checkWxUserSupplier(param.getSupplierId())){ + return R.error("未授权"); + } PageUtil.startPage(); LambdaQueryWrapper supplierBandWrapper = new LambdaQueryWrapper<>(param); List list = bmsSupplierBandService.list(supplierBandWrapper); return R.byPageHelperList(list); } + /** + * 列表查询 + * @param param + * @return + */ + @GetMapping("/list") + @PreAuthorize("hasRole('bms:supplierBand:query')") + public R> getList(BmsSupplierBand param){ + if(bmsSupplierUserService.checkWxUserSupplier(param.getSupplierId())){ + return R.error("未授权"); + } + LambdaQueryWrapper supplierBandWrapper = new LambdaQueryWrapper<>(param); + List list = bmsSupplierBandService.list(supplierBandWrapper); + return R.ok(list); + } + /** * 根据ID查询 * @param id @@ -68,6 +89,10 @@ public class BmsSupplierBandApi { @SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.UPDATE) @PreAuthorize("hasRole('bms:supplierBand:update')") public R updateById(@RequestBody @Valid BmsSupplierBand param){ + BmsSupplierBand bmsSupplierBand = bmsSupplierBandService.getById(param.getId()); + if(bmsSupplierUserService.checkWxUserSupplier(bmsSupplierBand.getSupplierId())){ + return R.error("未授权"); + } boolean result = bmsSupplierBandService.updateById(param); return R.isTrue(result); } @@ -81,6 +106,9 @@ public class BmsSupplierBandApi { @SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.INSERT) @PreAuthorize("hasRole('bms:supplierBand:insert')") public R save(@RequestBody @Valid BmsSupplierBand param){ + if(bmsSupplierUserService.checkWxUserSupplier(param.getSupplierId())){ + return R.error("未授权"); + } boolean result = bmsSupplierBandService.save(param); return R.isTrue(result); } @@ -94,6 +122,10 @@ public class BmsSupplierBandApi { @SysLog(module = SystemModule.BASE, title = "供应商地址", biz = BizType.DELETE) @PreAuthorize("hasRole('bms:supplierBand:delete')") public R deleteById(@PathVariable("id") String id){ + BmsSupplierBand bmsSupplierBand = bmsSupplierBandService.getById(id); + if(bmsSupplierUserService.checkWxUserSupplier(bmsSupplierBand.getSupplierId())){ + return R.error("未授权"); + } boolean result = bmsSupplierBandService.removeById(id); return R.isTrue(result); } diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsSkuRegion.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsSkuRegion.java new file mode 100644 index 00000000..44609ea3 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsSkuRegion.java @@ -0,0 +1,78 @@ +package com.qs.serve.modules.bms.entity; + +import java.time.LocalDateTime; +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * sku销售区域 实体类 + * @author YenHex + * @since 2022-10-17 + */ +@Data +@TableName("bms_sku_region") +public class BmsSkuRegion implements Serializable { + + private static final long serialVersionUID = 1L; + + /** id */ + @TableId(type = IdType.AUTO) + private Long id; + + /** 商品Id */ + @NotNull(message = "商品Id不能为空") + private Long spuId; + + /** skuId */ + @NotNull(message = "skuId不能为空") + private Long skuId; + + /** 区域ID */ + @NotNull(message = "区域ID不能为空") + private Long regionId; + + /** 类型:0->正常;1->禁售 */ + private Integer typeFlag; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 创建人 */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 更新时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; + + /** 更新人 */ + @TableField(fill = FieldFill.UPDATE) + private String updateBy; + + /** 租户id */ + @JsonIgnore + @JsonProperty + private String tenantId; + + /** 删除标识 */ + @JsonIgnore + @JsonProperty + private Boolean delFlag; + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsSkuSupplier.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsSkuSupplier.java new file mode 100644 index 00000000..035ef2d8 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsSkuSupplier.java @@ -0,0 +1,79 @@ +package com.qs.serve.modules.bms.entity; + +import java.time.LocalDateTime; +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * sku供应商关联 实体类 + * @author YenHex + * @since 2022-10-17 + */ +@Data +@TableName("bms_sku_supplier") +public class BmsSkuSupplier implements Serializable { + + private static final long serialVersionUID = 1L; + + /** id */ + @TableId(type = IdType.AUTO) + private Long id; + + /** 商品id */ + @NotNull(message = "商品id不能为空") + private Long spuId; + + /** skuId */ + @NotNull(message = "skuId不能为空") + private Long skuId; + + /** 供应商id */ + @NotNull(message = "供应商id不能为空") + private Long supplierId; + + /** 禁售状态 */ + @NotNull(message = "禁售状态不能为空") + private Integer banStatus; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 创建人 */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 更新时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; + + /** 更新人 */ + @TableField(fill = FieldFill.UPDATE) + private String updateBy; + + /** 租户id */ + @JsonIgnore + @JsonProperty + private String tenantId; + + /** 删除标识 */ + @JsonIgnore + @JsonProperty + private Boolean delFlag; + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierAddress.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierAddress.java index 5031f885..1f32b912 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierAddress.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierAddress.java @@ -61,6 +61,14 @@ public class BmsSupplierAddress implements Serializable { @Length(max = 255,message = "备注长度不能超过255字") private String remark; + /** 收货联系方式 */ + @NotBlank(message = "收货联系方式不能为空") + private String phone; + + /** 收货人 */ + @NotBlank(message = "收货人不能为空") + private String receiver; + /** 创建时间 */ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") diff --git a/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsRegionBatchBo.java b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsRegionBatchBo.java similarity index 94% rename from src/main/java/com/qs/serve/modules/bms/entity/vo/BmsRegionBatchBo.java rename to src/main/java/com/qs/serve/modules/bms/entity/bo/BmsRegionBatchBo.java index 8c9b85b5..e8dfc385 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsRegionBatchBo.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsRegionBatchBo.java @@ -1,4 +1,4 @@ -package com.qs.serve.modules.bms.entity.vo; +package com.qs.serve.modules.bms.entity.bo; import lombok.Data; import org.hibernate.validator.constraints.Length; diff --git a/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsSkuSupplierBo.java b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsSkuSupplierBo.java new file mode 100644 index 00000000..15815bde --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsSkuSupplierBo.java @@ -0,0 +1,26 @@ +package com.qs.serve.modules.bms.entity.bo; + +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @author YenHex + * @since 2022/10/17 + */ +@Data +public class BmsSkuSupplierBo { + + /** skuId */ + @NotNull(message = "skuId不能为空") + private Long skuId; + + /** 供应商id */ + @NotNull(message = "供应商id不能为空") + private Long supplierId; + + /** 禁售状态 0可售 1禁售 */ + @NotNull(message = "禁售状态不能为空") + private Integer banStatus; + +} diff --git a/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsSkuSupplierBo2.java b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsSkuSupplierBo2.java new file mode 100644 index 00000000..a29a27cc --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsSkuSupplierBo2.java @@ -0,0 +1,26 @@ +package com.qs.serve.modules.bms.entity.bo; + +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @author YenHex + * @since 2022/10/17 + */ +@Data +public class BmsSkuSupplierBo2 { + + /** 商品Id */ + @NotNull(message = "skuId不能为空") + private Long spuId; + + /** 供应商id */ + @NotNull(message = "供应商id不能为空") + private Long supplierId; + + /** 禁售状态 0可售 1禁售 */ + @NotNull(message = "禁售状态不能为空") + private Integer banStatus; + +} diff --git a/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSupplierBatchBo.java b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsSupplierBatchBo.java similarity index 95% rename from src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSupplierBatchBo.java rename to src/main/java/com/qs/serve/modules/bms/entity/bo/BmsSupplierBatchBo.java index af16863c..698217c4 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSupplierBatchBo.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsSupplierBatchBo.java @@ -1,4 +1,4 @@ -package com.qs.serve.modules.bms.entity.vo; +package com.qs.serve.modules.bms.entity.bo; import lombok.Data; import org.hibernate.validator.constraints.Length; diff --git a/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSupplierBo.java b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsSupplierBo.java similarity index 92% rename from src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSupplierBo.java rename to src/main/java/com/qs/serve/modules/bms/entity/bo/BmsSupplierBo.java index e459b63a..49114da8 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSupplierBo.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsSupplierBo.java @@ -1,4 +1,4 @@ -package com.qs.serve.modules.bms.entity.vo; +package com.qs.serve.modules.bms.entity.bo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; @@ -15,7 +15,7 @@ import javax.validation.constraints.NotBlank; public class BmsSupplierBo { /** id */ - private Long id; + private String id; /** 区域ID */ private Long regionId; diff --git a/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSkuSupplierVo.java b/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSkuSupplierVo.java new file mode 100644 index 00000000..0d3da065 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSkuSupplierVo.java @@ -0,0 +1,26 @@ +package com.qs.serve.modules.bms.entity.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.qs.serve.modules.bms.entity.BmsSkuSupplier; +import lombok.Data; + +/** + * @author YenHex + * @since 2022/10/17 + */ +@Data +public class BmsSkuSupplierVo extends BmsSkuSupplier { + + /** 规格编码*/ + private String skuCode; + + /** 商品编码 */ + private String spuCode; + + /** 规格值 */ + private String specInfos; + + /** 商品标题 */ + private String spuTitle; + +} diff --git a/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSupplierTreeVo.java b/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSupplierTreeVo.java index 7cdb83f0..c0fc05cf 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSupplierTreeVo.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsSupplierTreeVo.java @@ -3,6 +3,7 @@ package com.qs.serve.modules.bms.entity.vo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.qs.serve.common.model.dto.TreeNode; +import lombok.Data; import org.hibernate.validator.constraints.Length; import javax.validation.constraints.NotBlank; @@ -11,6 +12,7 @@ import javax.validation.constraints.NotBlank; * @author YenHex * @since 2022/10/12 */ +@Data public class BmsSupplierTreeVo extends TreeNode { /** id */ diff --git a/src/main/java/com/qs/serve/modules/bms/mapper/BmsSkuRegionMapper.java b/src/main/java/com/qs/serve/modules/bms/mapper/BmsSkuRegionMapper.java new file mode 100644 index 00000000..a3dc46d0 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/mapper/BmsSkuRegionMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.bms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.bms.entity.BmsSkuRegion; + +/** + * sku销售区域 Mapper + * @author YenHex + * @date 2022-10-17 + */ +public interface BmsSkuRegionMapper extends BaseMapper { + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/mapper/BmsSkuSupplierMapper.java b/src/main/java/com/qs/serve/modules/bms/mapper/BmsSkuSupplierMapper.java new file mode 100644 index 00000000..16567dc8 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/mapper/BmsSkuSupplierMapper.java @@ -0,0 +1,22 @@ +package com.qs.serve.modules.bms.mapper; + +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.bms.entity.BmsSkuSupplier; +import com.qs.serve.modules.bms.entity.vo.BmsSkuSupplierVo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * sku供应商关联 Mapper + * @author YenHex + * @date 2022-10-17 + */ +public interface BmsSkuSupplierMapper extends BaseMapper { + + @InterceptorIgnore(tenantLine = "1") + List selectList2(@Param("query") BmsSkuSupplier skuSupplier); + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsSkuRegionService.java b/src/main/java/com/qs/serve/modules/bms/service/BmsSkuRegionService.java new file mode 100644 index 00000000..4efcc325 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/service/BmsSkuRegionService.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.bms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.bms.entity.BmsSkuRegion; + +/** + * sku销售区域 服务接口 + * @author YenHex + * @date 2022-10-17 + */ +public interface BmsSkuRegionService extends IService { + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsSkuSupplierService.java b/src/main/java/com/qs/serve/modules/bms/service/BmsSkuSupplierService.java new file mode 100644 index 00000000..9ffbdcc5 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/service/BmsSkuSupplierService.java @@ -0,0 +1,19 @@ +package com.qs.serve.modules.bms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.bms.entity.BmsSkuSupplier; +import com.qs.serve.modules.bms.entity.vo.BmsSkuSupplierVo; + +import java.util.List; + +/** + * sku供应商关联 服务接口 + * @author YenHex + * @date 2022-10-17 + */ +public interface BmsSkuSupplierService extends IService { + + List selectList(BmsSkuSupplier skuSupplier); + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsSupplierService.java b/src/main/java/com/qs/serve/modules/bms/service/BmsSupplierService.java index 0b992714..b25a4097 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/BmsSupplierService.java +++ b/src/main/java/com/qs/serve/modules/bms/service/BmsSupplierService.java @@ -2,12 +2,9 @@ package com.qs.serve.modules.bms.service; import com.baomidou.mybatisplus.extension.service.IService; import com.qs.serve.modules.bms.entity.BmsSupplier; -import com.qs.serve.modules.bms.entity.vo.BmsSupplierBatchBo; -import com.qs.serve.modules.bms.entity.vo.BmsSupplierBo; -import org.apache.ibatis.annotations.Param; -import org.springframework.web.bind.annotation.RequestBody; +import com.qs.serve.modules.bms.entity.bo.BmsSupplierBatchBo; +import com.qs.serve.modules.bms.entity.bo.BmsSupplierBo; -import javax.validation.Valid; import java.util.List; /** diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsSupplierUserService.java b/src/main/java/com/qs/serve/modules/bms/service/BmsSupplierUserService.java index 46aa3d1b..0fa433d3 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/BmsSupplierUserService.java +++ b/src/main/java/com/qs/serve/modules/bms/service/BmsSupplierUserService.java @@ -13,7 +13,13 @@ import java.util.List; */ public interface BmsSupplierUserService extends IService { - //BmsSupplier list + /** + * 检查当前微信人员是否有操作供应商权限 + * @param supplierId + * @return + */ + boolean checkWxUserSupplier(Long supplierId); + boolean checkWxUserSupplier(Long supplierId,String userId); } diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSkuRegionServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSkuRegionServiceImpl.java new file mode 100644 index 00000000..08bb9d99 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSkuRegionServiceImpl.java @@ -0,0 +1,22 @@ +package com.qs.serve.modules.bms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.bms.entity.BmsSkuRegion; +import com.qs.serve.modules.bms.service.BmsSkuRegionService; +import com.qs.serve.modules.bms.mapper.BmsSkuRegionMapper; + +/** + * sku销售区域 服务实现类 + * @author YenHex + * @since 2022-10-17 + */ +@Slf4j +@Service +@AllArgsConstructor +public class BmsSkuRegionServiceImpl extends ServiceImpl implements BmsSkuRegionService { + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSkuSupplierService.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSkuSupplierService.java new file mode 100644 index 00000000..3259cd79 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSkuSupplierService.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.bms.service.impl; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.bms.entity.BmsSkuSupplier; + +/** + * sku供应商关联 服务接口 + * @author YenHex + * @date 2022-10-17 + */ +public interface BmsSkuSupplierService extends IService { + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSkuSupplierServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSkuSupplierServiceImpl.java new file mode 100644 index 00000000..68039c7d --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSkuSupplierServiceImpl.java @@ -0,0 +1,29 @@ +package com.qs.serve.modules.bms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qs.serve.modules.bms.entity.vo.BmsSkuSupplierVo; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.bms.entity.BmsSkuSupplier; +import com.qs.serve.modules.bms.service.BmsSkuSupplierService; +import com.qs.serve.modules.bms.mapper.BmsSkuSupplierMapper; + +import java.util.List; + +/** + * sku供应商关联 服务实现类 + * @author YenHex + * @since 2022-10-17 + */ +@Slf4j +@Service +@AllArgsConstructor +public class BmsSkuSupplierServiceImpl extends ServiceImpl implements BmsSkuSupplierService { + + @Override + public List selectList(BmsSkuSupplier skuSupplier) { + return baseMapper.selectList2(skuSupplier); + } +} + diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java index 22332ef7..ca7ad416 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java @@ -4,8 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qs.serve.common.util.CopierUtil; import com.qs.serve.modules.bms.entity.BmsRegion; -import com.qs.serve.modules.bms.entity.vo.BmsSupplierBatchBo; -import com.qs.serve.modules.bms.entity.vo.BmsSupplierBo; +import com.qs.serve.modules.bms.entity.bo.BmsSupplierBatchBo; +import com.qs.serve.modules.bms.entity.bo.BmsSupplierBo; import com.qs.serve.modules.bms.service.BmsRegionService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -36,8 +36,13 @@ public class BmsSupplierServiceImpl extends ServiceImpl implements BmsSupplierUserService { + private WxUserService wxUserService; + + @Override + public boolean checkWxUserSupplier(Long supplierId) { + return checkWxUserSupplier(supplierId,null); + } + + @Override + public boolean checkWxUserSupplier(Long supplierId, String userId) { + if(supplierId!=null){ + WxUser wxUser = wxUserService.getCurrentWxUser(true); + if(wxUser!=null){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(BmsSupplierUser::getUserId,wxUser.getSysUserId()); + lqw.eq(BmsSupplierUser::getSupplierId,supplierId); + boolean exist = this.count(lqw) > 0L; + if(userId!=null){ + return exist&&wxUser.getSysUserId().equals(userId); + } + return exist; + } + } + return false; + } } diff --git a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java index 2e8178df..a074ddd2 100644 --- a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java +++ b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java @@ -51,6 +51,9 @@ public class GoodsSku implements Serializable { /** 成本价 */ private BigDecimal costPrice; + /** 规格值 */ + private String specInfos; + /** 库存 */ @NotNull(message = "库存不能为空") private Integer stock; diff --git a/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuSpecValueMapper.java b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuSpecValueMapper.java index 81d8a7cb..dd67565a 100644 --- a/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuSpecValueMapper.java +++ b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuSpecValueMapper.java @@ -17,7 +17,7 @@ import java.util.List; public interface GoodsSkuSpecValueMapper extends BaseMapper { /** - * 查询sku的规格值 + * 查询spu的规格值 * @param spuId * @return */ @@ -38,5 +38,27 @@ public interface GoodsSkuSpecValueMapper extends BaseMapper { " ORDER BY `goods_sku_spec_value`.`sort` DESC") List listSpecValueBySpuId(@Param("spuId") Long spuId); + /** + * 查询sku的规格值 + * @param skuId + * @return + */ + @InterceptorIgnore(tenantLine = "1") + @Select("SELECT " + + " `goods_sku_spec_value`.`sku_id` as `skuId`," + + " `goods_spec_value`.`spec_id` as `specId`," + + " `goods_spec`.`name` as `spec_name` as `specName`," + + " `goods_sku_spec_value`.`spec_value_id` as `specValueId`," + + " `goods_spec_value`.`name` as `specValue`," + + " `goods_sku_spec_value`.`sort` as `specValueSort`" + + " FROM `goods_sku_spec_value` " + + " LEFT JOIN `goods_spec_value` " + + " ON `goods_sku_spec_value`.spec_value_id = `goods_spec_value`.`id` " + + " LEFT JOIN `goods_spec` " + + " ON `goods_spec_value`.`spec_id` = `goods_spec`.`id` " + + " WHERE `goods_sku_spec_value`.`sku_id` = #{skuId}" + + " ORDER BY `goods_sku_spec_value`.`sort` DESC") + List listSpecValueBySkuId(@Param("skuId") Long skuId); + } diff --git a/src/main/java/com/qs/serve/modules/goods/service/GoodsSkuSpecValueService.java b/src/main/java/com/qs/serve/modules/goods/service/GoodsSkuSpecValueService.java index 217f7754..3125ee3a 100644 --- a/src/main/java/com/qs/serve/modules/goods/service/GoodsSkuSpecValueService.java +++ b/src/main/java/com/qs/serve/modules/goods/service/GoodsSkuSpecValueService.java @@ -14,12 +14,19 @@ import java.util.List; public interface GoodsSkuSpecValueService extends IService { /** - * 查询sku的规格值 + * 查询spu的规格值 * @param spuId * @return */ List listSpecValueBySpuId(Long spuId); + /** + * 查询sku的规格值 + * @param skuId + * @return + */ + List listSpecValueBySkuId(Long skuId); + GoodsSkuSpecValue getByIds(Long skuId,Long specValueId); /** diff --git a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuSpecValueServiceImpl.java b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuSpecValueServiceImpl.java index 5f90797b..4e43d4da 100644 --- a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuSpecValueServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuSpecValueServiceImpl.java @@ -27,6 +27,11 @@ public class GoodsSkuSpecValueServiceImpl extends ServiceImpl listSpecValueBySkuId(Long skuId) { + return baseMapper.listSpecValueBySkuId(skuId); + } + @Override public GoodsSkuSpecValue getByIds(Long skuId, Long specValueId) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); diff --git a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java index 99260c99..2f79efe4 100644 --- a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java @@ -154,6 +154,7 @@ public class GoodsSpuServiceImpl extends ServiceImpl im goodsSku.setSkuCode(tasteProduct.getInvCode()); goodsSku.setSpuId(spu.getId()); goodsSku.setPicUrl(tasteProduct.getInvPicUrl()); + goodsSku.setSpecInfos(tasteProduct.getTasteValue()+";"+tasteProduct.getPackValue()); //设置sku单位 if(StringUtils.hasText(tasteProduct.getUnit())){ GoodsUnit goodsUnit = goodsUnitService.getByName(tasteProduct.getUnit()); diff --git a/src/main/java/com/qs/serve/modules/oms/controller/OmsOrderController.java b/src/main/java/com/qs/serve/modules/oms/controller/OmsOrderController.java new file mode 100644 index 00000000..7964334c --- /dev/null +++ b/src/main/java/com/qs/serve/modules/oms/controller/OmsOrderController.java @@ -0,0 +1,103 @@ +package com.qs.serve.modules.oms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.SysLog; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.model.enums.BizType; +import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.PageUtil; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import com.qs.serve.modules.oms.entity.OmsOrder; +import com.qs.serve.modules.oms.service.OmsOrderService; + +import javax.validation.Valid; +import java.util.List; + +/** + * 订单模块 订单 + * @author YenHex + * @since 2022-10-14 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("oms/order") +public class OmsOrderController { + + private OmsOrderService omsOrderService; + + /** + * 翻页查询 + * @param param + * @return + */ + @GetMapping("/page") + @PreAuthorize("hasRole('oms:order:query')") + public R> getPage(OmsOrder param){ + PageUtil.startPage(); + LambdaQueryWrapper orderWrapper = new LambdaQueryWrapper<>(param); + List list = omsOrderService.list(orderWrapper); + return R.byPageHelperList(list); + } + + /** + * 根据ID查询 + * @param id + * @return + */ + @GetMapping("/getById/{id}") + @SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.QUERY) + @PreAuthorize("hasRole('oms:order:query')") + public R getById(@PathVariable("id") String id){ + OmsOrder omsOrder = omsOrderService.getById(id); + return R.ok(omsOrder); + } + + + + /** + * 根据ID更新 + * @param param + * @return + */ + @PostMapping("/updateById") + @SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.UPDATE) + @PreAuthorize("hasRole('oms:order:update')") + public R updateById(@RequestBody @Valid OmsOrder param){ + boolean result = omsOrderService.updateById(param); + return R.isTrue(result); + } + + /** + * 新增订单 + * @param param + * @return + */ + @PostMapping("/save") + @SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.INSERT) + @PreAuthorize("hasRole('oms:order:insert')") + public R save(@RequestBody @Valid OmsOrder param){ + boolean result = omsOrderService.save(param); + return R.isTrue(result); + } + + /** + * 删除订单 + * @param id + * @return + */ + @DeleteMapping("/deleteById/{id}") + @SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.DELETE) + @PreAuthorize("hasRole('oms:order:delete')") + public R deleteById(@PathVariable("id") String id){ + boolean result = omsOrderService.removeById(id); + return R.isTrue(result); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/oms/controller/OmsOrderItemController.java b/src/main/java/com/qs/serve/modules/oms/controller/OmsOrderItemController.java new file mode 100644 index 00000000..c3918d99 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/oms/controller/OmsOrderItemController.java @@ -0,0 +1,103 @@ +package com.qs.serve.modules.oms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.SysLog; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.model.enums.BizType; +import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.PageUtil; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import com.qs.serve.modules.oms.entity.OmsOrderItem; +import com.qs.serve.modules.oms.service.OmsOrderItemService; + +import javax.validation.Valid; +import java.util.List; + +/** + * 订单模块 订单明细 + * @author YenHex + * @since 2022-10-14 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("oms/orderItem") +public class OmsOrderItemController { + + private OmsOrderItemService omsOrderItemService; + + /** + * 翻页查询 + * @param param + * @return + */ + @GetMapping("/page") + @PreAuthorize("hasRole('oms:orderItem:query')") + public R> getPage(OmsOrderItem param){ + PageUtil.startPage(); + LambdaQueryWrapper orderItemWrapper = new LambdaQueryWrapper<>(param); + List list = omsOrderItemService.list(orderItemWrapper); + return R.byPageHelperList(list); + } + + /** + * 根据ID查询 + * @param id + * @return + */ + @GetMapping("/getById/{id}") + @SysLog(module = SystemModule.BASE, title = "订单明细", biz = BizType.QUERY) + @PreAuthorize("hasRole('oms:orderItem:query')") + public R getById(@PathVariable("id") String id){ + OmsOrderItem omsOrderItem = omsOrderItemService.getById(id); + return R.ok(omsOrderItem); + } + + + + /** + * 根据ID更新 + * @param param + * @return + */ + @PostMapping("/updateById") + @SysLog(module = SystemModule.BASE, title = "订单明细", biz = BizType.UPDATE) + @PreAuthorize("hasRole('oms:orderItem:update')") + public R updateById(@RequestBody @Valid OmsOrderItem param){ + boolean result = omsOrderItemService.updateById(param); + return R.isTrue(result); + } + + /** + * 新增订单明细 + * @param param + * @return + */ + @PostMapping("/save") + @SysLog(module = SystemModule.BASE, title = "订单明细", biz = BizType.INSERT) + @PreAuthorize("hasRole('oms:orderItem:insert')") + public R save(@RequestBody @Valid OmsOrderItem param){ + boolean result = omsOrderItemService.save(param); + return R.isTrue(result); + } + + /** + * 删除订单明细 + * @param id + * @return + */ + @DeleteMapping("/deleteById/{id}") + @SysLog(module = SystemModule.BASE, title = "订单明细", biz = BizType.DELETE) + @PreAuthorize("hasRole('oms:orderItem:delete')") + public R deleteById(@PathVariable("id") String id){ + boolean result = omsOrderItemService.removeById(id); + return R.isTrue(result); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java b/src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java new file mode 100644 index 00000000..9b9b5720 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java @@ -0,0 +1,101 @@ +package com.qs.serve.modules.oms.controller.api; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.SysLog; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.model.enums.BizType; +import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.PageUtil; +import com.qs.serve.modules.oms.entity.OmsOrder; +import com.qs.serve.modules.oms.entity.bo.OmsConfirmOrderBo; +import com.qs.serve.modules.oms.entity.vo.OmsConfirmOrderVo; +import com.qs.serve.modules.oms.service.OmsOrderService; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** + * API订单模块 订单 + * @author YenHex + * @since 2022-10-14 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("/api/order") +public class OmsOrderApi { + + private OmsOrderService omsOrderService; + + /** + * 创建确认订单 + * @param confirmOrder + * @return + */ + @PostMapping("/generateConfirmOrder") + public R generateConfirmOrder(@RequestBody @Valid OmsConfirmOrderBo confirmOrder){ + return R.ok(omsOrderService.generateConfirmOrder(confirmOrder)); + } + + + /** + * 翻页查询 + * @param param + * @return + */ + @GetMapping("/page") + public R> getPage(OmsOrder param){ + PageUtil.startPage(); + LambdaQueryWrapper orderWrapper = new LambdaQueryWrapper<>(param); + List list = omsOrderService.list(orderWrapper); + return R.byPageHelperList(list); + } + + /** + * 根据ID查询 + * @param id + * @return + */ + @GetMapping("/getById/{id}") + @SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.QUERY) + @PreAuthorize("hasRole('oms:order:query')") + public R getById(@PathVariable("id") String id){ + OmsOrder omsOrder = omsOrderService.getById(id); + return R.ok(omsOrder); + } + + + + /** + * 新增订单 + * @param param + * @return + */ + @PostMapping("/save") + @SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.INSERT) + @PreAuthorize("hasRole('oms:order:insert')") + public R save(@RequestBody @Valid OmsOrder param){ + boolean result = omsOrderService.save(param); + return R.isTrue(result); + } + + /** + * 删除订单 + * @param id + * @return + */ + @DeleteMapping("/deleteById/{id}") + @SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.DELETE) + @PreAuthorize("hasRole('oms:order:delete')") + public R deleteById(@PathVariable("id") String id){ + boolean result = omsOrderService.removeById(id); + return R.isTrue(result); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/oms/controller/api/OmsShoppingCartApi.java b/src/main/java/com/qs/serve/modules/oms/controller/api/OmsShoppingCartApi.java new file mode 100644 index 00000000..6605caa6 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/oms/controller/api/OmsShoppingCartApi.java @@ -0,0 +1,130 @@ +package com.qs.serve.modules.oms.controller.api; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.SysLog; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.model.enums.BizType; +import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.CopierUtil; +import com.qs.serve.common.util.PageUtil; +import com.qs.serve.modules.bms.service.BmsSupplierUserService; +import com.qs.serve.modules.goods.entity.GoodsSku; +import com.qs.serve.modules.goods.entity.GoodsSkuSpecValue; +import com.qs.serve.modules.goods.entity.GoodsSpu; +import com.qs.serve.modules.goods.entity.vo.GoodsSkuSpecValueVo; +import com.qs.serve.modules.goods.service.GoodsSkuService; +import com.qs.serve.modules.goods.service.GoodsSkuSpecValueService; +import com.qs.serve.modules.goods.service.GoodsSpuService; +import com.qs.serve.modules.oms.entity.OmsShoppingCart; +import com.qs.serve.modules.oms.entity.bo.OmsShoppingCartSaveBo; +import com.qs.serve.modules.oms.entity.bo.OmsShoppingCartUpdateBo; +import com.qs.serve.modules.oms.service.OmsShoppingCartService; +import com.qs.serve.modules.wx.entity.WxUser; +import com.qs.serve.modules.wx.service.WxUserService; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.stream.Collectors; + +/** + * API订单模块 购物车 + * @author YenHex + * @since 2022-10-14 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("api/shoppingCart") +public class OmsShoppingCartApi { + + private OmsShoppingCartService omsShoppingCartService; + private GoodsSkuSpecValueService goodsSkuSpecValueService; + private BmsSupplierUserService bmsSupplierUserService; + private GoodsSpuService goodsSpuService; + private GoodsSkuService goodsSkuService; + private WxUserService wxUserService; + + /** + * 翻页查询 + * @param param + * @return + */ + @GetMapping("/page") + public R> getPage(OmsShoppingCart param){ + if(bmsSupplierUserService.checkWxUserSupplier(param.getSupplierId())){ + return R.error("请选择有效的客户"); + } + WxUser wxUser = wxUserService.getCurrentWxUser(true); + if(wxUser==null){ + return R.byEmptyList(); + } + LambdaQueryWrapper shoppingCartWrapper = new LambdaQueryWrapper<>(param); + shoppingCartWrapper.eq(OmsShoppingCart::getUserId,wxUser.getSysUserId()); + PageUtil.startPage(); + List list = omsShoppingCartService.list(shoppingCartWrapper); + return R.byPageHelperList(list); + } + + + /** + * 根据ID更新 + * @param param + * @return + */ + @PostMapping("/updateById") + public R updateById(@RequestBody @Valid OmsShoppingCartUpdateBo param){ + OmsShoppingCart shoppingCart = omsShoppingCartService.getById(param.getCartId()); + if(bmsSupplierUserService.checkWxUserSupplier(shoppingCart.getSupplierId(),shoppingCart.getUserId())){ + return R.error("未授权"); + } + shoppingCart.setQuantity(param.getQuantity()); + omsShoppingCartService.updateById(shoppingCart); + return R.ok(); + } + + /** + * 新增购物车 + * @param param + * @return + */ + @PostMapping("/save") + public R save(@RequestBody @Valid OmsShoppingCartSaveBo param){ + if(bmsSupplierUserService.checkWxUserSupplier(param.getSupplierId())){ + return R.error("未授权"); + } + OmsShoppingCart shoppingCart = CopierUtil.copy(param,new OmsShoppingCart()); + WxUser wxUser = wxUserService.getCurrentWxUser(true); + shoppingCart.setUserId(wxUser.getSysUserId()); + GoodsSpu goodsSpu = goodsSpuService.getById(shoppingCart.getSpuId()); + shoppingCart.setSpuName(goodsSpu.getName()); + GoodsSku goodsSku = goodsSkuService.getById(shoppingCart.getSkuId()); + shoppingCart.setPicUrl(goodsSku.getPicUrl()); + List skuSpecValues = goodsSkuSpecValueService.listSpecValueBySkuId(goodsSku.getId()); + String specInfo = skuSpecValues.stream().map(GoodsSkuSpecValueVo::getSpecValue).collect(Collectors.joining(";")); + shoppingCart.setSpecInfo(specInfo); + omsShoppingCartService.save(shoppingCart); + return R.ok(); + } + + /** + * 删除购物车 + * @param id + * @return + */ + @DeleteMapping("/deleteById/{id}") + public R deleteById(@PathVariable("id") String id){ + OmsShoppingCart shoppingCart = omsShoppingCartService.getById(id); + if(bmsSupplierUserService.checkWxUserSupplier(shoppingCart.getSupplierId(),shoppingCart.getUserId())){ + return R.error("未授权"); + } + omsShoppingCartService.removeById(id); + return R.error(); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/oms/entity/OmsOrder.java b/src/main/java/com/qs/serve/modules/oms/entity/OmsOrder.java new file mode 100644 index 00000000..037352bf --- /dev/null +++ b/src/main/java/com/qs/serve/modules/oms/entity/OmsOrder.java @@ -0,0 +1,144 @@ +package com.qs.serve.modules.oms.entity; + +import java.time.LocalDateTime; +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * 订单 实体类 + * @author YenHex + * @since 2022-10-14 + */ +@Data +@TableName("oms_order") +public class OmsOrder implements Serializable { + + private static final long serialVersionUID = 1L; + + /** id */ + @TableId(type = IdType.AUTO) + private Long id; + + /** 订单号 */ + @NotBlank(message = "订单号不能为空") + @Length(max = 20,message = "订单号长度不能超过20字") + private String orderSn; + + /** 供应商ID */ + @NotNull(message = "供应商ID不能为空") + private Long supplierId; + + /** 供应商编码 */ + @NotBlank(message = "供应商编码不能为空") + @Length(max = 20,message = "供应商编码长度不能超过20字") + private String supplierCode; + + /** 供应商名称 */ + @NotBlank(message = "供应商名称不能为空") + @Length(max = 30,message = "供应商名称长度不能超过30字") + private String supplierName; + + /** 供应商收货地址id */ + @NotNull(message = "供应商收货地址id不能为空") + private Long supplierAddrId; + + /** 审核状态 */ + @NotNull(message = "审核状态不能为空") + private Integer checkState; + + /** 审核人 */ + @Length(max = 32,message = "审核人长度不能超过32字") + private String checkUserId; + + /** 审核时间 */ + @Length(max = 0,message = "审核时间长度不能超过0字") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime checkTime; + + /** 成本中心id */ + private Long costCenterId; + + /** 成本中心编码 */ + @Length(max = 20,message = "成本中心编码长度不能超过20字") + private String costCenterCode; + + /** 成本中心名称 */ + @Length(max = 20,message = "成本中心名称长度不能超过20字") + private String costCenterName; + + /** 品牌ID */ + @NotNull(message = "品牌ID不能为空") + private Long brandId; + + /** 制单人id */ + @Length(max = 32,message = "制单人id长度不能超过32字") + private String userId; + + /** 制单人名称 */ + @Length(max = 20,message = "制单人名称长度不能超过20字") + private String userName; + + /** 制单人ERP编码 */ + @Length(max = 32,message = "制单人ERP编码长度不能超过32字") + private String userCode; + + /** 制单人手机号 */ + @Length(max = 255,message = "制单人手机号长度不能超过255字") + private String userPhone; + + /** 发票类型:0->普通发票;1->增值税发票; */ + private Integer billType; + + /** 是否加急 */ + private Integer urgentFlag; + + /** 订单状态 */ + private Integer status; + + /** 备注 */ + @Length(max = 255,message = "备注长度不能超过255字") + private String remark; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 创建人 */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 更新时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; + + /** 更新人 */ + @TableField(fill = FieldFill.UPDATE) + private String updateBy; + + /** 租户id */ + @JsonIgnore + @JsonProperty + private String tenantId; + + /** 删除标识 */ + @JsonIgnore + @JsonProperty + private Boolean delFlag; + +} + diff --git a/src/main/java/com/qs/serve/modules/oms/entity/OmsOrderItem.java b/src/main/java/com/qs/serve/modules/oms/entity/OmsOrderItem.java new file mode 100644 index 00000000..e897526f --- /dev/null +++ b/src/main/java/com/qs/serve/modules/oms/entity/OmsOrderItem.java @@ -0,0 +1,117 @@ +package com.qs.serve.modules.oms.entity; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * 订单明细 实体类 + * @author YenHex + * @since 2022-10-14 + */ +@Data +@TableName("oms_order_item") +public class OmsOrderItem implements Serializable { + + private static final long serialVersionUID = 1L; + + /** id */ + @TableId(type = IdType.AUTO) + private Long id; + + /** 订单id */ + private Long orderId; + + /** 订单sn */ + @Length(max = 32,message = "订单sn长度不能超过32字") + private String orderSn; + + /** 商品id */ + private Long spuId; + + /** 商品编码 */ + @Length(max = 20,message = "商品编码长度不能超过20字") + private String spuCode; + + /** 商品名称 */ + @Length(max = 30,message = "商品名称长度不能超过30字") + private String spuTitle; + + /** skuId */ + private Long skuId; + + /** sku编码 */ + @Length(max = 20,message = "sku编码长度不能超过20字") + private String skuCode; + + /** sku单位 */ + @Length(max = 20,message = "sku单位长度不能超过20字") + private String skuUnit; + + /** sku图片 */ + @Length(max = 255,message = "sku图片长度不能超过255字") + private String skuImg; + + /** 规格值 */ + @Length(max = 255,message = "规格值长度不能超过255字") + private String specValues; + + /** 数量 */ + private Integer quantity; + + /** 销售价 */ + private BigDecimal salesPrice; + + /** 客户价 */ + private BigDecimal cusPrice; + + /** 市场价 */ + private BigDecimal marketPrice; + + /** 备注 */ + @Length(max = 255,message = "备注长度不能超过255字") + private String remark; + + /** 最后更新时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 所属租户 */ + @JsonIgnore + @JsonProperty + private String tenantId; + + /** 逻辑删除标记(0:显示;1:隐藏) */ + @JsonIgnore + @JsonProperty + private String delFlag; + + /** 创建人 */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 更新人 */ + @TableField(fill = FieldFill.UPDATE) + private String updateBy; + +} + diff --git a/src/main/java/com/qs/serve/modules/oms/entity/OmsShoppingCart.java b/src/main/java/com/qs/serve/modules/oms/entity/OmsShoppingCart.java new file mode 100644 index 00000000..2f990e4f --- /dev/null +++ b/src/main/java/com/qs/serve/modules/oms/entity/OmsShoppingCart.java @@ -0,0 +1,105 @@ +package com.qs.serve.modules.oms.entity; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * 购物车 实体类 + * @author YenHex + * @since 2022-10-14 + */ +@Data +@TableName("oms_shopping_cart") +public class OmsShoppingCart implements Serializable { + + private static final long serialVersionUID = 1L; + + /** id */ + @TableId(type = IdType.AUTO) + private Long id; + + /** 下单人 */ + @NotBlank(message = "下单人不能为空") + @Length(max = 32,message = "下单人长度不能超过32字") + private String userId; + + /** 商品SPU */ + @NotBlank(message = "商品SPU不能为空") + @Length(max = 32,message = "商品SPU长度不能超过32字") + private Long spuId; + + /** 商品SKU */ + @NotBlank(message = "商品SKU不能为空") + @Length(max = 32,message = "商品SKU长度不能超过32字") + private Long skuId; + + /** 供应商ID */ + private Long supplierId; + + /** 数量 */ + @NotNull(message = "数量不能为空") + private Integer quantity; + + /** 加入时的spu名字 */ + @Length(max = 200,message = "加入时的spu名字长度不能超过200字") + private String spuName; + + /** 加入时价格 */ + private BigDecimal addPrice; + + /** 加入时的规格信息 */ + @Length(max = 200,message = "加入时的规格信息长度不能超过200字") + private String specInfo; + + /** 图片 */ + @Length(max = 500,message = "图片长度不能超过500字") + private String picUrl; + + /** 备注 */ + @Length(max = 255,message = "备注长度不能超过255字") + private String remark; + + /** 最后更新时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 所属租户 */ + @JsonIgnore + @JsonProperty + private String tenantId; + + /** 逻辑删除标记(0:显示;1:隐藏) */ + @JsonIgnore + @JsonProperty + private String delFlag; + + /** 创建人 */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 更新人 */ + @TableField(fill = FieldFill.UPDATE) + private String updateBy; + +} + diff --git a/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsConfirmOrderBo.java b/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsConfirmOrderBo.java new file mode 100644 index 00000000..d2e9fdd8 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsConfirmOrderBo.java @@ -0,0 +1,46 @@ +package com.qs.serve.modules.oms.entity.bo; + +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; +/** + * @author YenHex + * @since 2022/10/14 + */ +@Data +public class OmsConfirmOrderBo { + + /** + * 供应商id + */ + @NotNull + private Long supplierId; + + /** + * 订单类型:0->普通订单; + */ + @NotNull + private Integer orderType; + + /** + * 立即购买或非普通订单 + */ + private Long skuId; + + /** + * 数量(立即购买或非普通订单) + */ + private Integer quantity; + + /** + * 购物车ID(购物车方式下单) + */ + private List shoppingCartIds; + + /** + * todo 促销活动id列表 + */ + private List promotionIds; + +} diff --git a/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsShoppingCartSaveBo.java b/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsShoppingCartSaveBo.java new file mode 100644 index 00000000..3cb13526 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsShoppingCartSaveBo.java @@ -0,0 +1,42 @@ +package com.qs.serve.modules.oms.entity.bo; + +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; + +/** + * @author YenHex + * @since 2022/10/14 + */ +@Data +public class OmsShoppingCartSaveBo { + + /** 供应商ID */ + @NotNull(message = "供应商不能为空") + private Long supplierId; + + /** 商品SPU */ + @NotBlank(message = "商品SPU不能为空") + @Length(max = 32,message = "商品SPU长度不能超过32字") + private Long spuId; + + /** 商品SKU */ + @NotBlank(message = "商品SKU不能为空") + @Length(max = 32,message = "商品SKU长度不能超过32字") + private Long skuId; + + /** 数量 */ + @NotNull(message = "数量不能为空") + private Integer quantity; + + /** 备注 */ + @Length(max = 255,message = "备注长度不能超过255字") + private String remark; + + /** 加入时价格 */ + private BigDecimal addPrice; + +} diff --git a/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsShoppingCartUpdateBo.java b/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsShoppingCartUpdateBo.java new file mode 100644 index 00000000..0c636e6b --- /dev/null +++ b/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsShoppingCartUpdateBo.java @@ -0,0 +1,27 @@ +package com.qs.serve.modules.oms.entity.bo; + +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; + +/** + * @author YenHex + * @since 2022/10/14 + */ +@Data +public class OmsShoppingCartUpdateBo { + + /** + * 购物车id + */ + @NotNull + private Long cartId; + + /** + * 数量 + */ + @Min(value = 1,message = "数量不能为空") + private Integer quantity; + +} diff --git a/src/main/java/com/qs/serve/modules/oms/entity/dto/OmsCalcAmount.java b/src/main/java/com/qs/serve/modules/oms/entity/dto/OmsCalcAmount.java new file mode 100644 index 00000000..e66324a8 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/oms/entity/dto/OmsCalcAmount.java @@ -0,0 +1,46 @@ +package com.qs.serve.modules.oms.entity.dto; + +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; + +/** + * 金额相关封装 + * @author YenHex + * @since 2022-10-14 + */ +@Getter +@Setter +public class OmsCalcAmount { + + public OmsCalcAmount(){ + totalAmount = new BigDecimal(0); + promotionAmount = new BigDecimal(0); + payAmount = new BigDecimal(0); + couponAmount = new BigDecimal(0); + //freightAmount = new BigDecimal(0); + //freightInsAmount = new BigDecimal(0); + //integralAmount = new BigDecimal(0); + } + + /** 订单商品总金额(未减折扣) */ + private BigDecimal totalAmount; + + /**总优惠券(指sku总优惠)*/ + private BigDecimal couponAmount; + + /** 总促销优化金额(指活动促销价、满减、阶梯价) */ + private BigDecimal promotionAmount; + + /** 应付金额 */ + private BigDecimal payAmount; + + //总运费 + //private BigDecimal freightAmount; + //总运费险费用 + //private BigDecimal freightInsAmount; + //总积分优惠 + //private BigDecimal integralAmount; + +} diff --git a/src/main/java/com/qs/serve/modules/oms/entity/vo/OmsConfirmOrderVo.java b/src/main/java/com/qs/serve/modules/oms/entity/vo/OmsConfirmOrderVo.java new file mode 100644 index 00000000..a1dbd5d3 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/oms/entity/vo/OmsConfirmOrderVo.java @@ -0,0 +1,28 @@ +package com.qs.serve.modules.oms.entity.vo; + +import com.qs.serve.modules.bms.entity.BmsSupplier; +import com.qs.serve.modules.bms.entity.BmsSupplierAddress; +import com.qs.serve.modules.oms.entity.OmsShoppingCart; +import com.qs.serve.modules.oms.entity.dto.OmsCalcAmount; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +/** + * @author YenHex + * @since 2022/10/14 + */ +@Data +public class OmsConfirmOrderVo { + + /** 购物车列表 */ + private List shoppingCarts; + + /** 默认地址 */ + private Object defaultAddress; + + /** 合计信息 */ + private OmsCalcAmount amountInfo; + +} diff --git a/src/main/java/com/qs/serve/modules/oms/mapper/OmsOrderItemMapper.java b/src/main/java/com/qs/serve/modules/oms/mapper/OmsOrderItemMapper.java new file mode 100644 index 00000000..97121c1d --- /dev/null +++ b/src/main/java/com/qs/serve/modules/oms/mapper/OmsOrderItemMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.oms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.oms.entity.OmsOrderItem; + +/** + * 订单明细 Mapper + * @author YenHex + * @date 2022-10-14 + */ +public interface OmsOrderItemMapper extends BaseMapper { + +} + diff --git a/src/main/java/com/qs/serve/modules/oms/mapper/OmsOrderMapper.java b/src/main/java/com/qs/serve/modules/oms/mapper/OmsOrderMapper.java new file mode 100644 index 00000000..e1e1f981 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/oms/mapper/OmsOrderMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.oms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.oms.entity.OmsOrder; + +/** + * 订单 Mapper + * @author YenHex + * @date 2022-10-14 + */ +public interface OmsOrderMapper extends BaseMapper { + +} + diff --git a/src/main/java/com/qs/serve/modules/oms/mapper/OmsShoppingCartMapper.java b/src/main/java/com/qs/serve/modules/oms/mapper/OmsShoppingCartMapper.java new file mode 100644 index 00000000..efd2d6e8 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/oms/mapper/OmsShoppingCartMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.oms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.oms.entity.OmsShoppingCart; + +/** + * 购物车 Mapper + * @author YenHex + * @date 2022-10-14 + */ +public interface OmsShoppingCartMapper extends BaseMapper { + +} + diff --git a/src/main/java/com/qs/serve/modules/oms/service/OmsOrderItemService.java b/src/main/java/com/qs/serve/modules/oms/service/OmsOrderItemService.java new file mode 100644 index 00000000..675ded42 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/oms/service/OmsOrderItemService.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.oms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.oms.entity.OmsOrderItem; + +/** + * 订单明细 服务接口 + * @author YenHex + * @date 2022-10-14 + */ +public interface OmsOrderItemService extends IService { + +} + diff --git a/src/main/java/com/qs/serve/modules/oms/service/OmsOrderService.java b/src/main/java/com/qs/serve/modules/oms/service/OmsOrderService.java new file mode 100644 index 00000000..cd070547 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/oms/service/OmsOrderService.java @@ -0,0 +1,23 @@ +package com.qs.serve.modules.oms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.oms.entity.OmsOrder; +import com.qs.serve.modules.oms.entity.bo.OmsConfirmOrderBo; +import com.qs.serve.modules.oms.entity.vo.OmsConfirmOrderVo; + +/** + * 订单 服务接口 + * @author YenHex + * @date 2022-10-14 + */ +public interface OmsOrderService extends IService { + + /** + * 创建确认订单 + * @param confirmOrder + * @return + */ + OmsConfirmOrderVo generateConfirmOrder(OmsConfirmOrderBo confirmOrder); + +} + diff --git a/src/main/java/com/qs/serve/modules/oms/service/OmsShoppingCartService.java b/src/main/java/com/qs/serve/modules/oms/service/OmsShoppingCartService.java new file mode 100644 index 00000000..d78cbb7c --- /dev/null +++ b/src/main/java/com/qs/serve/modules/oms/service/OmsShoppingCartService.java @@ -0,0 +1,18 @@ +package com.qs.serve.modules.oms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.oms.entity.OmsShoppingCart; + +import java.util.List; + +/** + * 购物车 服务接口 + * @author YenHex + * @date 2022-10-14 + */ +public interface OmsShoppingCartService extends IService { + + List listByIds(List ids,Long supplierId); + +} + diff --git a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderItemServiceImpl.java b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderItemServiceImpl.java new file mode 100644 index 00000000..ff9e502c --- /dev/null +++ b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderItemServiceImpl.java @@ -0,0 +1,22 @@ +package com.qs.serve.modules.oms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.oms.entity.OmsOrderItem; +import com.qs.serve.modules.oms.service.OmsOrderItemService; +import com.qs.serve.modules.oms.mapper.OmsOrderItemMapper; + +/** + * 订单明细 服务实现类 + * @author YenHex + * @since 2022-10-14 + */ +@Slf4j +@Service +@AllArgsConstructor +public class OmsOrderItemServiceImpl extends ServiceImpl implements OmsOrderItemService { + +} + diff --git a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java new file mode 100644 index 00000000..0724eabd --- /dev/null +++ b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java @@ -0,0 +1,39 @@ +package com.qs.serve.modules.oms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qs.serve.modules.oms.entity.OmsShoppingCart; +import com.qs.serve.modules.oms.entity.bo.OmsConfirmOrderBo; +import com.qs.serve.modules.oms.entity.vo.OmsConfirmOrderVo; +import com.qs.serve.modules.oms.service.OmsShoppingCartService; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.oms.entity.OmsOrder; +import com.qs.serve.modules.oms.service.OmsOrderService; +import com.qs.serve.modules.oms.mapper.OmsOrderMapper; + +import java.util.List; + +/** + * 订单 服务实现类 + * @author YenHex + * @since 2022-10-14 + */ +@Slf4j +@Service +@AllArgsConstructor +public class OmsOrderServiceImpl extends ServiceImpl implements OmsOrderService { + + private OmsShoppingCartService omsShoppingCartService; + + @Override + public OmsConfirmOrderVo generateConfirmOrder(OmsConfirmOrderBo confirmOrder) { + List shoppingCarts = omsShoppingCartService.listByIds(confirmOrder.getShoppingCartIds(),confirmOrder.getSupplierId()); + + //检验库存 + //计算供应商折扣 + //计算是否有活动优惠 + return null; + } +} + diff --git a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsShoppingCartServiceImpl.java b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsShoppingCartServiceImpl.java new file mode 100644 index 00000000..c3574560 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsShoppingCartServiceImpl.java @@ -0,0 +1,33 @@ +package com.qs.serve.modules.oms.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.oms.entity.OmsShoppingCart; +import com.qs.serve.modules.oms.service.OmsShoppingCartService; +import com.qs.serve.modules.oms.mapper.OmsShoppingCartMapper; + +import java.util.List; + +/** + * 购物车 服务实现类 + * @author YenHex + * @since 2022-10-14 + */ +@Slf4j +@Service +@AllArgsConstructor +public class OmsShoppingCartServiceImpl extends ServiceImpl implements OmsShoppingCartService { + + @Override + public List listByIds(List ids, Long supplierId) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.in(OmsShoppingCart::getId,ids); + lqw.eq(OmsShoppingCart::getSupplierId,supplierId); + return this.list(lqw); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/wx/api/WxSvcUserApi.java b/src/main/java/com/qs/serve/modules/wx/api/WxSvcUserApi.java index 9f295d11..4346f1bf 100644 --- a/src/main/java/com/qs/serve/modules/wx/api/WxSvcUserApi.java +++ b/src/main/java/com/qs/serve/modules/wx/api/WxSvcUserApi.java @@ -43,7 +43,7 @@ public class WxSvcUserApi { */ @GetMapping("/info") public R info(){ - WxUser wxUser = wxUserService.getCurrentWxUser(); + WxUser wxUser = wxUserService.getCurrentWxUser(false,true); return R.ok(wxUser); } diff --git a/src/main/java/com/qs/serve/modules/wx/service/WxUserService.java b/src/main/java/com/qs/serve/modules/wx/service/WxUserService.java index 8f758d8b..27d79afb 100644 --- a/src/main/java/com/qs/serve/modules/wx/service/WxUserService.java +++ b/src/main/java/com/qs/serve/modules/wx/service/WxUserService.java @@ -13,11 +13,15 @@ import java.util.List; */ public interface WxUserService extends IService { + WxUser getCurrentWxUser(); + WxUser getCurrentWxUser(boolean filterZero); /** * 获取当前微信用户 + * @param filterZero + * @param updateSub * @return */ - WxUser getCurrentWxUser(); + WxUser getCurrentWxUser(boolean filterZero,boolean updateSub); void syncSubscribe(); diff --git a/src/main/java/com/qs/serve/modules/wx/service/impl/WxUserServiceImpl.java b/src/main/java/com/qs/serve/modules/wx/service/impl/WxUserServiceImpl.java index bc468ac4..43cb437d 100644 --- a/src/main/java/com/qs/serve/modules/wx/service/impl/WxUserServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/wx/service/impl/WxUserServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qs.serve.common.framework.security.model.LoginUser; import com.qs.serve.common.framework.security.model.LoginUserType; import com.qs.serve.common.model.consts.GySysConst; +import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.enums.HttpCode; import com.qs.serve.common.util.Assert; import com.qs.serve.common.util.AuthContextUtils; @@ -87,6 +88,16 @@ public class WxUserServiceImpl extends ServiceImpl impleme @Override public WxUser getCurrentWxUser() { + return this.getCurrentWxUser(false); + } + + @Override + public WxUser getCurrentWxUser(boolean filterZero) { + return this.getCurrentWxUser(filterZero,false); + } + + @Override + public WxUser getCurrentWxUser(boolean filterZero, boolean updateSub) { LoginUser loginUser = AuthContextUtils.getLoginUser(); if(loginUser.getTypeFlag().equals(LoginUserType.APP_USER)){ WxUser wxUser = getById(loginUser.getUserId()); @@ -97,14 +108,19 @@ public class WxUserServiceImpl extends ServiceImpl impleme return wxUser; } String appId = AuthContextUtils.getAppId(); - try { - WxMpService wxMpService = wxMpConfig.wxMpService().switchoverTo(appId); - WxMpUser wxMpUser = wxMpService.getUserService().userInfo(wxUser.getOpenId(), GySysConst.LANG_ZH_CN); - wxUser.setSubscribe(wxMpUser.getSubscribe()?1:0); - wxUser.setSubscribeScene(wxMpUser.getSubscribeScene()); - wxUser.setTagidList(JsonUtil.objectToJson(wxMpUser.getTagIds())); - } catch (WxErrorException e) { - e.printStackTrace(); + if(updateSub){ + try { + WxMpService wxMpService = wxMpConfig.wxMpService().switchoverTo(appId); + WxMpUser wxMpUser = wxMpService.getUserService().userInfo(wxUser.getOpenId(), GySysConst.LANG_ZH_CN); + wxUser.setSubscribe(wxMpUser.getSubscribe()?1:0); + wxUser.setSubscribeScene(wxMpUser.getSubscribeScene()); + wxUser.setTagidList(JsonUtil.objectToJson(wxMpUser.getTagIds())); + } catch (WxErrorException e) { + e.printStackTrace(); + } + } + if(filterZero && (wxUser.getSysUserId()==null||wxUser.getSysUserId().equals("0"))){ + return null; } return wxUser; } diff --git a/src/main/resources/mapper/bms/BmsSkuSupplierMapper.xml b/src/main/resources/mapper/bms/BmsSkuSupplierMapper.xml new file mode 100644 index 00000000..93edc96e --- /dev/null +++ b/src/main/resources/mapper/bms/BmsSkuSupplierMapper.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + bms_sku_supplier.`id`, + bms_sku_supplier.`spu_id`, + bms_sku_supplier.`sku_id`, + bms_sku_supplier.`supplier_id`, + bms_sku_supplier.`ban_status`, + bms_sku_supplier.`create_time`, + bms_sku_supplier.`create_by`, + bms_sku_supplier.`update_time`, + bms_sku_supplier.`update_by`, + bms_sku_supplier.`tenant_id`, + bms_sku_supplier.`del_flag` + + + +