Merge remote-tracking branch 'origin/wzj-main' into wzj-main

This commit is contained in:
曹佳豪 2025-06-19 09:30:54 +08:00
commit be202b164b
114 changed files with 1995 additions and 1144 deletions

View File

@ -146,6 +146,7 @@ tenant:
- ums_account
- ums_account_change_record
- ums_fans
- ums_block
- oms_aftersale
- oms_aftersale_item
- oms_order
@ -154,7 +155,6 @@ tenant:
- oms_order_operate_history
- oms_wechat_payment_history
- pms_brand
- pms_product
- pms_product_category
- pms_product_snapshot
- pms_sku

View File

@ -30,7 +30,7 @@ public interface CacheConstants {
/**
* 用户
*/
String MEMEBER="MEMEBER:";
String MEMBER ="MEMBER:";
/**
* 粉丝
@ -45,4 +45,16 @@ public interface CacheConstants {
String BLACK_LIST="BLACK_LIST:";
String GROUP="GROUP:";
String GROUP_MEMBER="GROUP_MEMBER:";
String VLOG="VLOG:";
String COMMENT="COMMENT:";
String CHAT="CHAT:";
}

View File

@ -26,6 +26,6 @@ public class BaseBO <T> {
* @return
*/
public LambdaQueryWrapper<T> toWrapper() {
return null;
return new LambdaQueryWrapper<T>();
}
}

View File

@ -0,0 +1,4 @@
package org.dromara.common.web.core;
public interface MemberFill {
}

View File

@ -11,6 +11,7 @@ import com.wzj.soopin.goods.domain.vo.BrandVO;
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 org.dromara.common.core.domain.R;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.log.annotation.Log;
@ -27,7 +28,7 @@ import java.util.List;
* @author zcc
* @date 2022-11-28
*/
@Api(description ="品牌管理接口列表")
@Tag(name ="品牌管理接口列表")
@RestController
@RequestMapping("/pms/brand")
public class BrandController extends BaseController {
@ -37,14 +38,14 @@ public class BrandController extends BaseController {
private BrandConvert convert;
@ApiOperation("所有品牌管理列表")
@Tag(name ="所有品牌管理列表")
@PostMapping("list")
public R<Page<BrandVO>> list(@RequestBody BrandBo query, Page<Brand> page) {
Page<Brand> brandPage = service.page(page,query.toWrapper());
return R.ok(convert.toVO(brandPage));
}
@ApiOperation("导出品牌管理列表")
@Tag(name ="导出品牌管理列表")
@Log(title = "品牌管理", businessType = BusinessType.EXPORT)
@GetMapping("export")
public ResponseEntity<String> export(BrandBo query) {
@ -53,27 +54,27 @@ public class BrandController extends BaseController {
return ResponseEntity.ok(util.writeExcel(convert.toVO(list), "品牌管理数据"));
}
@ApiOperation("获取品牌管理详细信息")
@Tag(name ="获取品牌管理详细信息")
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") Long id) {
return R.ok(service.getById(id));
}
@ApiOperation("新增品牌管理")
@Tag(name ="新增品牌管理")
@Log(title = "品牌管理", businessType = BusinessType.INSERT)
@PostMapping("/add")
public R add(@RequestBody Brand brand) {
return R.ok(service.save(brand));
}
@ApiOperation("修改品牌管理")
@Tag(name ="修改品牌管理")
@Log(title = "品牌管理", businessType = BusinessType.UPDATE)
@PostMapping("/update")
public R edit(@RequestBody Brand brand) {
return R.ok(service.updateById(brand));
}
@ApiOperation("删除品牌管理")
@Tag(name ="删除品牌管理")
@Log(title = "品牌管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
public R remove(@PathVariable Long id) {

View File

@ -12,6 +12,7 @@ import com.wzj.soopin.goods.domain.vo.ProductCategoryVO;
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 org.dromara.common.core.domain.R;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
@ -28,7 +29,7 @@ import java.util.List;
* @author zcc
* @date 2022-11-28
*/
@Api(description ="商品分类接口列表")
@Tag(name ="商品分类接口列表")
@RestController
@RequestMapping("/pms/productCategory")
public class ProductCategoryController extends BaseController {
@ -37,34 +38,34 @@ public class ProductCategoryController extends BaseController {
@Autowired
private ProductCategoryConvert convert;
@ApiOperation("查询商品分类列表")
@Tag(name ="查询商品分类列表")
@PostMapping("list")
public R<Page<ProductCategoryVO>> list(@RequestBody ProductCategoryBo query, Page<ProductCategory> page) {
Page<ProductCategory> productCategoryPage = service.page(page,query.toWrapper());
return R.ok(convert.toVO(productCategoryPage));
}
@ApiOperation("获取商品分类详细信息")
@Tag(name ="获取商品分类详细信息")
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") Long id) {
return R.ok(service.getById(id));
}
@ApiOperation("新增商品分类")
@Tag(name ="获取商品分类详细信息")
@Log(title = "商品分类", businessType = BusinessType.INSERT)
@PostMapping("/add")
public R add(@RequestBody ProductCategory productCategory) {
return R.ok(service.save(productCategory));
}
@ApiOperation("修改商品分类")
@Tag(name ="修改商品分类")
@Log(title = "商品分类", businessType = BusinessType.UPDATE)
@PostMapping("/update")
public R edit(@RequestBody ProductCategory productCategory) {
return R.ok(service.updateById(productCategory));
}
@ApiOperation("删除商品分类")
@Tag(name ="删除商品分类")
@Log(title = "商品分类", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
public R remove(@PathVariable Long id) {

View File

@ -1,6 +1,7 @@
package com.wzj.soopin.goods.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.goods.convert.ProductConvert;
import com.wzj.soopin.goods.domain.bo.BrandBo;
@ -13,9 +14,11 @@ 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.service.ProductService;
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 org.dromara.common.core.domain.R;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.log.annotation.Log;
@ -32,7 +35,7 @@ import java.util.List;
* @author zcc
* @date 2022-11-28
*/
@Api(description ="商品信息接口列表")
@Tag(name ="商品信息接口列表")
@RestController
@RequestMapping("/pms/product")
public class ProductController extends BaseController {
@ -40,16 +43,17 @@ public class ProductController extends BaseController {
private ProductServiceImpl service;
@Autowired
private ProductConvert convert;
@Autowired
private ProductService productService;
@ApiOperation("查询商品信息列表")
@Tag(name ="查询商品信息列表")
@PostMapping("list")
public R<Page<ProductVO>> list(@RequestBody ProductBo query, Page<Product> page) {
Page<Product> productPage = service.page(page,query.toWrapper());
return R.ok(convert.toVO(productPage));
public R<IPage<ProductVO>> list(@RequestBody ProductBo query, Page<Product> page) {
return R.ok(productService.getList(query,page));
}
@ApiOperation("导出商品信息列表")
@Tag(name ="导出商品信息列表")
@Log(title = "商品信息", businessType = BusinessType.EXPORT)
@GetMapping("export")
public ResponseEntity<String> export(ProductBo query) {
@ -59,27 +63,28 @@ public class ProductController extends BaseController {
}
@ApiOperation("获取商品信息详细信息")
@Tag(name ="获取商品信息详细信息")
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") Long id) {
return R.ok(service.getById(id));
}
@ApiOperation("新增商品信息")
@Tag(name ="新增商品信息")
@Log(title = "商品信息", businessType = BusinessType.INSERT)
@PostMapping("/add")
public R add(@RequestBody Product product) {
product.setAuthFlag(1);
return R.ok(service.save(product));
}
@ApiOperation("修改商品信息")
@Tag(name ="修改商品信息")
@Log(title = "商品信息", businessType = BusinessType.UPDATE)
@PostMapping("/update")
public R edit(@RequestBody Product product) {
return R.ok(service.updateById(product));
}
@ApiOperation("删除商品信息")
@Tag(name ="删除商品信息")
@Log(title = "商品信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
public R remove(@PathVariable Long id) {

View File

@ -12,6 +12,7 @@ import com.wzj.soopin.goods.domain.vo.SkuVO;
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 org.dromara.common.core.domain.R;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.log.annotation.Log;
@ -28,7 +29,7 @@ import java.util.List;
* @author zcc
* @date 2022-11-28
*/
@Api(description ="sku信息接口列表")
@Tag(name ="sku信息接口列表")
@RestController
@RequestMapping("/pms/sku")
public class SkuController extends BaseController {
@ -38,7 +39,7 @@ public class SkuController extends BaseController {
private SkuConvert convert;
@ApiOperation("查询商品信息列表")
@Tag(name ="查询商品信息列表")
@PostMapping("list")
public R<Page<SkuVO>> list(@RequestBody SkuBo query, Page<Sku> page) {
Page<Sku> skuPage = service.page(page,query.toWrapper());
@ -46,7 +47,7 @@ public class SkuController extends BaseController {
}
@ApiOperation("导出sku信息列表")
@Tag(name ="导出sku信息列表")
@Log(title = "sku信息", businessType = BusinessType.EXPORT)
@GetMapping("export")
public ResponseEntity<String> export(SkuBo query) {
@ -55,27 +56,27 @@ public class SkuController extends BaseController {
return ResponseEntity.ok(util.writeExcel(convert.toVO(list), "sku信息数据"));
}
@ApiOperation("获取sku信息详细信息")
@Tag(name ="获取sku信息详细信息")
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") Long id) {
return R.ok(service.getById(id));
}
@ApiOperation("新增sku信息")
@Tag(name ="新增sku信息")
@Log(title = "sku信息", businessType = BusinessType.INSERT)
@PostMapping("/add")
public R add(@RequestBody Sku sku) {
return R.ok(service.save(sku));
}
@ApiOperation("修改sku信息")
@Tag(name ="修改sku信息")
@Log(title = "sku信息", businessType = BusinessType.UPDATE)
@PostMapping("/update")
public R edit(@RequestBody Sku sku) {
return R.ok(service.updateById(sku));
}
@ApiOperation("删除sku信息")
@Tag(name ="删除sku信息")
@Log(title = "sku信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
public R remove(@PathVariable Long id) {

View File

@ -3,30 +3,28 @@ package com.wzj.soopin.goods.domain.bo;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wzj.soopin.goods.domain.entity.Brand;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@ApiModel(description="品牌管理 查询 对象")
@Schema(description = "品牌管理 查询 对象")
public class BrandBo {
@ApiModelProperty("NAME 精确匹配")
@Schema(description = "NAME 模糊匹配")
private String nameLike;
@ApiModelProperty("SORT 精确匹配")
@Schema(description = "SORT 精确匹配")
private Integer sort;
@ApiModelProperty("SHOW_STATUS 精确匹配")
@Schema(description = "SHOW_STATUS 精确匹配")
private Integer showStatus;
@ApiModelProperty("品牌logo 精确匹配")
@Schema(description = "品牌logo 精确匹配")
private String logo;
public Wrapper<Brand> toWrapper() {
LambdaQueryWrapper<Brand> queryWrapper = new LambdaQueryWrapper<>();
if (nameLike != null && !nameLike.isEmpty()) {
queryWrapper.like(Brand::getName, nameLike);
}
@ -45,4 +43,3 @@ public class BrandBo {
return queryWrapper;
}
}

View File

@ -4,79 +4,86 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.wzj.soopin.goods.domain.entity.Product;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@Data
@ApiModel(description = "商品信息 查询 对象")
@Schema(description = "商品信息 查询 对象")
public class ProductBo {
@ApiModelProperty("BRAND_ID 精确匹配")
@Schema(description = "BRAND_ID 精确匹配")
private Long brandId;
@ApiModelProperty("CATEGORY_ID 精确匹配")
@Schema(description = "CATEGORY_ID 精确匹配")
private Long categoryId;
@ApiModelProperty("商品编码 精确匹配")
@Schema(description = "商品编码 精确匹配")
private String outProductId;
@ApiModelProperty("NAME 模糊匹配")
@Schema(description = "NAME 模糊匹配")
private String nameLike;
@ApiModelProperty("主图 精确匹配")
@Schema(description = "主图 精确匹配")
private String pic;
@ApiModelProperty("画册图片连产品图片限制为5张以逗号分割 精确匹配")
@Schema(description = "画册图片连产品图片限制为5张以逗号分割 精确匹配")
private String albumPics;
@ApiModelProperty("上架状态0->下架1->上架 精确匹配")
@Schema(description = "上架状态0->下架1->上架 精确匹配")
private Integer publishStatus;
@ApiModelProperty("排序 精确匹配")
@Schema(description = "排序 精确匹配")
private Integer sort;
@ApiModelProperty("PRICE 精确匹配")
@Schema(description = "PRICE 精确匹配")
private BigDecimal price;
@ApiModelProperty("单位 精确匹配")
@Schema(description = "单位 精确匹配")
private String unit;
@ApiModelProperty(name = "商品销售属性json格式")
@Schema(description = "商品销售属性json格式")
private String productAttr;
@ApiModelProperty("商品重量,默认为克 精确匹配")
@Schema(description = "商品重量,默认为克 精确匹配")
private BigDecimal weight;
@ApiModelProperty("产品详情网页内容 精确匹配")
@Schema(description = "产品详情网页内容 精确匹配")
private String detailHtml;
@ApiModelProperty("移动端网页详情 精确匹配")
@Schema(description = "移动端网页详情 精确匹配")
private String detailMobileHtml;
@ApiModelProperty("品牌名称 模糊匹配")
@Schema(description = "品牌名称 模糊匹配")
private String brandNameLike;
@ApiModelProperty("商品分类名称 模糊匹配")
@Schema(description = "商品分类名称 模糊匹配")
private String productCategoryNameLike;
@ApiModelProperty("排序字段")
@Schema(description = "排序字段")
private String orderField = "sort";
@ApiModelProperty("排序规则")
@Schema(description = "排序规则")
private String orderSort = "desc";
@ApiModelProperty("搜索关键字")
@Schema(description = "搜索关键字")
private String search;
// 排查的id
@Schema(description = "排除的商品ID列表")
private List<Long> excludeProductIds;
@Schema(description = "指定的商品ID列表")
private List<Long> ids;
@Schema(description = "审核状态")
private String authFlag;
@Schema(description = "店家手机号")
private String contactPhone;
public Wrapper<Product> toWrapper() {
LambdaQueryWrapper<Product> queryWrapper = new LambdaQueryWrapper<>();
@ -144,5 +151,4 @@ public class ProductBo {
return queryWrapper;
}
}

View File

@ -3,33 +3,32 @@ package com.wzj.soopin.goods.domain.bo;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wzj.soopin.goods.domain.entity.ProductCategory;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@Data
@ApiModel(description="商品分类 查询 对象")
@Schema(description = "商品分类 查询 对象")
public class ProductCategoryBo {
@ApiModelProperty("上级分类的编号0表示一级分类 精确匹配")
@Schema(description = "上级分类的编号0表示一级分类 精确匹配")
private Long parentId;
@ApiModelProperty("NAME 精确匹配")
@Schema(description = "NAME 模糊匹配")
private String nameLike;
@ApiModelProperty("分类级别0->1级1->2级 精确匹配")
@Schema(description = "分类级别0->1级1->2级 精确匹配")
private Integer level;
@ApiModelProperty("显示状态0->不显示1->显示 精确匹配")
@Schema(description = "显示状态0->不显示1->显示 精确匹配")
private Integer showStatus;
@ApiModelProperty("SORT 精确匹配")
@Schema(description = "SORT 精确匹配")
private Integer sort;
@ApiModelProperty("图标 精确匹配")
@Schema(description = "图标 精确匹配")
private String icon;
public Wrapper<ProductCategory> toWrapper() {
@ -59,8 +58,4 @@ public class ProductCategoryBo {
return queryWrapper;
}
}

View File

@ -3,29 +3,28 @@ package com.wzj.soopin.goods.domain.bo;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wzj.soopin.goods.domain.entity.Sku;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@Data
@ApiModel(description="sku信息 查询 对象")
@Schema(description = "SKU信息 查询 对象")
public class SkuBo {
@ApiModelProperty("PRODUCT_ID 精确匹配")
@Schema(description = "PRODUCT_ID 精确匹配")
private Long productId;
@ApiModelProperty("sku编码 精确匹配")
@Schema(description = "sku编码 精确匹配")
private String outSkuId;
@ApiModelProperty("PRICE 精确匹配")
@Schema(description = "PRICE 精确匹配")
private BigDecimal price;
@ApiModelProperty("展示图片 精确匹配")
@Schema(description = "展示图片 精确匹配")
private String pic;
@ApiModelProperty("商品销售属性json格式 精确匹配")
@Schema(description = "商品销售属性json格式 精确匹配")
private String spData;
public Wrapper<Sku> toWrapper() {
@ -50,5 +49,4 @@ public class SkuBo {
return queryWrapper;
}
}

View File

@ -1,15 +1,26 @@
package com.wzj.soopin.goods.domain.dto;
import com.wzj.soopin.goods.domain.vo.H5ProductVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
@Schema(description = "商品分类数据传输对象")
@Data
public class CategoryDTO {
@Schema(description = "分类ID")
private Long id;
@Schema(description = "排序")
private Integer sort;
@Schema(description = "分类名称")
private String name;
@Schema(description = "分类图标")
private String icon;
@Schema(description = "分类下的商品列表")
private List<H5ProductVO> productList;
}

View File

@ -1,8 +1,7 @@
package com.wzj.soopin.goods.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.excel.annotation.Excel;
@ -12,29 +11,28 @@ import org.dromara.common.excel.annotation.Excel;
*
* @author zcc
*/
@ApiModel(description="品牌管理对象")
@Schema(description = "品牌管理对象")
@Data
@TableName("pms_brand")
public class Brand extends BaseAudit {
private static final long serialVersionUID = 1L;
@ApiModelProperty("ID")
@Schema(description = "ID")
private Long id;
@ApiModelProperty("NAME")
@Schema(description = "NAME")
@Excel(name = "NAME")
private String name;
@ApiModelProperty("SORT")
@Schema(description = "SORT")
@Excel(name = "SORT")
private Integer sort;
@ApiModelProperty("SHOW_STATUS")
@Schema(description = "SHOW_STATUS")
@Excel(name = "SHOW_STATUS")
private Integer showStatus;
@ApiModelProperty("品牌logo")
@Schema(description = "品牌logo")
@Excel(name = "品牌logo")
private String logo;
}

View File

@ -1,89 +1,104 @@
package com.wzj.soopin.goods.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.excel.annotation.Excel;
import java.math.BigDecimal;
/**
* 商品信息对象 pms_product
*
* @author zcc
*/
@ApiModel(description="商品信息对象")
@Schema(description = "商品信息对象")
@Data
@TableName("pms_product")
public class Product extends BaseAudit {
private static final long serialVersionUID = 1L;
@ApiModelProperty("ID")
@Schema(description = "ID")
private Long id;
@ApiModelProperty("BRAND_ID")
@Schema(description = "BRAND_ID")
@Excel(name = "BRAND_ID")
private Long brandId;
@ApiModelProperty("CATEGORY_ID")
@Schema(description = "CATEGORY_ID")
@Excel(name = "CATEGORY_ID")
private Long categoryId;
@ApiModelProperty("商品编码")
@Schema(description = "商品编码")
@Excel(name = "商品编码")
private String outProductId;
@ApiModelProperty("NAME")
@Schema(description = "NAME")
@Excel(name = "NAME")
private String name;
@ApiModelProperty("主图")
@Schema(description = "主图")
@Excel(name = "主图")
private String pic;
@ApiModelProperty("画册图片连产品图片限制为5张以逗号分割")
@Schema(description = "画册图片连产品图片限制为5张以逗号分割")
@Excel(name = "画册图片连产品图片限制为5张以逗号分割")
private String albumPics;
@ApiModelProperty("上架状态0->下架1->上架")
@Schema(description = "上架状态0->下架1->上架")
@Excel(name = "上架状态0->下架1->上架")
private Integer publishStatus;
@ApiModelProperty("排序")
@Schema(description = "排序")
@Excel(name = "排序")
private Integer sort;
@ApiModelProperty("PRICE")
@Schema(description = "PRICE")
@Excel(name = "PRICE")
private BigDecimal price;
@ApiModelProperty("单位")
@Schema(description = "单位")
@Excel(name = "单位")
private String unit;
@ApiModelProperty("商品重量,默认为克")
@Schema(description = "商品重量,默认为克")
@Excel(name = "商品重量,默认为克")
private BigDecimal weight;
@ApiModelProperty("商品销售属性json格式")
@Schema(description = "商品销售属性json格式")
@Excel(name = "商品销售属性json格式")
private String productAttr;
@ApiModelProperty("产品详情网页内容")
@Schema(description = "产品详情网页内容")
@Excel(name = "产品详情网页内容")
private String detailHtml;
@ApiModelProperty("移动端网页详情")
@Schema(description = "移动端网页详情")
@Excel(name = "移动端网页详情")
private String detailMobileHtml;
@ApiModelProperty("品牌名称")
@Schema(description = "品牌名称")
@Excel(name = "品牌名称")
private String brandName;
@ApiModelProperty("商品分类名称")
@Schema(description = "商品分类名称")
@Excel(name = "商品分类名称")
private String productCategoryName;
@Schema(description = "商品类型 1.团购;->2.拼团;3->秒杀")
@Excel(name = "商品类型 1.团购;->2.拼团;3->秒杀")
private Integer type;
@Schema(description = "店铺id")
@Excel(name = "店铺id")
private String tenantId;
@Schema(description = "审核状态 1.待审核;->2.审核通过;3->审核驳回")
@Excel(name = "审核状态 1.待审核;->2.审核通过;3->审核驳回")
private Integer authFlag;
@Schema(description = "销量")
@Excel(name = "销量")
private String sales;
}

View File

@ -1,8 +1,7 @@
package com.wzj.soopin.goods.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.excel.annotation.Excel;
@ -12,37 +11,36 @@ import org.dromara.common.excel.annotation.Excel;
*
* @author zcc
*/
@ApiModel(description="商品分类对象")
@Schema(description = "商品分类对象")
@Data
@TableName("pms_product_category")
public class ProductCategory extends BaseAudit {
private static final long serialVersionUID = 1L;
@ApiModelProperty("ID")
@Schema(description = "ID")
private Long id;
@ApiModelProperty("上级分类的编号0表示一级分类")
@Schema(description = "上级分类的编号0表示一级分类")
@Excel(name = "上级分类的编号0表示一级分类")
private Long parentId;
@ApiModelProperty("NAME")
@Schema(description = "NAME")
@Excel(name = "NAME")
private String name;
@ApiModelProperty("分类级别0->1级1->2级")
@Schema(description = "分类级别0->1级1->2级")
@Excel(name = "分类级别0->1级1->2级")
private Integer level;
@ApiModelProperty("显示状态0->不显示1->显示")
@Schema(description = "显示状态0->不显示1->显示")
@Excel(name = "显示状态0->不显示1->显示")
private Integer showStatus;
@ApiModelProperty("SORT")
@Schema(description = "SORT")
@Excel(name = "SORT")
private Integer sort;
@ApiModelProperty("图标")
@Schema(description = "图标")
@Excel(name = "图标")
private String icon;
}

View File

@ -1,49 +1,48 @@
package com.wzj.soopin.goods.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.excel.annotation.Excel;
import java.math.BigDecimal;
/**
* sku信息对象 pms_sku
*
* @author zcc
*/
@ApiModel(description="sku信息对象")
@Schema(description = "SKU信息对象")
@Data
@TableName("pms_sku")
public class Sku extends BaseAudit {
private static final long serialVersionUID = 1L;
@ApiModelProperty("ID")
@Schema(description = "ID")
private Long id;
@ApiModelProperty("PRODUCT_ID")
@Schema(description = "PRODUCT_ID")
@Excel(name = "PRODUCT_ID")
private Long productId;
@ApiModelProperty("sku编码")
@Excel(name = "sku编码")
@Schema(description = "SKU编码")
@Excel(name = "SKU编码")
private String outSkuId;
@ApiModelProperty("PRICE")
@Excel(name = "PRICE")
@Schema(description = "价格")
@Excel(name = "价格")
private BigDecimal price;
@ApiModelProperty("展示图片")
@Schema(description = "展示图片")
@Excel(name = "展示图片")
private String pic;
@ApiModelProperty("商品销售属性json格式")
@Excel(name = "商品销售属性,json格式")
@Schema(description = "商品销售属性JSON格式")
@Excel(name = "商品销售属性,JSON格式")
private String spData;
@ApiModelProperty("库存数")
@Schema(description = "库存数")
@Excel(name = "库存数")
private Integer stock;
}

View File

@ -1,7 +1,6 @@
package com.wzj.soopin.goods.domain.query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
@ -9,19 +8,18 @@ import lombok.Data;
*
* @author zcc
*/
@ApiModel(description="品牌管理 查询 对象")
@Schema(description = "品牌管理查询对象")
@Data
public class BrandQuery {
@ApiModelProperty("NAME 精确匹配")
@Schema(description = "NAME 精确匹配")
private String nameLike;
@ApiModelProperty("SORT 精确匹配")
@Schema(description = "SORT 精确匹配")
private Integer sort;
@ApiModelProperty("SHOW_STATUS 精确匹配")
@Schema(description = "SHOW_STATUS 精确匹配")
private Integer showStatus;
@ApiModelProperty("品牌logo 精确匹配")
@Schema(description = "品牌logo 精确匹配")
private String logo;
}

View File

@ -1,7 +1,6 @@
package com.wzj.soopin.goods.domain.query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
@ -9,25 +8,24 @@ import lombok.Data;
*
* @author zcc
*/
@ApiModel(description="商品分类 查询 对象")
@Schema(description = "商品分类查询对象")
@Data
public class ProductCategoryQuery {
@ApiModelProperty("上级分类的编号0表示一级分类 精确匹配")
@Schema(description = "上级分类的编号0表示一级分类 精确匹配")
private Long parentId;
@ApiModelProperty("NAME 精确匹配")
@Schema(description = "NAME 模糊匹配")
private String nameLike;
@ApiModelProperty("分类级别0->1级1->2级 精确匹配")
@Schema(description = "分类级别0->1级1->2级 精确匹配")
private Integer level;
@ApiModelProperty("显示状态0->不显示1->显示 精确匹配")
@Schema(description = "显示状态0->不显示1->显示 精确匹配")
private Integer showStatus;
@ApiModelProperty("SORT 精确匹配")
@Schema(description = "SORT 精确匹配")
private Integer sort;
@ApiModelProperty("图标 精确匹配")
@Schema(description = "图标 精确匹配")
private String icon;
}

View File

@ -1,7 +1,6 @@
package com.wzj.soopin.goods.domain.query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@ -12,69 +11,69 @@ import java.util.List;
*
* @author zcc
*/
@ApiModel(description="商品信息 查询 对象")
@Schema(description = "商品信息查询对象")
@Data
public class ProductQuery {
@ApiModelProperty("BRAND_ID 精确匹配")
@Schema(description = "BRAND_ID 精确匹配")
private Long brandId;
@ApiModelProperty("CATEGORY_ID 精确匹配")
@Schema(description = "CATEGORY_ID 精确匹配")
private Long categoryId;
@ApiModelProperty("商品编码 精确匹配")
@Schema(description = "商品编码 精确匹配")
private String outProductId;
@ApiModelProperty("NAME 精确匹配")
@Schema(description = "NAME 模糊匹配")
private String nameLike;
@ApiModelProperty("主图 精确匹配")
@Schema(description = "主图 精确匹配")
private String pic;
@ApiModelProperty("画册图片连产品图片限制为5张以逗号分割 精确匹配")
@Schema(description = "画册图片连产品图片限制为5张以逗号分割 精确匹配")
private String albumPics;
@ApiModelProperty("上架状态0->下架1->上架 精确匹配")
@Schema(description = "上架状态0->下架1->上架 精确匹配")
private Integer publishStatus;
@ApiModelProperty("排序 精确匹配")
@Schema(description = "排序 精确匹配")
private Integer sort;
@ApiModelProperty("PRICE 精确匹配")
@Schema(description = "PRICE 精确匹配")
private BigDecimal price;
@ApiModelProperty("单位 精确匹配")
@Schema(description = "单位 精确匹配")
private String unit;
@ApiModelProperty(name = "商品销售属性json格式")
@Schema(description = "商品销售属性JSON格式")
private String productAttr;
@ApiModelProperty("商品重量,默认为克 精确匹配")
@Schema(description = "商品重量,默认为克 精确匹配")
private BigDecimal weight;
@ApiModelProperty("产品详情网页内容 精确匹配")
@Schema(description = "产品详情网页内容 精确匹配")
private String detailHtml;
@ApiModelProperty("移动端网页详情 精确匹配")
@Schema(description = "移动端网页详情 精确匹配")
private String detailMobileHtml;
@ApiModelProperty("品牌名称 精确匹配")
@Schema(description = "品牌名称 模糊匹配")
private String brandNameLike;
@ApiModelProperty("商品分类名称 精确匹配")
@Schema(description = "商品分类名称 模糊匹配")
private String productCategoryNameLike;
@ApiModelProperty("排序字段")
@Schema(description = "排序字段默认值sort")
private String orderField = "sort";
@ApiModelProperty("排序规则")
@Schema(description = "排序规则默认值desc")
private String orderSort = "desc";
@ApiModelProperty("搜索关键字")
@Schema(description = "搜索关键字,支持多字段模糊匹配")
private String search;
//排查的id
@Schema(description = "排除的商品ID列表")
private List<Long> excludeProductIds;
@Schema(description = "包含的商品ID列表")
private List<Long> ids;
}

View File

@ -1,32 +1,30 @@
package com.wzj.soopin.goods.domain.query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
/**
* sku信息 查询 对象
* SKU信息 查询 对象
*
* @author zcc
*/
@ApiModel(description="sku信息 查询 对象")
@Schema(description = "SKU信息查询对象")
@Data
public class SkuQuery {
@ApiModelProperty("PRODUCT_ID 精确匹配")
@Schema(description = "PRODUCT_ID 精确匹配")
private Long productId;
@ApiModelProperty("sku编码 精确匹配")
@Schema(description = "SKU编码 精确匹配")
private String outSkuId;
@ApiModelProperty("PRICE 精确匹配")
@Schema(description = "价格 精确匹配")
private BigDecimal price;
@ApiModelProperty("展示图片 精确匹配")
@Schema(description = "展示图片 精确匹配")
private String pic;
@ApiModelProperty("商品销售属性json格式 精确匹配")
@Schema(description = "商品销售属性JSON格式 精确匹配")
private String spData;
}

View File

@ -1,6 +1,6 @@
package com.wzj.soopin.goods.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.excel.annotation.Excel;
@ -10,20 +10,30 @@ import org.dromara.common.excel.annotation.Excel;
*
* @author zcc
*/
@Schema(description = "品牌管理数据视图对象")
@Data
public class BrandVO extends BaseAudit {
/** ID */
/** ID */
@Schema(description = "ID")
private Long id;
/** NAME */
/** NAME */
@Schema(description = "NAME")
@Excel(name = "NAME")
private String name;
/** SORT */
/** SORT */
@Schema(description = "SORT")
@Excel(name = "SORT")
private Integer sort;
/** SHOW_STATUS */
/** SHOW_STATUS */
@Schema(description = "SHOW_STATUS")
@Excel(name = "SHOW_STATUS")
private Integer showStatus;
/** 品牌logo */
/** 品牌logo */
@Schema(description = "品牌logo")
@Excel(name = "品牌logo")
private String logo;
}

View File

@ -1,13 +1,22 @@
package com.wzj.soopin.goods.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@Schema(description = "H5端商品数据视图对象")
@Data
public class H5ProductVO {
@Schema(description = "商品ID")
private Long id;
@Schema(description = "商品图片")
private String pic;
@Schema(description = "商品名称")
private String name;
@Schema(description = "商品价格")
private BigDecimal price;
}

View File

@ -1,5 +1,6 @@
package com.wzj.soopin.goods.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
@ -10,21 +11,37 @@ import java.util.List;
*
* @author zcc
*/
@Schema(description = "商品分类数据视图对象")
@Data
public class ProductCategoryVO extends BaseAudit {
/** ID */
/** ID */
@Schema(description = "ID")
private Long id;
/** 上级分类的编号0表示一级分类 */
/** 上级分类的编号0表示一级分类 */
@Schema(description = "上级分类的编号0表示一级分类")
private Long parentId;
/** NAME */
/** NAME */
@Schema(description = "NAME")
private String name;
/** 分类级别0->1级1->2级 */
/** 分类级别0->1级1->2级 */
@Schema(description = "分类级别0->1级1->2级")
private Integer level;
/** 显示状态0->不显示1->显示 */
/** 显示状态0->不显示1->显示 */
@Schema(description = "显示状态0->不显示1->显示")
private Integer showStatus;
/** SORT */
/** SORT */
@Schema(description = "SORT")
private Integer sort;
/** 图标 */
/** 图标 */
@Schema(description = "图标")
private String icon;
@Schema(description = "子分类列表")
private List<ProductCategoryVO> children;
}

View File

@ -3,13 +3,20 @@ package com.wzj.soopin.goods.domain.vo;
import com.wzj.soopin.goods.domain.entity.Brand;
import com.wzj.soopin.goods.domain.entity.Product;
import com.wzj.soopin.goods.domain.entity.Sku;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
@Schema(description = "商品详情数据视图对象")
@Data
public class ProductDetailVO {
@Schema(description = "商品基本信息")
private Product product;
@Schema(description = "商品SKU列表")
private List<Sku> skus;
@Schema(description = "品牌信息")
private Brand brand;
}

View File

@ -1,67 +1,127 @@
package com.wzj.soopin.goods.domain.vo;
import com.wzj.soopin.goods.domain.entity.Sku;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.excel.annotation.Excel;
import java.math.BigDecimal;
import java.util.List;
/**
* 商品信息 数据视图对象
*
* @author zcc
*/
@Schema(description = "商品信息数据视图对象")
@Data
public class ProductVO extends BaseAudit {
/** ID */
/** ID */
@Schema(description = "ID")
private Long id;
/** BRAND_ID */
/** BRAND_ID */
@Schema(description = "BRAND_ID")
@Excel(name = "BRAND_ID")
private Long brandId;
/** CATEGORY_ID */
/** CATEGORY_ID */
@Schema(description = "CATEGORY_ID")
@Excel(name = "CATEGORY_ID")
private Long categoryId;
/** 商品编码 */
/** 商品编码 */
@Schema(description = "商品编码")
@Excel(name = "商品编码")
private String outProductId;
/** NAME */
/** NAME */
@Schema(description = "NAME")
@Excel(name = "NAME")
private String name;
/** 主图 */
/** 主图 */
@Schema(description = "主图")
@Excel(name = "主图")
private String pic;
/** 画册图片连产品图片限制为5张以逗号分割 */
/** 画册图片连产品图片限制为5张以逗号分割 */
@Schema(description = "画册图片连产品图片限制为5张以逗号分割")
@Excel(name = "画册图片连产品图片限制为5张以逗号分割")
private String albumPics;
/** 上架状态0->下架1->上架 */
/** 上架状态0->下架1->上架 */
@Schema(description = "上架状态0->下架1->上架")
@Excel(name = "上架状态0->下架1->上架")
private Integer publishStatus;
/** 排序 */
/** 排序 */
@Schema(description = "排序")
@Excel(name = "排序")
private Integer sort;
/** PRICE */
/** PRICE */
@Schema(description = "PRICE")
@Excel(name = "PRICE")
private BigDecimal price;
/** 单位 */
/** 单位 */
@Schema(description = "单位")
@Excel(name = "单位")
private String unit;
/** 商品重量,默认为克 */
/** 商品重量,默认为克 */
@Schema(description = "商品重量,默认为克")
@Excel(name = "商品重量,默认为克")
private BigDecimal weight;
/** 产品详情网页内容 */
/** 产品详情网页内容 */
@Schema(description = "产品详情网页内容")
@Excel(name = "产品详情网页内容")
private String detailHtml;
/** 移动端网页详情 */
/** 移动端网页详情 */
@Schema(description = "移动端网页详情")
@Excel(name = "移动端网页详情")
private String detailMobileHtml;
/** 品牌名称 */
/** 品牌名称 */
@Schema(description = "品牌名称")
@Excel(name = "品牌名称")
private String brandName;
/** 商品分类名称 */
@Schema(description = "品牌logo")
private String brandLogo;
/** 商品分类名称 */
@Schema(description = "商品分类名称")
@Excel(name = "商品分类名称")
private String productCategoryName;
@Schema(description = "商品销售属性json格式")
@Excel(name = "商品销售属性json格式")
private String productAttr;
@Schema(description = "SKU列表")
private List<Sku> skuList;
@Schema(description = "店铺名称")
private String contactUserName;
@Schema(description = "店铺手机号")
private String contactPhone;
@Schema(description = "店铺id")
private String tenantId;
@Schema(description = "审核状态")
private String authFlag;
@Schema(description = "销量")
private String sales;
@Schema(description = "配送方式 1->到店核销2->自提;3->配送;")
private Integer distribution;
}

View File

@ -1,35 +1,50 @@
package com.wzj.soopin.goods.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.excel.annotation.Excel;
import java.math.BigDecimal;
/**
* sku信息 数据视图对象
*
* @author zcc
*/
@Schema(description = "SKU信息数据视图对象")
@Data
public class SkuVO extends BaseAudit {
/** ID */
/** ID */
@Schema(description = "ID")
private Long id;
/** PRODUCT_ID */
/** PRODUCT_ID */
@Schema(description = "PRODUCT_ID")
@Excel(name = "PRODUCT_ID")
private Long productId;
/** sku编码 */
/** sku编码 */
@Schema(description = "sku编码")
@Excel(name = "sku编码")
private String outSkuId;
/** PRICE */
/** PRICE */
@Schema(description = "PRICE")
@Excel(name = "PRICE")
private BigDecimal price;
/** 展示图片 */
/** 展示图片 */
@Schema(description = "展示图片")
@Excel(name = "展示图片")
private String pic;
/** 商品销售属性json格式 */
/** 商品销售属性json格式 */
@Schema(description = "商品销售属性json格式")
@Excel(name = "商品销售属性json格式")
private String spData;
@Schema(description = "库存数")
@Excel(name = "库存数")
private Integer stock;
}

View File

@ -1,7 +1,12 @@
package com.wzj.soopin.goods.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.goods.domain.bo.ProductBo;
import com.wzj.soopin.goods.domain.entity.Product;
import com.wzj.soopin.goods.domain.vo.ProductVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -18,4 +23,6 @@ public interface ProductMapper extends BaseMapper<Product> {
* @return 商品信息集合
*/
List<Product> selectByEntity(Product product);
IPage<ProductVO> getlist(@Param("page") Page<Product> page, @Param("query") ProductBo query);
}

View File

@ -1,7 +1,12 @@
package com.wzj.soopin.goods.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wzj.soopin.goods.domain.bo.ProductBo;
import com.wzj.soopin.goods.domain.entity.Product;
import com.wzj.soopin.goods.domain.vo.ProductVO;
public interface ProductService extends IService<Product> {
IPage<ProductVO> getList(ProductBo query, Page<Product> page);
}

View File

@ -4,8 +4,11 @@ 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.extension.plugins.pagination.Page;
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.entity.Product;
import com.wzj.soopin.goods.domain.entity.Sku;
import com.wzj.soopin.goods.domain.query.ProductQuery;
@ -209,4 +212,10 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
}
return res;
}
@Override
public IPage<ProductVO> getList(ProductBo query, Page<Product> page) {
IPage<ProductVO> resultPage = productMapper.getlist(page,query);
return resultPage;
}
}

View File

@ -55,4 +55,47 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="productCategoryName != null and productCategoryName != ''"> and product_category_name like concat('%', #{productCategoryName}, '%')</if>
</where>
</select>
<select id="getlist" resultType="ProductVO">
SELECT
p.*,
b.name AS brandName,
b.logo AS brandLogo,
t.contact_user_name AS contactUserName,
t.contact_phone AS contactPhone,
o.distribution AS distribution
FROM
pms_product p
LEFT JOIN
pms_brand b ON p.brand_id = b.id
LEFT JOIN
sys_tenant t ON p.tenant_id = t.tenant_id
LEFT JOIN
oms_order_item oi ON p.id = oi.product_id
LEFT JOIN
oms_order o ON oi.order_id = o.id
WHERE 1=1
<if test="query.contactPhone != null and query.contactPhone != ''">
AND t.contact_phone LIKE '%${query.contactPhone}%'
</if>
<if test="query.nameLike != null and query.nameLike != ''">
AND p.name LIKE CONCAT('%', #{query.nameLike}, '%')
</if>
<if test="query.publishStatus != null">
AND p.publish_status = #{query.publishStatus}
</if>
<if test="query.authFlag != null">
AND p.auth_flag = #{query.authFlag}
</if>
ORDER BY
p.sales DESC,
p.price ASC,
CASE p.auth_flag
WHEN 1 THEN 1
WHEN 3 THEN 2
WHEN 2 THEN 3
ELSE 4
END
</select>
</mapper>

View File

@ -98,7 +98,24 @@
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-sse</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.dromara</groupId>-->
<!-- <artifactId>ruoyi-order</artifactId>-->
<!-- <scope>runtime</scope>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.dromara</groupId>-->
<!-- <artifactId>ruoyi-goods</artifactId>-->
<!-- <scope>runtime</scope>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.dromara</groupId>-->
<!-- <artifactId>ruoyi-content</artifactId>-->
<!-- <scope>runtime</scope>-->
<!-- </dependency>-->
</dependencies>
<build>
</build>
</project>

View File

@ -2,16 +2,29 @@ package com.wzj.soopin.member.controller;
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.extension.plugins.pagination.Page;
import com.wzj.soopin.member.convert.FansConvert;
import com.wzj.soopin.member.convert.FeedbackConvert;
import com.wzj.soopin.member.domain.bo.FansBO;
import com.wzj.soopin.member.domain.bo.FeedbackBO;
import com.wzj.soopin.member.domain.po.Fans;
import com.wzj.soopin.member.domain.po.Feedback;
import com.wzj.soopin.member.domain.po.Member;
import com.wzj.soopin.member.domain.po.MemberBlock;
import com.wzj.soopin.member.domain.vo.FansVO;
import com.wzj.soopin.member.domain.vo.FeedbackVO;
import com.wzj.soopin.member.service.IFansService;
import com.wzj.soopin.member.service.IMemberBlockService;
import com.wzj.soopin.member.service.IMemberService;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.constant.CacheConstants;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.redis.utils.RedisUtils;
import org.springframework.web.bind.annotation.*;
@ -21,15 +34,63 @@ import java.util.List;
@RequestMapping("/ums/fans/")
@RestController
@RequiredArgsConstructor
@Tag(name ="粉丝与关注")
public class FansController {
private final IMemberService memberService;
private final IFansService fansService;
private final IFansService service;
private final FansConvert convert;
private final IMemberBlockService memberBlockService;
@Tag(name ="粉丝列表")
@PostMapping("/fan/list")
public R<IPage<FansVO>> fansList( Long memberId, @RequestBody Page page) {
LambdaQueryWrapper< Fans> fansQuery = new LambdaQueryWrapper<>();
fansQuery.eq(Fans::getVloggerId, memberId);
Page<Fans> fans= service.page(page,fansQuery);
return R.ok(convert.toVO( fans));
}
@Tag(name ="关注列表")
@PostMapping("/follow/list")
public R<IPage<FansVO>> followList( Long memberId, @RequestBody Page page) {
LambdaQueryWrapper< Fans> fansQuery = new LambdaQueryWrapper<>();
fansQuery.eq(Fans::getFanId, memberId);
Page<Fans> fans= service.page(page,fansQuery);
return R.ok(convert.toVO( fans));
}
@Tag(name ="朋友列表")
@PostMapping("/friend/list")
public R<IPage<FansVO>> friendList( Long memberId, @RequestBody Page page) {
LambdaQueryWrapper< Fans> fansQuery = new LambdaQueryWrapper<>();
fansQuery.eq(Fans::getVloggerId, memberId);
fansQuery.eq(Fans::getFriendFlag, 1);
Page<Fans> fans= service.page(page,fansQuery);
return R.ok(convert.toVO( fans));
}
@Tag(name ="获取详细信息")
@GetMapping(value = "/{id}")
public R<FansVO> getInfo(@PathVariable("id") Long id) {
return R.ok( convert.toVO(service.getById(id)));
}
@Tag(name ="删除粉丝信息")
@Log(title = "意见反馈", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
public R<Object> remove(@PathVariable Long id) {
return R.ok(service.removeById(id));
}
@PostMapping("follow")
public R<Object> follow(@RequestParam Long myId,
@RequestParam Long vloggerId) {
@ -39,35 +100,28 @@ public class FansController {
if (myId ==null|| vloggerId==null) {
return R.fail("id不能为空");
}
// 获取拉黑数据
boolean hasblock = memberBlockService.hasBlocked(myId, vloggerId);
if (hasblock) {
return R.fail("已经拉黑");
}
// 判断当前用户自己不能关注自己
if (myId ==vloggerId) {
return R.fail("自己不能关注自己");
}
// 是否已经存在关系
boolean flow = fansService.queryDoIFollowVloger(myId, vloggerId);
boolean flow = service.queryDoIFollowVloger(myId, vloggerId);
if (flow) {
return R.fail("已经在关注列表里了");
}
// 判断两个id对应的用户是否存在
Member vlogger = memberService.getById(vloggerId);
Member myInfo = memberService.getById(myId);
if (myInfo == null || vlogger == null) {
return R.fail("用户不存在");
}
//
// 保存粉丝关系到数据库
fansService.doFollow(myId, vloggerId);
service.doFollow(myId, vloggerId);
// 博主的粉丝+1我的关注+1
RedisUtils.incrAtomicValue(CacheConstants.MEMBER_FANS + ":" + vloggerId);
@ -83,12 +137,12 @@ public class FansController {
return R.fail("id不能为空");
}
// 是否已经存在关系
boolean flow = fansService.queryDoIFollowVloger(myId, vloggerId);
boolean flow = service.queryDoIFollowVloger(myId, vloggerId);
if (!flow) {
return R.fail("没有关注信息");
}
// 删除业务的执行
fansService.doCancel(myId, vloggerId);
service.doCancel(myId, vloggerId);
// 博主的粉丝-1我的关注-1
RedisUtils.decrAtomicValue(CacheConstants.MEMBER_FANS + ":" + vloggerId);
@ -119,10 +173,10 @@ public class FansController {
return R.ok("id不能为空");
}
// 是否已经存在关系
boolean flow = fansService.queryDoIFollowVloger(myId, vloggerId);
boolean flow = service.queryDoIFollowVloger(myId, vloggerId);
if (flow) {
// 删除业务的执行
fansService.doCancel(myId, vloggerId);
service.doCancel(myId, vloggerId);
// 博主的粉丝-1我的关注-1
RedisUtils.decrAtomicValue(CacheConstants.MEMBER_FANS + ":" + vloggerId);
@ -130,6 +184,12 @@ public class FansController {
}
// 拉黑
//检查是否已在黑名单中
boolean hasblock = memberBlockService.hasBlocked(myId, vloggerId);
if (hasblock) {
return R.fail("已经拉黑");
}
memberBlockService.addBlock(myId, vloggerId);
return R.ok();
}

View File

@ -4,74 +4,124 @@ package com.wzj.soopin.member.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.member.convert.FeedbackConvert;
import com.wzj.soopin.member.convert.MemberConvert;
import com.wzj.soopin.member.domain.bo.FeedbackBO;
import com.wzj.soopin.member.domain.po.Feedback;
import com.wzj.soopin.member.domain.po.Member;
import com.wzj.soopin.member.domain.vo.FeedbackVO;
import com.wzj.soopin.member.domain.vo.MemberAccountVO;
import com.wzj.soopin.member.service.IFeedbackService;
import com.wzj.soopin.member.service.IMemberService;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.constant.CacheConstants;
import org.dromara.common.core.domain.R;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.springframework.http.ResponseEntity;
import org.dromara.common.redis.utils.RedisUtils;
import org.springframework.web.bind.annotation.*;
import java.util.stream.Collectors;
/**
* 意见反馈Controller
*
* @author zcc
* @date 2024-02-26
*/
@Tag(name ="意见反馈接口列表")
@Tag(name = "意见反馈接口列表")
@RestController
@RequestMapping("/ums/feedback")
@RequiredArgsConstructor
public class FeedbackController {
public class FeedbackController {
private final IFeedbackService service;
private final FeedbackConvert convert;
private final MemberConvert memberConvert;
private final IMemberService memberService;
@Tag(name ="查询意见反馈列表")
@Tag(name = "查询意见反馈列表")
@PostMapping("/list")
public R<IPage<FeedbackVO>> list(@RequestBody FeedbackBO query, @RequestBody Page page) {
Page<Feedback> feedBackPage= service.page(page,query.toWrapper());
return R.ok(convert.toVO( feedBackPage));
public R<IPage<FeedbackVO>> list(@RequestBody FeedbackBO query, @RequestBody Page page) {
Page<Feedback> feedBackPage = service.page(page, query.toWrapper());
Page<FeedbackVO> feedbackVOList = convert.toVO(feedBackPage);
//从redis中获取用户信息和投诉对象信息
feedbackVOList.setRecords(feedBackPage.getRecords().stream().map(feedback -> {
//构建用户信息
FeedbackVO feedbackVO = convert.toVO(feedback);
Member member = memberService.getById(feedback.getMemberId());
feedbackVO.setMember(memberConvert.toVO(member));
//构建对象信息
switch (feedback.getAimType()) {
case 0://会员
feedbackVO.setAimObject(memberService.getById(feedback.getAimId()));
break;
case 1://群组
feedbackVO.setAimObject(RedisUtils.getCacheObject(CacheConstants.GROUP + feedback.getAimId()));
break;
case 2://评论
feedbackVO.setAimObject(RedisUtils.getCacheObject(
CacheConstants.COMMENT + feedback.getAimId()
));
break;
case 3://视频
feedbackVO.setAimObject(RedisUtils.getCacheObject(CacheConstants.VLOG + feedback.getAimId()));
break;
case 4://聊天
feedbackVO.setAimObject(RedisUtils.getCacheObject(
CacheConstants.CHAT + feedback.getAimId()
));
break;
}
return feedbackVO;
}).collect(Collectors.toList()));
return R.ok(feedbackVOList);
}
@Tag(name ="修改意见反馈备注信息")
@Tag(name = "修改意见反馈备注信息")
@Log(title = "意见反馈", businessType = BusinessType.UPDATE)
@PostMapping("/update")
public R editMark(@RequestBody FeedbackBO feedback) {
public R editMark(@RequestBody FeedbackBO feedback) {
return R.ok(service.save(convert.toPo(feedback)));
}
@Tag(name ="修改意见反馈备注信息")
@Tag(name = "修改意见反馈备注信息")
@Log(title = "新增意见反馈", businessType = BusinessType.UPDATE)
@PostMapping("/add")
public R add(@RequestBody FeedbackBO feedback) {
return R.ok(service.save(convert.toPo(feedback)));
}
@Tag(name ="获取详细信息")
@Tag(name = "获取详细信息")
@GetMapping(value = "/{id}")
public R<FeedbackVO> getInfo(@PathVariable("id") Long id) {
return R.ok( service.selectById(id));
return R.ok(service.selectById(id));
}
@Tag(name =("修改状态"))
@Tag(name = ("处理"))
@Log(title = "意见反馈", businessType = BusinessType.UPDATE)
@PostMapping("/handle/status/update")
public R changeStatus(@RequestBody FeedbackBO bo){
return R.ok(service.updateById(convert.toPo(bo)));
@PostMapping("/handle/handle")
public R changeStatus(@RequestBody FeedbackBO bo) {
service.handle(convert.toPo(bo));
return R.ok();
}
@Tag(name ="删除意见反馈")
@Tag(name = "删除意见反馈")
@Log(title = "意见反馈", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
@DeleteMapping("/{id}")
public R<Object> remove(@PathVariable Long id) {
return R.ok(service.removeById(id));
}

View File

@ -25,7 +25,7 @@ import org.springframework.web.bind.annotation.*;
*/
@Tag(name = "购物车接口列表")
@RestController
@RequestMapping("/ums/memberCart")
@RequestMapping("/ums/cart")
public class MemberCartController extends BaseController {
@Autowired
private IMemberCartService service;
@ -34,15 +34,15 @@ public class MemberCartController extends BaseController {
@Tag(name = "查询购物车列表")
@PostMapping("/list")
public R<Page<MemberCartVO>> list(@RequestBody MemberCartBO query, @RequestBody IPage page) {
Page<MemberCart> userPage = (Page<MemberCart>) service.page(page, new QueryWrapper<MemberCart>());
public R<IPage<MemberCartVO>> list(@RequestBody MemberCartBO bo, @RequestBody Page page) {
Page<MemberCart> userPage = service.page(page, bo.toWrapper());
return R.ok(convert.toVO(userPage));
}
@Tag(name = "导出购物车列表")
@Log(title = "购物车", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public R<String> export(MemberCartBO query) {
public R<String> export() {
// List<MemberCart> list = service.selectList(query, null);
// ExcelUtil<MemberCartVO> util = new ExcelUtil<>(MemberCartVO.class);
// return ResponseEntity.ok(util.writeExcel(convert.dos2vos(list), "购物车数据"));
@ -51,8 +51,8 @@ public class MemberCartController extends BaseController {
@Tag(name = "获取购物车详细信息")
@GetMapping(value = "/{id}")
public R<MemberCart> getInfo(@PathVariable("id") Long id) {
return R.ok(service.getById(id));
public R<MemberCartVO> getInfo(@PathVariable("id") Long id) {
return R.ok(convert.toVO(service.getById(id)));
}
@Tag(name = "新增购物车")

View File

@ -0,0 +1,27 @@
package com.wzj.soopin.member.convert;
import com.wzj.soopin.member.domain.bo.FansBO;
import com.wzj.soopin.member.domain.bo.FeedbackBO;
import com.wzj.soopin.member.domain.po.Fans;
import com.wzj.soopin.member.domain.po.Feedback;
import com.wzj.soopin.member.domain.vo.FansVO;
import com.wzj.soopin.member.domain.vo.FeedbackVO;
import org.dromara.common.web.core.BaseConverter;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
/**
* 粉丝与关注 DO <=> VO / BO
*
* @author zcc
*/
@Mapper(componentModel = "spring",uses = BaseConverter.class)
public interface FansConvert extends BaseConverter<FansVO, FansBO, Fans> {
@Override
@Mapping(target = "vlogger.id",source = "vloggerId")
@Mapping(target = "fan.id", source = "fanId")
@Mapping(target = "fanId", source = "fanId")
@Mapping(target = "vloggerId", source = "vloggerId")
FansVO toVO(Fans fans);
}

View File

@ -6,6 +6,7 @@ import com.wzj.soopin.member.domain.po.Feedback;
import com.wzj.soopin.member.domain.vo.FeedbackVO;
import org.dromara.common.web.core.BaseConverter;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import java.util.List;
/**
@ -16,4 +17,8 @@ import java.util.List;
@Mapper(componentModel = "spring",uses = BaseConverter.class)
public interface FeedbackConvert extends BaseConverter<FeedbackVO, FeedbackBO, Feedback> {
@Override
@Mapping(target = "member.id", ignore = true,source = "memberId")
@Mapping(target = "memberId", ignore = true,source = "memberId")
FeedbackVO toVO(Feedback feedback);
}

View File

@ -5,6 +5,7 @@ import com.wzj.soopin.member.domain.po.MemberCart;
import com.wzj.soopin.member.domain.vo.MemberCartVO;
import org.dromara.common.web.core.BaseConverter;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import java.util.List;
@ -16,4 +17,8 @@ import java.util.List;
@Mapper(componentModel = "spring",uses = BaseConverter.class)
public interface MemberCartConvert extends BaseConverter<MemberCartVO, MemberCartBO,MemberCart> {
@Override
@Mapping(target = "member.id", source = "memberId")
@Mapping(target = "memberId", source = "memberId")
MemberCartVO toVO(MemberCart memberCart);
}

View File

@ -0,0 +1,54 @@
package com.wzj.soopin.member.domain.bo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wzj.soopin.member.domain.po.Fans;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.dromara.common.core.domain.BaseBO;
import org.dromara.common.excel.annotation.Excel;
import org.springframework.boot.actuate.integration.IntegrationGraphEndpoint;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@Schema(description ="粉丝")
public class FansBO extends BaseBO<Fans> {
/**
* 博主id
*/
@Schema(description ="博主id")
private String vloggerId;
/**
* 粉丝id
*/
@Schema(description ="粉丝id")
private String fanId;
/**
* 是否互相关注
*/
@Schema(description ="是否是好友")
private Integer friendFlag ;
/**
* 是否互相关注
*/
@Schema(description ="是否互相关注")
private Integer bothFriend;
@Override
public LambdaQueryWrapper<Fans> toWrapper() {
return super.toWrapper()
.eq(vloggerId!=null,Fans::getVloggerId,vloggerId)
.eq(fanId!=null,Fans::getFanId,fanId)
.eq(friendFlag!=null,Fans::getFriendFlag,friendFlag)
.eq(bothFriend!=null,Fans::getBothFriend,bothFriend);
}
}

View File

@ -21,10 +21,10 @@ public class FeedbackBO extends BaseBO {
@Schema(description ="ID")
private Long id;
@Schema(description ="类型")
@Schema(description ="类型 1 举报 2 投诉 3 建议")
private Integer type;
@Schema(description ="具体说明")
@Schema(description ="内容")
private String content;
@Schema(description ="图片")
@ -47,8 +47,8 @@ public class FeedbackBO extends BaseBO {
@Schema(description ="反馈对象ID")
private Long aimId;
@Schema(description ="反馈分类")
private Integer category;
@Schema(description ="原因")
private Integer reasonType;
@Schema(description ="会员ID")
private String memberId;
@ -62,8 +62,8 @@ public class FeedbackBO extends BaseBO {
@Schema(description ="处理结果")
private String resultContent;
@Schema(description ="反馈对象类型")
private String aimType;
@Schema(description ="反馈对象类型 1 会员 2 群组 3 评论 4 视频 5 聊天" )
private Integer aimType;
@Override
public LambdaQueryWrapper toWrapper() {
@ -76,7 +76,7 @@ public class FeedbackBO extends BaseBO {
.eq(remark!=null,Feedback::getRemark, remark)
.eq(handleTime!=null,Feedback::getHandleTime, handleTime)
.eq(aimId!=null,Feedback::getAimId, aimId)
.eq(category!=null,Feedback::getCategory, category)
.eq(reasonType!=null,Feedback::getReasonType, reasonType)
.eq(memberId!=null,Feedback::getMemberId, memberId)
.eq(handlerId!=null,Feedback::getHandlerId, handlerId)
.eq(resultType!=null,Feedback::getResultType, resultType)

View File

@ -1,7 +1,10 @@
package com.wzj.soopin.member.domain.bo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wzj.soopin.member.domain.po.MemberCart;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.BaseBO;
/**
* 购物车 查询 对象
@ -10,7 +13,8 @@ import lombok.Data;
*/
@Schema(description="购物车 查询 对象")
@Data
public class MemberCartBO {
public class MemberCartBO extends BaseBO<MemberCart> {
@Schema(description ="0->失效1->有效 精确匹配")
private Integer status;
@ -30,12 +34,22 @@ public class MemberCartBO {
private String productName;
@Schema(description ="商品属性 精确匹配")
private String spData;
private String spec;
@Schema(description ="商品数量 精确匹配")
private Integer quantity;
@Schema(description ="用户手机号")
private String phone;
@Override
public LambdaQueryWrapper<MemberCart> toWrapper() {
return super.toWrapper()
.eq(status!=null,MemberCart::getStatus,status)
.eq(memberId!=null,MemberCart::getMemberId,memberId)
.eq(productId!=null,MemberCart::getProductId,productId)
.eq(pic!=null,MemberCart::getPic,pic)
.eq(skuId!=null,MemberCart::getSkuId,skuId)
.eq(productName!=null,MemberCart::getProductName,productName)
.eq(spec!=null,MemberCart::getSpec,spec)
.eq(quantity!=null,MemberCart::getQuantity,quantity);
}
}

View File

@ -21,7 +21,7 @@ public class Feedback extends BaseAudit {
@Schema(description ="ID")
private Long id;
@Schema(description ="类型")
@Schema(description ="类型 1 举报 2 投诉 3 建议")
private Integer type;
@Schema(description ="具体说明")
@ -47,11 +47,11 @@ public class Feedback extends BaseAudit {
@Schema(description ="反馈对象ID")
private Long aimId;
@Schema(description ="反馈对象类型 0 会员 1 群组 2 评论 3 视频 4 聊天" )
@Schema(description ="反馈对象类型 1 会员 2 群组 3 评论 4 视频 5 聊天" )
private Integer aimType;
@Schema(description ="反馈分类")
private Integer category;
@Schema(description ="原因 1 恶意行为 2 内容违规")
private Integer reasonType;
@Schema(description ="会员ID")
private Long memberId;

View File

@ -14,44 +14,35 @@ import org.dromara.common.excel.annotation.Excel;
*/
@Schema(description="购物车对象")
@Data
@TableName("ums_member_cart")
@TableName("ums_cart")
public class MemberCart extends BaseAudit {
private static final long serialVersionUID = 1L;
@Schema(description ="购物车表ID")
@TableId
private Long id;
@Schema(description ="0->失效1->有效")
@Excel(name = "0->失效1->有效")
private Integer status;
@Schema(description ="用户ID")
@Excel(name = "用户ID")
private Long memberId;
@Schema(description ="商品ID")
@Excel(name = "商品ID")
private Long productId;
@Schema(description ="展示图片")
@Excel(name = "展示图片")
private String pic;
@Schema(description ="SKU ID")
@Excel(name = "SKU ID")
private Long skuId;
@Schema(description ="PRODUCT_NAME")
@Excel(name = "PRODUCT_NAME")
private String productName;
@Schema(description ="商品属性")
@Excel(name = "商品属性")
private String spData;
private String spec;
@Schema(description ="商品数量")
@Excel(name = "商品数量")
private Integer quantity;
}

View File

@ -17,23 +17,33 @@ public class FansVO {
@Schema(description ="博主id")
@Excel(name = "博主id")
private String vlogerId;
private MemberVO vlogger;
@Schema(description ="博主id")
private Long vloggerId;
@Schema(description ="粉丝id")
@Excel(name = "粉丝id")
private String fanId;
@Schema(description ="昵称")
@Excel(name = "昵称")
private String nickname;
@Schema(description ="头像")
@Excel(name = "头像")
private String face;
private MemberVO fan;
@Schema(description ="粉丝id")
@Excel(name = "粉丝id")
private Long fanId;
@Schema(description ="是否是好友")
@Excel(name = "是否是好友")
private boolean friendFlag = false;
private Integer friendFlag ;
@Schema(description ="是否互相关注")
@Excel(name = "是否互相关注")
private int bothFriend;
private Integer bothFriend;
@Schema(description ="创建时间")
@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private String createdTime;

View File

@ -3,6 +3,7 @@ package com.wzj.soopin.member.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.excel.annotation.Excel;
import java.time.LocalDateTime;
@ -17,10 +18,10 @@ public class FeedbackVO {
/** ID */
private Long id;
/** 类型 */
@Excel(name = "类型")
@Excel(name = "类型 1 举报 2 投诉 3 建议")
private Integer type;
/** 具体说明 */
@Excel(name = "具体说明")
@Excel(name = "内容")
private String content;
/** 图片 */
@Excel(name = "图片")
@ -34,7 +35,7 @@ public class FeedbackVO {
private LocalDateTime createTime;
/** 处理状态 0未处理 1已处理 */
@Excel(name = "处理状态 0未处理 1已处理")
private Integer handleStatus;
private Integer status;
/** 备注 */
@Excel(name = "备注")
private String remark;
@ -47,27 +48,28 @@ public class FeedbackVO {
@Excel(name = "反馈对象ID")
private Long aimId;
@Schema(description ="反馈对象类型 0 会员 1 群组 2 评论 3 视频 4 聊天" )
@Schema(description ="反馈对象类型 1 会员 2 群组 3 评论 4 视频 5 聊天" )
private BaseAudit aimObject;
@Schema(description ="反馈对象类型")
private Integer aimType;
@Schema(description ="反馈对象")
private Object aimObject;
@Schema(description ="反馈分类")
private Integer category;
@Schema(description ="原因 1 恶意行为 2 内容违规")
private Integer reasonType;
@Schema(description ="会员ID")
@Excel(name = "会员ID")
private Long memberId;
@Excel(name = "会员")
private MemberVO member;
private MemberVO member;
@Schema(description ="会员ID")
@Excel(name = "会员")
private Long memberId;
@Schema(description ="处理人")
@Excel(name = "处理人")
private Long handlerId;
@Schema(description ="处理结果类型 0文本 1图片")
@Schema(description ="处理结果类型 0不予处理 1已处理")
@Excel(name = "处理结果类型 0不予处理 1已处理")
private Integer resultType;

View File

@ -1,5 +1,6 @@
package com.wzj.soopin.member.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.excel.annotation.Excel;
@ -12,41 +13,93 @@ import java.time.LocalDateTime;
* @author zcc
*/
@Data
public class MemberCartVO {
/** 购物车表ID */
@Schema(description = "购物车")
public class MemberCartVO {
/**
* 购物车表ID
*/
@Schema(description = "id")
private Long id;
/** 0->失效1->有效 */
/**
* 0->失效1->有效
*/
@Excel(name = "0->失效1->有效")
@Schema(description = "status")
private Integer status;
/** 用户ID */
/**
* 用户ID
*/
@Excel(name = "用户ID")
@Schema(description = "用户ID")
private Long memberId;
private String nickname;
@Schema(description ="会员")
@Excel(name = "会员")
private MemberVO member;
@Excel(name = "备注")
@Schema(description = "备注")
private String mark;
/** 商品ID */
/**
* 商品ID
*/
@Excel(name = "商品ID")
@Schema(description = "商品ID")
private Long productId;
/** 展示图片 */
/**
* 展示图片
*/
@Schema(description = "展示图片")
@Excel(name = "展示图片")
private String pic;
/** SKU ID */
/**
* SKU ID
*/
@Schema(description = "SKU ID")
@Excel(name = "SKU ID")
private Long skuId;
/** PRODUCT_NAME */
/**
* PRODUCT_NAME
*/
@Schema(description = "PRODUCT_NAME")
@Excel(name = "PRODUCT_NAME")
private String productName;
/** 商品属性 */
/**
* 商品属性
*/
@Schema(description = "商品属性")
@Excel(name = "商品属性")
private String spData;
/** 商品数量 */
/**
* 商品数量
*/
@Excel(name = "商品数量")
@Schema(description = "商品数量")
private Integer quantity;
/** 加入时间 */
/**
* 加入时间
*/
@Excel(name = "加入时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
@Schema(description = "加入时间")
private LocalDateTime createTime;
/** sku价格 */
/**
* sku价格
*/
@Excel(name = "sku价格")
@Schema(description = "sku价格")
private BigDecimal price;
/** sku是否存在 */
/**
* sku是否存在
*/
@Excel(name = "sku是否存在")
@Schema(description = "sku是否存在")
private Integer skuIfExist;
/** 隐藏四位的手机号 */
/**
* 隐藏四位的手机号
*/
@Excel(name = "隐藏四位的手机号")
@Schema(description = "隐藏四位的手机号")
private String phoneHidden;
}

View File

@ -2,9 +2,11 @@ package com.wzj.soopin.member.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wzj.soopin.member.domain.po.Fans;
import com.wzj.soopin.member.domain.vo.FansVO;
public interface IFansService {
public interface IFansService extends IService<Fans> {
/**
* 关注

View File

@ -9,4 +9,6 @@ import java.io.Serializable;
public interface IFeedbackService extends IService<Feedback> {
FeedbackVO selectById(Serializable id);
void handle(Feedback entity);
}

View File

@ -46,7 +46,7 @@ public class FansServiceImpl extends ServiceImpl<FansMapper, Fans> implements IF
vloger.setBothFriend(YesOrNo.YES.type);
baseMapper.updateById(vloger);
} else {
fans.setFriendFlag(YesOrNo.NO.type);
fans.setFriendFlag(YesOrNo.YES.type);
}
baseMapper.insert(fans);
@ -73,7 +73,7 @@ public class FansServiceImpl extends ServiceImpl<FansMapper, Fans> implements IF
if (fan != null && fan.getFriendFlag() == YesOrNo.YES.type) {
// 抹除双方的朋友关系自己的关系删除即可
Fans pendingFan = queryFansRelationship(vloggerId, myId);
pendingFan.setFriendFlag(YesOrNo.NO.type);
pendingFan.setBothFriend(YesOrNo.NO.type);
baseMapper.updateById(pendingFan);
}
@ -105,9 +105,9 @@ public class FansServiceImpl extends ServiceImpl<FansMapper, Fans> implements IF
page.setSize(pageSize);
for (FansVO f : page.getRecords()) {
String relationship = redisCache.getCacheObject(
CacheConstants.MEMBER_FANS + ":" + myId + ":" + f.getFanId());
CacheConstants.MEMBER_FANS + ":" + myId + ":" + f.getFan().getId());
if (StringUtils.isNotBlank(relationship) && relationship.equalsIgnoreCase("1")) {
f.setFriendFlag(true);
f.setFriendFlag(YesOrNo.YES.type);
}
}

View File

@ -1,6 +1,7 @@
package com.wzj.soopin.member.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -71,7 +72,6 @@ public class FeedbackServiceImpl extends ServiceImpl<FeedbackMapper, Feedback> i
switch (feedback.getAimType()) {
case 0:
Member member = memberMapper.selectById(feedback.getAimId());
vo.setAimObject(memberConvert.toVO(member));
break;
}
// 如果是订单则取订单信息
@ -85,11 +85,13 @@ public class FeedbackServiceImpl extends ServiceImpl<FeedbackMapper, Feedback> i
return vo;
}
public Integer updateMark(Feedback feedback) {
UpdateWrapper<Feedback> updateWrapper = new UpdateWrapper<>();
updateWrapper.set("remark", feedback.getRemark())
.eq("id", feedback.getId());
return baseMapper.update(null, updateWrapper);
public void handle(Feedback feedback) {
LambdaUpdateWrapper<Feedback> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(Feedback::getRemark, feedback.getRemark())
.set(Feedback::getStatus, feedback.getStatus())
.set(Feedback::getResultContent, feedback.getResultContent())
.eq(Feedback::getId, feedback.getId());
baseMapper.update(null, updateWrapper);
}
public Integer changeStatus(Feedback dto) {

View File

@ -16,6 +16,7 @@ import com.wzj.soopin.member.mapper.MemberMapper;
import com.wzj.soopin.member.service.IMemberService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.constant.CacheConstants;
import org.dromara.common.core.constant.CachePrefix;
import org.dromara.common.core.constant.ResultCode;
import org.dromara.common.core.domain.model.LoginUser;
@ -23,9 +24,12 @@ import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.redis.redis.RedisCache;
import org.dromara.common.satoken.utils.LoginHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CachePut;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Calendar;
import java.util.Date;
@ -57,6 +61,7 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper,Member> implemen
@Override
@CachePut(value = CacheConstants.MEMBER, key = "#id")
public boolean save(Member entity) {
super.save(entity);
@ -85,6 +90,8 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper,Member> implemen
return true;
}
@CachePut(value = CacheConstants.MEMBER, key = "#id")
public int updateMark(MemberBO member) {
UpdateWrapper<Member> updateWrapper = new UpdateWrapper<>();
updateWrapper.set("mark",member.getMark())
@ -95,6 +102,8 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper,Member> implemen
@CachePut(value = CacheConstants.MEMBER, key = "#id")
public Integer changeStatus(MemberBO bo) {
UpdateWrapper<Member> wrapper = new UpdateWrapper<>();
wrapper.eq("id", bo.getId());
@ -236,4 +245,11 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper,Member> implemen
public String getPhoneDecrypted(String phoneEncrypted) {
return phoneEncrypted;
}
@Override
// @Cacheable (cacheNames = CacheConstants.MEMBER, key = "#id")
public Member getById(Serializable id) {
return super.getById(id);
}
}

View File

@ -26,6 +26,7 @@ import com.wzj.soopin.order.service.impl.AftersaleServiceImpl;
import com.wzj.soopin.order.utils.SecurityUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.domain.model.LoginUser;
@ -46,7 +47,7 @@ import java.util.List;
* @author zcc
* @date 2022-12-29
*/
@Api(description ="订单售后接口列表")
@Tag(name ="订单售后接口列表")
@RestController
@RequestMapping("/oms/aftersale")
@Slf4j
@ -61,7 +62,7 @@ public class AftersaleController extends BaseController {
private AftersaleService aftersaleService;
@ApiOperation("查询订单售后列表")
@Tag(name ="查询订单售后列表")
@PostMapping("/list")
public R<Page<AftersaleVO>> list(@RequestBody AftersaleBo query, Page<Aftersale> page) {
Page<Aftersale> list = aftersaleService.page(page,query.toWrapper() );
@ -69,7 +70,7 @@ public class AftersaleController extends BaseController {
}
@ApiOperation("导出订单售后列表")
@Tag(name ="导出订单售后列表")
@Log(title = "订单售后", businessType = BusinessType.EXPORT)
@GetMapping("export")
public ResponseEntity<String> export(AftersaleBo query) {
@ -78,34 +79,34 @@ public class AftersaleController extends BaseController {
return ResponseEntity.ok(util.writeExcel(convert.toVO(list), "订单售后数据"));
}
@ApiOperation("获取订单售后详细信息")
@Tag(name ="获取订单售后详细信息")
@GetMapping(value = "/{id}")
public ResponseEntity<ManagerRefundOrderDetailVO> getInfo(@PathVariable("id") Long orderId) {
return ResponseEntity.ok(service.selectById(orderId));
}
@ApiOperation("新增订单售后")
@Tag(name ="新增订单售后")
@Log(title = "订单售后", businessType = BusinessType.INSERT)
@PostMapping("/add")
public R add(@RequestBody AftersaleBo query) {
return R.ok(service.save(convert.toPo(query)));
}
@ApiOperation("修改订单售后")
@Tag(name ="修改订单售后")
@Log(title = "订单售后", businessType = BusinessType.UPDATE)
@PostMapping("/update")
public R edit(@RequestBody Aftersale aftersale) {
return R.ok(service.updateById(aftersale));
}
@ApiOperation("删除订单售后")
@Tag(name ="删除订单售后")
@Log(title = "订单售后", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
public ResponseEntity<Integer> remove(@PathVariable Long id) {
return ResponseEntity.ok(service.deleteById(id));
}
@ApiOperation("售后订单操作")
@Tag(name ="售后订单操作")
@PostMapping("/dealWith")
public ResponseEntity<Boolean> updateStatus(@RequestBody DealWithAftersaleForm request){
LoginUser user = SecurityUtils.getLoginUser();
@ -127,7 +128,7 @@ public class AftersaleController extends BaseController {
}
}
@ApiOperation("查看日志")
@Tag(name ="查看日志")
@GetMapping("/log/{orderId}")
public R log(@PathVariable Long orderId){
return R.ok(service.log(orderId));

View File

@ -21,6 +21,7 @@ import com.wzj.soopin.order.service.AftersaleItemService;
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 org.dromara.common.core.domain.R;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.log.annotation.Log;
@ -37,7 +38,7 @@ import java.util.List;
* @author zcc
* @date 2022-12-29
*/
@Api(description ="订单售后接口列表")
@Tag(name ="订单售后接口列表")
@RestController
@RequestMapping("/oms/aftersaleItem")
public class AftersaleItemController extends BaseController {
@ -55,7 +56,7 @@ public class AftersaleItemController extends BaseController {
// return ResponseEntity.ok(new PageImpl<>(list, page, ((com.github.pagehelper.Page)list).getTotal()));
// }
@ApiOperation("查询订单售后列表")
@Tag(name ="查询订单售后列表")
@PostMapping("/list")
public R<Page<AftersaleItemVO>> list(@RequestBody AftersaleItemBo query, Page<AftersaleItem> page) {
Page<AftersaleItem> list = aftersaleItemService.page(page,query.toWrapper() );
@ -64,7 +65,7 @@ public class AftersaleItemController extends BaseController {
@ApiOperation("导出订单售后列表")
@Tag(name ="导出订单售后列表")
@Log(title = "订单售后", businessType = BusinessType.EXPORT)
@GetMapping("export")
public ResponseEntity<String> export(AftersaleItemBo query) {
@ -73,13 +74,13 @@ public class AftersaleItemController extends BaseController {
return ResponseEntity.ok(util.writeExcel(convert.toVO(list), "订单售后数据"));
}
@ApiOperation("获取订单售后详细信息")
@Tag(name ="获取订单售后详细信息")
@GetMapping(value = "/{id}")
public ResponseEntity<AftersaleItem> getInfo(@PathVariable("id") Long id) {
return ResponseEntity.ok(service.getById(id));
}
@ApiOperation("新增订单售后")
@Tag(name ="新增订单售后")
@Log(title = "订单售后", businessType = BusinessType.INSERT)
@PostMapping("/add")
public R add(@RequestBody AftersaleItemBo aftersaleItem) {
@ -87,7 +88,7 @@ public class AftersaleItemController extends BaseController {
}
@ApiOperation("修改订单售后")
@Tag(name ="修改订单售后")
@Log(title = "订单售后", businessType = BusinessType.UPDATE)
@PostMapping("/update")
public R edit(@RequestBody AftersaleItem aftersaleItem) {
@ -95,7 +96,7 @@ public class AftersaleItemController extends BaseController {
}
@ApiOperation("删除订单售后")
@Tag(name ="删除订单售后")
@Log(title = "订单售后", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
public R remove(@PathVariable Long id) {

View File

@ -3,22 +3,16 @@ package com.wzj.soopin.order.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.order.convert.OrderConvert;
import com.wzj.soopin.order.domain.bo.AftersaleBo;
import com.wzj.soopin.order.domain.bo.AftersaleItemBo;
import com.wzj.soopin.order.domain.bo.OrderBo;
import com.wzj.soopin.order.domain.entity.AftersaleItem;
import com.wzj.soopin.order.domain.entity.Order;
import com.wzj.soopin.order.domain.form.DeliverProductForm;
import com.wzj.soopin.order.domain.form.ManagerAftersaleOrderForm;
import com.wzj.soopin.order.domain.form.ManagerOrderQueryForm;
import com.wzj.soopin.order.domain.query.AftersaleItemQuery;
import com.wzj.soopin.order.domain.query.OrderQuery;
import com.wzj.soopin.order.domain.vo.*;
import com.wzj.soopin.order.service.OrderService;
import com.wzj.soopin.order.service.impl.OrderServiceImpl;
import com.wzj.soopin.order.utils.SecurityUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.R;
import org.dromara.common.excel.utils.ExcelUtil;
@ -40,7 +34,7 @@ import java.util.List;
* @author zcc
* @date 2022-12-01
*/
@Api(description ="订单表接口列表")
@Tag(name ="订单表接口列表")
@RestController
@RequestMapping("/oms/order")
@Slf4j
@ -64,7 +58,7 @@ public class OrderController extends BaseController {
// return R.ok(convert.toVO(list));
// }
@ApiOperation("查询订单列表")
@Tag(name ="查询订单列表")
@PostMapping("/list")
public R<IPage<OrderVO>> list1(@RequestBody OrderBo query, Page<Order> page){
return R.ok(orderService.getlist(page,query));
@ -79,13 +73,13 @@ public class OrderController extends BaseController {
@ApiOperation("修改收件人信息")
@Tag(name ="修改收件人信息")
@PostMapping("/receiver/update")
public R updateReceiver(@RequestBody Order order) {
return R.ok(service.updateById(order));
}
@ApiOperation("导出订单表列表")
@Tag(name ="导出订单表列表")
@Log(title = "订单售后", businessType = BusinessType.EXPORT)
@PostMapping("export")
public ResponseEntity<String> export(OrderBo query) {
@ -95,41 +89,42 @@ public class OrderController extends BaseController {
}
@ApiOperation("获取订单表详细信息")
@Tag(name ="获取订单表详细信息")
@GetMapping(value = "/{id}")
public R<ManagerOrderDetailVO> getInfo(@PathVariable("id") Long id) {
return R.ok(service.selectById(id));
}
@ApiOperation("新增订单表")
@Tag(name ="新增订单表")
@Log(title = "订单表", businessType = BusinessType.INSERT)
@PostMapping("/add")
public R add(@RequestBody Order order) {
return R.ok(service.save(order));
order.setWithdrawStatus(1);
return service.insert(order);
}
@ApiOperation("修改订单表")
@Tag(name ="修改订单表")
@Log(title = "订单表", businessType = BusinessType.UPDATE)
@PostMapping("/update")
public R edit(@RequestBody Order order) {
return R.ok(service.updateById(order));
}
@ApiOperation("删除订单表")
@Tag(name ="删除订单表")
@Log(title = "订单表", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
public R remove(@PathVariable Long id) {
return R.ok(service.removeById(id));
}
@ApiOperation("添加备注")
@Tag(name ="添加备注")
@Log(title = "订单表", businessType = BusinessType.UPDATE)
@PostMapping("/merchantNote/add")
public R<Order> saveMerchantNote(@RequestBody Order order){
return service.saveMerchantNote(order);
}
@ApiOperation("管理后台订单发货")
@Tag(name ="管理后台订单发货")
@PostMapping("/deliverProduct")
public ResponseEntity<String> delivery(@RequestBody DeliverProductForm request){
Long userId = SecurityUtils.getUserId();
@ -150,13 +145,13 @@ public class OrderController extends BaseController {
}
}
@ApiOperation("订单日志")
@Tag(name ="订单日志")
@GetMapping("/log/{orderId}")
public R log(@PathVariable Long orderId){
return R.ok(service.log(orderId));
}
@ApiOperation("订单解密")
@Tag(name ="订单解密")
@GetMapping("/decryptPhone/{orderId}")
public R decryptPhone(@PathVariable Long orderId){
return service.decryptPhone(orderId);

View File

@ -18,6 +18,7 @@ import com.wzj.soopin.order.service.OrderDeliveryHistoryService;
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 org.dromara.common.core.domain.R;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.log.annotation.Log;
@ -34,7 +35,7 @@ import java.util.List;
* @author zcc
* @date 2022-12-01
*/
@Api(description ="订单发货记录接口列表")
@Tag(name ="订单发货记录接口列表")
@RestController
@RequestMapping("/oms/orderDeliveryHistory")
public class OrderDeliveryHistoryController extends BaseController {
@ -52,7 +53,7 @@ public class OrderDeliveryHistoryController extends BaseController {
// return ResponseEntity.ok(new PageImpl<>(list, page, ((com.github.pagehelper.Page)list).getTotal()));
// }
@ApiOperation("查询订单发货列表")
@Tag(name ="查询订单发货列表")
@PostMapping("/list")
public R<IPage<OrderDeliveryHistoryVO>> list(@RequestBody OrderDeliveryHistoryBo query, Page<OrderDeliveryHistory> page) {
Page<OrderDeliveryHistory> list = historyService.page(page,query.toWrapper() );
@ -60,7 +61,7 @@ public class OrderDeliveryHistoryController extends BaseController {
}
@ApiOperation("导出订单发货记录列表")
@Tag(name ="导出订单发货记录列表")
@Log(title = "订单发货记录", businessType = BusinessType.EXPORT)
@GetMapping("export")
public ResponseEntity<String> export(OrderDeliveryHistoryBo query) {
@ -70,28 +71,28 @@ public class OrderDeliveryHistoryController extends BaseController {
}
@ApiOperation("获取订单发货记录详细信息")
@Tag(name ="获取订单发货记录详细信息")
@GetMapping(value = "/{id}")
public R<OrderDeliveryHistory> getInfo(@PathVariable("id") Long id) {
return R.ok(service.getById(id));
}
@ApiOperation("新增订单发货记录")
@Tag(name ="新增订单发货记录")
@Log(title = "订单发货记录", businessType = BusinessType.INSERT)
@PostMapping("/add")
public R add(@RequestBody OrderDeliveryHistory orderDeliveryHistory) {
return R.ok(service.save(orderDeliveryHistory));
}
@ApiOperation("修改订单发货记录")
@Tag(name ="修改订单发货记录")
@Log(title = "订单发货记录", businessType = BusinessType.UPDATE)
@PostMapping("/update")
public R edit(@RequestBody OrderDeliveryHistory orderDeliveryHistory) {
return R.ok(service.updateById(orderDeliveryHistory));
}
@ApiOperation("删除订单发货记录")
@Tag(name ="删除订单发货记录")
@Log(title = "订单发货记录", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
public R remove(@PathVariable Long id) {

View File

@ -24,6 +24,7 @@ import com.wzj.soopin.order.service.OrderItemService;
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 org.dromara.common.core.domain.R;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.log.annotation.Log;
@ -40,7 +41,7 @@ import java.util.List;
* @author zcc
* @date 2022-12-01
*/
@Api(description ="订单中所包含的商品接口列表")
@Tag(name ="订单中所包含的商品接口列表")
@RestController
@RequestMapping("/oms/orderItem")
public class OrderItemController extends BaseController {
@ -58,7 +59,7 @@ public class OrderItemController extends BaseController {
// return ResponseEntity.ok(new PageImpl<>(list, page, ((com.github.pagehelper.Page)list).getTotal()));
// }
@ApiOperation("查询订单中所包含的商品列表")
@Tag(name = "查询订单中所包含的商品列表")
@PostMapping("/list")
public R<IPage<OrderItemVO>> list(@RequestBody OrderItemBo query, Page<OrderItem> page) {
Page<OrderItem> list = orderItemService.page(page,query.toWrapper() );
@ -66,7 +67,7 @@ public class OrderItemController extends BaseController {
}
@ApiOperation("导出会员信息列表")
@Tag(name = "导出会员信息列表")
@Log(title = "会员信息", businessType = BusinessType.EXPORT)
@GetMapping("export")
public ResponseEntity<String> export(OrderItemBo query) {
@ -75,27 +76,27 @@ public class OrderItemController extends BaseController {
return ResponseEntity.ok(util.writeExcel(convert.toVO(list), "订单中所包含的商品数据"));
}
@ApiOperation("获取订单中所包含的商品详细信息")
@Tag(name = "获取订单中所包含的商品详细信息")
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") Long id) {
return R.ok(service.getById(id));
}
@ApiOperation("新增订单中所包含的商品")
@Tag(name = "新增订单中所包含的商品")
@Log(title = "订单中所包含的商品", businessType = BusinessType.INSERT)
@PostMapping("/add")
public R add(@RequestBody OrderItem orderItem) {
return R.ok(service.save(orderItem));
}
@ApiOperation("修改订单中所包含的商品")
@Tag(name = "修改订单中所包含的商品")
@Log(title = "订单中所包含的商品", businessType = BusinessType.UPDATE)
@PostMapping("/update")
public R edit(@RequestBody OrderItem orderItem) {
return R.ok(service.updateById(orderItem));
}
@ApiOperation("删除订单中所包含的商品")
@Tag(name = "删除订单中所包含的商品")
@Log(title = "订单中所包含的商品", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
public R remove(@PathVariable Long id) {

View File

@ -17,6 +17,7 @@ import com.wzj.soopin.order.service.OrderOperateHistoryService;
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 org.dromara.common.core.domain.R;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.log.annotation.Log;
@ -33,7 +34,7 @@ import java.util.List;
* @author zcc
* @date 2022-12-01
*/
@Api(description ="订单操作历史记录接口列表")
@Tag(name ="订单操作历史记录接口列表")
@RestController
@RequestMapping("/oms/orderOperateHistory")
public class OrderOperateHistoryController extends BaseController {
@ -51,7 +52,7 @@ public class OrderOperateHistoryController extends BaseController {
// return ResponseEntity.ok(new PageImpl<>(list, page, ((com.github.pagehelper.Page)list).getTotal()));
// }
@ApiOperation("查询订单操作历史记录列表")
@Tag(name ="查询订单操作历史记录列表")
@PostMapping("/list")
public R<IPage<OrderOperateHistoryVO>> list(@RequestBody OrderOperateHistoryBo query, Page<OrderOperateHistory> page) {
Page<OrderOperateHistory> list = service.page(page,query.toWrapper() );
@ -59,7 +60,7 @@ public class OrderOperateHistoryController extends BaseController {
}
@ApiOperation("导出订单操作历史记录列表")
@Tag(name ="导出订单操作历史记录列表")
@Log(title = "订单操作历史记录", businessType = BusinessType.EXPORT)
@GetMapping("export")
public ResponseEntity<String> export(OrderOperateHistoryBo query) {
@ -68,27 +69,27 @@ public class OrderOperateHistoryController extends BaseController {
return ResponseEntity.ok(util.writeExcel(convert.toVO(list), "订单操作历史记录数据"));
}
@ApiOperation("获取订单操作历史记录详细信息")
@Tag(name ="获取订单操作历史记录详细信息")
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") Long id) {
return R.ok(service.getById(id));
}
@ApiOperation("新增订单操作历史记录")
@Tag(name ="新增订单操作历史记录")
@Log(title = "订单操作历史记录", businessType = BusinessType.INSERT)
@PostMapping("/add")
public R add(@RequestBody OrderOperateHistory orderOperateHistory) {
return R.ok(service.save(orderOperateHistory));
}
@ApiOperation("修改订单操作历史记录")
@Tag(name ="修改订单操作历史记录")
@Log(title = "订单操作历史记录", businessType = BusinessType.UPDATE)
@PostMapping("/update")
public R edit(@RequestBody OrderOperateHistory orderOperateHistory) {
return R.ok(service.updateById(orderOperateHistory));
}
@ApiOperation("删除订单操作历史记录")
@Tag(name ="删除订单操作历史记录")
@Log(title = "订单操作历史记录", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
public R remove(@PathVariable Long id) {

View File

@ -3,6 +3,7 @@ package com.wzj.soopin.order.controller;
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 org.dromara.common.core.domain.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -10,7 +11,7 @@ import org.springframework.web.bind.annotation.*;
/**
* 核销码相关接口
*/
@Api(tags = "核销码接口")
@Tag(name = "核销码接口")
@RestController
@RequestMapping("/oms/verification")
public class VerificationCodeController {
@ -23,7 +24,7 @@ public class VerificationCodeController {
* 生成核销码
*/
@GetMapping("/generate/{orderId}")
@ApiOperation("生成核销码")
@Tag(name = "生成核销码")
public R generateCode(@PathVariable Long orderId) {
return verificationCodeService.generateVerificationCode(orderId);
}
@ -35,7 +36,7 @@ public class VerificationCodeController {
* @return 核销结果z
*/
@PostMapping("/verify")
@ApiOperation("扫码核销接口")
@Tag(name = "扫码核销接口")
public R verifyCode(@RequestParam String codeValue,
@RequestParam Long usedMerchantId) {
return verificationCodeService.verifyCode(codeValue, usedMerchantId);

View File

@ -16,6 +16,7 @@ import com.wzj.soopin.order.service.WechatPaymentHistoryService;
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 org.dromara.common.core.domain.R;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.log.annotation.Log;
@ -32,7 +33,7 @@ import java.util.List;
* @author zcc
* @date 2023-07-12
*/
@Api(description ="微信订单表接口列表")
@Tag(name ="微信订单表接口列表")
@RestController
@RequestMapping("/pms/omsWechatPaymentHistory")
public class WechatPaymentHistoryController extends BaseController {
@ -50,7 +51,7 @@ public class WechatPaymentHistoryController extends BaseController {
// return ResponseEntity.ok(new PageImpl<>(list, page, ((com.github.pagehelper.Page)list).getTotal()));
// }
@ApiOperation("查询微信订单表列表")
@Tag(name ="查询微信订单表列表")
@PostMapping("/list")
public R<IPage<WechatPaymentHistoryVO>> list(@RequestBody WechatPaymentHistoryBo query, Page<WechatPaymentHistory> page) {
Page<WechatPaymentHistory> list = wechatPaymentHistoryService.page(page,query.toWrapper() );
@ -58,7 +59,7 @@ public class WechatPaymentHistoryController extends BaseController {
}
@ApiOperation("导出微信订单表列表")
@Tag(name ="导出微信订单表列表")
@Log(title = "微信订单表", businessType = BusinessType.EXPORT)
@GetMapping("export")
public ResponseEntity<String> export(WechatPaymentHistoryBo query) {
@ -67,27 +68,27 @@ public class WechatPaymentHistoryController extends BaseController {
return ResponseEntity.ok(util.writeExcel(convert.toVO(list), "微信订单表数据"));
}
@ApiOperation("获取微信订单表详细信息")
@Tag(name ="获取微信订单表详细信息")
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") Long id) {
return R.ok(service.getById(id));
}
@ApiOperation("新增微信订单表")
@Tag(name ="新增微信订单表")
@Log(title = "微信订单表", businessType = BusinessType.INSERT)
@PostMapping("/add")
public R add(@RequestBody WechatPaymentHistory wechatPaymentHistory) {
return R.ok(service.save(wechatPaymentHistory));
}
@ApiOperation("修改微信订单表")
@Tag(name ="修改微信订单表")
@Log(title = "微信订单表", businessType = BusinessType.UPDATE)
@PostMapping("/update")
public R edit(@RequestBody WechatPaymentHistory wechatPaymentHistory) {
return R.ok(service.updateById(wechatPaymentHistory));
}
@ApiOperation("删除微信订单表")
@Tag(name ="删除微信订单表")
@Log(title = "微信订单表", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
public R remove(@PathVariable Long id) {

View File

@ -4,8 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.wzj.soopin.order.domain.entity.Aftersale;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
@ -13,50 +12,51 @@ import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
@ApiModel(description="订单售后 查询 对象")
@Schema(description = "订单售后 查询 对象")
public class AftersaleBo {
@ApiModelProperty("MEMBER_ID 精确匹配")
@Schema(description = "MEMBER_ID 精确匹配")
private Long memberId;
@ApiModelProperty("订单id 精确匹配")
@Schema(description = "订单id 精确匹配")
private Long orderId;
@ApiModelProperty("退款金额 精确匹配")
@Schema(description = "退款金额 精确匹配")
private BigDecimal returnAmount;
@ApiModelProperty("售后类型1退款2退货退款 精确匹配")
@Schema(description = "售后类型1退款2退货退款 精确匹配")
private Integer type;
@ApiModelProperty("申请状态0->待处理1->退货中2->已完成3->已拒绝 精确匹配")
@Schema(description = "申请状态0->待处理1->退货中2->已完成3->已拒绝 精确匹配")
private Integer status;
@ApiModelProperty("处理时间 精确匹配")
@Schema(description = "处理时间 精确匹配")
private LocalDateTime handleTime;
@ApiModelProperty("退货数量 精确匹配")
@Schema(description = "退货数量 精确匹配")
private Integer quantity;
@ApiModelProperty("原因 精确匹配")
@Schema(description = "原因 精确匹配")
private String reason;
@ApiModelProperty("描述 精确匹配")
@Schema(description = "描述 精确匹配")
private String description;
@ApiModelProperty("凭证图片,以逗号隔开 精确匹配")
@Schema(description = "凭证图片,以逗号隔开 精确匹配")
private String proofPics;
@ApiModelProperty("处理备注 精确匹配")
@Schema(description = "处理备注 精确匹配")
private String handleNote;
@ApiModelProperty("处理人员 精确匹配")
@Schema(description = "处理人员 精确匹配")
private String handleMan;
@ApiModelProperty(name = "startTime", value = "开始时间", required = true, dataType = "Date")
@Schema(name = "startTime", description = "开始时间", required = true, implementation = LocalDateTime.class)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime startTime;
@ApiModelProperty(name = "endTime", value = "结束时间", required = true, dataType = "Date")
@Schema(name = "endTime", description = "结束时间", required = true, implementation = LocalDateTime.class)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime endTime;

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wzj.soopin.order.domain.entity.AftersaleItem;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.excel.annotation.Excel;
@ -14,22 +15,22 @@ import java.math.BigDecimal;
@ApiModel(description="订单中所包含的商品 查询 对象")
public class AftersaleItemBo {
@ApiModelProperty("MEMBER_ID 精确匹配")
@Schema(description = "MEMBER_ID 精确匹配")
private Long memberId;
@ApiModelProperty("订单id 精确匹配")
@Schema(description = "订单id 精确匹配")
private Long orderId;
@ApiModelProperty("子订单id 精确匹配")
@Schema(description = "子订单id 精确匹配")
private Long orderItemId;
@ApiModelProperty("退款金额 精确匹配")
@Schema(description = "退款金额 精确匹配")
private BigDecimal returnAmount;
@ApiModelProperty("退货数量 精确匹配")
@Schema(description = "退货数量 精确匹配")
private Integer quantity;
@ApiModelProperty("售后单id")
@Schema(description = "售后单id")
private Long aftersaleId;
public Wrapper<AftersaleItem> toWrapper() {

View File

@ -17,7 +17,7 @@ import java.util.Date;
import java.util.Random;
@Data
@ApiModel(description="订单表 查询 对象")
@Schema(description="订单表 查询 对象")
public class OrderBo {
@Schema(description ="MEMBER_ID 精确匹配")
@ -119,6 +119,12 @@ public class OrderBo {
@Schema(description ="创建订单结束时间 精确匹配")
private LocalDateTime endTime;
@Schema(description = "订单类型1->团购2->拼团;3->秒杀;")
private Integer type;
@Schema(description = "提现状态1->等待转账2->转帐中;3->转账成功;4->转账失败")
private Integer withdrawStatus;
public Wrapper<Order> toWrapper() {
LambdaQueryWrapper<Order> queryWrapper = new LambdaQueryWrapper<>();

View File

@ -5,18 +5,20 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wzj.soopin.order.domain.entity.OrderDeliveryHistory;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@ApiModel(description="订单发货记录 查询 对象")
public class OrderDeliveryHistoryBo {
@ApiModelProperty("订单id 精确匹配")
@Schema(description ="订单id 精确匹配")
private Long orderId;
@ApiModelProperty("物流公司 精确匹配")
@Schema(description ="物流公司 精确匹配")
private String deliveryCompany;
@ApiModelProperty("物流单号 精确匹配")
@Schema(description ="物流单号 精确匹配")
private String deliverySn;
public Wrapper<OrderDeliveryHistory> toWrapper() {

View File

@ -3,55 +3,54 @@ package com.wzj.soopin.order.domain.bo;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wzj.soopin.order.domain.entity.OrderItem;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@Data
@ApiModel(description="订单中所包含的商品 查询 对象")
@Schema(description = "订单中所包含的商品 查询 对象")
public class OrderItemBo {
@ApiModelProperty("订单id 精确匹配")
@Schema(description = "订单id 精确匹配")
private Long orderId;
@ApiModelProperty("PRODUCT_ID 精确匹配")
@Schema(description = "PRODUCT_ID 精确匹配")
private Long productId;
@ApiModelProperty("商品编码 精确匹配")
@Schema(description = "商品编码 精确匹配")
private String outProductId;
@ApiModelProperty("商品sku id 精确匹配")
@Schema(description = "商品sku id 精确匹配")
private Long skuId;
@ApiModelProperty("sku编码 精确匹配")
@Schema(description = "sku编码 精确匹配")
private String outSkuId;
@ApiModelProperty("商品快照id 精确匹配")
@Schema(description = "商品快照id 精确匹配")
private Long productSnapshotId;
@ApiModelProperty("sku快照id 精确匹配")
@Schema(description = "sku快照id 精确匹配")
private Long skuSnapshotId;
@ApiModelProperty("展示图片 精确匹配")
@Schema(description = "展示图片 精确匹配")
private String pic;
@ApiModelProperty("PRODUCT_NAME 精确匹配")
@Schema(description = "PRODUCT_NAME 精确匹配")
private String productNameLike;
@ApiModelProperty("销售价格 精确匹配")
@Schema(description = "销售价格 精确匹配")
private BigDecimal salePrice;
@ApiModelProperty("采购价 精确匹配")
@Schema(description = "采购价 精确匹配")
private BigDecimal purchasePrice;
@ApiModelProperty("购买数量 精确匹配")
@Schema(description = "购买数量 精确匹配")
private Integer quantity;
@ApiModelProperty("商品分类id 精确匹配")
@Schema(description = "商品分类id 精确匹配")
private Long productCategoryId;
@ApiModelProperty("商品sku属性:[{\"key\":\"颜色\",\"value\":\"颜色\"},{\"key\":\"容量\",\"value\":\"4G\"}] 精确匹配")
@Schema(description = "商品sku属性:[{\"key\":\"颜色\",\"value\":\"颜色\"},{\"key\":\"容量\",\"value\":\"4G\"}] 精确匹配")
private String spData;
public Wrapper<OrderItem> toWrapper() {

View File

@ -5,22 +5,23 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wzj.soopin.order.domain.entity.OrderOperateHistory;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@ApiModel(description="订单操作历史记录 查询 对象")
public class OrderOperateHistoryBo {
@ApiModelProperty("订单号 精确匹配")
@Schema(description = "订单号 精确匹配")
private String orderSn;
@ApiModelProperty("操作人:用户;系统;后台管理员 精确匹配")
@Schema(description = "操作人:用户;系统;后台管理员 精确匹配")
private String operateMan;
@ApiModelProperty("订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单 精确匹配")
@Schema(description = "订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单 精确匹配")
private Integer orderStatus;
@ApiModelProperty("备注 精确匹配")
@Schema(description = "备注 精确匹配")
private String note;
public Wrapper<OrderOperateHistory> toWrapper() {

View File

@ -3,46 +3,45 @@ package com.wzj.soopin.order.domain.bo;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wzj.soopin.order.domain.entity.WechatPaymentHistory;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@Data
@ApiModel(description="微信订单表 查询 对象")
@Schema(description = "微信订单表 查询 对象")
public class WechatPaymentHistoryBo {
@ApiModelProperty("payment_id 精确匹配")
@Schema(description = "payment_id 精确匹配")
private String paymentId;
@ApiModelProperty("用户 ID 精确匹配")
@Schema(description = "用户 ID 精确匹配")
private Long memberId;
@ApiModelProperty("OPENID 精确匹配")
@Schema(description = "OPENID 精确匹配")
private String openid;
@ApiModelProperty("真实姓名,提现需要 精确匹配")
@Schema(description = "真实姓名,提现需要 精确匹配")
private String realNameLike;
@ApiModelProperty("标题|商品名称 精确匹配")
@Schema(description = "标题|商品名称 精确匹配")
private String title;
@ApiModelProperty("订单号 支付时是payId 其他为orderId 精确匹配")
@Schema(description = "订单号 支付时是payId 其他为orderId 精确匹配")
private Long orderId;
@ApiModelProperty("金额,单位分 精确匹配")
@Schema(description = "金额,单位分 精确匹配")
private BigDecimal money;
@ApiModelProperty("交易类型1为支付 2为提现 3为退款 精确匹配")
@Schema(description = "交易类型1为支付 2为提现 3为退款 精确匹配")
private Integer opType;
@ApiModelProperty("状态0未完成交易 1完成关键交易 精确匹配")
@Schema(description = "状态0未完成交易 1完成关键交易 精确匹配")
private Integer paymentStatus;
@ApiModelProperty("附加数据 精确匹配")
@Schema(description = "附加数据 精确匹配")
private String attach;
@ApiModelProperty("响应内容 精确匹配")
@Schema(description = "响应内容 精确匹配")
private String responseBody;
public Wrapper<WechatPaymentHistory> toWrapper() {

View File

@ -1,42 +1,41 @@
package com.wzj.soopin.order.domain.dto;
package com.wzj.soopin.order.domain.dto;
import com.wzj.soopin.goods.domain.entity.Product;
import com.wzj.soopin.goods.domain.entity.Sku;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import com.wzj.soopin.goods.domain.entity.Product;
import com.wzj.soopin.goods.domain.entity.Sku;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.math.BigDecimal;
import java.math.BigDecimal;
/**
* 创建订单请求VO
* @author Jinxin
*
*/
@Data
@ApiModel(value = "创建订单请求VO")
public class OrderProductListDTO {
@ApiModelProperty(value = "商品skuId", required = true)
@NotNull(message = "商品skuId不能为空")
private Long skuId;
/**
* 创建订单请求VO
* @author Jinxin
*
*/
@Data
@Schema(description = "创建订单请求VO")
public class OrderProductListDTO {
@Schema(description = "商品skuId", required = true)
@NotNull(message = "商品skuId不能为空")
private Long skuId;
@ApiModelProperty(value = "数量", required = true)
@NotNull(message = "数量不能为空")
@Min(value = 1, message = "数量不能小于1")
private Integer quantity;
@Schema(description = "数量", required = true)
@NotNull(message = "数量不能为空")
@Min(value = 1, message = "数量不能小于1")
private Integer quantity;
@ApiModelProperty(value = "消费金", hidden = true)
private BigDecimal consumption;
@Schema(description = "消费金", hidden = true)
private BigDecimal consumption;
@ApiModelProperty(value = "运费", hidden = true)
private BigDecimal freightAmount;
@Schema(description = "运费", hidden = true)
private BigDecimal freightAmount;
@ApiModelProperty(value = "隐藏 业务过程中的数据", hidden = true)
private Sku sku;
@Schema(description = "隐藏 业务过程中的数据", hidden = true)
private Sku sku;
@ApiModelProperty(value = "隐藏 业务过程中的数据", hidden = true)
private Product product;
}
@Schema(description = "隐藏 业务过程中的数据", hidden = true)
private Product product;
}

View File

@ -5,81 +5,80 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 订单售后对象 oms_aftersale
*
* @author zcc
*/
@ApiModel(description="订单售后对象")
@Schema(description = "订单售后对象")
@Data
@TableName("oms_aftersale")
public class Aftersale extends BaseAudit {
private static final long serialVersionUID = 1L;
@ApiModelProperty("ID")
@Schema(description = "ID")
@TableId(type = IdType.ASSIGN_ID)
private Long id;
@ApiModelProperty("MEMBER_ID")
@Schema(description = "MEMBER_ID")
@Excel(name = "MEMBER_ID")
private Long memberId;
@ApiModelProperty("订单id")
@Schema(description = "订单id")
@Excel(name = "订单id")
private Long orderId;
@ApiModelProperty("退款金额")
@Schema(description = "退款金额")
@Excel(name = "退款金额")
private BigDecimal returnAmount;
@ApiModelProperty("售后类型1退款2退货退款")
@Schema(description = "售后类型1退款2退货退款")
@Excel(name = "售后类型1退款2退货退款")
private Integer type;
@ApiModelProperty("申请状态0->待处理1->退货中2->已完成3->已拒绝")
@Schema(description = "申请状态0->待处理1->退货中2->已完成3->已拒绝")
@Excel(name = "申请状态0->待处理1->退货中2->已完成3->已拒绝")
private Integer status;
@ApiModelProperty("处理时间")
@Schema(description = "处理时间")
@Excel(name = "处理时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime handleTime;
@ApiModelProperty("退货数量")
@Schema(description = "退货数量")
@Excel(name = "退货数量")
private Integer quantity;
@ApiModelProperty("原因")
@Schema(description = "原因")
@Excel(name = "原因")
private String reason;
@ApiModelProperty("描述")
@Schema(description = "描述")
@Excel(name = "描述")
private String description;
@ApiModelProperty("凭证图片,以逗号隔开")
@Schema(description = "凭证图片,以逗号隔开")
@Excel(name = "凭证图片,以逗号隔开")
private String proofPics;
@ApiModelProperty("处理备注")
@Schema(description = "处理备注")
@Excel(name = "处理备注")
private String handleNote;
@ApiModelProperty("处理人员")
@Schema(description = "处理人员")
@Excel(name = "处理人员")
private String handleMan;
@ApiModelProperty("退款快递公司")
@Schema(description = "退款快递公司")
@Excel(name = "退款快递公司")
private String refundWpCode;
@ApiModelProperty("退货快递号")
@Schema(description = "退货快递号")
@Excel(name = "退货快递号")
private String refundWaybillCode;
}

View File

@ -1,49 +1,48 @@
package com.wzj.soopin.order.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.excel.annotation.Excel;
import java.math.BigDecimal;
/**
* 订单售后对象 oms_aftersale_item
*
* @author zcc
*/
@ApiModel(description="订单售后对象")
@Schema(description = "订单售后对象")
@Data
@TableName("oms_aftersale_item")
public class AftersaleItem extends BaseAudit {
private static final long serialVersionUID = 1L;
@ApiModelProperty("ID")
@Schema(description = "ID")
private Long id;
@ApiModelProperty("MEMBER_ID")
@Schema(description = "MEMBER_ID")
@Excel(name = "MEMBER_ID")
private Long memberId;
@ApiModelProperty("售后单id")
@Schema(description = "售后单id")
@Excel(name = "售后单id")
private Long aftersaleId;
@ApiModelProperty("订单id")
@Schema(description = "订单id")
@Excel(name = "订单id")
private Long orderId;
@ApiModelProperty("子订单id")
@Schema(description = "子订单id")
@Excel(name = "子订单id")
private Long orderItemId;
@ApiModelProperty("退款金额")
@Schema(description = "退款金额")
@Excel(name = "退款金额")
private BigDecimal returnAmount;
@ApiModelProperty("退货数量")
@Schema(description = "退货数量")
@Excel(name = "退货数量")
private Integer quantity;
}

View File

@ -3,8 +3,7 @@ package com.wzj.soopin.order.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.persistence.PrePersist;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
@ -21,157 +20,164 @@ import java.util.Random;
*
* @author zcc
*/
@ApiModel(description="订单表对象")
@Schema(description = "订单表对象")
@Data
@TableName("oms_order")
public class Order extends BaseAudit {
private static final long serialVersionUID = 1L;
@ApiModelProperty("订单id")
@Schema(description = "订单id")
@TableId(type = IdType.ASSIGN_ID)
private Long id;
@ApiModelProperty("支付id")
@Schema(description = "支付id")
private Long payId;
@ApiModelProperty("租户id")
@Schema(description = "租户id")
private String tenantId;
@ApiModelProperty("订单编号")
@Schema(description = "订单编号")
@Excel(name = "订单编号")
private String orderSn;
@ApiModelProperty("MEMBER_ID")
@Schema(description = "MEMBER_ID")
@Excel(name = "MEMBER_ID")
private Long memberId;
@ApiModelProperty("用户帐号")
@Schema(description = "用户帐号")
@Excel(name = "用户帐号")
private String memberUsername;
@ApiModelProperty("商家备注")
@Schema(description = "商家备注")
@Excel(name = "商家备注")
private String merchantNote;
@ApiModelProperty("订单总金额")
@Schema(description = "订单总金额")
@Excel(name = "订单总金额")
private BigDecimal totalAmount;
@ApiModelProperty("采购价")
@Schema(description = "采购价")
@Excel(name = "采购价")
private BigDecimal purchasePrice;
@ApiModelProperty("应付金额(实际支付金额)")
@Schema(description = "应付金额(实际支付金额)")
@Excel(name = "应付金额", readConverterExp = "实=际支付金额")
private BigDecimal payAmount;
@ApiModelProperty("运费金额")
@Schema(description = "运费金额")
@Excel(name = "运费金额")
private BigDecimal freightAmount;
@ApiModelProperty("支付方式0->未支付1->支付宝2->微信")
@Schema(description = "支付方式0->未支付1->支付宝2->微信")
@Excel(name = "支付方式0->未支付1->支付宝2->微信")
private Integer payType;
@ApiModelProperty("订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单")
@Schema(description = "订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单")
@Excel(name = "订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单")
private Integer status;
@ApiModelProperty("退款状态枚举值1无售后或售后关闭2售后处理中3退款中4 退款成功")
@Schema(description = "退款状态枚举值1无售后或售后关闭2售后处理中3退款中4 退款成功")
@Excel(name = "退款状态枚举值1无售后或售后关闭2售后处理中3退款中4 退款成功")
private Integer aftersaleStatus;
@ApiModelProperty("物流公司(配送方式)")
@Schema(description = "物流公司(配送方式)")
@Excel(name = "物流公司(配送方式)")
private String deliveryCompany;
@ApiModelProperty("物流单号")
@Schema(description = "物流单号")
@Excel(name = "物流单号")
private String deliverySn;
@ApiModelProperty("自动确认时间(天)")
@Schema(description = "自动确认时间(天)")
@Excel(name = "自动确认时间", readConverterExp = "天=")
private Integer autoConfirmDay;
@ApiModelProperty("收货人姓名")
@Schema(description = "收货人姓名")
@Excel(name = "收货人姓名")
private String receiverName;
@ApiModelProperty("收货人电话")
@Schema(description = "收货人电话")
@Excel(name = "收货人电话")
private String receiverPhone;
@ApiModelProperty("加密的手机号")
@Schema(description = "加密的手机号")
@Excel(name = "加密的手机号")
private String receiverPhoneEncrypted;
@ApiModelProperty("收货人邮编")
@Schema(description = "收货人邮编")
@Excel(name = "收货人邮编")
private String receiverPostCode;
@ApiModelProperty("省份/直辖市")
@Schema(description = "省份/直辖市")
@Excel(name = "省份/直辖市")
private String receiverProvince;
@ApiModelProperty("城市")
@Schema(description = "城市")
@Excel(name = "城市")
private String receiverCity;
@ApiModelProperty("")
@Schema(description = "")
@Excel(name = "")
private String receiverDistrict;
@ApiModelProperty("省份/直辖市id")
@Schema(description = "省份/直辖市id")
@Excel(name = "省份/直辖市id")
private Long receiverProvinceId;
@ApiModelProperty("城市id")
@Schema(description = "城市id")
@Excel(name = "城市id")
private Long receiverCityId;
@ApiModelProperty("区id")
@Schema(description = "区id")
@Excel(name = "区id")
private Long receiverDistrictId;
@ApiModelProperty("详细地址")
@Schema(description = "详细地址")
@Excel(name = "详细地址")
private String receiverDetailAddress;
@ApiModelProperty("订单备注")
@Schema(description = "订单备注")
@Excel(name = "订单备注")
private String note;
@ApiModelProperty("确认收货状态0->未确认1->已确认")
@Schema(description = "确认收货状态0->未确认1->已确认")
@Excel(name = "确认收货状态0->未确认1->已确认")
private Integer confirmStatus;
@ApiModelProperty("删除状态0->未删除1->已删除")
@Schema(description = "删除状态0->未删除1->已删除")
@Excel(name = "删除状态0->未删除1->已删除")
private Integer deleteStatus;
@ApiModelProperty("支付时间")
@Schema(description = "支付时间")
@Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime paymentTime;
@ApiModelProperty("发货时间")
@Schema(description = "发货时间")
@Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime deliveryTime;
@ApiModelProperty("确认收货时间")
@Schema(description = "确认收货时间")
@Excel(name = "确认收货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime receiveTime;
@ApiModelProperty("优惠券ID")
@Schema(description = "优惠券ID")
private Long memberCouponId;
@ApiModelProperty("优惠券金额")
@Schema(description = "优惠券金额")
private BigDecimal couponAmount;
@ApiModelProperty("核销时间")
@Schema(description = "核销时间")
private LocalDateTime usedTime;
@ApiModelProperty("核销码url")
@Schema(description = "核销码url")
private String codeUrl;
@Schema(description = "订单类型1->团购2->拼团;3->秒杀;")
private Integer type;
@Schema(description = "提现状态1->等待转账2->转帐中;3->转账成功;4->转账失败")
private Integer withdrawStatus;
@Schema(description = "配送方式 1->到店核销2->自提;3->配送;")
private Integer distribution;
}

View File

@ -1,8 +1,7 @@
package com.wzj.soopin.order.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.excel.annotation.Excel;
@ -12,25 +11,24 @@ import org.dromara.common.excel.annotation.Excel;
*
* @author zcc
*/
@ApiModel(description="订单发货记录对象")
@Schema(description = "订单发货记录对象")
@Data
@TableName("oms_order_delivery_history")
public class OrderDeliveryHistory extends BaseAudit {
private static final long serialVersionUID = 1L;
@ApiModelProperty("ID")
@Schema(description = "ID")
private Long id;
@ApiModelProperty("订单id")
@Schema(description = "订单id")
@Excel(name = "订单id")
private Long orderId;
@ApiModelProperty("物流公司(配送方式)")
@Schema(description = "物流公司(配送方式)")
@Excel(name = "物流公司(配送方式)")
private String deliveryCompany;
@ApiModelProperty("物流单号")
@Schema(description = "物流单号")
@Excel(name = "物流单号")
private String deliverySn;
}

View File

@ -3,82 +3,81 @@ package com.wzj.soopin.order.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.excel.annotation.Excel;
import java.math.BigDecimal;
/**
* 订单中所包含的商品对象 oms_order_item
*
* @author zcc
*/
@ApiModel(description="订单中所包含的商品对象")
@Schema(description = "订单中所包含的商品对象")
@Data
@TableName("oms_order_item")
public class OrderItem extends BaseAudit {
private static final long serialVersionUID = 1L;
@ApiModelProperty("ID")
@Schema(description = "ID")
@TableId(type = IdType.ASSIGN_ID)
private Long id;
@ApiModelProperty("订单id")
@Schema(description = "订单id")
@Excel(name = "订单id")
private Long orderId;
@ApiModelProperty("PRODUCT_ID")
@Schema(description = "PRODUCT_ID")
@Excel(name = "PRODUCT_ID")
private Long productId;
@ApiModelProperty("商品编码")
@Schema(description = "商品编码")
@Excel(name = "商品编码")
private String outProductId;
@ApiModelProperty("商品sku id")
@Schema(description = "商品sku id")
@Excel(name = "商品sku id")
private Long skuId;
@ApiModelProperty("sku编码")
@Schema(description = "sku编码")
@Excel(name = "sku编码")
private String outSkuId;
@ApiModelProperty("商品快照id")
@Schema(description = "商品快照id")
@Excel(name = "商品快照id")
private Long productSnapshotId;
@ApiModelProperty("sku快照id")
@Schema(description = "sku快照id")
@Excel(name = "sku快照id")
private Long skuSnapshotId;
@ApiModelProperty("展示图片")
@Schema(description = "展示图片")
@Excel(name = "展示图片")
private String pic;
@ApiModelProperty("PRODUCT_NAME")
@Schema(description = "PRODUCT_NAME")
@Excel(name = "PRODUCT_NAME")
private String productName;
@ApiModelProperty("销售价格")
@Schema(description = "销售价格")
@Excel(name = "销售价格")
private BigDecimal salePrice;
@ApiModelProperty("采购价")
@Schema(description = "采购价")
@Excel(name = "采购价")
private BigDecimal purchasePrice;
@ApiModelProperty("购买数量")
@Schema(description = "购买数量")
@Excel(name = "购买数量")
private Integer quantity;
@ApiModelProperty("商品分类id")
@Schema(description = "商品分类id")
@Excel(name = "商品分类id")
private Long productCategoryId;
@ApiModelProperty("商品sku属性:[{\"key\":\"颜色\",\"value\":\"颜色\"},{\"key\":\"容量\",\"value\":\"4G\"}]")
@Schema(description = "商品sku属性:[{\"key\":\"颜色\",\"value\":\"颜色\"},{\"key\":\"容量\",\"value\":\"4G\"}]")
@Excel(name = "商品sku属性:[{\"key\":\"颜色\",\"value\":\"颜色\"},{\"key\":\"容量\",\"value\":\"4G\"}]")
private String spData;
}

View File

@ -1,10 +1,9 @@
package com.wzj.soopin.order.domain.entity;
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;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.dromara.common.excel.annotation.Excel;
/**
@ -12,33 +11,32 @@ import org.dromara.common.excel.annotation.Excel;
*
* @author zcc
*/
@ApiModel(description="订单操作历史记录对象")
@Schema(description = "订单操作历史记录对象")
@Data
@TableName("oms_order_operate_history")
public class OrderOperateHistory extends BaseAudit {
private static final long serialVersionUID = 1L;
@ApiModelProperty("ID")
@Schema(description = "ID")
private Long id;
@ApiModelProperty("订单id")
@Schema(description = "订单id")
@Excel(name = "订单id")
private Long orderId;
@ApiModelProperty("订单号")
@Schema(description = "订单号")
@Excel(name = "订单号")
private String orderSn;
@ApiModelProperty("操作人:用户;系统;后台管理员")
@Schema(description = "操作人:用户;系统;后台管理员")
@Excel(name = "操作人:用户;系统;后台管理员")
private String operateMan;
@ApiModelProperty("订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单")
@Schema(description = "订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单")
@Excel(name = "订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单")
private Integer orderStatus;
@ApiModelProperty("备注")
@Schema(description = "备注")
@Excel(name = "备注")
private String note;
}

View File

@ -1,8 +1,7 @@
package com.wzj.soopin.order.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.excel.annotation.Excel;
@ -14,57 +13,56 @@ import java.time.LocalDateTime;
*
* @author zcc
*/
@ApiModel(description="系统数据统计对象")
@Schema(description = "系统数据统计对象")
@Data
@TableName("aws_system_statistics")
public class SystemStatistics {
private static final long serialVersionUID = 1L;
@ApiModelProperty("ID")
@Schema(description = "ID")
private Long id;
@ApiModelProperty("统计日期")
@Schema(description = "统计日期")
@Excel(name = "统计日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime date;
@ApiModelProperty("登录用户数")
@Schema(description = "登录用户数")
@Excel(name = "登录用户数")
private Integer loginMemberCount;
@ApiModelProperty("注册用户数")
@Schema(description = "注册用户数")
@Excel(name = "注册用户数")
private Integer registerMemberCount;
@ApiModelProperty("加购用户数")
@Schema(description = "加购用户数")
@Excel(name = "加购用户数")
private Integer addCartMemberCount;
@ApiModelProperty("下单用户数")
@Schema(description = "下单用户数")
@Excel(name = "下单用户数")
private Integer createOrderMemberCount;
@ApiModelProperty("成交用户数")
@Schema(description = "成交用户数")
@Excel(name = "成交用户数")
private Integer dealMemberCount;
@ApiModelProperty("下单数")
@Schema(description = "下单数")
@Excel(name = "下单数")
private Integer orderCount;
@ApiModelProperty("成交数")
@Schema(description = "成交数")
@Excel(name = "成交数")
private Integer dealCount;
@ApiModelProperty("成交金额")
@Schema(description = "成交金额")
@Excel(name = "成交金额")
private BigDecimal dealAmount;
@ApiModelProperty("售后数")
@Schema(description = "售后数")
@Excel(name = "售后数")
private Integer aftersaleCount;
@ApiModelProperty("售后金额")
@Schema(description = "售后金额")
@Excel(name = "售后金额")
private BigDecimal aftersaleAmount;
}

View File

@ -3,46 +3,42 @@ package com.wzj.soopin.order.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import java.time.LocalDateTime;
@ApiModel(description="核销码表对象")
@Schema(description = "核销码表对象")
@Data
@TableName("oms_verification_codes")
public class VerificationCodes extends BaseAudit {
@ApiModelProperty("ID")
@Schema(description = "ID")
@TableId(type = IdType.ASSIGN_ID)
private Long id;
@ApiModelProperty("核销码")
@Schema(description = "核销码")
private String code;
@ApiModelProperty("关联订单id")
@Schema(description = "关联订单id")
private Long orderId;
@ApiModelProperty("是否使用")
@Schema(description = "是否使用")
private Integer status;
@ApiModelProperty("用户id")
@Schema(description = "用户id")
private Long memberId;
@ApiModelProperty("用户昵称")
private String memberName ;
@Schema(description = "用户昵称")
private String memberName;
@ApiModelProperty("使用时间")
@Schema(description = "使用时间")
private LocalDateTime usedTime;
@ApiModelProperty("使用商家id")
@Schema(description = "使用商家id")
private Long usedMerchantId;
@ApiModelProperty("过期时间")
@Schema(description = "过期时间")
private LocalDateTime expireTime;
}

View File

@ -1,40 +1,38 @@
package com.wzj.soopin.order.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import java.time.LocalDateTime;
@ApiModel(description="核销日志表对象")
@Schema(description = "核销日志表对象")
@Data
@TableName("oms_verification_logs")
public class VerificationLogs extends BaseAudit {
@ApiModelProperty("ID")
@Schema(description = "ID")
@TableId(type = IdType.ASSIGN_ID)
private Long id;
@ApiModelProperty("核销码id")
@Schema(description = "核销码id")
private Long codeId;
@ApiModelProperty("订单id")
@Schema(description = "订单id")
private Long orderId;
@ApiModelProperty("商家ID")
@Schema(description = "商家ID")
private Long merchantId;
@ApiModelProperty("核销时间")
@Schema(description = "核销时间")
private LocalDateTime verificationTime;
@ApiModelProperty("核销结果")
@Schema(description = "核销结果")
private Integer result;
@ApiModelProperty("失败原因")
@Schema(description = "失败原因")
private String reason;
}

View File

@ -1,73 +1,72 @@
package com.wzj.soopin.order.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.excel.annotation.Excel;
import java.math.BigDecimal;
/**
* 微信订单表对象 oms_wechat_payment_history
*
* @author zcc
*/
@ApiModel(description="微信订单表对象")
@Schema(description = "微信订单表对象")
@Data
@TableName("oms_wechat_payment_history")
public class WechatPaymentHistory extends BaseAudit {
private static final long serialVersionUID = 1L;
@ApiModelProperty("ID")
@Schema(description = "ID")
private Long id;
@ApiModelProperty("payment_id")
@Schema(description = "payment_id")
@Excel(name = "payment_id")
private String paymentId;
@ApiModelProperty("用户 ID")
@Schema(description = "用户 ID")
@Excel(name = "用户 ID")
private Long memberId;
@ApiModelProperty("OPENID")
@Schema(description = "OPENID")
@Excel(name = "OPENID")
private String openid;
@ApiModelProperty("真实姓名,提现需要")
@Schema(description = "真实姓名,提现需要")
@Excel(name = "真实姓名,提现需要")
private String realName;
@ApiModelProperty("标题|商品名称")
@Schema(description = "标题|商品名称")
@Excel(name = "标题|商品名称")
private String title;
@ApiModelProperty("订单号 支付时是payId 其他为orderId")
@Schema(description = "订单号 支付时是payId 其他为orderId")
@Excel(name = "订单号 支付时是payId 其他为orderId")
private Long orderId;
@ApiModelProperty("金额,单位分")
@Schema(description = "金额,单位分")
@Excel(name = "金额,单位分")
private BigDecimal money;
@ApiModelProperty("交易类型1为支付 2为提现 3为退款")
@Schema(description = "交易类型1为支付 2为提现 3为退款")
@Excel(name = "交易类型", readConverterExp = "1=为支付,2=为提现,3=为退款")
private Integer opType;
@ApiModelProperty("状态0未完成交易 1完成关键交易")
@Schema(description = "状态0未完成交易 1完成关键交易")
@Excel(name = "状态", readConverterExp = "0=:未完成交易,1=:完成关键交易")
private Integer paymentStatus;
@ApiModelProperty("备注")
@Schema(description = "备注")
@Excel(name = "备注")
private String remark;
@ApiModelProperty("附加数据")
@Schema(description = "附加数据")
@Excel(name = "附加数据")
private String attach;
@ApiModelProperty("响应内容")
@Schema(description = "响应内容")
@Excel(name = "响应内容")
private String responseBody;
}

View File

@ -1,23 +1,21 @@
package com.wzj.soopin.order.domain.form;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
package com.wzj.soopin.order.domain.form;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@Data
@Schema(description = "商城售后订单处理操作请求体")
public class DealWithAftersaleForm {
@Schema(name = "orderId", description = "订单id", required = true, implementation = Long.class)
@NotBlank(message = "订单id不能为空")
private Long orderId;
@Schema(name = "optType", description = "操作类型 1同意 2拒绝 3确认收货", required = true, implementation = Integer.class)
@NotNull(message = "操作类型不能为空")
private Integer optType;
@Data
@ApiModel(value = "商城售后订单处理操作请求体")
public class DealWithAftersaleForm {
@ApiModelProperty(name = "orderId",value = "订单id",required = true,dataType = "Long")
@NotBlank(message = "订单id不能为空")
private Long orderId;
@ApiModelProperty(name = "optType",value = "操作类型 1同意 2拒绝 3确认收货",required = true,dataType = "String")
@NotNull(message = "操作类型不能为空")
private Integer optType;
@ApiModelProperty(name = "remark",value = "拒绝理由 操作类型为2时必填",required = true,dataType = "String")
private String remark;
}
@Schema(name = "remark", description = "拒绝理由 操作类型为2时必填", required = true, implementation = String.class)
private String remark;
}

View File

@ -1,7 +1,8 @@
package com.wzj.soopin.order.domain.form;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.wzj.soopin.order.domain.entity.OrderDeliveryHistory;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Getter;
import lombok.Setter;
@ -11,17 +12,17 @@ import org.dromara.common.excel.annotation.Excel;
@Getter
@Setter
public class DeliverProductForm {
@ApiModelProperty("订单id")
@Schema(description = "订单id")
@NotBlank(message = "订单id不能为空")
@Excel(name = "订单号")
private Long orderId;
@ApiModelProperty("快递名称")
@Schema(description = "快递名称")
@NotBlank(message = "快递名称不能为空")
@Excel(name = "快递公司")
private String expressName;
@ApiModelProperty("快递单号")
@Schema(description = "快递单号")
@NotBlank(message = "快递单号不能为空")
@Excel(name = "运单号")
private String expressSn;

View File

@ -4,8 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.wzj.soopin.member.domain.po.MemberAddress;
import com.wzj.soopin.order.domain.entity.Aftersale;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
@ -13,33 +12,33 @@ import java.time.LocalDateTime;
@Data
@ApiModel(value = "商城订单请求体")
@Schema(description = "商城订单请求体")
public class ManagerAftersaleOrderForm {
@ApiModelProperty(name = "id", value = "售后单号", required = true, dataType = "Long")
private Long id;
@Schema(name = "id", description = "售后单号", required = true, implementation = Long.class)
private Long id;
@ApiModelProperty(name = "orderSn", value = "订单号", required = true, dataType = "String")
private String orderSn;
@Schema(name = "orderSn", description = "订单号", required = true, implementation = String.class)
private String orderSn;
@ApiModelProperty(name = "userPhone", value = "用户名称(手机号)", required = true, dataType = "String")
private String userPhone;
@Schema(name = "userPhone", description = "用户名称(手机号)", required = true, implementation = String.class)
private String userPhone;
@ApiModelProperty(name = "status", value = "售后申请状态0->待处理1->退货中2->已完成3->已拒绝4->用户取消", required = true, dataType = "String")
private Integer status;
@Schema(name = "status", description = "售后申请状态0->待处理1->退货中2->已完成3->已拒绝4->用户取消", required = true, implementation = Integer.class)
private Integer status;
@ApiModelProperty(name = "type", value = "售后类型1->退款2->退货退款", required = true, dataType = "String")
private Integer type;
@Schema(name = "type", description = "售后类型1->退款2->退货退款", required = true, implementation = Integer.class)
private Integer type;
@ApiModelProperty(name = "startTime", value = "开始时间", required = true, dataType = "Date")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime startTime;
@Schema(name = "startTime", description = "开始时间", required = true, implementation = LocalDateTime.class)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime startTime;
@ApiModelProperty(name = "endTime", value = "结束时间", required = true, dataType = "Date")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime endTime;
@Schema(name = "endTime", description = "结束时间", required = true, implementation = LocalDateTime.class)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime endTime;

View File

@ -3,53 +3,51 @@ package com.wzj.soopin.order.domain.form;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.wzj.soopin.order.domain.vo.ManagerOrderVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
@Data
@ApiModel("后台订单查询请求体")
@Schema(description = "后台订单查询请求体")
public class ManagerOrderQueryForm {
@ApiModelProperty(name = "orderId", value = "订单id", required = true, dataType = "Long")
@Schema(name = "orderId", description = "订单id", required = true, implementation = Long.class)
private Long orderId;
@ApiModelProperty(name = "orderSn", value = "订单编号", required = true, dataType = "String")
@Schema(name = "orderSn", description = "订单编号", required = true, implementation = String.class)
private String orderSn;
@ApiModelProperty(name = "productId", value = "商品id", required = true, dataType = "Long")
@Schema(name = "productId", description = "商品id", required = true, implementation = Long.class)
private Long productId;
@ApiModelProperty(name = "productName", value = "商品名称", required = true, dataType = "String")
@Schema(name = "productName", description = "商品名称", required = true, implementation = String.class)
private String productName;
@ApiModelProperty(name = "userPhone", value = "用户名称(手机号)", required = true, dataType = "String")
@Schema(name = "userPhone", description = "用户名称(手机号)", required = true, implementation = String.class)
private String userPhone;
@ApiModelProperty(name = "payType", value = "支付方式 0->未支付1->支付宝2->微信", required = true, dataType = "Integer")
@Schema(name = "payType", description = "支付方式 0->未支付1->支付宝2->微信", required = true, implementation = Integer.class)
private Integer payType;
@ApiModelProperty(name = "status", value = "订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单", required = true, dataType = "String")
@Schema(name = "status", description = "订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单", required = true, implementation = Integer.class)
private Integer status;
@ApiModelProperty("省份/直辖市 精确匹配")
@Schema(description = "省份/直辖市 精确匹配")
private String receiverProvince;
@ApiModelProperty("城市 精确匹配")
@Schema(description = "城市 精确匹配")
private String receiverCity;
@ApiModelProperty("区 精确匹配")
@Schema(description = "区 精确匹配")
private String receiverDistrict;
@ApiModelProperty(name = "startTime", value = "开始时间", required = true, dataType = "Date")
@Schema(name = "startTime", description = "开始时间", required = true, implementation = LocalDateTime.class)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime startTime;
@ApiModelProperty(name = "endTime", value = "结束时间", required = true, dataType = "Date")
@Schema(name = "endTime", description = "结束时间", required = true, implementation = LocalDateTime.class)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime endTime;
@ -57,16 +55,16 @@ public class ManagerOrderQueryForm {
public LambdaQueryWrapper<ManagerOrderVO> toWrapper() {
LambdaQueryWrapper<ManagerOrderVO> queryWrapper = new LambdaQueryWrapper<>();
if (orderSn != null &&!orderSn.isEmpty()) {
if (orderSn != null && !orderSn.isEmpty()) {
queryWrapper.eq(ManagerOrderVO::getOrderSn, orderSn);
}
if (productId != null) {
queryWrapper.eq(ManagerOrderVO::getProductId, productId);
}
if (productName != null &&!productName.isEmpty()) {
if (productName != null && !productName.isEmpty()) {
queryWrapper.like(ManagerOrderVO::getProductName, productName);
}
if (userPhone != null &&!userPhone.isEmpty()) {
if (userPhone != null && !userPhone.isEmpty()) {
queryWrapper.eq(ManagerOrderVO::getUserPhone, userPhone);
}
if (payType != null) {
@ -75,17 +73,16 @@ public class ManagerOrderQueryForm {
if (status != null) {
queryWrapper.eq(ManagerOrderVO::getStatus, status);
}
if (receiverProvince != null &&!receiverProvince.isEmpty()) {
if (receiverProvince != null && !receiverProvince.isEmpty()) {
queryWrapper.eq(ManagerOrderVO::getReceiverProvince, receiverProvince);
}
if (receiverCity != null &&!receiverCity.isEmpty()) {
if (receiverCity != null && !receiverCity.isEmpty()) {
queryWrapper.eq(ManagerOrderVO::getReceiverCity, receiverCity);
}
if (receiverDistrict != null &&!receiverDistrict.isEmpty()) {
if (receiverDistrict != null && !receiverDistrict.isEmpty()) {
queryWrapper.eq(ManagerOrderVO::getReceiverDistrict, receiverDistrict);
}
if (startTime != null && endTime != null) {
// 假设使用createTime作为时间查询字段可根据实际情况修改
queryWrapper.between(ManagerOrderVO::getCreateTime, startTime, endTime);
} else if (startTime != null) {
queryWrapper.ge(ManagerOrderVO::getCreateTime, startTime);

View File

@ -3,8 +3,7 @@ package com.wzj.soopin.order.domain.query;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wzj.soopin.order.domain.entity.AftersaleItem;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@ -14,22 +13,22 @@ import java.math.BigDecimal;
*
* @author zcc
*/
@ApiModel(description="订单售后 查询 对象")
@Schema(description = "订单售后 查询 对象")
@Data
public class AftersaleItemQuery {
@ApiModelProperty("MEMBER_ID 精确匹配")
@Schema(description = "MEMBER_ID 精确匹配")
private Long memberId;
@ApiModelProperty("订单id 精确匹配")
@Schema(description = "订单id 精确匹配")
private Long orderId;
@ApiModelProperty("子订单id 精确匹配")
@Schema(description = "子订单id 精确匹配")
private Long orderItemId;
@ApiModelProperty("退款金额 精确匹配")
@Schema(description = "退款金额 精确匹配")
private BigDecimal returnAmount;
@ApiModelProperty("退货数量 精确匹配")
@Schema(description = "退货数量 精确匹配")
private Integer quantity;
public Wrapper<AftersaleItem> toWrapper() {

View File

@ -1,7 +1,6 @@
package com.wzj.soopin.order.domain.query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.BaseBO;
@ -13,43 +12,42 @@ import java.time.LocalDateTime;
*
* @author zcc
*/
@ApiModel(description="订单售后 查询 对象")
@Schema(description = "订单售后 查询 对象")
@Data
public class AftersaleQuery extends BaseBO {
@ApiModelProperty("MEMBER_ID 精确匹配")
@Schema(description = "MEMBER_ID 精确匹配")
private Long memberId;
@ApiModelProperty("订单id 精确匹配")
@Schema(description = "订单id 精确匹配")
private Long orderId;
@ApiModelProperty("退款金额 精确匹配")
@Schema(description = "退款金额 精确匹配")
private BigDecimal returnAmount;
@ApiModelProperty("售后类型1退款2退货退款 精确匹配")
@Schema(description = "售后类型1退款2退货退款 精确匹配")
private Integer type;
@ApiModelProperty("申请状态0->待处理1->退货中2->已完成3->已拒绝 精确匹配")
@Schema(description = "申请状态0->待处理1->退货中2->已完成3->已拒绝 精确匹配")
private Integer status;
@ApiModelProperty("处理时间 精确匹配")
@Schema(description = "处理时间 精确匹配")
private LocalDateTime handleTime;
@ApiModelProperty("退货数量 精确匹配")
@Schema(description = "退货数量 精确匹配")
private Integer quantity;
@ApiModelProperty("原因 精确匹配")
@Schema(description = "原因 精确匹配")
private String reason;
@ApiModelProperty("描述 精确匹配")
@Schema(description = "描述 精确匹配")
private String description;
@ApiModelProperty("凭证图片,以逗号隔开 精确匹配")
@Schema(description = "凭证图片,以逗号隔开 精确匹配")
private String proofPics;
@ApiModelProperty("处理备注 精确匹配")
@Schema(description = "处理备注 精确匹配")
private String handleNote;
@ApiModelProperty("处理人员 精确匹配")
@Schema(description = "处理人员 精确匹配")
private String handleMan;
}

View File

@ -3,8 +3,7 @@ package com.wzj.soopin.order.domain.query;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wzj.soopin.order.domain.entity.OrderDeliveryHistory;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
@ -12,16 +11,16 @@ import lombok.Data;
*
* @author zcc
*/
@ApiModel(description="订单发货记录 查询 对象")
@Schema(description = "订单发货记录 查询 对象")
@Data
public class OrderDeliveryHistoryQuery {
@ApiModelProperty("订单id 精确匹配")
@Schema(description = "订单id 精确匹配")
private Long orderId;
@ApiModelProperty("物流公司 精确匹配")
@Schema(description = "物流公司 精确匹配")
private String deliveryCompany;
@ApiModelProperty("物流单号 精确匹配")
@Schema(description = "物流单号 精确匹配")
private String deliverySn;
public Wrapper<OrderDeliveryHistory> toWrapper() {

View File

@ -1,8 +1,10 @@
package com.wzj.soopin.order.domain.query;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class OrderH5Query {
@Schema(description = "tab")
private Integer tab;
}

View File

@ -3,8 +3,7 @@ package com.wzj.soopin.order.domain.query;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wzj.soopin.order.domain.entity.OrderItem;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@ -14,49 +13,49 @@ import java.math.BigDecimal;
*
* @author zcc
*/
@ApiModel(description="订单中所包含的商品 查询 对象")
@Schema(description = "订单中所包含的商品 查询 对象")
@Data
public class OrderItemQuery {
@ApiModelProperty("订单id 精确匹配")
@Schema(description = "订单id 精确匹配")
private Long orderId;
@ApiModelProperty("PRODUCT_ID 精确匹配")
@Schema(description = "PRODUCT_ID 精确匹配")
private Long productId;
@ApiModelProperty("商品编码 精确匹配")
@Schema(description = "商品编码 精确匹配")
private String outProductId;
@ApiModelProperty("商品sku id 精确匹配")
@Schema(description = "商品sku id 精确匹配")
private Long skuId;
@ApiModelProperty("sku编码 精确匹配")
@Schema(description = "sku编码 精确匹配")
private String outSkuId;
@ApiModelProperty("商品快照id 精确匹配")
@Schema(description = "商品快照id 精确匹配")
private Long productSnapshotId;
@ApiModelProperty("sku快照id 精确匹配")
@Schema(description = "sku快照id 精确匹配")
private Long skuSnapshotId;
@ApiModelProperty("展示图片 精确匹配")
@Schema(description = "展示图片 精确匹配")
private String pic;
@ApiModelProperty("PRODUCT_NAME 精确匹配")
@Schema(description = "PRODUCT_NAME 精确匹配")
private String productNameLike;
@ApiModelProperty("销售价格 精确匹配")
@Schema(description = "销售价格 精确匹配")
private BigDecimal salePrice;
@ApiModelProperty("采购价 精确匹配")
@Schema(description = "采购价 精确匹配")
private BigDecimal purchasePrice;
@ApiModelProperty("购买数量 精确匹配")
@Schema(description = "购买数量 精确匹配")
private Integer quantity;
@ApiModelProperty("商品分类id 精确匹配")
@Schema(description = "商品分类id 精确匹配")
private Long productCategoryId;
@ApiModelProperty("商品sku属性:[{\"key\":\"颜色\",\"value\":\"颜色\"},{\"key\":\"容量\",\"value\":\"4G\"}] 精确匹配")
@Schema(description = "商品sku属性:[{\"key\":\"颜色\",\"value\":\"颜色\"},{\"key\":\"容量\",\"value\":\"4G\"}] 精确匹配")
private String spData;
public Wrapper<OrderItem> toWrapper() {

View File

@ -3,8 +3,7 @@ package com.wzj.soopin.order.domain.query;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wzj.soopin.order.domain.entity.OrderOperateHistory;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
@ -12,19 +11,19 @@ import lombok.Data;
*
* @author zcc
*/
@ApiModel(description="订单操作历史记录 查询 对象")
@Schema(description = "订单操作历史记录 查询 对象")
@Data
public class OrderOperateHistoryQuery {
@ApiModelProperty("订单号 精确匹配")
@Schema(description = "订单号 精确匹配")
private String orderSn;
@ApiModelProperty("操作人:用户;系统;后台管理员 精确匹配")
@Schema(description = "操作人:用户;系统;后台管理员 精确匹配")
private String operateMan;
@ApiModelProperty("订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单 精确匹配")
@Schema(description = "订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单 精确匹配")
private Integer orderStatus;
@ApiModelProperty("备注 精确匹配")
@Schema(description = "备注 精确匹配")
private String note;
public Wrapper<OrderOperateHistory> toWrapper() {

View File

@ -1,7 +1,6 @@
package com.wzj.soopin.order.domain.query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@ -12,97 +11,97 @@ import java.time.LocalDateTime;
*
* @author zcc
*/
@ApiModel(description="订单表 查询 对象")
@Schema(description = "订单表 查询 对象")
@Data
public class OrderQuery {
@ApiModelProperty("MEMBER_ID 精确匹配")
@Schema(description = "MEMBER_ID 精确匹配")
private Long memberId;
@ApiModelProperty("用户帐号 精确匹配")
@Schema(description = "用户帐号 精确匹配")
private String memberUsernameLike;
@ApiModelProperty("订单总金额 精确匹配")
@Schema(description = "订单总金额 精确匹配")
private BigDecimal totalAmount;
@ApiModelProperty("采购价 精确匹配")
@Schema(description = "采购价 精确匹配")
private BigDecimal purchasePrice;
@ApiModelProperty("应付金额(实际支付金额) 精确匹配")
@Schema(description = "应付金额(实际支付金额) 精确匹配")
private BigDecimal payAmount;
@ApiModelProperty("运费金额 精确匹配")
@Schema(description = "运费金额 精确匹配")
private BigDecimal freightAmount;
@ApiModelProperty("支付方式0->未支付1->支付宝2->微信 精确匹配")
@Schema(description = "支付方式0->未支付1->支付宝2->微信 精确匹配")
private Integer payType;
@ApiModelProperty("订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单 精确匹配")
@Schema(description = "订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单 精确匹配")
private Integer status;
@ApiModelProperty("退款状态枚举值1无售后或售后关闭2售后处理中3退款中4 退款成功 精确匹配")
@Schema(description = "退款状态枚举值1无售后或售后关闭2售后处理中3退款中4 退款成功 精确匹配")
private Integer aftersaleStatus;
@ApiModelProperty("物流公司 精确匹配")
@Schema(description = "物流公司 精确匹配")
private String deliveryCompany;
@ApiModelProperty("物流单号 精确匹配")
@Schema(description = "物流单号 精确匹配")
private String deliverySn;
@ApiModelProperty("自动确认时间(天) 精确匹配")
@Schema(description = "自动确认时间(天) 精确匹配")
private Integer autoConfirmDay;
@ApiModelProperty("收货人姓名 精确匹配")
@Schema(description = "收货人姓名 精确匹配")
private String receiverNameLike;
@ApiModelProperty("收货人电话 精确匹配")
@Schema(description = "收货人电话 精确匹配")
private String receiverPhone;
@ApiModelProperty("收货人邮编 精确匹配")
@Schema(description = "收货人邮编 精确匹配")
private String receiverPostCode;
@ApiModelProperty("省份/直辖市 精确匹配")
@Schema(description = "省份/直辖市 精确匹配")
private String receiverProvince;
@ApiModelProperty("城市 精确匹配")
@Schema(description = "城市 精确匹配")
private String receiverCity;
@ApiModelProperty("区 精确匹配")
@Schema(description = "区 精确匹配")
private String receiverDistrict;
@ApiModelProperty("省份/直辖市id 精确匹配")
@Schema(description = "省份/直辖市id 精确匹配")
private Long receiverProvinceId;
@ApiModelProperty("城市id 精确匹配")
@Schema(description = "城市id 精确匹配")
private Long receiverCityId;
@ApiModelProperty("区id 精确匹配")
@Schema(description = "区id 精确匹配")
private Long receiverDistrictId;
@ApiModelProperty("详细地址 精确匹配")
@Schema(description = "详细地址 精确匹配")
private String receiverDetailAddress;
@ApiModelProperty("订单备注 精确匹配")
@Schema(description = "订单备注 精确匹配")
private String note;
@ApiModelProperty("确认收货状态0->未确认1->已确认 精确匹配")
@Schema(description = "确认收货状态0->未确认1->已确认 精确匹配")
private Integer confirmStatus;
@ApiModelProperty("删除状态0->未删除1->已删除 精确匹配")
@Schema(description = "删除状态0->未删除1->已删除 精确匹配")
private Integer deleteStatus;
@ApiModelProperty("支付时间 精确匹配")
@Schema(description = "支付时间 精确匹配")
private LocalDateTime paymentTime;
@ApiModelProperty("发货时间 精确匹配")
@Schema(description = "发货时间 精确匹配")
private LocalDateTime deliveryTime;
@ApiModelProperty("确认收货时间 精确匹配")
@Schema(description = "确认收货时间 精确匹配")
private LocalDateTime receiveTime;
@ApiModelProperty("创建订单开始时间")
@Schema(description = "创建订单开始时间")
private LocalDateTime startTime;
@ApiModelProperty("创建订单结束时间")
@Schema(description = "创建订单结束时间")
private LocalDateTime endTime;
public Object toWrapper() {

View File

@ -3,8 +3,7 @@ package com.wzj.soopin.order.domain.query;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wzj.soopin.order.domain.entity.WechatPaymentHistory;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@ -14,40 +13,40 @@ import java.math.BigDecimal;
*
* @author zcc
*/
@ApiModel(description="微信订单表 查询 对象")
@Schema(description = "微信订单表 查询 对象")
@Data
public class WechatPaymentHistoryQuery {
@ApiModelProperty("payment_id 精确匹配")
@Schema(description = "payment_id 精确匹配")
private String paymentId;
@ApiModelProperty("用户 ID 精确匹配")
@Schema(description = "用户 ID 精确匹配")
private Long memberId;
@ApiModelProperty("OPENID 精确匹配")
@Schema(description = "OPENID 精确匹配")
private String openid;
@ApiModelProperty("真实姓名,提现需要 精确匹配")
@Schema(description = "真实姓名,提现需要 精确匹配")
private String realNameLike;
@ApiModelProperty("标题|商品名称 精确匹配")
@Schema(description = "标题|商品名称 精确匹配")
private String title;
@ApiModelProperty("订单号 支付时是payId 其他为orderId 精确匹配")
@Schema(description = "订单号 支付时是payId 其他为orderId 精确匹配")
private Long orderId;
@ApiModelProperty("金额,单位分 精确匹配")
@Schema(description = "金额,单位分 精确匹配")
private BigDecimal money;
@ApiModelProperty("交易类型1为支付 2为提现 3为退款 精确匹配")
@Schema(description = "交易类型1为支付 2为提现 3为退款 精确匹配")
private Integer opType;
@ApiModelProperty("状态0未完成交易 1完成关键交易 精确匹配")
@Schema(description = "状态0未完成交易 1完成关键交易 精确匹配")
private Integer paymentStatus;
@ApiModelProperty("附加数据 精确匹配")
@Schema(description = "附加数据 精确匹配")
private String attach;
@ApiModelProperty("响应内容 精确匹配")
@Schema(description = "响应内容 精确匹配")
private String responseBody;
public Wrapper<WechatPaymentHistory> toWrapper() {
@ -66,7 +65,6 @@ public class WechatPaymentHistoryQuery {
}
if (realNameLike != null && !realNameLike.isEmpty()) {
// 注意字段名若为 real_name 需对应实体类属性
queryWrapper.like(WechatPaymentHistory::getRealName, realNameLike);
}

View File

@ -1,35 +1,51 @@
package com.wzj.soopin.order.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.excel.annotation.Excel;
import java.math.BigDecimal;
/**
* 订单售后 数据视图对象
*
* @author zcc
*/
@Schema(description = "订单售后数据视图对象")
@Data
public class AftersaleItemVO extends BaseAudit {
/** ID */
/** ID */
@Schema(description = "ID")
private Long id;
/** MEMBER_ID */
/** MEMBER_ID */
@Schema(description = "MEMBER_ID")
@Excel(name = "MEMBER_ID")
private Long memberId;
/** 售后单id */
@Schema(description = "售后单id")
@Excel(name = "售后单id")
private Long aftersaleId;
/** 订单id */
/** 订单id */
@Schema(description = "订单id")
@Excel(name = "订单id")
private Long orderId;
/** 子订单id */
/** 子订单id */
@Schema(description = "子订单id")
@Excel(name = "子订单id")
private Long orderItemId;
/** 退款金额 */
/** 退款金额 */
@Schema(description = "退款金额")
@Excel(name = "退款金额")
private BigDecimal returnAmount;
/** 退货数量 */
/** 退货数量 */
@Schema(description = "退货数量")
@Excel(name = "退货数量")
private Integer quantity;
}

View File

@ -1,56 +1,84 @@
package com.wzj.soopin.order.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.excel.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 订单售后 数据视图对象
*
* @author zcc
*/
@Schema(description = "订单售后数据视图对象")
@Data
public class AftersaleVO extends BaseAudit {
/** ID */
/** ID */
@Schema(description = "ID")
private Long id;
/** MEMBER_ID */
/** MEMBER_ID */
@Schema(description = "MEMBER_ID")
@Excel(name = "MEMBER_ID")
private Long memberId;
/** 订单id */
/** 订单id */
@Schema(description = "订单id")
@Excel(name = "订单id")
private Long orderId;
/** 退款金额 */
/** 退款金额 */
@Schema(description = "退款金额")
@Excel(name = "退款金额")
private BigDecimal returnAmount;
/** 售后类型1退款2退货退款 */
/** 售后类型1退款2退货退款 */
@Schema(description = "售后类型1退款2退货退款")
@Excel(name = "售后类型1退款2退货退款")
private Integer type;
/** 申请状态0->待处理1->退货中2->已完成3->已拒绝 */
/** 申请状态0->待处理1->退货中2->已完成3->已拒绝 */
@Schema(description = "申请状态0->待处理1->退货中2->已完成3->已拒绝")
@Excel(name = "申请状态0->待处理1->退货中2->已完成3->已拒绝")
private Integer status;
/** 处理时间 */
/** 处理时间 */
@Schema(description = "处理时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "处理时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime handleTime;
/** 退货数量 */
/** 退货数量 */
@Schema(description = "退货数量")
@Excel(name = "退货数量")
private Integer quantity;
/** 原因 */
/** 原因 */
@Schema(description = "原因")
@Excel(name = "原因")
private String reason;
/** 描述 */
/** 描述 */
@Schema(description = "描述")
@Excel(name = "描述")
private String description;
/** 凭证图片,以逗号隔开 */
/** 凭证图片,以逗号隔开 */
@Schema(description = "凭证图片,以逗号隔开")
@Excel(name = "凭证图片,以逗号隔开")
private String proofPics;
/** 处理备注 */
/** 处理备注 */
@Schema(description = "处理备注")
@Excel(name = "处理备注")
private String handleNote;
/** 处理人员 */
/** 处理人员 */
@Schema(description = "处理人员")
@Excel(name = "处理人员")
private String handleMan;
}

View File

@ -1,22 +1,21 @@
package com.wzj.soopin.order.domain.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@ApiModel("统计订单数量VO")
@Schema(description = "统计订单数量VO")
public class CountOrderVO {
@ApiModelProperty(value = "待付款订单数量", dataType = "Integer")
@Schema(description = "待付款订单数量", implementation = Integer.class)
private Integer unpaid;
@ApiModelProperty(value = "待发货订单数量", dataType = "Integer")
@Schema(description = "待发货订单数量", implementation = Integer.class)
private Integer nosend;
@ApiModelProperty(value = "待收货订单数量", dataType = "Integer")
@Schema(description = "待收货订单数量", implementation = Integer.class)
private Integer noget;
@ApiModelProperty(value = "售后订单数量", dataType = "Integer")
@Schema(description = "售后订单数量", implementation = Integer.class)
private Integer aftersale;
}

View File

@ -2,7 +2,7 @@ package com.wzj.soopin.order.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.wzj.soopin.order.domain.entity.OrderItem;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@ -12,67 +12,67 @@ import java.util.List;
@Data
public class H5OrderVO {
@ApiModelProperty("订单id")
@Schema(description = "订单id")
private Long orderId;
@ApiModelProperty("支付id")
@Schema(description = "支付id")
private Long payId;
@ApiModelProperty("订单编号")
@Schema(description = "订单编号")
private String orderSn;
@ApiModelProperty("会员id")
@Schema(description = "会员id")
private Long memberId;
@ApiModelProperty("订单总金额")
@Schema(description = "订单总金额")
private BigDecimal totalAmount;
@ApiModelProperty("应付金额")
@Schema(description = "应付金额")
private BigDecimal payAmount;
private BigDecimal couponAmount;
@ApiModelProperty("订单状态 0->待付款1->待发货2->已发货3->已完成4->已关闭")
@Schema(description = "订单状态 0->待付款1->待发货2->已发货3->已完成4->已关闭")
private Integer status;
@ApiModelProperty("售后状态")
@Schema(description = "售后状态")
private Integer aftersaleStatus;
@ApiModelProperty("订单Item")
@Schema(description = "订单Item")
private List<OrderItem> orderItemList;
@ApiModelProperty("订单备注")
@Schema(description = "订单备注")
private String note;
@ApiModelProperty("物流单号")
@Schema(description = "物流单号")
private String deliverySn;
@ApiModelProperty("下单时间")
@Schema(description = "下单时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("支付时间")
@Schema(description = "支付时间")
private LocalDateTime paymentTime;
@ApiModelProperty("收货人姓名")
@Schema(description = "收货人姓名")
private String receiverName;
@ApiModelProperty("收货人手机号")
@Schema(description = "收货人手机号")
private String receiverPhone;
@ApiModelProperty("省份/直辖市")
@Schema(description = "省份/直辖市")
private String receiverProvince;
@ApiModelProperty("城市")
@Schema(description = "城市")
private String receiverCity;
@ApiModelProperty("")
@Schema(description = "")
private String receiverDistrict;
@ApiModelProperty("详细地址")
@Schema(description = "详细地址")
private String receiverDetailAddress;
@ApiModelProperty("支付倒计时")
@Schema(description = "支付倒计时")
private Long timeToPay;
}

View File

@ -1,7 +1,6 @@
package com.wzj.soopin.order.domain.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
@ -12,15 +11,14 @@ import lombok.Setter;
*/
@Getter
@Setter
@ApiModel("订单收获地址")
@Schema(description = "订单收获地址")
public class ManagerOrderAddressVo {
@ApiModelProperty("收货人姓名")
@Schema(description = "收货人姓名")
private String name;
@ApiModelProperty("收货人手机号")
@Schema(description = "收货人手机号")
private String userPhone;
@ApiModelProperty("收获区域")
@Schema(description = "收获区域")
private String area;
@ApiModelProperty("详细地址")
@Schema(description = "详细地址")
private String address;
}

View File

@ -1,7 +1,6 @@
package com.wzj.soopin.order.domain.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@ -9,39 +8,62 @@ import java.time.LocalDateTime;
import java.util.List;
@Data
@ApiModel("后台订单详情对象")
@Schema(description = "后台订单详情对象")
public class ManagerOrderDetailVO {
@ApiModelProperty("订单id")
@Schema(description = "订单id")
private Long orderId;
@ApiModelProperty("订单编号")
@Schema(description = "订单编号")
private String orderSn;
@ApiModelProperty("用户昵称")
@Schema(description = "用户昵称")
private String userName;
@ApiModelProperty("用户手机号")
@Schema(description = "用户手机号")
private String userPhone;
@ApiModelProperty("下单时间")
@Schema(description = "下单时间")
private LocalDateTime createTime;
@ApiModelProperty("支付方式0->未支付1->支付宝2->微信")
@Schema(description = "支付方式0->未支付1->支付宝2->微信")
private Integer payType;
@ApiModelProperty("支付时间")
@Schema(description = "支付时间")
private LocalDateTime payTime;
@ApiModelProperty("订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单")
@Schema(description = "订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单")
private Integer orderStatus;
@ApiModelProperty("订单收获地址信息")
@Schema(description = "订单收获地址信息")
private ManagerOrderAddressVo addressInfo;
@ApiModelProperty("订单商品信息")
@Schema(description = "订单商品信息")
private List<ManagerOrderProductVO> productInfo;
@ApiModelProperty("发货时间")
@Schema(description = "发货时间")
private LocalDateTime deliveryTime;
@ApiModelProperty("收货时间")
@Schema(description = "收货时间")
private LocalDateTime receiveTime;
@ApiModelProperty("物流单号")
@Schema(description = "物流单号")
private String expressNo;
@ApiModelProperty("物流名称")
@Schema(description = "物流名称")
private String expressName;
@ApiModelProperty("支付金额")
@Schema(description = "支付金额")
private BigDecimal payAmount;
@ApiModelProperty("订单金额")
@Schema(description = "订单金额")
private BigDecimal totalAmount;
@Schema(description = "优惠卷金额")
private BigDecimal couponAmount;
@Schema(description = "店铺名称")
private String contactUserName;
@Schema(description = "店铺手机号")
private String contactPhone;
}

View File

@ -1,27 +1,30 @@
package com.wzj.soopin.order.domain.vo;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@Data
@ApiModel("订单")
@Schema(description = "订单")
@InterceptorIgnore(tenantLine = "true")
public class ManagerOrderProductVO {
@ApiModelProperty("商品id")
@Schema(description = "商品id")
private Long productId;
@ApiModelProperty("商品名称")
private String productName;
@ApiModelProperty("商品规格")
private String spData;
@ApiModelProperty("商品图片")
private String pic;
@ApiModelProperty("购买数量")
private Integer buyNum;
@ApiModelProperty("销售价格")
private BigDecimal salePrice;
@Schema(description = "商品名称")
private String productName;
@Schema(description = "商品规格")
private String spData;
@Schema(description = "商品图片")
private String pic;
@Schema(description = "购买数量")
private Integer buyNum;
@Schema(description = "销售价格")
private BigDecimal salePrice;
}

View File

@ -4,8 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.wzj.soopin.order.domain.entity.Order;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@ -13,80 +12,82 @@ import java.time.LocalDateTime;
import java.util.List;
@Data
@ApiModel(value = "管理后台订单VO")
@Schema(description = "管理后台订单VO")
public class ManagerOrderVO {
@ApiModelProperty(name = "id",value = "订单id",required = true,dataType = "Long")
@Schema(name = "id", description = "订单id", required = true, implementation = Long.class)
private Long id;
@ApiModelProperty(name = "orderSn",value = "订单编号",required = true,dataType = "String")
@Schema(name = "orderSn", description = "订单编号", required = true, implementation = String.class)
private String orderSn;
@ApiModelProperty(name = "productId",value = "商品id",required = true,dataType = "Long")
@Schema(name = "productId", description = "商品id", required = true, implementation = Long.class)
private Long productId;
@ApiModelProperty(name = "productName",value = "商品名称",required = true,dataType = "String")
@Schema(name = "productName", description = "商品名称", required = true, implementation = String.class)
private String productName;
@ApiModelProperty(name = "userPhone",value = "用户账号",required = true,dataType = "String")
@Schema(name = "userPhone", description = "用户账号", required = true, implementation = String.class)
private String userPhone;
@ApiModelProperty(name = "nickName",value = "用户昵称",required = true,dataType = "String")
@Schema(name = "nickName", description = "用户昵称", required = true, implementation = String.class)
private String nickName;
@ApiModelProperty(name = "avatar",value = "用户头像",required = true,dataType = "String")
@Schema(name = "avatar", description = "用户头像", required = true, implementation = String.class)
private String avatar;
@ApiModelProperty(name = "status",value = "订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单",required = true,dataType = "Integer")
@Schema(name = "status", description = "订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单", required = true, implementation = Integer.class)
private Integer status;
@ApiModelProperty("退款状态枚举值1无售后或售后关闭2售后处理中3退款中4 退款成功")
@Schema(description = "退款状态枚举值1无售后或售后关闭2售后处理中3退款中4 退款成功")
private Integer aftersaleStatus;
@ApiModelProperty(name = "pic",value = "商品图片",required = true,dataType = "String")
@Schema(name = "pic", description = "商品图片", required = true, implementation = String.class)
private String pic;
@ApiModelProperty(name = "userName",value = "用户名称",required = true,dataType = "String")
@Schema(name = "userName", description = "用户名称", required = true, implementation = String.class)
private String userName;
@ApiModelProperty(name = "buyNum",value = "购买数量",required = true,dataType = "Integer")
@Schema(name = "buyNum", description = "购买数量", required = true, implementation = Integer.class)
private Integer buyNum;
@ApiModelProperty(name = "totalAmount",value = "订单总金额",required = true,dataType = "BigDecimal")
@Schema(name = "totalAmount", description = "订单总金额", required = true, implementation = BigDecimal.class)
private BigDecimal totalAmount;
@ApiModelProperty(name = "payAmount",value = "应付金额",required = true,dataType = "BigDecimal")
@Schema(name = "payAmount", description = "应付金额", required = true, implementation = BigDecimal.class)
private BigDecimal payAmount;
@ApiModelProperty(name = "createTime",value = "下单时间",required = true,dataType = "Date")
@Schema(name = "createTime", description = "下单时间", required = true, implementation = LocalDateTime.class)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
@ApiModelProperty(name = "payTime",value = "支付时间",required = true,dataType = "Date")
@Schema(name = "payTime", description = "支付时间", required = true, implementation = LocalDateTime.class)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime payTime;
@ApiModelProperty(name = "payType",value = "支付方式 支付方式0->未支付1->支付宝2->微信",required = true,dataType = "Integer")
@Schema(name = "payType", description = "支付方式 支付方式0->未支付1->支付宝2->微信", required = true, implementation = Integer.class)
private Integer payType;
@ApiModelProperty(name = "receiveTime",value = "确认收货时间",required = true,dataType = "Date")
@Schema(name = "receiveTime", description = "确认收货时间", required = true, implementation = LocalDateTime.class)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime receiveTime;
@ApiModelProperty(name = "note",value = "备注",required = true,dataType = "String")
@Schema(name = "note", description = "备注", required = true, implementation = String.class)
private String note;
@ApiModelProperty("商家备注")
@Schema(description = "商家备注")
private String merchantNote;
@ApiModelProperty(name = "spData",value = "商品sku属性",required = true,dataType = "String")
@Schema(name = "spData", description = "商品sku属性", required = true, implementation = String.class)
private String spData;
@ApiModelProperty(name = "productInfo", value = "订单商品数据")
@Schema(name = "productInfo", description = "订单商品数据")
private List<ManagerOrderProductVO> productList;
@ApiModelProperty(name = "deliveryTime",value = "发货时间",required = true,dataType = "LocalDataTime")
@Schema(name = "deliveryTime", description = "发货时间", required = true, implementation = LocalDateTime.class)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime deliveryTime;
@ApiModelProperty(name = "deliverySn",value = "物流单号",required = true,dataType = "String")
@Schema(name = "deliverySn", description = "物流单号", required = true, implementation = String.class)
private String deliverySn;
private String receiverName;
@ -111,7 +112,7 @@ public class ManagerOrderVO {
if (id != null) {
queryWrapper.eq(Order::getId, id);
}
if (orderSn != null &&!orderSn.isEmpty()) {
if (orderSn != null && !orderSn.isEmpty()) {
queryWrapper.eq(Order::getOrderSn, orderSn);
}
@ -137,34 +138,34 @@ public class ManagerOrderVO {
if (receiveTime != null) {
queryWrapper.eq(Order::getReceiveTime, receiveTime);
}
if (note != null &&!note.isEmpty()) {
if (note != null && !note.isEmpty()) {
queryWrapper.like(Order::getNote, note);
}
if (merchantNote != null &&!merchantNote.isEmpty()) {
if (merchantNote != null && !merchantNote.isEmpty()) {
queryWrapper.like(Order::getMerchantNote, merchantNote);
}
if (deliveryTime != null) {
queryWrapper.eq(Order::getDeliveryTime, deliveryTime);
}
if (deliverySn != null &&!deliverySn.isEmpty()) {
if (deliverySn != null && !deliverySn.isEmpty()) {
queryWrapper.eq(Order::getDeliverySn, deliverySn);
}
if (receiverName != null &&!receiverName.isEmpty()) {
if (receiverName != null && !receiverName.isEmpty()) {
queryWrapper.like(Order::getReceiverName, receiverName);
}
if (receiverPhone != null &&!receiverPhone.isEmpty()) {
if (receiverPhone != null && !receiverPhone.isEmpty()) {
queryWrapper.eq(Order::getReceiverPhone, receiverPhone);
}
if (receiverProvince != null &&!receiverProvince.isEmpty()) {
if (receiverProvince != null && !receiverProvince.isEmpty()) {
queryWrapper.eq(Order::getReceiverProvince, receiverProvince);
}
if (receiverCity != null &&!receiverCity.isEmpty()) {
if (receiverCity != null && !receiverCity.isEmpty()) {
queryWrapper.eq(Order::getReceiverCity, receiverCity);
}
if (receiverDistrict != null &&!receiverDistrict.isEmpty()) {
if (receiverDistrict != null && !receiverDistrict.isEmpty()) {
queryWrapper.eq(Order::getReceiverDistrict, receiverDistrict);
}
if (receiverDetailAddress != null &&!receiverDetailAddress.isEmpty()) {
if (receiverDetailAddress != null && !receiverDetailAddress.isEmpty()) {
queryWrapper.like(Order::getReceiverDetailAddress, receiverDetailAddress);
}
if (couponAmount != null) {

View File

@ -1,7 +1,6 @@
package com.wzj.soopin.order.domain.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@ -14,39 +13,53 @@ import java.util.List;
* @Description:
*/
@Data
@ApiModel("售后订单详情")
@Schema(description = "售后订单详情")
public class ManagerRefundOrderDetailVO {
@ApiModelProperty("订单id")
@Schema(description = "订单id")
private Long orderId;
@ApiModelProperty("订单号")
private String orderSn;
@ApiModelProperty("用户昵称")
private String nickName;
@ApiModelProperty("用户手机号")
private String phone;
@ApiModelProperty("下单时间")
private LocalDateTime createTime;
@ApiModelProperty("支付方式0->未支付1->支付宝2->微信")
private Integer payType;
@ApiModelProperty("支付时间")
private LocalDateTime payTime;
@ApiModelProperty("订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单")
private Integer status;
@ApiModelProperty("订单收获地址信息")
private OrderAddressVO addressInfo;
@ApiModelProperty("订单商品信息")
private List<ManagerOrderProductVO> productList;
@ApiModelProperty("售后信息")
private List<RefundInfoVO> refundInfoList;
@ApiModelProperty("退货时间")
private LocalDateTime deliveryTime;
@ApiModelProperty("物流单号")
private String expressNo;
@ApiModelProperty("物流名称")
private String expressName;
@ApiModelProperty("订单总金额")
private BigDecimal totalAmount;
@ApiModelProperty("应付金额(实际支付金额)")
private BigDecimal payAmount;
@Schema(description = "订单号")
private String orderSn;
@Schema(description = "用户昵称")
private String nickName;
@Schema(description = "用户手机号")
private String phone;
@Schema(description = "下单时间")
private LocalDateTime createTime;
@Schema(description = "支付方式0->未支付1->支付宝2->微信")
private Integer payType;
@Schema(description = "支付时间")
private LocalDateTime payTime;
@Schema(description = "订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单")
private Integer status;
@Schema(description = "订单收获地址信息")
private OrderAddressVO addressInfo;
@Schema(description = "订单商品信息")
private List<ManagerOrderProductVO> productList;
@Schema(description = "售后信息")
private List<RefundInfoVO> refundInfoList;
@Schema(description = "退货时间")
private LocalDateTime deliveryTime;
@Schema(description = "物流单号")
private String expressNo;
@Schema(description = "物流名称")
private String expressName;
@Schema(description = "订单总金额")
private BigDecimal totalAmount;
@Schema(description = "应付金额(实际支付金额)")
private BigDecimal payAmount;
}

View File

@ -1,86 +1,89 @@
package com.wzj.soopin.order.domain.vo;
package com.wzj.soopin.order.domain.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@Data
@ApiModel(value = "售后订单vo")
public class ManagerRefundOrderVO {
@ApiModelProperty(name = "id",value = "售后单id",required = true,dataType = "Long")
private Long id;
@Data
@Schema(description = "售后订单vo")
public class ManagerRefundOrderVO {
@Schema(name = "id", description = "售后单id", required = true, implementation = Long.class)
private Long id;
@ApiModelProperty(name = "orderId",value = "订单id",required = true,dataType = "Long")
private Long orderId;
@Schema(name = "orderId", description = "订单id", required = true, implementation = Long.class)
private Long orderId;
@ApiModelProperty(name = "orderSn",value = "订单号",required = true,dataType = "String")
private String orderSn;
@Schema(name = "orderSn", description = "订单号", required = true, implementation = String.class)
private String orderSn;
@ApiModelProperty(name = "payId",value = "支付ID",required = true,dataType = "Long")
private Long payId;
@Schema(name = "payId", description = "支付ID", required = true, implementation = Long.class)
private Long payId;
@ApiModelProperty(name = "phone",value = "用户手机号",required = true,dataType = "String")
private String phone;
@Schema(name = "phone", description = "用户手机号", required = true, implementation = String.class)
private String phone;
@ApiModelProperty(name = "nickName",value = "用户昵称",required = true,dataType = "String")
private String nickName;
@Schema(name = "nickName", description = "用户昵称", required = true, implementation = String.class)
private String nickName;
@ApiModelProperty(name = "status",value = "订单状态 0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单",required = true,dataType = "Integer")
private Integer status;
@Schema(name = "status", description = "订单状态 0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单", required = true, implementation = Integer.class)
private Integer status;
@ApiModelProperty(name = "userName",value = "用户名称",required = true,dataType = "String")
private String userName;
@Schema(name = "userName", description = "用户名称", required = true, implementation = String.class)
private String userName;
@ApiModelProperty(name = "payTime",value = "支付时间",required = true,dataType = "String")
private String payTime;
@Schema(name = "payTime", description = "支付时间", required = true, implementation = String.class)
private String payTime;
@ApiModelProperty(name = "payType",value = "支付方式 支付方式0->未支付1->支付宝2->微信",required = true,dataType = "Integer")
private Integer payType;
@Schema(name = "payType", description = "支付方式 支付方式0->未支付1->支付宝2->微信", required = true, implementation = Integer.class)
private Integer payType;
@ApiModelProperty(name = "applyRefundTime",value = "申请售后的时间",required = true,dataType = "String")
private String applyRefundTime;
@Schema(name = "applyRefundTime", description = "申请售后的时间", required = true, implementation = String.class)
private String applyRefundTime;
@ApiModelProperty(name = "refundFinishTime",value = "售后完成的时间",required = true,dataType = "String")
private String refundFinishTime;
@Schema(name = "refundFinishTime", description = "售后完成的时间", required = true, implementation = String.class)
private String refundFinishTime;
@ApiModelProperty(name = "aftersaleStatus",value = "0->待处理1->退货中2->已完成3->已拒绝; 4->用户取消",required = true,dataType = "String")
private Integer aftersaleStatus;
@ApiModelProperty(name = "note",value = "备注",required = true,dataType = "String")
private String note;
@ApiModelProperty(name = "applyRefundAmount",value = "退款金额",required = true,dataType = "BigDecimal")
private BigDecimal applyReturnAmount;
@ApiModelProperty(name = "refundNum",value = "退款数量",required = true,dataType = "Integer")
private Integer refundNum;
@Schema(name = "aftersaleStatus", description = "0->待处理1->退货中2->已完成3->已拒绝; 4->用户取消", required = true, implementation = Integer.class)
private Integer aftersaleStatus;
@ApiModelProperty(name = "applyRefundType",value = "申请退货方式1-仅退款2-退货退款",required = true,dataType = "String")
private Integer applyRefundType;
@ApiModelProperty(name = "handleTime",value = "处理时间",required = true,dataType = "LocalDateTime")
private LocalDateTime handleTime;
@Schema(name = "note", description = "备注", required = true, implementation = String.class)
private String note;
@ApiModelProperty(name = "reason",value = "原因",required = true,dataType = "String")
private String reason;
@Schema(name = "applyRefundAmount", description = "退款金额", required = true, implementation = BigDecimal.class)
private BigDecimal applyReturnAmount;
@ApiModelProperty(name = "description",value = "描述",required = true,dataType = "String")
private String description;
@Schema(name = "refundNum", description = "退款数量", required = true, implementation = Integer.class)
private Integer refundNum;
@ApiModelProperty(name = "proofPics",value = "凭证图片",required = true,dataType = "String")
private String proofPics;
@Schema(name = "applyRefundType", description = "申请退货方式1-仅退款2-退货退款", required = true, implementation = Integer.class)
private Integer applyRefundType;
@ApiModelProperty(name = "productInfo", value = "售后单商品数据")
private List<ManagerOrderProductVO> productList;
@Schema(name = "handleTime", description = "处理时间", required = true, implementation = LocalDateTime.class)
private LocalDateTime handleTime;
@ApiModelProperty(name = "handleMan", value = "处理人员")
private String handleMan;
@Schema(name = "reason", description = "原因", required = true, implementation = String.class)
private String reason;
private String mark;
@Schema(name = "description", description = "描述", required = true, implementation = String.class)
private String description;
private String refundWpCode;
@Schema(name = "proofPics", description = "凭证图片", required = true, implementation = String.class)
private String proofPics;
@ApiModelProperty("退货快递号")
private String refundWaybillCode;
}
@Schema(name = "productInfo", description = "售后单商品数据")
private List<ManagerOrderProductVO> productList;
@Schema(name = "handleMan", description = "处理人员")
private String handleMan;
private String mark;
private String refundWpCode;
@Schema(description = "退货快递号")
private String refundWaybillCode;
}

View File

@ -1,22 +1,24 @@
package com.wzj.soopin.order.domain.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.apache.ibatis.type.Alias;
import java.math.BigDecimal;
@Data
@ApiModel("会员下单数据统计对象")
@Schema(description = "会员下单数据统计对象")
@Alias("OrderMemberDataStatisticsVO")
public class MemberDataStatisticsVO {
@ApiModelProperty("购物车数")
@Schema(description = "购物车数")
private Integer cartCount;
@ApiModelProperty("订单数")
@Schema(description = "订单数")
private Integer orderCount;
@ApiModelProperty("下单金额")
@Schema(description = "下单金额")
private BigDecimal orderAmount;
@ApiModelProperty("售后数")
@Schema(description = "售后数")
private Integer aftersaleCount;
}

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