版本管理、优化订单模块

This commit is contained in:
fxh 2025-07-04 14:53:25 +08:00
parent 96b611f014
commit 19581d153a
73 changed files with 684 additions and 564 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 444 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 419 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 424 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 435 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 410 B

View File

@ -23,8 +23,8 @@ import java.util.Map;
@RestController @RestController
public class IndexController { public class IndexController {
@Autowired
private IndexService indexService; private final IndexService indexService;
/** /**
* 访问首页提示语 * 访问首页提示语

View File

@ -9,17 +9,20 @@ import com.wzj.soopin.member.service.IMemberAccountService;
import com.wzj.soopin.order.mapper.OrderMapper; import com.wzj.soopin.order.mapper.OrderMapper;
import com.wzj.soopin.transaction.domain.po.Withdraw; import com.wzj.soopin.transaction.domain.po.Withdraw;
import com.wzj.soopin.transaction.service.IWithdrawService; import com.wzj.soopin.transaction.service.IWithdrawService;
import lombok.RequiredArgsConstructor;
import org.dromara.system.mapper.SysIntegralHistoryMapper; import org.dromara.system.mapper.SysIntegralHistoryMapper;
import org.dromara.system.mapper.SysTenantMapper; import org.dromara.system.mapper.SysTenantMapper;
import org.dromara.system.mapper.SystemStatisticsMapper; import org.dromara.system.mapper.SystemStatisticsMapper;
import org.dromara.web.service.IndexService; import org.dromara.web.service.IndexService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
/**
* @author fxh
*/
@Service @Service
@RequiredArgsConstructor
public class IndexServiceImpl implements IndexService { public class IndexServiceImpl implements IndexService {
@ -33,71 +36,68 @@ public class IndexServiceImpl implements IndexService {
private final ProductMapper productMapper; private final ProductMapper productMapper;
private final OrderMapper orderMapper; private final OrderMapper orderMapper;
public IndexServiceImpl(SysTenantMapper sysTenantMapper, VlogMapper vlogMapper, IMemberAccountService memberService, IFeedbackService feedbackService, IWithdrawService withdrawService, SystemStatisticsMapper systemStatisticsMapper, SysIntegralHistoryMapper sysIntegralHistoryMapper, ProductMapper productMapper, OrderMapper orderMapper) {
this.sysTenantMapper = sysTenantMapper;
this.vlogMapper = vlogMapper;
this.memberService = memberService;
this.feedbackService = feedbackService;
this.withdrawService = withdrawService;
this.systemStatisticsMapper = systemStatisticsMapper;
this.sysIntegralHistoryMapper = sysIntegralHistoryMapper;
this.productMapper = productMapper;
this.orderMapper = orderMapper;
}
@Override @Override
public Map<String, Object> getCount() { public Map<String, Object> getCount() {
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>(16);
//用户数量
result.put("memberCount", memberService.count());
//待审核视频
result.put("vlogCount", vlogMapper.countVlog());
// 待审核举报统计 //用户视频举报提现
QueryWrapper<Feedback> FeedbackWrapper = new QueryWrapper<>(); addBasicStatistics(result);
FeedbackWrapper.eq("status", 0);
result.put("feedbackCount", feedbackService.count(FeedbackWrapper));
// 待审核提现统计
QueryWrapper<Withdraw> withdrawQueryWrapper = new QueryWrapper<>();
withdrawQueryWrapper.eq("audit_status", 0);
result.put("WithdrawCount", withdrawService.count(withdrawQueryWrapper));
// 商品统计待审核商品统计 //商品店铺订单
Map<String, Object> productCounts = productMapper.countProduct(); addCompositeStatistics(result);
result.put("productCount", productCounts.get("count1"));
result.put("productAudit", productCounts.get("count2"));
// 店铺统计待审核店铺统计 // Top20排行榜
Map<String, Object> StoreCounts = sysTenantMapper.countProduct(); addTop20Statistics(result);
result.put("storeCount", StoreCounts.get("count1"));
result.put("StoreAudit", StoreCounts.get("count2"));
// 订单统计待审核退款统计 // 月度趋势统计
Map<String, Object> OrderCounts = orderMapper.countOrder(); addMonthlyTrendStatistics(result);
result.put("orderCount", OrderCounts.get("count1"));
result.put("orderAudit", OrderCounts.get("count2"));
// 店铺TOP20
List<Map<String, Object>> top20Stores = sysTenantMapper.getTop20Stores();
result.put("top20Stores", top20Stores);
// 商品TOP20
List<Map<String, Object>> top20Product = productMapper.getTop20Product();
result.put("top20Product", top20Product);
// 分月用户量统计
List<Map<String, Object>> monthlyUserVolume = systemStatisticsMapper.getMonthlyUserVolume();
result.put("monthlyUserVolume", monthlyUserVolume);
// 分月短视频统计
List<Map<String, Object>> monthlyVlog = vlogMapper.getMonthlyVlog();
result.put("monthlyVlog", monthlyVlog);
// 分月收入支出统计
List<Map<String, Object>> monthlyIncomeExpense = sysIntegralHistoryMapper.getIncomeExpense();
result.put("monthlyIncomeExpense", monthlyIncomeExpense);
return result; return result;
} }
private void addBasicStatistics(Map<String, Object> result) {
result.put("memberCount", memberService.count());
result.put("vlogCount", vlogMapper.countVlog());
// 待审核举报
result.put("feedbackCount", feedbackService.count(
new QueryWrapper<Feedback>().eq("status", 0)
));
// 待审核提现
result.put("WithdrawCount", withdrawService.count(
new QueryWrapper<Withdraw>().eq("audit_status", 0)
));
}
private void addCompositeStatistics(Map<String, Object> result) {
// 商品统计
Map<String, Object> productCounts = productMapper.countProduct();
result.put("productCount", productCounts.get("count2"));
result.put("productAudit", productCounts.get("count1"));
// 店铺统计
Map<String, Object> storeCounts = sysTenantMapper.countProduct();
result.put("storeCount", storeCounts.get("count1"));
result.put("StoreAudit", storeCounts.get("count2"));
// 订单统计
Map<String, Object> orderCounts = orderMapper.countOrder();
result.put("orderCount", orderCounts.get("count1"));
result.put("orderAudit", orderCounts.get("count2"));
}
/** Top20排行榜 */
private void addTop20Statistics(Map<String, Object> result) {
result.put("top20Stores", sysTenantMapper.getTop20Stores());
result.put("top20Product", productMapper.getTop20Product());
}
/** 月度趋势统计 */
private void addMonthlyTrendStatistics(Map<String, Object> result) {
result.put("monthlyUserVolume", systemStatisticsMapper.getMonthlyUserVolume());
result.put("monthlyVlog", vlogMapper.getMonthlyVlog());
result.put("monthlyIncomeExpense", sysIntegralHistoryMapper.getIncomeExpense());
}
} }

View File

@ -52,9 +52,9 @@ spring:
driverClassName: com.mysql.cj.jdbc.Driver driverClassName: com.mysql.cj.jdbc.Driver
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562 # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题) # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true url: jdbc:mysql://82.156.121.2:23306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
username: root username: wzj
password: root password: A085F27A43B0
# # 从库数据源 # # 从库数据源
# slave: # slave:
# lazy: true # lazy: true

View File

@ -176,6 +176,11 @@ tenant:
- trans_divide_detail - trans_divide_detail
- trans_divide_rule - trans_divide_rule
- trans_divide_rule_detail - trans_divide_rule_detail
- aws_system_statistics
- act_integral_history
- sys_version
# MyBatisPlus配置 # MyBatisPlus配置
# https://baomidou.com/config/ # https://baomidou.com/config/

View File

@ -1,24 +1,19 @@
package com.wzj.soopin.goods.controller; package com.wzj.soopin.goods.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.goods.convert.BrandConvert; import com.wzj.soopin.goods.convert.BrandConvert;
import com.wzj.soopin.goods.domain.bo.BrandBo; import com.wzj.soopin.goods.domain.bo.BrandBo;
import com.wzj.soopin.goods.domain.entity.Brand; import com.wzj.soopin.goods.domain.entity.Brand;
import com.wzj.soopin.goods.domain.query.BrandQuery;
import com.wzj.soopin.goods.domain.vo.BrandVO; import com.wzj.soopin.goods.domain.vo.BrandVO;
import com.wzj.soopin.goods.service.impl.BrandServiceImpl; import com.wzj.soopin.goods.service.impl.BrandServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.excel.utils.ExcelUtil; import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.log.annotation.Log; import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType; import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
@ -31,11 +26,11 @@ import java.util.List;
@Tag(name ="品牌管理接口列表") @Tag(name ="品牌管理接口列表")
@RestController @RestController
@RequestMapping("/pms/brand") @RequestMapping("/pms/brand")
@RequiredArgsConstructor
public class BrandController extends BaseController { public class BrandController extends BaseController {
@Autowired
private BrandServiceImpl service; private final BrandServiceImpl service;
@Autowired private final BrandConvert convert;
private BrandConvert convert;
@Tag(name ="所有品牌管理列表") @Tag(name ="所有品牌管理列表")
@ -47,13 +42,14 @@ public class BrandController extends BaseController {
@Tag(name ="导出品牌管理列表") @Tag(name ="导出品牌管理列表")
@Log(title = "品牌管理", businessType = BusinessType.EXPORT) @Log(title = "品牌管理", businessType = BusinessType.EXPORT)
@GetMapping("export") @PostMapping("export")
public ResponseEntity<String> export(BrandBo query) { public R<String> export(BrandBo query) {
List<Brand> list = service.list(query.toWrapper()); List<Brand> list = service.list(query.toWrapper());
ExcelUtil<BrandVO> util = new ExcelUtil<>(BrandVO.class); ExcelUtil<BrandVO> util = new ExcelUtil<>(BrandVO.class);
return ResponseEntity.ok(util.writeExcel(convert.toVO(list), "品牌管理数据")); return R.ok(util.writeExcel(convert.toVO(list), "品牌管理数据"));
} }
@Tag(name ="获取品牌管理详细信息") @Tag(name ="获取品牌管理详细信息")
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") Long id) { public R getInfo(@PathVariable("id") Long id) {

View File

@ -2,26 +2,18 @@ package com.wzj.soopin.goods.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.goods.convert.ProductCategoryConvert; import com.wzj.soopin.goods.convert.ProductCategoryConvert;
import com.wzj.soopin.goods.domain.bo.BrandBo;
import com.wzj.soopin.goods.domain.bo.ProductCategoryBo; import com.wzj.soopin.goods.domain.bo.ProductCategoryBo;
import com.wzj.soopin.goods.domain.entity.Brand;
import com.wzj.soopin.goods.domain.entity.ProductCategory; import com.wzj.soopin.goods.domain.entity.ProductCategory;
import com.wzj.soopin.goods.domain.query.ProductCategoryQuery;
import com.wzj.soopin.goods.domain.vo.BrandVO;
import com.wzj.soopin.goods.domain.vo.ProductCategoryVO; import com.wzj.soopin.goods.domain.vo.ProductCategoryVO;
import com.wzj.soopin.goods.service.impl.ProductCategoryServiceImpl; import com.wzj.soopin.goods.service.impl.ProductCategoryServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.log.annotation.Log; import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType; import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
/** /**
* 商品分类Controller * 商品分类Controller
@ -32,11 +24,11 @@ import java.util.List;
@Tag(name ="商品分类接口列表") @Tag(name ="商品分类接口列表")
@RestController @RestController
@RequestMapping("/pms/productCategory") @RequestMapping("/pms/productCategory")
@RequiredArgsConstructor
public class ProductCategoryController extends BaseController { public class ProductCategoryController extends BaseController {
@Autowired
private ProductCategoryServiceImpl service; private final ProductCategoryServiceImpl service;
@Autowired private final ProductCategoryConvert convert;
private ProductCategoryConvert convert;
@Tag(name ="查询商品分类列表") @Tag(name ="查询商品分类列表")
@PostMapping("list") @PostMapping("list")

View File

@ -4,28 +4,18 @@ package com.wzj.soopin.goods.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.goods.convert.ProductConvert; import com.wzj.soopin.goods.convert.ProductConvert;
import com.wzj.soopin.goods.domain.bo.BrandBo;
import com.wzj.soopin.goods.domain.bo.ProductBo; import com.wzj.soopin.goods.domain.bo.ProductBo;
import com.wzj.soopin.goods.domain.bo.ProductCategoryBo;
import com.wzj.soopin.goods.domain.entity.Brand;
import com.wzj.soopin.goods.domain.entity.Product; import com.wzj.soopin.goods.domain.entity.Product;
import com.wzj.soopin.goods.domain.entity.ProductCategory;
import com.wzj.soopin.goods.domain.query.ProductQuery;
import com.wzj.soopin.goods.domain.vo.BrandVO;
import com.wzj.soopin.goods.domain.vo.ProductCategoryVO;
import com.wzj.soopin.goods.domain.vo.ProductVO; import com.wzj.soopin.goods.domain.vo.ProductVO;
import com.wzj.soopin.goods.service.ProductService; import com.wzj.soopin.goods.service.ProductService;
import com.wzj.soopin.goods.service.impl.ProductServiceImpl; import com.wzj.soopin.goods.service.impl.ProductServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.excel.utils.ExcelUtil; import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.log.annotation.Log; import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType; import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
@ -37,14 +27,13 @@ import java.util.List;
*/ */
@Tag(name ="商品信息接口列表") @Tag(name ="商品信息接口列表")
@RestController @RestController
@RequestMapping("/pms/product") @RequestMapping("/pms/product")
@RequiredArgsConstructor
public class ProductController extends BaseController { public class ProductController extends BaseController {
@Autowired
private ProductServiceImpl service; private final ProductServiceImpl service;
@Autowired private final ProductConvert convert;
private ProductConvert convert; private final ProductService productService;
@Autowired
private ProductService productService;
@Tag(name ="查询商品信息列表") @Tag(name ="查询商品信息列表")
@PostMapping("list") @PostMapping("list")
@ -55,14 +44,13 @@ public class ProductController extends BaseController {
@Tag(name ="导出商品信息列表") @Tag(name ="导出商品信息列表")
@Log(title = "商品信息", businessType = BusinessType.EXPORT) @Log(title = "商品信息", businessType = BusinessType.EXPORT)
@GetMapping("export") @PostMapping("export")
public ResponseEntity<String> export(ProductBo query) { public R<String> export(ProductBo query) {
List<Product> list = service.list(query.toWrapper()); List<Product> list = service.list(query.toWrapper());
ExcelUtil<ProductVO> util = new ExcelUtil<>(ProductVO.class); ExcelUtil<ProductVO> util = new ExcelUtil<>(ProductVO.class);
return ResponseEntity.ok(util.writeExcel(convert.toVO(list), "商品信息数据")); return R.ok(util.writeExcel(convert.toVO(list), "商品信息数据"));
} }
@Tag(name ="获取商品信息详细信息") @Tag(name ="获取商品信息详细信息")
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") Long id) { public R getInfo(@PathVariable("id") Long id) {
@ -95,14 +83,17 @@ public class ProductController extends BaseController {
@Tag(name ="审核商品") @Tag(name ="审核商品")
@Log(title = "审核商品", businessType = BusinessType.UPDATE) @Log(title = "审核商品", businessType = BusinessType.UPDATE)
@GetMapping("/audit") @GetMapping("/audit")
public R audit( @RequestParam Long id, @RequestParam Integer authFlag,@RequestParam(required = false) String reasons) { public R audit( @RequestParam Long id,
@RequestParam Integer authFlag,
@RequestParam(required = false) String reasons) {
return R.ok(service.audit(id,authFlag,reasons)); return R.ok(service.audit(id,authFlag,reasons));
} }
@Tag(name ="上下架商品") @Tag(name ="上下架商品")
@Log(title = "上下架商品", businessType = BusinessType.UPDATE) @Log(title = "上下架商品", businessType = BusinessType.UPDATE)
@GetMapping("/publish") @GetMapping("/publish")
public R publish( @RequestParam Long id, @RequestParam Integer publishStatus) { public R publish( @RequestParam Long id,
@RequestParam Integer publishStatus) {
return R.ok(service.publish(id,publishStatus)); return R.ok(service.publish(id,publishStatus));
} }

View File

@ -3,24 +3,17 @@ package com.wzj.soopin.goods.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.goods.convert.SkuConvert; import com.wzj.soopin.goods.convert.SkuConvert;
import com.wzj.soopin.goods.domain.bo.ProductBo;
import com.wzj.soopin.goods.domain.bo.SkuBo; import com.wzj.soopin.goods.domain.bo.SkuBo;
import com.wzj.soopin.goods.domain.entity.Product;
import com.wzj.soopin.goods.domain.entity.Sku; import com.wzj.soopin.goods.domain.entity.Sku;
import com.wzj.soopin.goods.domain.query.SkuQuery;
import com.wzj.soopin.goods.domain.vo.ProductVO;
import com.wzj.soopin.goods.domain.vo.SkuVO; import com.wzj.soopin.goods.domain.vo.SkuVO;
import com.wzj.soopin.goods.service.impl.SkuServiceImpl; import com.wzj.soopin.goods.service.impl.SkuServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.excel.utils.ExcelUtil; import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.log.annotation.Log; import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType; import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
@ -28,16 +21,16 @@ import java.util.List;
* sku信息Controller * sku信息Controller
* *
* @author zcc * @author zcc
* @date 2022-11-28 * &#064;date 2022-11-28
*/ */
@Tag(name ="sku信息接口列表") @Tag(name ="sku信息接口列表")
@RestController @RestController
@RequestMapping("/pms/sku") @RequestMapping("/pms/sku")
@RequiredArgsConstructor
public class SkuController extends BaseController { public class SkuController extends BaseController {
@Autowired
private SkuServiceImpl service; private final SkuServiceImpl service;
@Autowired private final SkuConvert convert;
private SkuConvert convert;
@Tag(name ="查询商品信息列表") @Tag(name ="查询商品信息列表")
@PostMapping("list") @PostMapping("list")
@ -45,14 +38,13 @@ public class SkuController extends BaseController {
return R.ok(service.getList(query,page)); return R.ok(service.getList(query,page));
} }
@Tag(name ="导出sku信息列表") @Tag(name ="导出sku信息列表")
@Log(title = "sku信息", businessType = BusinessType.EXPORT) @Log(title = "sku信息", businessType = BusinessType.EXPORT)
@GetMapping("export") @PostMapping("export")
public ResponseEntity<String> export(SkuBo query) { public R<String> export(SkuBo query) {
List<Sku> list = service.list(query.toWrapper()); List<Sku> list = service.list(query.toWrapper());
ExcelUtil<SkuVO> util = new ExcelUtil<>(SkuVO.class); ExcelUtil<SkuVO> util = new ExcelUtil<>(SkuVO.class);
return ResponseEntity.ok(util.writeExcel(convert.toVO(list), "sku信息数据")); return R.ok(util.writeExcel(convert.toVO(list), "sku信息数据"));
} }
@Tag(name ="获取sku信息详细信息") @Tag(name ="获取sku信息详细信息")

View File

@ -6,7 +6,6 @@ import com.wzj.soopin.goods.domain.vo.BrandVO;
import org.dromara.common.web.core.BaseConverter; import org.dromara.common.web.core.BaseConverter;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import java.util.List;
/** /**
* 品牌管理 DO <=> DTO <=> VO / BO / Query * 品牌管理 DO <=> DTO <=> VO / BO / Query
* *
@ -15,5 +14,4 @@ import java.util.List;
@Mapper(componentModel = "spring") @Mapper(componentModel = "spring")
public interface BrandConvert extends BaseConverter<BrandVO, BrandBo,Brand> { public interface BrandConvert extends BaseConverter<BrandVO, BrandBo,Brand> {
// List<BrandVO> dos2vos(List<Brand> list);
} }

View File

@ -1,7 +1,6 @@
package com.wzj.soopin.goods.convert; package com.wzj.soopin.goods.convert;
import com.wzj.soopin.goods.domain.bo.ProductCategoryBo; import com.wzj.soopin.goods.domain.bo.ProductCategoryBo;
import com.wzj.soopin.goods.domain.dto.CategoryDTO;
import com.wzj.soopin.goods.domain.entity.ProductCategory; import com.wzj.soopin.goods.domain.entity.ProductCategory;
import com.wzj.soopin.goods.domain.vo.ProductCategoryVO; import com.wzj.soopin.goods.domain.vo.ProductCategoryVO;
import org.dromara.common.web.core.BaseConverter; import org.dromara.common.web.core.BaseConverter;
@ -16,7 +15,4 @@ import java.util.List;
@Mapper(componentModel = "spring") @Mapper(componentModel = "spring")
public interface ProductCategoryConvert extends BaseConverter<ProductCategoryVO, ProductCategoryBo, ProductCategory> { public interface ProductCategoryConvert extends BaseConverter<ProductCategoryVO, ProductCategoryBo, ProductCategory> {
// List<ProductCategoryVO> dos2vos(List<ProductCategory> list);
//
// CategoryDTO do2dto(ProductCategory it);
} }

View File

@ -3,13 +3,10 @@ package com.wzj.soopin.goods.convert;
import com.wzj.soopin.goods.domain.bo.ProductBo; import com.wzj.soopin.goods.domain.bo.ProductBo;
import com.wzj.soopin.goods.domain.entity.Product; import com.wzj.soopin.goods.domain.entity.Product;
import com.wzj.soopin.goods.domain.vo.H5ProductVO;
import com.wzj.soopin.goods.domain.vo.ProductVO; import com.wzj.soopin.goods.domain.vo.ProductVO;
import org.apache.poi.ss.formula.functions.T;
import org.dromara.common.web.core.BaseConverter; import org.dromara.common.web.core.BaseConverter;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import java.util.List;
/** /**
* 商品信息 DO <=> DTO <=> VO / BO / Query * 商品信息 DO <=> DTO <=> VO / BO / Query
* *
@ -18,9 +15,4 @@ import java.util.List;
@Mapper(componentModel = "spring") @Mapper(componentModel = "spring")
public interface ProductConvert extends BaseConverter<ProductVO, ProductBo, Product> { public interface ProductConvert extends BaseConverter<ProductVO, ProductBo, Product> {
// List<ProductVO> dos2vos(List<Product> list);
// Product vo2do(ProductVO productVO);
// ProductVO do2vo(Product product);
//
// List<H5ProductVO> dos2dtos(List<Product> products);
} }

View File

@ -6,7 +6,6 @@ import com.wzj.soopin.goods.domain.vo.SkuVO;
import org.dromara.common.web.core.BaseConverter; import org.dromara.common.web.core.BaseConverter;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import java.util.List;
/** /**
* sku信息 DO <=> DTO <=> VO / BO / Query * sku信息 DO <=> DTO <=> VO / BO / Query
* *
@ -15,5 +14,4 @@ import java.util.List;
@Mapper(componentModel = "spring") @Mapper(componentModel = "spring")
public interface SkuConvert extends BaseConverter<SkuVO, SkuBo, Sku> { public interface SkuConvert extends BaseConverter<SkuVO, SkuBo, Sku> {
// List<SkuVO> dos2vos(List<Sku> list);
} }

View File

@ -2,7 +2,6 @@ package com.wzj.soopin.goods.domain.bo;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.wzj.soopin.goods.domain.entity.Product; import com.wzj.soopin.goods.domain.entity.Product;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
@ -71,7 +70,6 @@ public class ProductBo {
@Schema(description = "搜索关键字") @Schema(description = "搜索关键字")
private String search; private String search;
// 排查的id
@Schema(description = "排除的商品ID列表") @Schema(description = "排除的商品ID列表")
private List<Long> excludeProductIds; private List<Long> excludeProductIds;

View File

@ -6,9 +6,9 @@ import com.wzj.soopin.goods.domain.entity.ProductCategory;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; /**
import java.util.List; * @author fxh
*/
@Data @Data
@Schema(description = "商品分类 查询 对象") @Schema(description = "商品分类 查询 对象")
public class ProductCategoryBo { public class ProductCategoryBo {

View File

@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wzj.soopin.goods.domain.entity.Sku; import com.wzj.soopin.goods.domain.entity.Sku;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import org.dromara.common.excel.annotation.Excel;
import java.math.BigDecimal; import java.math.BigDecimal;

View File

@ -92,7 +92,7 @@ public class Product extends BaseAudit {
@Schema(description = "店铺id") @Schema(description = "店铺id")
@Excel(name = "店铺id") @Excel(name = "店铺id")
private String tenantId; private Long tenantId;
@Schema(description = "审核状态 1.待审核;->2.审核通过;3->审核驳回") @Schema(description = "审核状态 1.待审核;->2.审核通过;3->审核驳回")
@Excel(name = "审核状态 1.待审核;->2.审核通过;3->审核驳回") @Excel(name = "审核状态 1.待审核;->2.审核通过;3->审核驳回")

View File

@ -3,6 +3,7 @@ package com.wzj.soopin.goods.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.domain.model.BaseAudit; import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.excel.annotation.Excel; import org.dromara.common.excel.annotation.Excel;
@ -13,6 +14,7 @@ import java.math.BigDecimal;
* *
* @author zcc * @author zcc
*/ */
@EqualsAndHashCode(callSuper = true)
@Schema(description = "SKU信息对象") @Schema(description = "SKU信息对象")
@Data @Data
@TableName("pms_sku") @TableName("pms_sku")

View File

@ -113,7 +113,7 @@ public class ProductVO extends BaseAudit {
private String contactPhone; private String contactPhone;
@Schema(description = "店铺id") @Schema(description = "店铺id")
private String tenantId; private Long tenantId;
@Schema(description = "审核状态 1.待审核、2.审核通过、3.审核驳回") @Schema(description = "审核状态 1.待审核、2.审核通过、3.审核驳回")
private String authFlag; private String authFlag;

View File

@ -32,12 +32,6 @@ public interface ProductMapper extends BaseMapper<Product> {
@Select("SELECT " +
"SUM(CASE WHEN auth_flag = 1 THEN 1 ELSE 0 END) AS count1, " +
"SUM(CASE WHEN auth_flag = 2 THEN 1 ELSE 0 END) AS count2 " +
"FROM pms_product")
Map<String, Object> countProduct();
@Select("SELECT " + @Select("SELECT " +
"name, " + "name, " +
"sales, " + "sales, " +
@ -50,4 +44,10 @@ public interface ProductMapper extends BaseMapper<Product> {
ProductVO selectProductWithSkus(@Param("id") Long id); ProductVO selectProductWithSkus(@Param("id") Long id);
@Select("SELECT " +
"SUM(CASE WHEN auth_flag = 1 THEN 1 ELSE 0 END) AS count1, " +
"SUM(CASE WHEN auth_flag = 2 THEN 1 ELSE 0 END) AS count2 " +
"FROM pms_product")
Map<String, Object> countProduct();
} }

View File

@ -8,5 +8,7 @@ import com.wzj.soopin.goods.domain.entity.Product;
import com.wzj.soopin.goods.domain.vo.ProductVO; import com.wzj.soopin.goods.domain.vo.ProductVO;
public interface ProductService extends IService<Product> { public interface ProductService extends IService<Product> {
IPage<ProductVO> getList(ProductBo query, Page<Product> page); IPage<ProductVO> getList(ProductBo query, Page<Product> page);
} }

View File

@ -1,20 +1,12 @@
package com.wzj.soopin.goods.service.impl; package com.wzj.soopin.goods.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wzj.soopin.goods.domain.entity.Brand; import com.wzj.soopin.goods.domain.entity.Brand;
import com.wzj.soopin.goods.domain.query.BrandQuery;
import com.wzj.soopin.goods.mapper.BrandMapper; import com.wzj.soopin.goods.mapper.BrandMapper;
import com.wzj.soopin.goods.service.BrandService; import com.wzj.soopin.goods.service.BrandService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
/** /**
* 品牌管理Service业务层处理 * 品牌管理Service业务层处理
* *

View File

@ -1,33 +1,11 @@
package com.wzj.soopin.goods.service.impl; package com.wzj.soopin.goods.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wzj.soopin.goods.convert.ProductCategoryConvert;
import com.wzj.soopin.goods.convert.ProductConvert;
import com.wzj.soopin.goods.domain.dto.CategoryDTO;
import com.wzj.soopin.goods.domain.entity.Product;
import com.wzj.soopin.goods.domain.entity.ProductCategory; import com.wzj.soopin.goods.domain.entity.ProductCategory;
import com.wzj.soopin.goods.domain.query.ProductCategoryQuery;
import com.wzj.soopin.goods.domain.vo.ProductCategoryVO;
import com.wzj.soopin.goods.mapper.ProductCategoryMapper; import com.wzj.soopin.goods.mapper.ProductCategoryMapper;
import com.wzj.soopin.goods.mapper.ProductMapper;
import com.wzj.soopin.goods.service.ProductCategoryService; import com.wzj.soopin.goods.service.ProductCategoryService;
import com.wzj.soopin.goods.service.ProductService;
import org.apache.commons.lang3.StringUtils;
import org.dromara.common.core.exception.base.BaseException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
/** /**
* 商品分类Service业务层处理 * 商品分类Service业务层处理

View File

@ -1,35 +1,15 @@
package com.wzj.soopin.goods.service.impl; package com.wzj.soopin.goods.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wzj.soopin.goods.convert.ProductConvert;
import com.wzj.soopin.goods.domain.bo.ProductBo; import com.wzj.soopin.goods.domain.bo.ProductBo;
import com.wzj.soopin.goods.domain.entity.Product; import com.wzj.soopin.goods.domain.entity.Product;
import com.wzj.soopin.goods.domain.entity.Sku;
import com.wzj.soopin.goods.domain.query.ProductQuery;
import com.wzj.soopin.goods.domain.vo.ProductDetailVO;
import com.wzj.soopin.goods.domain.vo.ProductVO; import com.wzj.soopin.goods.domain.vo.ProductVO;
import com.wzj.soopin.goods.mapper.BrandMapper;
import com.wzj.soopin.goods.mapper.ProductMapper; import com.wzj.soopin.goods.mapper.ProductMapper;
import com.wzj.soopin.goods.mapper.SkuMapper;
import com.wzj.soopin.goods.service.ProductService; import com.wzj.soopin.goods.service.ProductService;
import lombok.extern.slf4j.Slf4j; import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/** /**
* 商品信息Service业务层处理 * 商品信息Service业务层处理
@ -38,19 +18,21 @@ import java.util.stream.Collectors;
* @author zcc * @author zcc
*/ */
@Service @Service
@Slf4j @RequiredArgsConstructor
public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> implements ProductService { public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> implements ProductService {
@Autowired
private ProductMapper productMapper;
private final ProductMapper productMapper;
@Override @Override
public IPage<ProductVO> getList(ProductBo query, Page<Product> page) { public IPage<ProductVO> getList(ProductBo query, Page<Product> page) {
IPage<ProductVO> resultPage = productMapper.getlist(page,query); return productMapper.getlist(page,query);
return resultPage;
} }
public Product audit(Long id, Integer authFlag,String reasons) { public Product audit(Long id, Integer authFlag,String reasons) {
Product productToUpdate = new Product(); Product productToUpdate = productMapper.selectById(id);
productToUpdate.setId(id); if (productToUpdate == null) {
throw new RuntimeException("商品不存在");
}
productToUpdate.setAuthFlag(authFlag); productToUpdate.setAuthFlag(authFlag);
productToUpdate.setReasons(reasons); productToUpdate.setReasons(reasons);
productMapper.updateById(productToUpdate); productMapper.updateById(productToUpdate);
@ -58,8 +40,10 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
} }
public Product publish(Long id, Integer publishStatus) { public Product publish(Long id, Integer publishStatus) {
Product product = new Product(); Product product = productMapper.selectById(id);
product.setId(id); if (product == null) {
throw new RuntimeException("商品不存在");
}
product.setPublishStatus(publishStatus); product.setPublishStatus(publishStatus);
productMapper.updateById(product); productMapper.updateById(product);
return product; return product;

View File

@ -1,6 +1,5 @@
package com.wzj.soopin.goods.service.impl; package com.wzj.soopin.goods.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -9,12 +8,9 @@ import com.wzj.soopin.goods.domain.entity.Sku;
import com.wzj.soopin.goods.domain.vo.SkuVO; import com.wzj.soopin.goods.domain.vo.SkuVO;
import com.wzj.soopin.goods.mapper.SkuMapper; import com.wzj.soopin.goods.mapper.SkuMapper;
import com.wzj.soopin.goods.service.SkuService; import com.wzj.soopin.goods.service.SkuService;
import org.springframework.beans.factory.annotation.Autowired; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/** /**
* sku信息Service业务层处理 * sku信息Service业务层处理
@ -23,12 +19,13 @@ import java.util.List;
* @author zcc * @author zcc
*/ */
@Service @Service
@RequiredArgsConstructor
public class SkuServiceImpl extends ServiceImpl<SkuMapper, Sku> implements SkuService { public class SkuServiceImpl extends ServiceImpl<SkuMapper, Sku> implements SkuService {
@Autowired private SkuMapper skuMapper;
private final SkuMapper skuMapper;
public IPage<SkuVO> getList(SkuBo query, Page<Sku> page) { public IPage<SkuVO> getList(SkuBo query, Page<Sku> page) {
IPage<SkuVO> resultPage = skuMapper.getlist(page,query); return skuMapper.getlist(page,query);
return resultPage;
} }
public SkuVO selectSkuByid(Long id) { public SkuVO selectSkuByid(Long id) {

View File

@ -56,7 +56,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where> </where>
</select> </select>
<select id="getlist" resultType="ProductVO"> <select id="getlist" resultType="com.wzj.soopin.goods.domain.vo.ProductVO">
SELECT SELECT
p.*, p.*,
b.name AS brandName, b.name AS brandName,

View File

@ -2,6 +2,7 @@
<!DOCTYPE mapper <!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--suppress MybatisPlusMapperXmlInspection -->
<mapper namespace="com.wzj.soopin.goods.mapper.SkuMapper"> <mapper namespace="com.wzj.soopin.goods.mapper.SkuMapper">
<resultMap type="Sku" id="SkuResult"> <resultMap type="Sku" id="SkuResult">

View File

@ -162,6 +162,10 @@
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>
<artifactId>ruoyi-content</artifactId> <artifactId>ruoyi-content</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-im</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@ -10,6 +10,7 @@ import com.wzj.soopin.order.domain.form.DealWithAftersaleForm;
import com.wzj.soopin.order.domain.vo.*; import com.wzj.soopin.order.domain.vo.*;
import com.wzj.soopin.order.service.impl.AftersaleServiceImpl; import com.wzj.soopin.order.service.impl.AftersaleServiceImpl;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.core.domain.model.LoginUser; import org.dromara.common.core.domain.model.LoginUser;
@ -19,7 +20,6 @@ import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType; import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.redis.redis.RedisService; import org.dromara.common.redis.redis.RedisService;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -35,18 +35,13 @@ import java.util.List;
@RestController @RestController
@RequestMapping("/oms/aftersale") @RequestMapping("/oms/aftersale")
@Slf4j @Slf4j
@RequiredArgsConstructor
public class AftersaleController extends BaseController { public class AftersaleController extends BaseController {
private final AftersaleServiceImpl service; private final AftersaleServiceImpl service;
private final AftersaleConvert convert; private final AftersaleConvert convert;
private final RedisService redisService; private final RedisService redisService;
public AftersaleController(AftersaleServiceImpl service, AftersaleConvert convert, RedisService redisService) {
this.service = service;
this.convert = convert;
this.redisService = redisService;
}
@Tag(name ="查询订单售后列表") @Tag(name ="查询订单售后列表")
@PostMapping("/list") @PostMapping("/list")
@ -57,11 +52,11 @@ public class AftersaleController extends BaseController {
@Tag(name ="导出订单售后列表") @Tag(name ="导出订单售后列表")
@Log(title = "订单售后", businessType = BusinessType.EXPORT) @Log(title = "订单售后", businessType = BusinessType.EXPORT)
@GetMapping("export") @PostMapping("export")
public ResponseEntity<String> export(AftersaleBo query) { public R<String> export(AftersaleBo query) {
List<Aftersale> list = service.list(query.toWrapper()); List<Aftersale> list = service.list(query.toWrapper());
ExcelUtil<AftersaleVO> util = new ExcelUtil<>(AftersaleVO.class); ExcelUtil<AftersaleVO> util = new ExcelUtil<>(AftersaleVO.class);
return ResponseEntity.ok(util.writeExcel(convert.toVO(list), "订单售后数据")); return R.ok(util.writeExcel(convert.toVO(list), "订单售后数据"));
} }
@Tag(name ="获取订单售后详细信息") @Tag(name ="获取订单售后详细信息")

View File

@ -1,33 +1,20 @@
package com.wzj.soopin.order.controller; package com.wzj.soopin.order.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.member.domain.bo.MemberAccountBO;
import com.wzj.soopin.member.domain.po.Member;
import com.wzj.soopin.member.domain.po.MemberAccount;
import com.wzj.soopin.member.domain.vo.MemberAccountVO;
import com.wzj.soopin.order.convert.AftersaleItemConvert; import com.wzj.soopin.order.convert.AftersaleItemConvert;
import com.wzj.soopin.order.domain.bo.AftersaleBo;
import com.wzj.soopin.order.domain.bo.AftersaleItemBo; import com.wzj.soopin.order.domain.bo.AftersaleItemBo;
import com.wzj.soopin.order.domain.entity.Aftersale;
import com.wzj.soopin.order.domain.entity.AftersaleItem; import com.wzj.soopin.order.domain.entity.AftersaleItem;
import com.wzj.soopin.order.domain.form.ManagerAftersaleOrderForm;
import com.wzj.soopin.order.domain.query.AftersaleItemQuery;
import com.wzj.soopin.order.domain.vo.AftersaleItemVO; import com.wzj.soopin.order.domain.vo.AftersaleItemVO;
import com.wzj.soopin.order.domain.vo.AftersaleVO;
import com.wzj.soopin.order.domain.vo.PageVO;
import com.wzj.soopin.order.service.AftersaleItemService; import com.wzj.soopin.order.service.AftersaleItemService;
import com.wzj.soopin.order.service.impl.AftersaleItemServiceImpl; import com.wzj.soopin.order.service.impl.AftersaleItemServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.excel.utils.ExcelUtil; import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.log.annotation.Log; import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType; import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -41,13 +28,12 @@ import java.util.List;
@Tag(name ="订单售后接口列表") @Tag(name ="订单售后接口列表")
@RestController @RestController
@RequestMapping("/oms/aftersaleItem") @RequestMapping("/oms/aftersaleItem")
@RequiredArgsConstructor
public class AftersaleItemController extends BaseController { public class AftersaleItemController extends BaseController {
@Autowired
private AftersaleItemServiceImpl service; private final AftersaleItemServiceImpl service;
@Autowired private final AftersaleItemConvert convert;
private AftersaleItemConvert convert; private final AftersaleItemService aftersaleItemService;
@Autowired
private AftersaleItemService aftersaleItemService;
@Tag(name ="查询订单售后列表") @Tag(name ="查询订单售后列表")
@PostMapping("/list") @PostMapping("/list")
@ -56,15 +42,13 @@ public class AftersaleItemController extends BaseController {
return R.ok(convert.toVO(list)); return R.ok(convert.toVO(list));
} }
@Tag(name ="导出订单售后列表") @Tag(name ="导出订单售后列表")
@Log(title = "订单售后", businessType = BusinessType.EXPORT) @Log(title = "订单售后", businessType = BusinessType.EXPORT)
@GetMapping("export") @PostMapping("export")
public ResponseEntity<String> export(AftersaleItemBo query) { public R<String> export(AftersaleItemBo query) {
List<AftersaleItem> list = service.list(query.toWrapper()); List<AftersaleItem> list = service.list(query.toWrapper());
ExcelUtil<AftersaleItemVO> util = new ExcelUtil<>(AftersaleItemVO.class); ExcelUtil<AftersaleItemVO> util = new ExcelUtil<>(AftersaleItemVO.class);
return ResponseEntity.ok(util.writeExcel(convert.toVO(list), "订单售后数据")); return R.ok(util.writeExcel(convert.toVO(list), "订单售后数据"));
} }
@Tag(name ="获取订单售后详细信息") @Tag(name ="获取订单售后详细信息")

View File

@ -10,6 +10,7 @@ import com.wzj.soopin.order.domain.vo.*;
import com.wzj.soopin.order.service.OrderService; import com.wzj.soopin.order.service.OrderService;
import com.wzj.soopin.order.service.impl.OrderServiceImpl; import com.wzj.soopin.order.service.impl.OrderServiceImpl;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.core.utils.SecurityUtils; import org.dromara.common.core.utils.SecurityUtils;
@ -18,7 +19,6 @@ import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType; import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.redis.redis.RedisService; import org.dromara.common.redis.redis.RedisService;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -28,21 +28,19 @@ import java.util.List;
* 订单表Controller * 订单表Controller
* *
* @author zcc * @author zcc
* @date 2022-12-01 * &#064;date 2022-12-01
*/ */
@Tag(name ="订单表接口列表") @Tag(name ="订单表接口列表")
@RestController @RestController
@RequestMapping("/oms/order") @RequestMapping("/oms/order")
@Slf4j @Slf4j
@RequiredArgsConstructor
public class OrderController extends BaseController { public class OrderController extends BaseController {
@Autowired
private OrderServiceImpl service; private final OrderServiceImpl service;
@Autowired private final OrderConvert convert;
private OrderConvert convert; private final RedisService redisService;
@Autowired private final OrderService orderService;
private RedisService redisService;
@Autowired
private OrderService orderService;
@Tag(name ="查询订单列表") @Tag(name ="查询订单列表")
@ -60,13 +58,12 @@ public class OrderController extends BaseController {
@Tag(name ="导出订单表列表") @Tag(name ="导出订单表列表")
@Log(title = "订单售后", businessType = BusinessType.EXPORT) @Log(title = "订单售后", businessType = BusinessType.EXPORT)
@PostMapping("export") @PostMapping("export")
public ResponseEntity<String> export(OrderBo query) { public R<String> export(OrderBo query) {
List<Order> list = service.list(query.toWrapper()); List<Order> list = service.list(query.toWrapper());
ExcelUtil<OrderVO> util = new ExcelUtil<>(OrderVO.class); ExcelUtil<OrderVO> util = new ExcelUtil<>(OrderVO.class);
return ResponseEntity.ok(util.writeExcel(convert.toVO(list), "订单售后数据")); return R.ok(util.writeExcel(convert.toVO(list), "订单列表数据"));
} }
@Tag(name ="获取订单表详细信息") @Tag(name ="获取订单表详细信息")
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
public R<ManagerOrderDetailVO> getInfo(@PathVariable("id") Long id) { public R<ManagerOrderDetailVO> getInfo(@PathVariable("id") Long id) {
@ -77,7 +74,16 @@ public class OrderController extends BaseController {
@Log(title = "订单表", businessType = BusinessType.INSERT) @Log(title = "订单表", businessType = BusinessType.INSERT)
@PostMapping("/add") @PostMapping("/add")
public R add(@RequestBody Order order) { public R add(@RequestBody Order order) {
return service.insert(order); R<Order> result = service.insert(order);
if (result != null) {
// 订单创建成功发送消息
service.sendMessage(order);
log.info("订单创建成功消息已发送订单ID: {}", order.getId());
} else {
log.warn("订单创建失败: {}", "返回结果为null");
}
return result;
} }
@Tag(name ="修改订单表") @Tag(name ="修改订单表")
@ -97,7 +103,7 @@ public class OrderController extends BaseController {
@Tag(name ="添加备注") @Tag(name ="添加备注")
@Log(title = "订单表", businessType = BusinessType.UPDATE) @Log(title = "订单表", businessType = BusinessType.UPDATE)
@PostMapping("/merchantNote/add") @PostMapping("/merchantNote/add")
public R<Order> saveMerchantNote(@RequestBody Order order){ public R saveMerchantNote(@RequestBody Order order){
return service.saveMerchantNote(order); return service.saveMerchantNote(order);
} }

View File

@ -3,29 +3,18 @@ package com.wzj.soopin.order.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.order.convert.OrderDeliveryHistoryConvert; import com.wzj.soopin.order.convert.OrderDeliveryHistoryConvert;
import com.wzj.soopin.order.domain.bo.OrderBo;
import com.wzj.soopin.order.domain.bo.OrderDeliveryHistoryBo; import com.wzj.soopin.order.domain.bo.OrderDeliveryHistoryBo;
import com.wzj.soopin.order.domain.entity.Order;
import com.wzj.soopin.order.domain.entity.OrderDeliveryHistory; import com.wzj.soopin.order.domain.entity.OrderDeliveryHistory;
import com.wzj.soopin.order.domain.form.DeliverProductForm;
import com.wzj.soopin.order.domain.form.ManagerOrderQueryForm;
import com.wzj.soopin.order.domain.query.OrderDeliveryHistoryQuery;
import com.wzj.soopin.order.domain.vo.ManagerOrderVO;
import com.wzj.soopin.order.domain.vo.OrderDeliveryHistoryVO; import com.wzj.soopin.order.domain.vo.OrderDeliveryHistoryVO;
import com.wzj.soopin.order.domain.vo.OrderVO;
import com.wzj.soopin.order.domain.vo.PageVO;
import com.wzj.soopin.order.service.OrderDeliveryHistoryService; import com.wzj.soopin.order.service.OrderDeliveryHistoryService;
import com.wzj.soopin.order.service.impl.OrderDeliveryHistoryServiceImpl; import com.wzj.soopin.order.service.impl.OrderDeliveryHistoryServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.excel.utils.ExcelUtil; import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.log.annotation.Log; import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType; import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
@ -38,13 +27,12 @@ import java.util.List;
@Tag(name ="订单发货记录接口列表") @Tag(name ="订单发货记录接口列表")
@RestController @RestController
@RequestMapping("/oms/orderDeliveryHistory") @RequestMapping("/oms/orderDeliveryHistory")
@RequiredArgsConstructor
public class OrderDeliveryHistoryController extends BaseController { public class OrderDeliveryHistoryController extends BaseController {
@Autowired
private OrderDeliveryHistoryServiceImpl service; private final OrderDeliveryHistoryServiceImpl service;
@Autowired private final OrderDeliveryHistoryConvert convert;
private OrderDeliveryHistoryConvert convert; private final OrderDeliveryHistoryService historyService;
@Autowired
private OrderDeliveryHistoryService historyService;
@Tag(name ="查询订单发货列表") @Tag(name ="查询订单发货列表")
@PostMapping("/list") @PostMapping("/list")
@ -53,14 +41,13 @@ public class OrderDeliveryHistoryController extends BaseController {
return R.ok(convert.toVO(list)); return R.ok(convert.toVO(list));
} }
@Tag(name ="导出订单发货记录列表") @Tag(name ="导出订单发货记录列表")
@Log(title = "订单发货记录", businessType = BusinessType.EXPORT) @Log(title = "订单发货记录", businessType = BusinessType.EXPORT)
@GetMapping("export") @PostMapping("export")
public ResponseEntity<String> export(OrderDeliveryHistoryBo query) { public R<String> export(OrderDeliveryHistoryBo query) {
List<OrderDeliveryHistory> list = service.list(query.toWrapper()); List<OrderDeliveryHistory> list = service.list(query.toWrapper());
ExcelUtil<OrderDeliveryHistoryVO> util = new ExcelUtil<>(OrderDeliveryHistoryVO.class); ExcelUtil<OrderDeliveryHistoryVO> util = new ExcelUtil<>(OrderDeliveryHistoryVO.class);
return ResponseEntity.ok(util.writeExcel(convert.toVO(list), "订单发货记录数据")); return R.ok(util.writeExcel(convert.toVO(list), "订单发货记录数据"));
} }

View File

@ -1,37 +1,20 @@
package com.wzj.soopin.order.controller; package com.wzj.soopin.order.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.member.domain.bo.MemberBO;
import com.wzj.soopin.member.domain.po.Member;
import com.wzj.soopin.member.domain.vo.MemberVO;
import com.wzj.soopin.order.convert.OrderItemConvert; import com.wzj.soopin.order.convert.OrderItemConvert;
import com.wzj.soopin.order.domain.bo.AftersaleBo;
import com.wzj.soopin.order.domain.bo.AftersaleItemBo;
import com.wzj.soopin.order.domain.bo.OrderDeliveryHistoryBo;
import com.wzj.soopin.order.domain.bo.OrderItemBo; import com.wzj.soopin.order.domain.bo.OrderItemBo;
import com.wzj.soopin.order.domain.entity.AftersaleItem;
import com.wzj.soopin.order.domain.entity.OrderDeliveryHistory;
import com.wzj.soopin.order.domain.entity.OrderItem; import com.wzj.soopin.order.domain.entity.OrderItem;
import com.wzj.soopin.order.domain.query.OrderDeliveryHistoryQuery;
import com.wzj.soopin.order.domain.query.OrderItemQuery;
import com.wzj.soopin.order.domain.vo.AftersaleItemVO;
import com.wzj.soopin.order.domain.vo.OrderDeliveryHistoryVO;
import com.wzj.soopin.order.domain.vo.OrderItemVO; import com.wzj.soopin.order.domain.vo.OrderItemVO;
import com.wzj.soopin.order.domain.vo.PageVO;
import com.wzj.soopin.order.service.OrderItemService; import com.wzj.soopin.order.service.OrderItemService;
import com.wzj.soopin.order.service.impl.OrderItemServiceImpl; import com.wzj.soopin.order.service.impl.OrderItemServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.excel.utils.ExcelUtil; import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.log.annotation.Log; import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType; import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
@ -44,13 +27,13 @@ import java.util.List;
@Tag(name ="订单中所包含的商品接口列表") @Tag(name ="订单中所包含的商品接口列表")
@RestController @RestController
@RequestMapping("/oms/orderItem") @RequestMapping("/oms/orderItem")
@RequiredArgsConstructor
public class OrderItemController extends BaseController { public class OrderItemController extends BaseController {
@Autowired
private OrderItemServiceImpl service;
@Autowired private final OrderItemServiceImpl service;
private OrderItemConvert convert; private final OrderItemConvert convert;
@Autowired private final OrderItemService orderItemService;
private OrderItemService orderItemService;
@Tag(name = "查询订单中所包含的商品列表") @Tag(name = "查询订单中所包含的商品列表")
@PostMapping("/list") @PostMapping("/list")
@ -59,14 +42,13 @@ public class OrderItemController extends BaseController {
return R.ok(convert.toVO(list)); return R.ok(convert.toVO(list));
} }
@Tag(name ="导出会员信息列表")
@Tag(name = "导出会员信息列表")
@Log(title = "会员信息", businessType = BusinessType.EXPORT) @Log(title = "会员信息", businessType = BusinessType.EXPORT)
@GetMapping("export") @PostMapping("export")
public ResponseEntity<String> export(OrderItemBo query) { public R<String> export(OrderItemBo query) {
List<OrderItem> list = service.list(query.toWrapper()); List<OrderItem> list = service.list(query.toWrapper());
ExcelUtil<OrderItemVO> util = new ExcelUtil<>(OrderItemVO.class); ExcelUtil<OrderItemVO> util = new ExcelUtil<>(OrderItemVO.class);
return ResponseEntity.ok(util.writeExcel(convert.toVO(list), "订单中所包含的商品数据")); return R.ok(util.writeExcel(convert.toVO(list), "订单中所包含的商品数据"));
} }
@Tag(name = "获取订单中所包含的商品详细信息") @Tag(name = "获取订单中所包含的商品详细信息")

View File

@ -1,30 +1,19 @@
package com.wzj.soopin.order.controller; package com.wzj.soopin.order.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.order.convert.OrderOperateHistoryConvert; import com.wzj.soopin.order.convert.OrderOperateHistoryConvert;
import com.wzj.soopin.order.domain.bo.OrderItemBo;
import com.wzj.soopin.order.domain.bo.OrderOperateHistoryBo; import com.wzj.soopin.order.domain.bo.OrderOperateHistoryBo;
import com.wzj.soopin.order.domain.entity.OrderItem;
import com.wzj.soopin.order.domain.entity.OrderOperateHistory; import com.wzj.soopin.order.domain.entity.OrderOperateHistory;
import com.wzj.soopin.order.domain.query.OrderItemQuery;
import com.wzj.soopin.order.domain.query.OrderOperateHistoryQuery;
import com.wzj.soopin.order.domain.vo.OrderItemVO;
import com.wzj.soopin.order.domain.vo.OrderOperateHistoryVO; import com.wzj.soopin.order.domain.vo.OrderOperateHistoryVO;
import com.wzj.soopin.order.domain.vo.PageVO;
import com.wzj.soopin.order.service.OrderOperateHistoryService;
import com.wzj.soopin.order.service.impl.OrderOperateHistoryServiceImpl; import com.wzj.soopin.order.service.impl.OrderOperateHistoryServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.excel.utils.ExcelUtil; import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.log.annotation.Log; import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType; import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
@ -37,11 +26,12 @@ import java.util.List;
@Tag(name ="订单操作历史记录接口列表") @Tag(name ="订单操作历史记录接口列表")
@RestController @RestController
@RequestMapping("/oms/orderOperateHistory") @RequestMapping("/oms/orderOperateHistory")
@RequiredArgsConstructor
public class OrderOperateHistoryController extends BaseController { public class OrderOperateHistoryController extends BaseController {
@Autowired
private OrderOperateHistoryServiceImpl service;
@Autowired private final OrderOperateHistoryServiceImpl service;
private OrderOperateHistoryConvert convert; private final OrderOperateHistoryConvert convert;
@Tag(name ="查询订单操作历史记录列表") @Tag(name ="查询订单操作历史记录列表")
@PostMapping("/list") @PostMapping("/list")
@ -53,11 +43,11 @@ public class OrderOperateHistoryController extends BaseController {
@Tag(name ="导出订单操作历史记录列表") @Tag(name ="导出订单操作历史记录列表")
@Log(title = "订单操作历史记录", businessType = BusinessType.EXPORT) @Log(title = "订单操作历史记录", businessType = BusinessType.EXPORT)
@GetMapping("export") @PostMapping("export")
public ResponseEntity<String> export(OrderOperateHistoryBo query) { public R<String> export(OrderOperateHistoryBo query) {
List<OrderOperateHistory> list = service.list(query.toWrapper()); List<OrderOperateHistory> list = service.list(query.toWrapper());
ExcelUtil<OrderOperateHistoryVO> util = new ExcelUtil<>(OrderOperateHistoryVO.class); ExcelUtil<OrderOperateHistoryVO> util = new ExcelUtil<>(OrderOperateHistoryVO.class);
return ResponseEntity.ok(util.writeExcel(convert.toVO(list), "订单操作历史记录数据")); return R.ok(util.writeExcel(convert.toVO(list), "订单操作历史记录数据"));
} }
@Tag(name ="获取订单操作历史记录详细信息") @Tag(name ="获取订单操作历史记录详细信息")

View File

@ -2,23 +2,25 @@ package com.wzj.soopin.order.controller;
import com.wzj.soopin.order.domain.dto.CodeVerificationDto; import com.wzj.soopin.order.domain.dto.CodeVerificationDto;
import com.wzj.soopin.order.service.VerificationCodeService; import com.wzj.soopin.order.service.VerificationCodeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
/** /**
* 核销码相关接口 * 核销码相关接口
* @author fxh
*/ */
@Tag(name = "核销码接口") @Tag(name = "核销码接口")
@RestController @RestController
@RequestMapping("/oms/verification") @RequestMapping("/oms/verification")
@RequiredArgsConstructor
@Slf4j
public class VerificationCodeController { public class VerificationCodeController {
@Autowired
private VerificationCodeService verificationCodeService; private final VerificationCodeService verificationCodeService;
/** /**
@ -32,12 +34,19 @@ public class VerificationCodeController {
/** /**
* 扫码核销接口 * 扫码核销接口
* @return 核销结果z * @return 核销结果
*/ */
@PostMapping("/verify") @PostMapping("/verify")
@Tag(name = "扫码核销接口") @Tag(name = "扫码核销接口")
public R verifyCode(@RequestBody CodeVerificationDto codeVerificationDto) { public R verifyCode(@RequestBody CodeVerificationDto codeVerificationDto) {
return verificationCodeService.verifyCode(codeVerificationDto); R result = verificationCodeService.verifyCode(codeVerificationDto);
if (R.isSuccess(result)){
verificationCodeService.sendMessage(codeVerificationDto);
}
else{
verificationCodeService.sendMessageNo(codeVerificationDto);
}
return result;
} }
} }

View File

@ -3,27 +3,18 @@ package com.wzj.soopin.order.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.order.convert.WechatPaymentHistoryConvert; import com.wzj.soopin.order.convert.WechatPaymentHistoryConvert;
import com.wzj.soopin.order.domain.bo.OrderOperateHistoryBo;
import com.wzj.soopin.order.domain.bo.WechatPaymentHistoryBo; import com.wzj.soopin.order.domain.bo.WechatPaymentHistoryBo;
import com.wzj.soopin.order.domain.entity.OrderOperateHistory;
import com.wzj.soopin.order.domain.entity.WechatPaymentHistory; import com.wzj.soopin.order.domain.entity.WechatPaymentHistory;
import com.wzj.soopin.order.domain.query.OrderOperateHistoryQuery;
import com.wzj.soopin.order.domain.query.WechatPaymentHistoryQuery;
import com.wzj.soopin.order.domain.vo.OrderOperateHistoryVO;
import com.wzj.soopin.order.domain.vo.PageVO;
import com.wzj.soopin.order.domain.vo.WechatPaymentHistoryVO; import com.wzj.soopin.order.domain.vo.WechatPaymentHistoryVO;
import com.wzj.soopin.order.service.WechatPaymentHistoryService; import com.wzj.soopin.order.service.WechatPaymentHistoryService;
import com.wzj.soopin.order.service.impl.WechatPaymentHistoryServiceImpl; import com.wzj.soopin.order.service.impl.WechatPaymentHistoryServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.excel.utils.ExcelUtil; import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.log.annotation.Log; import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType; import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
@ -31,18 +22,17 @@ import java.util.List;
* 微信订单表Controller * 微信订单表Controller
* *
* @author zcc * @author zcc
* @date 2023-07-12 * &#064;date 2023-07-12
*/ */
@Tag(name ="微信订单表接口列表") @Tag(name ="微信订单表接口列表")
@RestController @RestController
@RequestMapping("/pms/omsWechatPaymentHistory") @RequestMapping("/pms/omsWechatPaymentHistory")
@RequiredArgsConstructor
public class WechatPaymentHistoryController extends BaseController { public class WechatPaymentHistoryController extends BaseController {
@Autowired
private WechatPaymentHistoryServiceImpl service; private final WechatPaymentHistoryServiceImpl service;
@Autowired private final WechatPaymentHistoryConvert convert;
private WechatPaymentHistoryConvert convert; private final WechatPaymentHistoryService wechatPaymentHistoryService;
@Autowired
private WechatPaymentHistoryService wechatPaymentHistoryService;
@Tag(name ="查询微信订单表列表") @Tag(name ="查询微信订单表列表")
@PostMapping("/list") @PostMapping("/list")
public R<IPage<WechatPaymentHistoryVO>> list(@RequestBody WechatPaymentHistoryBo query, Page<WechatPaymentHistory> page) { public R<IPage<WechatPaymentHistoryVO>> list(@RequestBody WechatPaymentHistoryBo query, Page<WechatPaymentHistory> page) {
@ -50,14 +40,13 @@ public class WechatPaymentHistoryController extends BaseController {
return R.ok(convert.toVO(list)); return R.ok(convert.toVO(list));
} }
@Tag(name ="导出微信订单表列表") @Tag(name ="导出微信订单表列表")
@Log(title = "微信订单表", businessType = BusinessType.EXPORT) @Log(title = "微信订单表", businessType = BusinessType.EXPORT)
@GetMapping("export") @PostMapping("export")
public ResponseEntity<String> export(WechatPaymentHistoryBo query) { public R<String> export(WechatPaymentHistoryBo query) {
List<WechatPaymentHistory> list = service.list(query.toWrapper()); List<WechatPaymentHistory> list = service.list(query.toWrapper());
ExcelUtil<WechatPaymentHistoryVO> util = new ExcelUtil<>(WechatPaymentHistoryVO.class); ExcelUtil<WechatPaymentHistoryVO> util = new ExcelUtil<>(WechatPaymentHistoryVO.class);
return ResponseEntity.ok(util.writeExcel(convert.toVO(list), "微信订单表数据")); return R.ok(util.writeExcel(convert.toVO(list), "微信订单表数据"));
} }
@Tag(name ="获取微信订单表详细信息") @Tag(name ="获取微信订单表详细信息")

View File

@ -34,7 +34,7 @@ public class Order extends BaseAudit {
private Long payId; private Long payId;
@Schema(description = "租户id") @Schema(description = "租户id")
private String tenantId; private Long tenantId;
@Schema(description = "订单编号") @Schema(description = "订单编号")
@Excel(name = "订单编号") @Excel(name = "订单编号")

View File

@ -37,7 +37,7 @@ public class OrderVO extends BaseAudit {
private Long memberId; private Long memberId;
@Schema(description ="租户id") @Schema(description ="租户id")
private String tenantId; private Long tenantId;
@Schema(description ="用户帐号") @Schema(description ="用户帐号")
@Excel(name = "用户帐号") @Excel(name = "用户帐号")

View File

@ -1,12 +1,9 @@
package com.wzj.soopin.order.mapper; package com.wzj.soopin.order.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.wzj.soopin.order.domain.entity.AftersaleItem; import com.wzj.soopin.order.domain.entity.AftersaleItem;
import com.wzj.soopin.order.domain.query.AftersaleItemQuery;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;

View File

@ -8,8 +8,6 @@ import com.wzj.soopin.order.domain.entity.Aftersale;
import com.wzj.soopin.order.domain.form.ManagerAftersaleOrderForm; import com.wzj.soopin.order.domain.form.ManagerAftersaleOrderForm;
import com.wzj.soopin.order.domain.vo.AftersaleVO; import com.wzj.soopin.order.domain.vo.AftersaleVO;
import com.wzj.soopin.order.domain.vo.ManagerRefundOrderVO; import com.wzj.soopin.order.domain.vo.ManagerRefundOrderVO;
import com.wzj.soopin.order.domain.vo.OrderAndAftersaleStatisticsVO;
import com.wzj.soopin.order.domain.vo.OrderVO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;

View File

@ -1,17 +1,8 @@
package com.wzj.soopin.order.mapper; package com.wzj.soopin.order.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.order.domain.entity.OrderDeliveryHistory; import com.wzj.soopin.order.domain.entity.OrderDeliveryHistory;
import com.wzj.soopin.order.domain.query.OrderDeliveryHistoryQuery;
import com.wzj.soopin.order.domain.vo.OrderDeliveryHistoryVO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.data.domain.Pageable;
import java.util.List; import java.util.List;

View File

@ -3,6 +3,7 @@ package com.wzj.soopin.order.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wzj.soopin.order.domain.entity.OrderItem; import com.wzj.soopin.order.domain.entity.OrderItem;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List; import java.util.List;
@ -20,4 +21,17 @@ public interface OrderItemMapper extends BaseMapper<OrderItem> {
* @return 订单中所包含的商品集合 * @return 订单中所包含的商品集合
*/ */
List<OrderItem> selectByEntity(OrderItem orderItem); List<OrderItem> selectByEntity(OrderItem orderItem);
/**
* 根据订单ID查询商品名称
*
* @param orderId 订单ID
* @return 商品名称
*/
@Select("SELECT p.name " +
"FROM oms_order_item oi " +
"JOIN pms_product p ON oi.product_id = p.id " +
"WHERE oi.order_id = #{orderId} " +
"LIMIT 1")
String getName(Long orderId);
} }

View File

@ -7,13 +7,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.order.domain.bo.OrderBo; import com.wzj.soopin.order.domain.bo.OrderBo;
import com.wzj.soopin.order.domain.entity.Order; import com.wzj.soopin.order.domain.entity.Order;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.dromara.system.domain.SystemStatistics;
import com.wzj.soopin.order.domain.form.ManagerOrderQueryForm; import com.wzj.soopin.order.domain.form.ManagerOrderQueryForm;
import com.wzj.soopin.order.domain.vo.*; import com.wzj.soopin.order.domain.vo.*;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;

View File

@ -1,13 +1,8 @@
package com.wzj.soopin.order.mapper; package com.wzj.soopin.order.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.wzj.soopin.order.domain.entity.OrderItem;
import com.wzj.soopin.order.domain.entity.OrderOperateHistory; import com.wzj.soopin.order.domain.entity.OrderOperateHistory;
import com.wzj.soopin.order.domain.query.OrderOperateHistoryQuery;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;

View File

@ -3,12 +3,17 @@ package com.wzj.soopin.order.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wzj.soopin.order.domain.entity.VerificationCodes; import com.wzj.soopin.order.domain.entity.VerificationCodes;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.Map;
@Mapper @Mapper
public interface VerificationCodesMapper extends BaseMapper<VerificationCodes> { public interface VerificationCodesMapper extends BaseMapper<VerificationCodes> {
LocalDateTime verificationTime(String code);
Map<String, Object> getProduvtNameAndMemberId(String code);
String getReason(String code);
} }

View File

@ -1,12 +1,8 @@
package com.wzj.soopin.order.mapper; package com.wzj.soopin.order.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.wzj.soopin.order.domain.entity.WechatPaymentHistory; import com.wzj.soopin.order.domain.entity.WechatPaymentHistory;
import com.wzj.soopin.order.domain.query.WechatPaymentHistoryQuery;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;

View File

@ -8,4 +8,6 @@ import java.util.List;
public interface OrderItemService extends IService<OrderItem> { public interface OrderItemService extends IService<OrderItem> {
List<OrderItem> findByOrderId(Long orderId); List<OrderItem> findByOrderId(Long orderId);
} }

View File

@ -1,15 +1,12 @@
package com.wzj.soopin.order.service; package com.wzj.soopin.order.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.wzj.soopin.order.domain.bo.OrderBo; import com.wzj.soopin.order.domain.bo.OrderBo;
import com.wzj.soopin.order.domain.entity.Order; import com.wzj.soopin.order.domain.entity.Order;
import com.wzj.soopin.order.domain.vo.OrderVO; import com.wzj.soopin.order.domain.vo.OrderVO;
import com.wzj.soopin.order.domain.vo.PageVO;
import java.util.Map;
public interface OrderService extends IService<Order> { public interface OrderService extends IService<Order> {

View File

@ -11,4 +11,8 @@ public interface VerificationCodeService extends IService<VerificationCodes> {
R generateVerificationCode(Long orderId); R generateVerificationCode(Long orderId);
R verifyCode(CodeVerificationDto codeVerificationDto); R verifyCode(CodeVerificationDto codeVerificationDto);
void sendMessage(CodeVerificationDto codeVerificationDto);
void sendMessageNo(CodeVerificationDto codeVerificationDto);
} }

View File

@ -1,21 +1,11 @@
package com.wzj.soopin.order.service.impl; package com.wzj.soopin.order.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wzj.soopin.order.domain.entity.AftersaleItem; import com.wzj.soopin.order.domain.entity.AftersaleItem;
import com.wzj.soopin.order.domain.query.AftersaleItemQuery;
import com.wzj.soopin.order.domain.vo.PageVO;
import com.wzj.soopin.order.mapper.AftersaleItemMapper; import com.wzj.soopin.order.mapper.AftersaleItemMapper;
import com.wzj.soopin.order.service.AftersaleItemService; import com.wzj.soopin.order.service.AftersaleItemService;
import com.wzj.soopin.order.utils.PageUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/** /**
* 订单售后Service业务层处理 * 订单售后Service业务层处理

View File

@ -1,6 +1,5 @@
package com.wzj.soopin.order.service.impl; package com.wzj.soopin.order.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
@ -20,27 +19,24 @@ import com.wzj.soopin.member.mapper.MemberMapper;
import com.wzj.soopin.member.mapper.MemberWechatMapper; import com.wzj.soopin.member.mapper.MemberWechatMapper;
import com.wzj.soopin.order.domain.bo.AftersaleBo; import com.wzj.soopin.order.domain.bo.AftersaleBo;
import com.wzj.soopin.order.service.AftersaleService; import com.wzj.soopin.order.service.AftersaleService;
import com.wzj.soopin.order.convert.OrderOperateHistoryConvert;
import com.wzj.soopin.order.domain.entity.*; import com.wzj.soopin.order.domain.entity.*;
import com.wzj.soopin.order.domain.form.DealWithAftersaleForm; import com.wzj.soopin.order.domain.form.DealWithAftersaleForm;
import com.wzj.soopin.order.domain.form.ManagerAftersaleOrderForm;
import com.wzj.soopin.order.domain.vo.*; import com.wzj.soopin.order.domain.vo.*;
import com.wzj.soopin.order.mapper.*; import com.wzj.soopin.order.mapper.*;
import com.wzj.soopin.order.wechat.WechatPayService; import com.wzj.soopin.order.wechat.WechatPayService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.core.domain.event.Constants; import org.dromara.common.core.domain.event.Constants;
import org.dromara.common.core.enums.AftersaleStatus; import org.dromara.common.core.enums.AftersaleStatus;
import org.dromara.common.core.enums.OrderRefundStatus; import org.dromara.common.core.enums.OrderRefundStatus;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* 订单售后Service业务层处理 * 订单售后Service业务层处理
@ -49,31 +45,22 @@ import java.util.stream.Collectors;
*/ */
@Service @Service
@Slf4j @Slf4j
@RequiredArgsConstructor
public class AftersaleServiceImpl extends ServiceImpl<AftersaleMapper, Aftersale> implements AftersaleService { public class AftersaleServiceImpl extends ServiceImpl<AftersaleMapper, Aftersale> implements AftersaleService {
@Autowired private final AftersaleMapper aftersaleMapper;
private AftersaleMapper aftersaleMapper; private final OrderMapper orderMapper;
private final OrderItemMapper orderItemMapper;
private final OrderOperateHistoryMapper orderOperateHistoryMapper;
private final MemberMapper memberMapper;
private final SkuMapper skuMapper;
private final WechatPaymentHistoryMapper wechatPaymentHistoryMapper;
private final MemberWechatMapper memberWechatMapper;
private final OrderOperateHistoryMapper operateHistoryMapper;
@Autowired
private OrderMapper orderMapper;
@Autowired
private OrderItemMapper orderItemMapper;
@Autowired
private OrderOperateHistoryMapper orderOperateHistoryMapper;
@Autowired
private MemberMapper memberMapper;
@Autowired
private SkuMapper skuMapper;
@Autowired
private WechatPaymentHistoryMapper wechatPaymentHistoryMapper;
@Autowired
private MemberWechatMapper memberWechatMapper;
@Autowired(required = false) @Autowired(required = false)
private WechatPayService wechatPayService; private WechatPayService wechatPayService;
@Autowired
private OrderOperateHistoryMapper operateHistoryMapper;
/** /**
* 查询订单售后 * 查询订单售后
@ -307,7 +294,6 @@ public class AftersaleServiceImpl extends ServiceImpl<AftersaleMapper, Aftersale
/** /**
* 订单退款回调MQ * 订单退款回调MQ
* *
* @param weChatRefundNotify
*/ */
@Transactional @Transactional
public void refundOrderExc(RefundNotification weChatRefundNotify) { public void refundOrderExc(RefundNotification weChatRefundNotify) {
@ -392,8 +378,7 @@ public class AftersaleServiceImpl extends ServiceImpl<AftersaleMapper, Aftersale
} }
public IPage<AftersaleVO> getlist(Page<Aftersale> page, AftersaleBo query) { public IPage<AftersaleVO> getlist(Page<Aftersale> page, AftersaleBo query) {
IPage<AftersaleVO> resultPage = aftersaleMapper.getlist(page,query); return aftersaleMapper.getlist(page,query);
return resultPage;
} }
} }

View File

@ -1,22 +1,11 @@
package com.wzj.soopin.order.service.impl; package com.wzj.soopin.order.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wzj.soopin.order.domain.entity.OrderDeliveryHistory; import com.wzj.soopin.order.domain.entity.OrderDeliveryHistory;
import com.wzj.soopin.order.domain.query.OrderDeliveryHistoryQuery;
import com.wzj.soopin.order.domain.vo.OrderDeliveryHistoryVO;
import com.wzj.soopin.order.domain.vo.PageVO;
import com.wzj.soopin.order.mapper.OrderDeliveryHistoryMapper; import com.wzj.soopin.order.mapper.OrderDeliveryHistoryMapper;
import com.wzj.soopin.order.service.OrderDeliveryHistoryService; import com.wzj.soopin.order.service.OrderDeliveryHistoryService;
import com.wzj.soopin.order.utils.PageUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
/** /**
* 订单发货记录Service业务层处理 * 订单发货记录Service业务层处理

View File

@ -1,26 +1,12 @@
package com.wzj.soopin.order.service.impl; package com.wzj.soopin.order.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wzj.soopin.member.domain.po.Member;
import com.wzj.soopin.order.domain.dto.OrderProductListDTO;
import com.wzj.soopin.order.domain.entity.OrderItem; import com.wzj.soopin.order.domain.entity.OrderItem;
import com.wzj.soopin.order.domain.query.OrderItemQuery;
import com.wzj.soopin.order.domain.vo.PageVO;
import com.wzj.soopin.order.mapper.OrderItemMapper; import com.wzj.soopin.order.mapper.OrderItemMapper;
import com.wzj.soopin.order.service.OrderItemService; import com.wzj.soopin.order.service.OrderItemService;
import com.wzj.soopin.order.utils.PageUtil;
import org.apache.commons.lang3.StringUtils;
import org.dromara.common.core.utils.IDGenerator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**

View File

@ -1,24 +1,12 @@
package com.wzj.soopin.order.service.impl; package com.wzj.soopin.order.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wzj.soopin.order.domain.entity.OrderItem;
import com.wzj.soopin.order.domain.entity.OrderOperateHistory; import com.wzj.soopin.order.domain.entity.OrderOperateHistory;
import com.wzj.soopin.order.domain.query.OrderOperateHistoryQuery;
import com.wzj.soopin.order.domain.vo.PageVO;
import com.wzj.soopin.order.mapper.OrderOperateHistoryMapper; import com.wzj.soopin.order.mapper.OrderOperateHistoryMapper;
import com.wzj.soopin.order.service.OrderOperateHistoryService; import com.wzj.soopin.order.service.OrderOperateHistoryService;
import com.wzj.soopin.order.utils.PageUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
/** /**
* 订单操作历史记录Service业务层处理 * 订单操作历史记录Service业务层处理
* *

View File

@ -8,14 +8,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wzj.soopin.goods.convert.SkuConvert;
import com.wzj.soopin.goods.domain.entity.Sku; import com.wzj.soopin.goods.domain.entity.Sku;
import com.wzj.soopin.goods.mapper.ProductMapper;
import com.wzj.soopin.goods.mapper.SkuMapper; import com.wzj.soopin.goods.mapper.SkuMapper;
import com.wzj.soopin.member.domain.po.Member; import com.wzj.soopin.member.domain.po.Member;
import com.wzj.soopin.member.mapper.*; import com.wzj.soopin.member.mapper.*;
import com.wzj.soopin.order.convert.OrderConvert;
import com.wzj.soopin.order.convert.OrderOperateHistoryConvert;
import com.wzj.soopin.order.domain.bo.OrderBo; import com.wzj.soopin.order.domain.bo.OrderBo;
import com.wzj.soopin.order.domain.entity.Order; import com.wzj.soopin.order.domain.entity.Order;
import com.wzj.soopin.order.domain.entity.OrderDeliveryHistory; import com.wzj.soopin.order.domain.entity.OrderDeliveryHistory;
@ -31,15 +27,20 @@ import com.wzj.soopin.order.mapper.OrderMapper;
import com.wzj.soopin.order.mapper.OrderOperateHistoryMapper; import com.wzj.soopin.order.mapper.OrderOperateHistoryMapper;
import com.wzj.soopin.order.service.OrderService; import com.wzj.soopin.order.service.OrderService;
import com.wzj.soopin.order.service.VerificationCodeService; import com.wzj.soopin.order.service.VerificationCodeService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.core.domain.event.Constants; import org.dromara.common.core.domain.event.Constants;
import org.dromara.common.core.utils.PhoneUtils; import org.dromara.common.core.utils.PhoneUtils;
import org.dromara.common.core.utils.SecurityUtils; import org.dromara.common.core.utils.SecurityUtils;
import org.dromara.system.domain.SysTenant; import org.dromara.system.domain.SysTenant;
import org.dromara.system.mapper.SysOperLogMapper; import org.dromara.system.domain.bo.SysMessageBo;
import org.dromara.system.domain.vo.SysMessageTemplateVo;
import org.dromara.system.mapper.SysTenantMapper; import org.dromara.system.mapper.SysTenantMapper;
import org.dromara.system.service.ISysMessageTemplateService;
import org.dromara.system.service.impl.SysMessageServiceImpl;
import org.dromara.system.service.impl.SysMessageTemplateServiceImpl;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -56,6 +57,8 @@ import java.util.stream.Collectors;
* @author zcc * @author zcc
*/ */
@Service @Service
@Slf4j
@RequiredArgsConstructor
public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements OrderService { public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements OrderService {
private final OrderMapper orderMapper; private final OrderMapper orderMapper;
private final OrderItemMapper orderItemMapper; private final OrderItemMapper orderItemMapper;
@ -65,19 +68,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
private final OrderDeliveryHistoryMapper orderDeliveryHistoryMapper; private final OrderDeliveryHistoryMapper orderDeliveryHistoryMapper;
private final VerificationCodeService verificationCodeService; private final VerificationCodeService verificationCodeService;
private final SysTenantMapper sysTenantMapper; private final SysTenantMapper sysTenantMapper;
private final ISysMessageTemplateService templateService;
public OrderServiceImpl(OrderMapper orderMapper, OrderItemMapper orderItemMapper, SkuMapper skuMapper, private final SysMessageServiceImpl sysMessageService;
OrderOperateHistoryMapper orderOperateHistoryMapper, MemberMapper memberMapper, OrderDeliveryHistoryMapper orderDeliveryHistoryMapper, VerificationCodeService verificationCodeService, SysTenantMapper sysTenantMapper) {
this.orderMapper = orderMapper;
this.orderItemMapper = orderItemMapper;
this.skuMapper = skuMapper;
this.orderOperateHistoryMapper = orderOperateHistoryMapper;
this.memberMapper = memberMapper;
this.orderDeliveryHistoryMapper = orderDeliveryHistoryMapper;
this.verificationCodeService = verificationCodeService;
this.sysTenantMapper = sysTenantMapper;
}
/** /**
* 查询订单表 * 查询订单表
@ -525,28 +517,32 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
return resultPage; return resultPage;
} }
// @Override
// public Map<String, Object> getCount() {
// Map<String, Object> result = new HashMap<>();
// result.put("MemberCount", memberMapper.countMember());
// result.put("storeCount", sysTenantMapper.countStore());
// result.put("productCount", productMapper.countProduct());
// result.put("orderCount", orderMapper.countOrder());
//
//
//
//// result.put("productAudit", productMapper.AuditProduct());
////
//// List<Map<String, Object>> incomeExpenseList = incomeExpenseMapper.getIncomeExpenseByMonth();
//// result.put("incomeExpense", incomeExpenseList);
//
// return result;
// }
@Override @Override
public Order getByNo(String orderNo) { public Order getByNo(String orderNo) {
return baseMapper.selectOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn,orderNo)); return baseMapper.selectOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn,orderNo));
} }
public void sendMessage(Order order) {
Long memberId = order.getMemberId();
Long orderId = order.getId();
// 订单创建成功模板ID
Long templateId =1940586928850100226L;
// 查询模板信息
SysMessageTemplateVo template = templateService.selectTemplateById(templateId);
log.info("模板信息为: {}", template);
if (template != null) {
String content = template.getTemplateContent()
.replace("${orderSn}", order.getOrderSn())
.replace("${productName}", orderItemMapper.getName(orderId));
log.info("模板内容为: {}", content);
SysMessageBo messageBo = new SysMessageBo();
messageBo.setTitle(template.getTitle());
messageBo.setContent(content);
messageBo.setSenderId(memberId);
sysMessageService.sendMessageToUser(messageBo, memberId);
}
}
} }

View File

@ -12,18 +12,26 @@ import com.wzj.soopin.order.mapper.VerificationLogsMapper;
import com.wzj.soopin.order.service.VerificationCodeService; import com.wzj.soopin.order.service.VerificationCodeService;
import com.wzj.soopin.order.utils.QrCodeGenerator; import com.wzj.soopin.order.utils.QrCodeGenerator;
import com.wzj.soopin.order.utils.StringUtils; import com.wzj.soopin.order.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.RandomStringUtils;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.springframework.beans.factory.annotation.Autowired; import org.dromara.system.domain.bo.SysMessageBo;
import org.dromara.system.domain.vo.SysMessageTemplateVo;
import org.dromara.system.service.ISysMessageTemplateService;
import org.dromara.system.service.impl.SysMessageServiceImpl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
/**
* @author fxh
*/
@Service @Service
@Slf4j @Slf4j
@RequiredArgsConstructor
public class VerificationCodeServiceImpl extends ServiceImpl<VerificationCodesMapper, VerificationCodes> implements VerificationCodeService{ public class VerificationCodeServiceImpl extends ServiceImpl<VerificationCodesMapper, VerificationCodes> implements VerificationCodeService{
@ -32,13 +40,8 @@ public class VerificationCodeServiceImpl extends ServiceImpl<VerificationCodesM
private final OrderMapper orderMapper; private final OrderMapper orderMapper;
private final QrCodeGenerator qrCodeGenerator; private final QrCodeGenerator qrCodeGenerator;
private final VerificationLogsMapper logMapper; private final VerificationLogsMapper logMapper;
private final ISysMessageTemplateService templateService;
public VerificationCodeServiceImpl(VerificationCodesMapper codeMapper, OrderMapper orderMapper, QrCodeGenerator qrCodeGenerator, VerificationLogsMapper logMapper) { private final SysMessageServiceImpl sysMessageService;
this.codeMapper = codeMapper;
this.orderMapper = orderMapper;
this.qrCodeGenerator = qrCodeGenerator;
this.logMapper = logMapper;
}
/** /**
* 生成核销码并关联订单 * 生成核销码并关联订单
@ -69,30 +72,30 @@ public class VerificationCodeServiceImpl extends ServiceImpl<VerificationCodesM
code.setOrderId(orderId); code.setOrderId(orderId);
code.setExpireTime(expireTime); code.setExpireTime(expireTime);
code.setCreateTime(LocalDateTime.now()); code.setCreateTime(LocalDateTime.now());
code.setStatus(0); // 未使用状态 // 未使用状态
code.setStatus(0);
int insertResult = codeMapper.insert(code); int insertResult = codeMapper.insert(code);
if (insertResult != 1) { if (insertResult != 1) {
return R.fail("核销码生成失败"); return R.fail("核销码生成失败");
} }
// 构建保存路径 // // 构建保存路径
String filePath = "qrcode/" + orderId + ".png"; // String filePath = "qrcode/" + orderId + ".png";
String qrCodeUrl = qrCodeGenerator.generateQrCode( // String qrCodeUrl = qrCodeGenerator.generateQrCode(
"核销码:" + codeValue + ",订单ID:" + orderId, // "核销码:" + codeValue + ",订单ID:" + orderId,
200, // 200,
200, // 200,
filePath // filePath
); // );
// 打印生成后的二维码URL // // 打印生成后的二维码URL
log.info("生成的二维码URL: {}", qrCodeUrl); // log.info("生成的二维码URL: {}", qrCodeUrl);
if (qrCodeUrl == null) { // if (qrCodeUrl == null) {
log.error("二维码生成失败"); // log.error("二维码生成失败");
} // }
// // 将二维码URL保存到订单表中
// 将二维码URL保存到订单表中 // order.setCodeUrl(qrCodeUrl);
order.setCodeUrl(qrCodeUrl);
orderMapper.updateById(order); orderMapper.updateById(order);
return R.ok("核销码生成成功", code); return R.ok("核销码生成成功", code);
} }
@ -148,7 +151,7 @@ public class VerificationCodeServiceImpl extends ServiceImpl<VerificationCodesM
VerificationLogs existingLog = logMapper.selectOne( VerificationLogs existingLog = logMapper.selectOne(
new LambdaQueryWrapper<VerificationLogs>() new LambdaQueryWrapper<VerificationLogs>()
.eq(VerificationLogs::getOrderId, code.getOrderId()) .eq(VerificationLogs::getOrderId, code.getOrderId())
.eq(VerificationLogs::getResult, 1) // 只检查成功核销的记录 .eq(VerificationLogs::getResult, 1)
); );
if (existingLog != null) { if (existingLog != null) {
@ -158,7 +161,7 @@ public class VerificationCodeServiceImpl extends ServiceImpl<VerificationCodesM
} }
// 执行核销 // 执行核销
code.setStatus(1); // 已使用 code.setStatus(1);
code.setUsedTime(LocalDateTime.now()); code.setUsedTime(LocalDateTime.now());
code.setUsedMerchantId(usedMerchantId); code.setUsedMerchantId(usedMerchantId);
int result = codeMapper.updateById(code); int result = codeMapper.updateById(code);
@ -169,7 +172,7 @@ public class VerificationCodeServiceImpl extends ServiceImpl<VerificationCodesM
} }
// 更新订单状态 // 更新订单状态
order.setStatus(7); // 已核销 order.setStatus(7);
order.setUsedTime(LocalDateTime.now()); order.setUsedTime(LocalDateTime.now());
orderMapper.updateById(order); orderMapper.updateById(order);
@ -213,4 +216,65 @@ public class VerificationCodeServiceImpl extends ServiceImpl<VerificationCodesM
String uuid = java.util.UUID.randomUUID().toString().replaceAll("-", ""); String uuid = java.util.UUID.randomUUID().toString().replaceAll("-", "");
return uuid.substring(0, 16).toUpperCase(); return uuid.substring(0, 16).toUpperCase();
} }
@Override
public void sendMessage(CodeVerificationDto codeVerificationDto) {
String code = codeVerificationDto.getCodeValue();
Map<String, Object> resultMap = codeMapper.getProduvtNameAndMemberId(code);
String productName = (String) resultMap.get("productName");
Long memberId = (Long) resultMap.get("memberId");
LocalDateTime verificationTime = codeMapper.verificationTime(code);
String formattedTime = verificationTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
// 核销成功模板ID
Long templateId = 1940678210012340225L;
// 查询模板信息
SysMessageTemplateVo template = templateService.selectTemplateById(templateId);
log.info("模板信息为: {}", template);
if (template != null) {
String content = template.getTemplateContent()
.replace("${productName}", productName)
.replace("${verificationTime}",formattedTime);
log.info("模板内容为: {}", content);
SysMessageBo messageBo = new SysMessageBo();
messageBo.setTitle(template.getTitle());
messageBo.setContent(content);
messageBo.setSenderId(memberId);
sysMessageService.sendMessageToUser(messageBo, memberId);
}
}
@Override
public void sendMessageNo(CodeVerificationDto codeVerificationDto) {
String code = codeVerificationDto.getCodeValue();
Map<String, Object> resultMap = codeMapper.getProduvtNameAndMemberId(code);
String productName = (String) resultMap.get("productName");
Long memberId = (Long) resultMap.get("memberId");
String reason = codeMapper.getReason(code);
// 核销成功模板ID
Long templateId = 1940687666448195586L;
// 查询模板信息
SysMessageTemplateVo template = templateService.selectTemplateById(templateId);
log.info("模板信息为: {}", template);
if (template != null) {
String content = template.getTemplateContent()
.replace("${productName}", productName)
.replace("${reason}",reason);
log.info("模板内容为: {}", content);
SysMessageBo messageBo = new SysMessageBo();
messageBo.setTitle(template.getTitle());
messageBo.setContent(content);
messageBo.setSenderId(memberId);
sysMessageService.sendMessageToUser(messageBo, memberId);
}
}
} }

View File

@ -6,6 +6,9 @@ import com.wzj.soopin.order.mapper.VerificationLogsMapper;
import com.wzj.soopin.order.service.VerificationLogsService; import com.wzj.soopin.order.service.VerificationLogsService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/**
* @author fengxiaohang
*/
@Service @Service
public class VerificationLogsServiceImpl extends ServiceImpl<VerificationLogsMapper, VerificationLogs> implements VerificationLogsService { public class VerificationLogsServiceImpl extends ServiceImpl<VerificationLogsMapper, VerificationLogs> implements VerificationLogsService {
} }

View File

@ -1,22 +1,11 @@
package com.wzj.soopin.order.service.impl; package com.wzj.soopin.order.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wzj.soopin.order.domain.entity.WechatPaymentHistory; import com.wzj.soopin.order.domain.entity.WechatPaymentHistory;
import com.wzj.soopin.order.domain.query.WechatPaymentHistoryQuery;
import com.wzj.soopin.order.domain.vo.PageVO;
import com.wzj.soopin.order.mapper.WechatPaymentHistoryMapper; import com.wzj.soopin.order.mapper.WechatPaymentHistoryMapper;
import com.wzj.soopin.order.service.WechatPaymentHistoryService; import com.wzj.soopin.order.service.WechatPaymentHistoryService;
import com.wzj.soopin.order.utils.PageUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/** /**
* 微信订单表Service业务层处理 * 微信订单表Service业务层处理

View File

@ -0,0 +1,33 @@
<?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.wzj.soopin.order.mapper.VerificationCodesMapper">
<select id="getProduvtNameAndMemberId" resultType="map">
SELECT
p.name AS productName,
vc.member_id AS memberId
FROM oms_verification_codes vc
JOIN oms_order_item oi ON vc.order_id = oi.order_id
JOIN pms_product p ON oi.product_id = p.id
WHERE vc.code = #{code}
LIMIT 1
</select>
<select id="verificationTime" resultType="java.time.LocalDateTime">
SELECT vlogs.verification_time
FROM oms_verification_codes vcodes
JOIN oms_verification_logs vlogs ON vcodes.order_id = vlogs.order_id
WHERE vcodes.code = #{code}
LIMIT 1
</select>
<select id="getReason" resultType="java.lang.String">
SELECT logs.reason
FROM oms_verification_codes codes
JOIN oms_verification_logs logs ON codes.order_id = logs.order_id
WHERE codes.code = #{code}
LIMIT 1
</select>
</mapper>

View File

@ -0,0 +1,57 @@
package org.dromara.system.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.system.domain.SysVersion;
import org.dromara.system.domain.bo.SysVersionBo;
import org.dromara.system.domain.vo.SysVersionVo;
import org.dromara.system.service.ISysVerisonService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* @author fxh
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/system/version")
public class SysVersionController {
private final ISysVerisonService sysVerisonService;
@Tag(name ="查询app版本管理")
@PostMapping("/list")
public R<IPage<SysVersionVo>> list(@RequestBody SysVersionBo query, Page<SysVersion> page){
return R.ok(sysVerisonService.getList(page,query));
}
@Tag(name = "新增app版本管理")
@Log(title = "新增app版本管理", businessType = BusinessType.INSERT)
@PostMapping("/add")
public R add(@RequestBody SysVersion sysVersion) {
return R.ok(sysVerisonService.save(sysVersion));
}
@Tag(name ="修改状态")
@Log(title = "修改状态", businessType = BusinessType.UPDATE)
@GetMapping("/update")
public R updateStatus( @RequestParam Long id,
@RequestParam Integer status) {
return R.ok(sysVerisonService.updateStatus(id,status));
}
@Tag(name ="删除版本管理")
@Log(title = "删除版本管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
public R remove(@PathVariable Long id) {
return R.ok(sysVerisonService.removeById(id));
}
}

View File

@ -0,0 +1,37 @@
package org.dromara.system.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
@Data
@TableName("sys_version")
public class SysVersion extends BaseAudit {
@Schema(description = "id")
private Long id;
@Schema(description = "平台类型")
private String platformType;
@Schema(description = "版本号")
private String versionCode;
@Schema(description = "版本名称")
private String versionName;
@Schema(description = "下载地址")
private String downloadUrl;
@Schema(description = "是否强制更新0否、1是")
private Integer isForceUpdate;
@Schema(description = "版本说明")
private String releaseNotes;
@Schema(description = "状态0停用/1启用")
private Integer status;
}

View File

@ -0,0 +1,17 @@
package org.dromara.system.domain.bo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class SysVersionBo {
@Schema(description = "平台类型ios/android")
private String platformType;
@Schema(description = "版本号")
private String versionCode;
@Schema(description = "版本名称")
private String versionName;
}

View File

@ -0,0 +1,36 @@
package org.dromara.system.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
@Data
public class SysVersionVo extends BaseAudit {
@Schema(description = "id")
private Long id;
@Schema(description = "平台类型")
private String platformType;
@Schema(description = "版本号")
private String versionCode;
@Schema(description = "版本名称")
private String versionName;
@Schema(description = "下载地址")
private String downloadUrl;
@Schema(description = "是否强制更新0否、1是")
private Integer isForceUpdate;
@Schema(description = "版本说明")
private String releaseNotes;
@Schema(description = "状态0停用/1启用")
private Integer status;
}

View File

@ -0,0 +1,16 @@
package org.dromara.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.dromara.system.domain.SysVersion;
import org.dromara.system.domain.bo.SysVersionBo;
import org.dromara.system.domain.vo.SysVersionVo;
@Mapper
public interface SysVerisonMapper extends BaseMapper<SysVersion> {
IPage<SysVersionVo> getList(@Param("page") Page<SysVersion> page, @Param("query") SysVersionBo query);
}

View File

@ -0,0 +1,15 @@
package org.dromara.system.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.system.domain.SysVersion;
import org.dromara.system.domain.bo.SysVersionBo;
import org.dromara.system.domain.vo.SysVersionVo;
public interface ISysVerisonService extends IService<SysVersion> {
IPage<SysVersionVo> getList(Page<SysVersion> page, SysVersionBo query);
SysVersion updateStatus(Long id, Integer status);
}

View File

@ -0,0 +1,37 @@
package org.dromara.system.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.system.domain.SysVersion;
import org.dromara.system.domain.bo.SysVersionBo;
import org.dromara.system.domain.vo.SysVersionVo;
import org.dromara.system.mapper.SysVerisonMapper;
import org.dromara.system.service.ISysVerisonService;
import org.springframework.stereotype.Service;
@Slf4j
@RequiredArgsConstructor
@Service
public class SysVerisonServiceImpl extends ServiceImpl<SysVerisonMapper, SysVersion> implements ISysVerisonService {
private final SysVerisonMapper sysVerisonMapper;
@Override
public IPage<SysVersionVo> getList(Page<SysVersion> page, SysVersionBo query) {
return sysVerisonMapper.getList(page,query);
}
@Override
public SysVersion updateStatus(Long id, Integer status) {
SysVersion sysVersion = sysVerisonMapper.selectById(id);
if (sysVersion == null) {
throw new RuntimeException("版本不存在");
}
sysVersion.setStatus(status);
sysVerisonMapper.updateById(sysVersion);
return sysVersion;
}
}

View File

@ -0,0 +1,26 @@
<?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="org.dromara.system.mapper.SysVerisonMapper">
<select id="getList" resultType="org.dromara.system.domain.vo.SysVersionVo">
SELECT *
FROM sys_version v
<where>
<if test="query.versionName != null and query.versionName != ''">
v.version_name LIKE CONCAT('%', #{query.versionName}, '%')
</if>
<if test="query.versionCode != null and query.versionCode != ''">
AND v.version_code LIKE CONCAT('%', #{query.versionCode}, '%')
</if>
<if test="query.platformType != null and query.platformType != ''">
AND v.platform_type LIKE CONCAT('%', #{query.platformType}, '%')
</if>
</where>
ORDER BY v.version_code asc
</select>
</mapper>