提交 1aec4c41 作者: 张小凤

Merge branch 'master' into develop

package com.mmc.pms.common;
/**
* @Author small
* @Date 2023/5/15 14:29
* @Version 1.0
*/
public interface BaseErrorInfoInterface {
/**
* 错误码
*
* @return
*/
String getResultCode();
/**
* 错误描述
*
* @return
*/
String getResultMsg();
}
package com.mmc.pms.common;
import com.alibaba.fastjson2.JSONObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small @Date 2023/5/15 14:28 @Version 1.0
*/
// @Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
// @ApiModel("统一返回对象")
// @ApiModel(value = "com.mmc.result.ResultBody", description = "请求响应体")
public class ResultBody<T> implements Serializable {
private static final long serialVersionUID = 6341937455634693363L;
/** 响应代码 */
@ApiModelProperty(name = "code", value = "响应码", required = true, example = "200", position = 0)
private String code;
/** 响应消息 */
@ApiModelProperty(
name = "message",
value = "响应消息",
required = true,
example = "操作成功",
position = 1)
private String message;
/** 响应结果 */
@ApiModelProperty(name = "result", value = "返回结果集", required = true, example = "{}", position = 2)
private T result;
public ResultBody(BaseErrorInfoInterface errorInfo) {
this.code = errorInfo.getResultCode();
this.message = errorInfo.getResultMsg();
}
/**
* 成功
*
* @return
*/
public static ResultBody success() {
return success(null);
}
/**
* 成功
*
* @param data
* @return
*/
public static <T> ResultBody success(T data) {
ResultBody rb = new ResultBody();
rb.setCode(ResultEnum.SUCCESS.getResultCode());
rb.setMessage(ResultEnum.SUCCESS.getResultMsg());
rb.setResult(data);
return rb;
}
/**
* 成功
*
* <p>*
*/
public static ResultBody success1(ResultEnum enums) {
ResultBody rb = new ResultBody();
rb.setCode("200");
rb.setMessage(enums.getResultMsg());
rb.setResult(null);
return rb;
}
public void buildSuccess() {
this.setCode(ResultEnum.SUCCESS.getResultCode());
this.setMessage(ResultEnum.SUCCESS.getResultMsg());
}
/** 失败 */
public static ResultBody error(BaseErrorInfoInterface errorInfo) {
ResultBody rb = new ResultBody();
rb.setCode(errorInfo.getResultCode());
rb.setMessage(errorInfo.getResultMsg());
rb.setResult(null);
return rb;
}
/** 失败 */
public static ResultBody error(String code, String message) {
ResultBody rb = new ResultBody();
rb.setCode(code);
rb.setMessage(message);
rb.setResult(null);
return rb;
}
/** 失败 */
public static ResultBody error(ResultEnum enums) {
ResultBody rb = new ResultBody();
rb.setCode(enums.getResultCode());
rb.setMessage(enums.getResultMsg());
rb.setResult(null);
return rb;
}
/** 失败 */
public static ResultBody error(String message) {
ResultBody rb = new ResultBody();
rb.setCode("-1");
rb.setMessage(message);
rb.setResult(null);
return rb;
}
/** 失败 */
public static ResultBody error(ResultEnum enums, Object data) {
ResultBody rb = new ResultBody();
rb.setCode(enums.getResultCode());
rb.setMessage(enums.getResultMsg());
rb.setResult(data);
return rb;
}
public static boolean isSuccess(ResultBody res) {
return res.getCode().equals(ResultEnum.SUCCESS.getResultCode());
}
@Override
public String toString() {
return JSONObject.toJSONString(this);
}
}
package com.mmc.pms.controller;
import com.mmc.pms.common.ResultBody;
import com.mmc.pms.common.ResultEnum;
import com.mmc.pms.model.dto.*;
import com.mmc.pms.model.qo.WareInfoQO;
import com.mmc.pms.model.vo.LeaseVo;
import com.mmc.pms.page.Page;
import com.mmc.pms.service.WebDeviceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* @Author small @Date 2023/5/15 13:24 @Version 1.0
*/
@Api(tags = {"小程序设备租赁-接口"})
@RestController
@RequestMapping("/appDevice")
public class MiniProgramDeviceController {
@Autowired private WebDeviceService webDeviceService;
@ApiOperation(value = "地域")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("/getSecondDistrictInfo")
public ResultBody getSecondDistrictInfo() {
return webDeviceService.listSecondDistrict();
}
@ApiOperation("设备类目")
@GetMapping("/category")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = DeviceCategoryDTO.class)})
public ResultBody<DeviceCategoryDTO> category() {
return webDeviceService.category();
}
@ApiOperation("品牌")
@GetMapping("/brand")
public ResultBody<BrandDTO> brand() {
return webDeviceService.brand();
}
@ApiOperation("型号")
@GetMapping("/model")
public ResultBody<ModelDTO> model() {
return webDeviceService.model();
}
@ApiOperation(value = "设备列表筛选")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = WareInfoItemDTO.class)})
@PostMapping("/deviceList")
public ResultBody<WareInfoItemDTO> listWareInfoPage(
@RequestBody @Validated(Page.class) WareInfoQO param) {
return webDeviceService.listWareInfoPage(param);
}
@ApiOperation(value = "设备详情")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("/detail")
public ResultBody<WareInfoDTO> detail(@RequestParam(value = "id", required = true) Integer id) {
WareInfoDTO wareInfoDTO = webDeviceService.getWareInfoById(id);
return wareInfoDTO == null
? ResultBody.error(ResultEnum.NOT_FOUND)
: ResultBody.success(wareInfoDTO);
}
@ApiOperation(value = "立即租赁")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("/update")
public ResultBody update(@RequestBody LeaseVo param) {
return webDeviceService.update(param);
}
}
package com.mmc.pms.controller;
import com.mmc.pms.common.ResultBody;
import com.mmc.pms.model.dto.AppGoodsInfoDetailDTO;
import com.mmc.pms.model.dto.GoodsInfoListDTO;
import com.mmc.pms.model.qo.GoodsInfoQO;
import com.mmc.pms.service.MiniProgramProductMallService;
import com.mmc.pms.service.WebProductMallService;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @Author small @Date 2023/5/15 13:23 @Version 1.0
*/
@Api(tags = {"小程序产品商城-接口"})
@RestController
@RequestMapping("/AppProductMall/")
public class MiniProgramProductMallController {
@Autowired private WebProductMallService webProductMallService;
@Autowired private MiniProgramProductMallService miniProgramProductMallService;
@ApiOperation(value = "小程序-商品信息-分页")
@PostMapping("listPageGoodsInfo")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = GoodsInfoListDTO.class)})
public ResultBody<GoodsInfoListDTO> listPageGoodsInfo(
@ApiParam("商品查询条件QO") @RequestBody GoodsInfoQO param) {
return ResultBody.success(webProductMallService.listPageGoodsInfo(param));
}
@ApiOperation(value = "小程序端-获取商品详细信息--共多少种选择")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = AppGoodsInfoDetailDTO.class)})
@GetMapping("getAppGoodsInfoDetail")
public ResultBody<AppGoodsInfoDetailDTO> getAppGoodsInfoDetail(@RequestParam Integer id) {
return miniProgramProductMallService.getAppGoodsInfoDetail(id);
}
}
package com.mmc.pms.controller;
import com.mmc.pms.common.ResultBody;
import com.mmc.pms.common.ResultEnum;
import com.mmc.pms.model.dto.*;
import com.mmc.pms.model.vo.LeaseVo;
import com.mmc.pms.service.WebDeviceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @Author small @Date 2023/5/15 13:25 @Version 1.0
*/
@Api(tags = {"web设备租赁-接口"})
@RestController
@RequestMapping("/webDevice")
public class WebDeviceController {
@Autowired private WebDeviceService webDeviceService;
@ApiOperation(value = "地域")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("/getSecondDistrictInfo")
public ResultBody<DistrictInfoDTO> getSecondDistrictInfo() {
return webDeviceService.listSecondDistrict();
}
@ApiOperation("设备类目")
@GetMapping("/category")
public ResultBody<DeviceCategoryDTO> category() {
return webDeviceService.category();
}
@ApiOperation("品牌")
@GetMapping("/brand")
public ResultBody<BrandDTO> brand() {
return webDeviceService.brand();
}
@ApiOperation("型号")
@GetMapping("/model")
public ResultBody<ModelDTO> model() {
return webDeviceService.model();
}
@ApiOperation(value = "设备详情")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("/detail")
public ResultBody<WareInfoDTO> detail(@RequestParam(value = "id", required = true) Integer id) {
WareInfoDTO wareInfoDTO = webDeviceService.getWareInfoById(id);
return wareInfoDTO == null
? ResultBody.error(ResultEnum.NOT_FOUND)
: ResultBody.success(wareInfoDTO);
}
@ApiOperation(value = "立即租赁")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("/update")
public ResultBody update(@RequestBody LeaseVo param) {
return webDeviceService.update(param);
}
}
package com.mmc.pms.controller;
import com.mmc.pms.common.ResultBody;
import com.mmc.pms.model.dto.AppGoodsInfoDetailDTO;
import com.mmc.pms.model.dto.GoodsInfoListDTO;
import com.mmc.pms.model.dto.ProductCategoryDTO;
import com.mmc.pms.model.qo.GoodsInfoQO;
import com.mmc.pms.service.MiniProgramProductMallService;
import com.mmc.pms.service.WebProductMallService;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @Author small @Date 2023/5/15 13:24 @Version 1.0
*/
@Api(tags = {"web产品商城-接口"})
@RestController
@RequestMapping("/webProductMall")
public class WebProductMallController {
@Autowired private WebProductMallService webProductMallService;
@Autowired private MiniProgramProductMallService miniProgramProductMallService;
@ApiOperation("产品类目")
@GetMapping("/category")
public ResultBody<ProductCategoryDTO> productCategory() {
return webProductMallService.productCategory();
}
@ApiOperation("产品部件")
@GetMapping("/parts")
public ResultBody<ProductCategoryDTO> productParts() {
return webProductMallService.productParts();
}
@ApiOperation("产品成色")
@GetMapping("/quality")
public ResultBody<ProductCategoryDTO> productQuality() {
return webProductMallService.productQuality();
}
@ApiOperation(value = "小程序-商品信息-分页")
@PostMapping("listPageGoodsInfo")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = GoodsInfoListDTO.class)})
public ResultBody<GoodsInfoListDTO> listPageGoodsInfo(
@ApiParam("商品查询条件QO") @RequestBody GoodsInfoQO param) {
return ResultBody.success(webProductMallService.listPageGoodsInfo(param));
}
@ApiOperation(value = "小程序端-获取商品详细信息--共多少种选择")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = AppGoodsInfoDetailDTO.class)})
@GetMapping("getAppGoodsInfoDetail")
public ResultBody<AppGoodsInfoDetailDTO> getAppGoodsInfoDetail(@RequestParam Integer id) {
return miniProgramProductMallService.getAppGoodsInfoDetail(id);
}
}
package com.mmc.pms.dao;
import com.mmc.pms.entity.*;
import com.mmc.pms.model.qo.GoodsInfoQO;
import com.mmc.pms.service.Impl.IndustryProductInventoryDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @Author small @Date 2023/5/16 15:14 @Version 1.0
*/
@Mapper
public interface MiniProgramProductMallDao {
GoodsInfoDO getGoodsInfoByGoodsId(Integer goodsId);
List<GoodsImgDO> listGoodsInfoByGoodsId(Integer goodsId);
GoodsDetailDO getGoodsDetailByGoodsId(Integer goodsId);
List<GoodsQaDO> listGoodsQaInfoByGoodsId(Integer goodsId);
List<GoodsServiceDO> listGoodsServiceByGoodsId(Integer goodsId);
List<MallProdSkuInfoDO> getMallProdInfoByGoodsId(Integer goodsId);
List<MallProdSkuInfoSpecDO> listMallProdSkuInfoSpec(Integer goodsId);
List<ProductSpecDO> listProductSpecInfo(List<Integer> collect);
List<MallIndustrySkuInfoDO> getMallIndustrySkuInfo(Integer goodsInfoId);
List<MallIndustrySkuInfoSpecDO> getIndustrySkuInfoSpec(Integer goodsInfoId);
int countListGoodsByQO(GoodsInfoQO param);
List<GoodsInfoDO> listGoodsByQO(GoodsInfoQO param);
List<GoodsTypeDO> listIndustryIdBySort();
List<IndustryProductInventoryDO> getIndustryProductInventory(Integer industrySpecId);
List<InventorySpecDO> listInventorySpec(List<Integer> collect);
ProductSpecDO getProductSpecDetail(Integer productSpecId);
ProductSkuDO getProductSkuDetail(Integer productSkuId);
}
package com.mmc.pms.dao;
import com.mmc.pms.entity.*;
import com.mmc.pms.model.qo.WareInfoQO;
import com.mmc.pms.model.vo.LeaseVo;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @Author small @Date 2023/5/15 14:35 @Version 1.0
*/
@Mapper
public interface WebDeviceDao {
List<DistrictDO> listSecondDistrict();
List<DeviceCategory> category();
List<Brand> brand();
List<Model> model();
List<DeviceListDO> deviceList(
Integer districtId, Integer categoryId, Integer brandId, Integer modelId);
int update(LeaseVo param);
InventoryDO findInventory(Integer inventoryId);
List<WareInfoDO> detail(Integer id);
int countListWareInfoPage(WareInfoQO param);
List<WareInfoDO> listWareInfoPage(WareInfoQO param);
WareInfoDO getWareInfoById(Integer id);
WareDetailDO getWareDetailById(Integer id);
}
package com.mmc.pms.dao;
import com.mmc.pms.entity.GoodsInfoDO;
import com.mmc.pms.entity.ProductCategory;
import com.mmc.pms.model.qo.GoodsInfoQO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @Author small @Date 2023/5/15 20:11 @Version 1.0
*/
@Mapper
public interface WebProductMallDao {
List<ProductCategory> productCategory();
List<ProductCategory> productParts();
List<ProductCategory> productQuality();
int countListGoodsInfo(GoodsInfoQO param);
List<GoodsInfoDO> listGoodsInfo(GoodsInfoQO param);
Integer findProduct(Integer id);
}
package com.mmc.pms.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @Author small @Date 2023/5/15 15:22 @Version 1.0
*/
@Data
public class BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty("添加时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime addtime;
@ApiModelProperty("最近一次编辑时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updatetime;
@ApiModelProperty("1删除")
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
@TableLogic
private Integer deleted;
}
package com.mmc.pms.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.mmc.pms.model.dto.BrandDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author small @Date 2023/5/15 15:34 @Version 1.0
*/
@Data
@ApiModel("品牌")
@TableName("brand")
public class Brand extends BaseEntity {
@ApiModelProperty("1")
private Integer id;
@ApiModelProperty("名称")
private String name;
public BrandDTO brandDTO() {
return BrandDTO.builder().id(this.id).name(this.name).build();
}
}
package com.mmc.pms.entity;
import com.mmc.pms.model.dto.DeviceCategoryDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author small @Date 2023/5/15 15:03 @Version 1.0
*/
@Data
public class DeviceCategory extends BaseEntity {
@ApiModelProperty(name = "id", value = "类目id", example = "1")
private Integer id;
@ApiModelProperty(name = "id", value = "类目名称", example = "无人机")
private String name;
public DeviceCategoryDTO deviceCategory() {
return DeviceCategoryDTO.builder().id(this.id).name(this.name).build();
}
}
package com.mmc.pms.entity;
import com.mmc.pms.model.dto.DeviceListDTO;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* @Author small @Date 2023/5/15 17:04 @Version 1.0
*/
@Data
@ApiModel("设备列表")
public class DeviceListDO {
private Integer id;
private String deviceName;
private String imageUrl;
private String price;
private String brandName;
private String sysDistrictName;
private String modelName;
private String deviceCategoryName;
private Integer residueCount;
private Integer inventoryId;
private String appraise;
public DeviceListDTO deviceListDTO() {
return DeviceListDTO.builder()
.id(this.id)
.deviceName(this.deviceName)
.imageUrl(this.imageUrl)
.price(this.price)
.brandName(this.brandName)
.sysDistrictName(this.sysDistrictName)
.modelName(this.modelName)
.deviceCategoryName(this.deviceCategoryName)
.residueCount(this.residueCount)
.inventoryId(this.inventoryId)
.appraise(this.appraise)
.build();
}
}
package com.mmc.pms.entity;
import com.mmc.pms.model.dto.DistrictInfoDTO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.util.CollectionUtils;
import java.io.Serializable;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Author small
* @Date 2023/5/15 14:33
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DistrictDO implements Serializable {
private static final long serialVersionUID = 4345895963086642848L;
private Integer id;
private String name;
private Integer level;
private Integer pid;
private List<DistrictDO> childInfo;
public DistrictInfoDTO builderDistrictInfoDTO(){
return DistrictInfoDTO.builder()
.id(this.id)
.name(this.name)
.level(this.level)
.pid(this.pid)
.childInfo(CollectionUtils.isEmpty(this.childInfo)?null:this.childInfo.stream().map(d->{return d.builderDistrictInfoDTO();}).collect(Collectors.toList()))
.build();
}
}
package com.mmc.pms.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small @Date 2023/5/16 13:38 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class GoodsConfigExportDO implements Serializable {
private static final long serialVersionUID = -165522550874242214L;
private Integer id;
private Integer goodInfoId;
private String inventory;
private String functionConfig;
private Date createTime;
private Date updateTime;
private Integer deleted;
}
package com.mmc.pms.entity;
import com.mmc.pms.model.dto.GoodsDetailInfoDTO;
import com.mmc.pms.model.vo.GoodsDetailVO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small @Date 2023/5/16 15:11 @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Accessors(chain = true)
public class GoodsDetailDO implements Serializable {
private Integer id;
private Integer goodsInfoId;
private String goodsDesc;
private String content;
private String remark;
private Date createTime;
private Date updateTime;
public GoodsDetailDO(GoodsDetailVO goodsDetailVO) {
this.goodsDesc = goodsDetailVO.getGoodsDesc();
this.content = goodsDetailVO.getProductDesc();
this.remark = goodsDetailVO.getRemark();
}
public GoodsDetailInfoDTO buildGoodsDetailInfoDTO() {
return GoodsDetailInfoDTO.builder()
.id(this.id)
.goodsDesc(this.goodsDesc)
.content(this.content)
.remark(this.remark)
.build();
}
}
package com.mmc.pms.entity;
import com.mmc.pms.model.dto.GoodsImgDTO;
import com.mmc.pms.model.vo.GoodsImgVO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small @Date 2023/5/16 15:10 @Version 1.0
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public class GoodsImgDO implements Serializable {
private Integer id;
private Integer goodsInfoId;
private String imgUrl;
private Integer imgType;
private Integer deleted;
private Date createTime;
public GoodsImgDO(GoodsImgVO d) {
this.imgUrl = d.getImgUrl();
this.imgType = d.getImgType();
}
public GoodsImgDTO buildGoodsImgDTO() {
return GoodsImgDTO.builder().id(this.id).imgUrl(this.imgUrl).imgType(this.imgType).build();
}
}
package com.mmc.pms.entity;
import com.mmc.pms.model.dto.AppGoodsInfoDTO;
import com.mmc.pms.model.dto.GoodsInfoListDTO;
import com.mmc.pms.model.vo.CategoryParamAndValueVO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @Author small @Date 2023/5/16 13:33 @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Accessors(chain = true)
public class GoodsInfoDO implements Serializable {
private static final long serialVersionUID = -1329342381196659417L;
private Integer id;
private Integer pid;
private String goodsNo;
private String goodsName;
private Integer masterTypeId;
private Integer slaveTypeId;
private Integer shelfStatus;
private Integer skuNum;
private Integer deleted;
private Date createTime;
private Date updateTime;
private Integer goodsAttr;
private String ecoLabel;
private Integer goodsCategoryId;
private Integer repoId;
private Integer shareFlyServiceId;
private Integer goodsType;
private Integer sort;
private Integer showCode;
private Integer standardProduct;
private String tag;
/** 辅助字段-start */
private String videoUrl;
private Integer goodsVideoId;
private String goodsDesc;
private GoodsVideoDO goodsVideoDO;
private String mainImg; // 主图
private GoodsTypeDO goodsMasterType;
private GoodsTypeDO goodsSlaveType;
private String remark; // 底部备注
private Integer sortTypeId;
private List<CategoryParamAndValueVO> paramAndValue;
private GoodsConfigExportDO goodsConfigExport; // 功能清单
private Integer buyNum; // 购买数量
private String directoryName;
private Integer isCoupons;
public GoodsInfoListDTO buildGoodsInfoListDTO() {
return GoodsInfoListDTO.builder()
.id(this.id)
.goodsName(this.goodsName)
.status(this.shelfStatus)
.createTime(this.createTime)
.imgUrl(this.mainImg)
.directoryId(this.sortTypeId)
.directoryName(this.directoryName)
.goodsOneLevelTypeName(this.goodsMasterType.getTypeName())
.goodsTwoLevelTypeName(this.goodsSlaveType.getTypeName())
.isCoupons(this.isCoupons)
.build();
}
public AppGoodsInfoDTO buildAppGoodsInfoDTO() {
return AppGoodsInfoDTO.builder()
.id(this.id)
.goodsName(this.goodsName)
.mainImg(this.mainImg)
.goodsDesc(this.goodsDesc)
.shelfStatus(this.shelfStatus)
.goodsAttr(this.goodsAttr)
.ecoLabel(this.tag)
.showCode(this.showCode)
.sort(this.sort)
.build();
}
}
package com.mmc.pms.entity;
import com.mmc.pms.model.dto.GoodsQaDTO;
import com.mmc.pms.model.vo.GoodsQaVO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small @Date 2023/5/16 15:23 @Version 1.0
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public class GoodsQaDO implements Serializable {
private Integer id;
private Integer goodsInfoId;
private String question;
private String answer;
private Integer deleted;
private Date updateTime;
private Date createTime;
public GoodsQaDO(GoodsQaVO goodsQaVO) {
this.question = goodsQaVO.getQuestion();
this.answer = goodsQaVO.getAnswer();
}
public GoodsQaDTO buildGoodsQaDTO() {
return GoodsQaDTO.builder().id(this.id).answer(this.answer).question(this.question).build();
}
}
package com.mmc.pms.entity;
import com.mmc.pms.model.dto.GoodsOtherServiceDTO;
import com.mmc.pms.model.dto.GoodsServiceDTO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small @Date 2023/5/16 15:25 @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class GoodsServiceDO implements Serializable {
private static final long serialVersionUID = -2612831712612727210L;
private Integer id;
private Integer goodsInfoId;
private Integer saleServiceId;
private Date createTime;
/** 辅助字段-start */
private String serviceName;
private String remark;
/** 辅助字段-end */
public GoodsServiceDTO buildGoodsServiceDTO() {
return GoodsServiceDTO.builder()
.id(this.id)
.saleServiceId(this.saleServiceId)
.goodsInfoId(goodsInfoId)
.serviceName(serviceName)
.remark(remark)
.build();
}
public GoodsOtherServiceDTO buildGoodsOtherServiceDTO() {
return GoodsOtherServiceDTO.builder()
.id(this.id)
.saleServiceId(this.saleServiceId)
.serviceName(this.serviceName)
.build();
}
}
package com.mmc.pms.entity;
import com.mmc.pms.model.vo.GoodsGroupVO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small @Date 2023/5/16 13:34 @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class GoodsTypeDO implements Serializable {
private Integer id;
private Integer pid;
private Integer sortTypeId;
private String typeName;
private String description;
private Integer sort;
private String icon;
private String remark;
private Integer deleted;
private Date updateTime;
private Date createTime;
/** 辅助字段-start */
private GoodsTypeDO slaveType;
/** 辅助字段-end */
public GoodsTypeDO(GoodsGroupVO goodsGroupVO) {
this.sortTypeId = goodsGroupVO.getSortTypeId();
this.typeName = goodsGroupVO.getGroupName();
this.pid = goodsGroupVO.getPid();
this.description = goodsGroupVO.getDescription();
this.icon = goodsGroupVO.getIcon();
this.remark = goodsGroupVO.getRemark();
}
}
package com.mmc.pms.entity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small @Date 2023/5/16 13:34 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Accessors(chain = true)
public class GoodsVideoDO implements Serializable {
private Integer id;
private Integer goodsInfoId;
private String videoUrl;
private Integer videoType;
private Integer deleted;
private Date createTime;
}
package com.mmc.pms.entity;
import com.mmc.pms.model.dto.MallIndustrySpecDTO;
import com.mmc.pms.model.vo.IndustrySpecVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small @Date 2023/5/16 15:35 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class IndustrySpecDO implements Serializable {
private static final long serialVersionUID = 8701065950780976397L;
private Integer id;
private Integer industrySkuId;
private String specName;
private String specImage;
private Date createTime;
private Date updateTime;
private Integer deleted;
private String solutionName;
public IndustrySpecDO(IndustrySpecVO param) {
this.id = param.getId();
this.industrySkuId = param.getIndustrySkuId();
this.specName = param.getSpecName();
this.specImage = param.getSpecImage();
}
/* public IndustrySpecDTO buildIndustrySpecDTO() {
return IndustrySpecDTO.builder()
.id(this.id)
.industrySkuId(this.industrySkuId)
.specImage(this.specImage)
.specName(this.specName)
.createTime(this.createTime)
.build();
}*/
public MallIndustrySpecDTO buildMallIndustrySpecDTO() {
return MallIndustrySpecDTO.builder()
.industrySpecId(this.id)
.industrySkuId(this.industrySkuId)
.specImage(this.specImage)
.specName(this.specName)
.build();
}
}
package com.mmc.pms.entity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author small @Date 2023/5/15 18:16 @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class InventoryDO {
private static final long serialVersionUID = 4345895963086642848L;
private Integer id;
private Integer allCount;
private Integer residueCount;
}
package com.mmc.pms.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small @Date 2023/5/16 15:39 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class InventorySpecDO implements Serializable {
private static final long serialVersionUID = 8701065950780976397L;
private Integer id;
private Integer industryProductInventoryId;
private Integer productSpecId;
private Integer productSkuId;
private Integer deleted;
private Integer createTime;
private Integer updateTime;
}
package com.mmc.pms.entity;
import com.mmc.pms.model.dto.GoodsSpecDTO;
import com.mmc.pms.model.vo.GoodsSpecVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small @Date 2023/5/16 15:33 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class MallIndustrySkuInfoDO implements Serializable {
private static final long serialVersionUID = 1492322282696261487L;
private Integer id;
private Integer goodsInfoId;
private Integer industrySkuId;
private String industrySkuSpecName;
private Integer goodsTypeId;
private Integer chooseType;
private Integer must;
private Integer skuUnitId;
private Integer deleted;
private Date createTime;
private Date updateTime;
/** 辅助字段start */
private String typeName;
private String unitName;
private String industrySkuName;
/** 辅助字段end */
public MallIndustrySkuInfoDO(GoodsSpecVO goodsSpecVO) {
this.industrySkuId = goodsSpecVO.getSkuId();
this.chooseType = goodsSpecVO.getChooseType();
this.industrySkuSpecName = goodsSpecVO.getGoodsSpecName();
this.skuUnitId = goodsSpecVO.getSkuUnitId();
this.goodsTypeId = goodsSpecVO.getGoodsTypeId();
this.must = goodsSpecVO.getMust();
}
public GoodsSpecDTO buildGoodsSpecDTO() {
return GoodsSpecDTO.builder()
.id(this.id)
.goodsSpecName(this.industrySkuSpecName)
.goodsTypeId(this.goodsTypeId)
.chooseType(this.chooseType)
.skuUnitId(skuUnitId)
.unitName(this.unitName)
.skuId(this.industrySkuId)
.typeName(this.typeName)
.skuName(this.industrySkuName)
.must(must)
.build();
}
}
package com.mmc.pms.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small @Date 2023/5/16 15:35 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class MallIndustrySkuInfoSpecDO implements Serializable {
private static final long serialVersionUID = 3405592933624268700L;
private Integer id;
private Integer mallIndustrySkuInfoId;
private Integer industrySpecId;
private Integer goodsInfoId;
private Integer deleted;
private Date createTime;
private Date updateTime;
private String goodsName;
private IndustrySpecDO industrySpecDO;
}
package com.mmc.pms.entity;
import com.mmc.pms.model.dto.GoodsSpecDTO;
import com.mmc.pms.model.vo.GoodsSpecVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small @Date 2023/5/16 15:26 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class MallProdSkuInfoDO implements Serializable {
private static final long serialVersionUID = 3667714765929443857L;
private Integer id;
private Integer goodsInfoId;
private Integer prodSkuId;
private String prodSkuSpecName;
private Integer goodsTypeId;
private Integer chooseType;
private Integer must;
private Integer skuUnitId;
private Integer deleted;
private Date createTime;
private Date updateTime;
private Integer flag;
/** 辅助字段 start */
private String typeName;
private String unitName;
private String productSkuName;
private Integer brandInfoId;
/** 辅助字段 end */
public MallProdSkuInfoDO(GoodsSpecVO goodsSpecVO) {
this.goodsTypeId = goodsSpecVO.getGoodsTypeId();
this.prodSkuSpecName = goodsSpecVO.getGoodsSpecName();
this.chooseType = goodsSpecVO.getChooseType();
this.skuUnitId = goodsSpecVO.getSkuUnitId();
this.must = goodsSpecVO.getMust();
this.flag = goodsSpecVO.getFlag();
}
public GoodsSpecDTO buildGoodsSpecDTO() {
return GoodsSpecDTO.builder()
.id(this.id)
.goodsSpecName(this.prodSkuSpecName)
.goodsTypeId(this.goodsTypeId)
.chooseType(this.chooseType)
.skuUnitId(skuUnitId)
.unitName(this.unitName)
.skuId(this.prodSkuId)
.typeName(this.typeName)
.must(must)
.skuName(this.productSkuName)
.brandInfoId(brandInfoId)
.flag(flag)
.build();
}
}
package com.mmc.pms.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small @Date 2023/5/16 15:30 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class MallProdSkuInfoSpecDO implements Serializable {
private static final long serialVersionUID = -8247363408322497387L;
private Integer id;
private Integer mallProdSkuInfoId;
private Integer goodsInfoId;
private Integer productSpecId;
private Integer deleted;
private Date createTime;
private Date updateTime;
private String goodsName;
private ProductSpecDO productSpecDO;
}
package com.mmc.pms.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.mmc.pms.model.dto.ModelDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author small @Date 2023/5/15 16:12 @Version 1.0
*/
@Data
@TableName("model")
@ApiModel("型号")
public class Model {
@ApiModelProperty("1")
private Integer id;
@ApiModelProperty("型号名称")
private String name;
public ModelDTO modelDTO() {
return ModelDTO.builder().id(this.id).name(this.name).build();
}
}
package com.mmc.pms.entity;
import com.mmc.pms.model.dto.ProductCategoryDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author small @Date 2023/5/15 20:26 @Version 1.0
*/
@Data
@ApiModel("产品类目")
public class ProductCategory {
@ApiModelProperty("1")
private Integer id;
@ApiModelProperty("产品名称")
private String name;
public ProductCategoryDTO productCategoryDTO() {
return ProductCategoryDTO.builder().id(this.id).name(this.name).build();
}
}
package com.mmc.pms.entity;
import com.mmc.pms.model.dto.GoodsProductSkuDTO;
import com.mmc.pms.model.dto.GoodsProductSkuVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small @Date 2023/5/16 16:29 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class ProductSkuDO implements Serializable {
private static final long serialVersionUID = -2830786012593215477L;
private Integer id;
private String productName;
private Integer goodsTypeId;
private String model;
private String productBrand;
private Date createTime;
private Date updateTime;
private Integer brandInfoId;
private Integer deleted;
private Integer sortTypeId;
private Integer customize;
/** 辅助字段 begin */
private String typeName;
private String sortName;
/** 辅助字段 end */
public ProductSkuDO(GoodsProductSkuVO param) {
this.id = param.getId();
this.goodsTypeId = param.getGoodsTypeId();
this.model = param.getModel();
this.productName = param.getProductName();
this.brandInfoId = param.getProductBrandId();
this.sortTypeId = param.getDirectoryId();
}
public GoodsProductSkuDTO buildGoodsProductSkuDTO() {
return GoodsProductSkuDTO.builder()
.id(this.id)
.productName(this.productName)
.goodsTypeId(this.goodsTypeId)
.model(this.model)
.productBrand(this.productBrand)
.productBrandId(brandInfoId)
.createTime(this.createTime)
.typeName(this.typeName)
.directoryId(sortTypeId)
.directoryName(this.sortName)
.build();
}
}
package com.mmc.pms.entity;
import com.mmc.pms.model.dto.MallProductSpecDTO;
import com.mmc.pms.model.dto.ProductSpecDTO;
import com.mmc.pms.model.dto.ProductSpecVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small @Date 2023/5/16 15:30 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class ProductSpecDO implements Serializable {
private static final long serialVersionUID = -5476701567447257133L;
private Integer id;
private Integer productSkuId;
private String specName;
private String specImage;
private String partNo;
private String versionDesc;
private Date createTime;
private Date updateTime;
private Integer deleted;
public ProductSpecDO(ProductSpecVO param) {
this.id = param.getId();
this.productSkuId = param.getProductSkuId();
this.specName = param.getSpecName();
this.specImage = param.getSpecImage();
this.partNo = param.getPartNo();
this.versionDesc = param.getVersionDesc();
}
public ProductSpecDTO buildProductSpecDTO() {
return ProductSpecDTO.builder()
.id(this.id)
.productSkuId(this.productSkuId)
.specName(this.specName)
.specImage(this.specImage)
.partNo(this.partNo)
.versionDesc(this.versionDesc)
.createTime(this.createTime)
.build();
}
public MallProductSpecDTO buildMallProductSpecDTO() {
return MallProductSpecDTO.builder()
.productSpec(this.id)
.productSkuId(this.productSkuId)
.specName(this.specName)
.specImage(this.specImage)
.partNo(this.partNo)
.versionDesc(this.versionDesc)
.build();
}
}
package com.mmc.pms.entity;
import com.mmc.pms.model.dto.WareDetailDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small @Date 2023/5/16 17:22 @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WareDetailDO implements Serializable {
private static final long serialVersionUID = -911783253410987965L;
private Integer id;
private Integer wareInfoId;
private String content;
private Date createTime;
private Date updateTime;
public WareDetailDTO buildWareDetailDTO() {
return WareDetailDTO.builder()
.id(this.id)
.wareInfoId(this.wareInfoId)
.content(this.content)
.createTime(this.createTime)
.updateTime(this.updateTime)
.build();
}
}
package com.mmc.pms.entity;
import com.mmc.pms.model.dto.WareImgDTO;
import com.mmc.pms.model.vo.WareImgVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small @Date 2023/5/16 10:01 @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WareImgDO implements Serializable {
private static final long serialVersionUID = -1711990559893951800L;
private Integer id;
private Integer wareInfoId;
private String imgUrl;
private Integer imgType;
private Integer deleted;
private Date createTime;
public WareImgDTO buildWareImgDTO() {
return WareImgDTO.builder()
.id(this.id)
.wareInfoId(this.wareInfoId)
.imgType(this.imgType)
.imgUrl(this.imgUrl)
.build();
}
public WareImgDO(WareImgVO d) {
this.id = d.getId();
this.imgUrl = d.getImgUrl();
this.imgType = d.getImgType();
}
}
package com.mmc.pms.entity;
import com.mmc.pms.model.dto.AppletWareInfoDTO;
import com.mmc.pms.model.dto.WareInfoDTO;
import com.mmc.pms.model.dto.WareInfoItemDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Author small @Date 2023/5/16 10:00 @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WareInfoDO implements Serializable {
private static final long serialVersionUID = 5530961803742843304L;
private Integer id;
private String wareNo;
private String wareTitle;
private Integer wareTypeId;
private Integer wareStatus;
private Integer payStatus;
private BigDecimal minDeposit;
private BigDecimal maxDeposit;
private BigDecimal minRent;
private BigDecimal maxRent;
private Integer totalStock;
private Integer totalSale;
private Integer skuNum;
private String tags;
private Integer deleted;
private Date createTime;
private Date updateTime;
private Integer pid;
/** 辅助字段-start */
private List<WareImgDO> wareImgs;
// private List<WareVideoDO> wareVideos;
private WarePropDO warePropDO;
private String wareDetailContent;
// private WareDetailDO wareDetailDO;
// private List<SkuInfoDO> skuInfoDOList;
/** 辅助字段-end */
public WareInfoDTO buildWareInfoDTO() {
return WareInfoDTO.builder()
.id(this.id)
.wareNo(this.wareNo)
.wareTitle(this.wareTitle)
.wareTypeId(this.wareTypeId)
.wareStatus(this.wareStatus)
.payStatus(this.payStatus)
.minDeposit(this.minDeposit)
.maxDeposit(this.maxDeposit)
.minRent(this.minRent)
.maxRent(this.maxRent)
.totalStock(this.totalStock)
.totalSale(this.totalSale)
.skuNum(this.skuNum)
.tags(StringUtils.isEmpty(this.tags) ? null : Arrays.asList(this.tags.split(",")))
.wareImgs(
CollectionUtils.isEmpty(this.wareImgs)
? null
: this.wareImgs.stream()
.map(
d -> {
return d.buildWareImgDTO();
})
.collect(Collectors.toList()))
.warePropDTO(this.warePropDO == null ? null : warePropDO.buildWarePropDTO())
.wareDetailContent(this.wareDetailContent)
.build();
}
public WareInfoItemDTO buildWareInfoItemDTO() {
return WareInfoItemDTO.builder()
.id(this.id)
.wareNo(this.wareNo)
.wareTitle(this.wareTitle)
.wareTypeId(this.wareTypeId)
.wareStatus(this.wareStatus)
.minDeposit(this.minDeposit)
.minRent(this.minRent)
.totalStock(this.totalStock)
.totalSale(this.totalSale)
.tags(StringUtils.isEmpty(this.tags) ? null : Arrays.asList(this.tags.split(",")))
.wareImgs(
CollectionUtils.isEmpty(this.wareImgs)
? null
: this.wareImgs.stream()
.map(
d -> {
return d.buildWareImgDTO();
})
.collect(Collectors.toList()))
.propInfoId(this.warePropDO.getPropInfoId())
.createTime(this.createTime)
.build();
}
public AppletWareInfoDTO buildAppletWareInfoDTO() {
return AppletWareInfoDTO.builder()
.id(this.id)
.wareNo(this.wareNo)
.wareTitle(this.wareTitle)
.wareTypeId(this.wareTypeId)
.wareStatus(this.wareStatus)
.payStatus(this.payStatus)
.minDeposit(this.minDeposit)
.minRent(this.minRent)
.totalStock(this.totalStock)
.totalSale(this.totalSale)
.skuNum(this.skuNum)
.tags(StringUtils.isEmpty(this.tags) ? null : Arrays.asList(this.tags.split(",")))
.wareImgs(
CollectionUtils.isEmpty(this.wareImgs)
? null
: this.wareImgs.stream()
.map(
d -> {
return d.buildWareImgDTO();
})
.collect(Collectors.toList()))
.build();
}
}
package com.mmc.pms.entity;
import com.mmc.pms.model.dto.WarePropDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small @Date 2023/5/16 10:01 @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WarePropDO implements Serializable {
private static final long serialVersionUID = -8305801318237157082L;
private Integer id;
private Integer wareInfoId;
private Integer propInfoId;
private String propPoster;
private Date createTime;
public WarePropDTO buildWarePropDTO() {
return WarePropDTO.builder()
.id(this.id)
.wareInfoId(this.wareInfoId)
.propInfoId(this.propInfoId)
.propPoster(this.propPoster)
.createTime(this.createTime)
.build();
}
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small @Date 2023/5/16 15:55 @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
// @ApiModel(value = "com.mmc.csf.mall.dto.AppGoodsInfoDTO", description = "小程序商品信息DTO")
public class AppGoodsInfoDTO implements Serializable {
private static final long serialVersionUID = 6104334488561632747L;
@ApiModelProperty("商品id")
private Integer id;
@ApiModelProperty("商品名称")
private String goodsName;
@ApiModelProperty("商品上架状态")
private Integer shelfStatus;
@ApiModelProperty("商品主图")
private String mainImg;
@ApiModelProperty("商品描述")
private String goodsDesc;
@ApiModelProperty("商品属性")
private Integer goodsAttr;
@ApiModelProperty("生态标签")
private String ecoLabel;
@ApiModelProperty("安全编码")
private String code;
@ApiModelProperty("排序")
private Integer sort;
@ApiModelProperty("安全编码是否显示 0 否 1 是")
private Integer showCode;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.List;
/**
* @Author small @Date 2023/5/16 15:02 @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class AppGoodsInfoDetailDTO implements Serializable {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "pid")
private Integer pid;
@ApiModelProperty(value = "商品名称")
private String goodsName;
@ApiModelProperty(value = "云享飞服务id")
private Integer shareFlyServiceId;
@ApiModelProperty(value = "云仓配件id")
private Integer repoId;
@ApiModelProperty(value = "规格信息")
private List<GoodsSpecDTO> goodsSpec;
@ApiModelProperty(value = "商品图片")
private List<GoodsImgDTO> images;
@ApiModelProperty(value = "商品视频")
private String goodsVideo;
@ApiModelProperty(value = "商品视频id")
private Integer goodsVideoId;
@ApiModelProperty(value = "商品详情")
private GoodsDetailInfoDTO goodsDetail;
@ApiModelProperty(value = "所属目录")
private Integer sortTypeId;
@ApiModelProperty(value = "一级分类id")
private Integer masterTypeId;
@ApiModelProperty(value = "二级分类id")
private Integer slaveTypeId;
@ApiModelProperty(value = "商品标签")
private String tag;
@ApiModelProperty(value = "商品状态 0:下架 1:上架")
private Integer shelfStatus;
@ApiModelProperty(value = "其他服务: 1:免费配送,2:专业飞手培训2日, 3:半年保修, 4:一年保修 ")
private List<GoodsOtherServiceDTO> otherService;
@ApiModelProperty(value = "常见问题")
private List<GoodsQaDTO> question;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* @Author small @Date 2023/5/16 10:03 @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AppletWareInfoDTO implements Serializable {
private static final long serialVersionUID = -8861604532607064616L;
@ApiModelProperty(value = "ID")
private Integer id;
@ApiModelProperty(value = "商品编号")
private String wareNo;
@ApiModelProperty(value = "商品名称")
private String wareName;
@ApiModelProperty(value = "商品标题")
private String wareTitle;
@ApiModelProperty(value = "商品类型ID")
private Integer wareTypeId;
@ApiModelProperty(value = "商品状态")
private Integer wareStatus;
@ApiModelProperty(value = "减库方式")
private Integer payStatus;
@ApiModelProperty(value = "最小押金")
private BigDecimal minDeposit;
@ApiModelProperty(value = "最小租金")
private BigDecimal minRent;
@ApiModelProperty(value = "总库存数量")
private Integer totalStock;
@ApiModelProperty(value = "总销量")
private Integer totalSale;
@ApiModelProperty(value = "sku数量")
private Integer skuNum;
@ApiModelProperty(value = "标签集合")
private List<String> tags;
@ApiModelProperty(value = "商品图片集合")
private List<WareImgDTO> wareImgs;
@ApiModelProperty(value = "商品视频集合")
private List<WareVideoDTO> wareVideos;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author small @Date 2023/5/15 16:07 @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class BrandDTO {
@ApiModelProperty("1")
private Integer id;
@ApiModelProperty("品牌名称")
private String name;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author small @Date 2023/5/15 16:02 @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DeviceCategoryDTO {
@ApiModelProperty(name = "id", value = "类目id", example = "1")
private Integer id;
@ApiModelProperty(name = "id", value = "类目名称", example = "无人机")
private String name;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author small @Date 2023/5/15 17:06 @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DeviceListDTO {
@ApiModelProperty(value = "设备id")
private Integer id;
@ApiModelProperty(value = "设备名称")
private String deviceName;
@ApiModelProperty(value = "设备图片地址")
private String imageUrl;
@ApiModelProperty(value = "价格")
private String price;
@ApiModelProperty(value = "品牌名称")
private String brandName;
@ApiModelProperty(value = "地域名称")
private String sysDistrictName;
@ApiModelProperty(value = "型号名称")
private String modelName;
@ApiModelProperty(value = "类目名称")
private String deviceCategoryName;
@ApiModelProperty(value = "剩余库存数量")
private Integer residueCount;
@ApiModelProperty(value = "库存id")
private Integer inventoryId;
@ApiModelProperty(value = "评价")
private String appraise;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @Author small
* @Date 2023/5/15 14:34
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DistrictInfoDTO implements Serializable {
private static final long serialVersionUID = 8352745384449903203L;
@ApiModelProperty(value = "地区id")
private Integer id;
@ApiModelProperty(value = "地区名称")
private String name;
@ApiModelProperty(value = "地区等级")
private Integer level;
@ApiModelProperty(value = "父id")
private Integer pid;
@ApiModelProperty(value = "地区下一级信息")
private List<DistrictInfoDTO> childInfo;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small @Date 2023/5/16 15:12 @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
// @ApiModel(value = "com.mmc.csf.mall.dto.GoodsDetailInfoDTO", description = "商品详细信息DTO")
public class GoodsDetailInfoDTO implements Serializable {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "描述")
private String goodsDesc;
@ApiModelProperty(value = "富文本")
private String content;
@ApiModelProperty(value = "商品备注")
private String remark;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small @Date 2023/5/16 15:07 @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
// @ApiModel(value = "com.mmc.csf.mall.dto.GoodsImgDTO", description = "商品图片信息DTO")
public class GoodsImgDTO implements Serializable {
@ApiModelProperty(value = "图片id")
private Integer id;
@ApiModelProperty(value = "图片路径")
private String imgUrl;
@ApiModelProperty(value = "图片类型 : 0:主图 1:副图")
private Integer imgType;
}
package com.mmc.pms.model.dto;
import com.mmc.pms.entity.GoodsConfigExportDO;
import com.mmc.pms.entity.GoodsTypeDO;
import com.mmc.pms.entity.GoodsVideoDO;
import com.mmc.pms.model.vo.CategoryParamAndValueVO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @Author small @Date 2023/5/16 13:41 @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Accessors(chain = true)
public class GoodsInfoDO implements Serializable {
private static final long serialVersionUID = -1329342381196659417L;
private Integer id;
private Integer pid;
private String goodsNo;
private String goodsName;
private Integer masterTypeId;
private Integer slaveTypeId;
private Integer shelfStatus;
private Integer skuNum;
private Integer deleted;
private Date createTime;
private Date updateTime;
private Integer goodsAttr;
private String ecoLabel;
private Integer goodsCategoryId;
private Integer repoId;
private Integer shareFlyServiceId;
private Integer goodsType;
private Integer sort;
private Integer showCode;
private Integer standardProduct;
private String tag;
/** 辅助字段-start */
private String videoUrl;
private Integer goodsVideoId;
private String goodsDesc;
private GoodsVideoDO goodsVideoDO;
private String mainImg; // 主图
private GoodsTypeDO goodsMasterType;
private GoodsTypeDO goodsSlaveType;
private String remark; // 底部备注
private Integer sortTypeId;
private List<CategoryParamAndValueVO> paramAndValue;
private GoodsConfigExportDO goodsConfigExport; // 功能清单
private Integer buyNum; // 购买数量
private String directoryName;
private Integer isCoupons;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small @Date 2023/5/16 13:29 @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
// @ApiModel(value = "com.mmc.csf.mall.dto.GoodsInfoListDTO", description = "商品列表信息DTO")
public class GoodsInfoListDTO implements Serializable {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "商品名称")
private String goodsName;
@ApiModelProperty(value = "创建时间")
private Date createTime;
@ApiModelProperty(value = "状态 : 0:下架 1:上架")
private Integer status;
@ApiModelProperty(value = "商品主图")
private String imgUrl;
@ApiModelProperty(value = "一级分类名称")
private String goodsOneLevelTypeName;
@ApiModelProperty(value = "二级分类名称")
private String goodsTwoLevelTypeName;
@ApiModelProperty(value = "目录名字")
private String directoryName;
@ApiModelProperty(value = "目录id")
private Integer directoryId;
@ApiModelProperty(value = "是否有优惠券 0表示没有 有就返回数字")
private Integer isCoupons;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small @Date 2023/5/16 15:02 @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
// @ApiModel(value = "com.mmc.csf.mall.dto.GoodsOtherServiceDTO", description = "其他服务信息DTO")
public class GoodsOtherServiceDTO implements Serializable {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "其他服务id")
private Integer saleServiceId;
@ApiModelProperty(value = "其他服务名称")
private String serviceName;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @Author small @Date 2023/5/16 16:29 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class GoodsProductSkuDTO implements Serializable {
private static final long serialVersionUID = -2681122778843398310L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "产品名称")
private String productName;
@ApiModelProperty(value = "产品类型id")
private Integer goodsTypeId;
@ApiModelProperty(value = "产品类型名称")
private String typeName;
@ApiModelProperty(value = "型号")
private String model;
@ApiModelProperty(value = "产品品牌")
private String productBrand;
@ApiModelProperty(value = "产品品牌id")
private Integer productBrandId;
@ApiModelProperty(value = "创建时间")
private Date createTime;
@ApiModelProperty(value = "目录id")
private Integer directoryId;
@ApiModelProperty(value = "目录名称")
private String directoryName;
@ApiModelProperty(value = "产品规格信息对象")
private List<ProductSpecDTO> productSpecList;
}
package com.mmc.pms.model.dto;
import com.mmc.pms.model.vo.Create;
import com.mmc.pms.model.vo.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Author small @Date 2023/5/16 15:05 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class GoodsProductSkuVO implements Serializable {
private static final long serialVersionUID = -2681122778843398310L;
@ApiModelProperty(value = "id")
@NotNull(
message = "修改时id不能为空",
groups = {Update.class})
private Integer id;
@NotNull(
message = "产品名称不能为空",
groups = {Update.class, Create.class})
@ApiModelProperty(value = "产品名称")
private String productName;
@NotNull(
message = "产品类型不能为空",
groups = {Update.class, Create.class})
@ApiModelProperty(value = "产品类型")
private Integer goodsTypeId;
@ApiModelProperty(value = "型号")
private String model;
@ApiModelProperty(value = "产品品牌")
private String productBrand;
@ApiModelProperty(value = "品牌id")
private Integer productBrandId;
@ApiModelProperty(value = "目录id")
private Integer directoryId;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small @Date 2023/5/16 15:02 @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
// @ApiModel(value = "com.mmc.csf.mall.dto.GoodsQaDTO", description = "常见问题DTO")
public class GoodsQaDTO implements Serializable {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "问题")
private String question;
@ApiModelProperty(value = "回答")
private String answer;
}
package com.mmc.pms.model.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small @Date 2023/5/16 15:25 @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
// @ApiModel(value = "com.mmc.csf.mall.dto.GoodsServiceDTO", description = "商品服务DTO")
public class GoodsServiceDTO implements Serializable {
private static final long serialVersionUID = -3178549723714411915L;
private Integer id;
private Integer saleServiceId;
private Integer goodsInfoId;
private String serviceName;
private String remark;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.List;
/**
* @Author small @Date 2023/5/16 15:03 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Accessors(chain = true)
public class GoodsSpecDTO implements Serializable {
private static final long serialVersionUID = -8681372139970849591L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "规格名称")
private String goodsSpecName;
@ApiModelProperty(value = "产品或行业类型")
private Integer goodsTypeId;
@ApiModelProperty(value = "产品或行业类型名称")
private String typeName;
@ApiModelProperty(value = "产品或行业skuId")
private Integer skuId;
@ApiModelProperty(value = "品牌id")
private Integer brandInfoId;
@ApiModelProperty(value = "产品或行业sku名称")
private String skuName;
@ApiModelProperty(value = "产品规格信息")
private List<MallProductSpecDTO> productSpecList;
@ApiModelProperty(value = "行业规格信息")
private List<MallIndustrySpecDTO> industrySpecList;
@ApiModelProperty(value = "选择方式")
private Integer chooseType;
@ApiModelProperty(value = "规格单位")
private Integer skuUnitId;
@ApiModelProperty(value = "单位名称")
private String unitName;
@ApiModelProperty(value = "是否必选")
private Integer must;
@ApiModelProperty(value = "规格来源 0获取 1自定义")
private Integer flag;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @Author small @Date 2023/5/16 13:35 @Version 1.0
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
// @ApiModel(value = "com.mmc.csf.mall.dto.GoodsTypeDetailDTO", description = "分类详情DTO")
public class GoodsTypeDetailDTO implements Serializable {
private static final long serialVersionUID = 4405239380837705419L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "分类名称")
private String groupName;
@ApiModelProperty(value = "描述")
private String description;
@ApiModelProperty(value = "icon图标")
private String icon;
@ApiModelProperty(value = "总条数")
private Integer totalCount;
@ApiModelProperty(value = "商品对象")
private List<TypeGoodsInfoDTO> goodsInfo;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @Author small @Date 2023/5/16 15:04 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class MallIndustrySpecDTO implements Serializable {
private static final long serialVersionUID = 5476956071052692714L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "行业规格id")
private Integer industrySpecId;
@ApiModelProperty(value = "行业skuId")
private Integer industrySkuId;
@ApiModelProperty(value = "规格名称")
private String specName;
@ApiModelProperty(value = "规格图片")
private String specImage;
@ApiModelProperty(value = "产品清单")
private List<ProductInventoryVO> productInventoryList;
@ApiModelProperty(value = "创建时间")
private Date createTime;
}
package com.mmc.pms.model.dto;
import com.mmc.pms.model.vo.ProductSpecCPQVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small @Date 2023/5/16 15:03 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Accessors(chain = true)
public class MallProductSpecDTO implements Serializable {
private static final long serialVersionUID = -2681122778843398310L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "产品规格id")
private Integer productSpec;
@ApiModelProperty(value = "productSkuId")
private Integer productSkuId;
@ApiModelProperty(value = "规格名称")
private String specName;
@ApiModelProperty(value = "规格图片")
private String specImage;
@ApiModelProperty(value = "料号")
private String partNo;
@ApiModelProperty(value = "版本描述")
private String versionDesc;
@ApiModelProperty(value = "创建时间")
private Date createTime;
@ApiModelProperty(value = "价格配置信息")
private ProductSpecCPQVO productSpecCPQVO;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author small @Date 2023/5/15 16:13 @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ModelDTO {
@ApiModelProperty("1")
private Integer id;
@ApiModelProperty("类目名称")
private String name;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author small @Date 2023/5/15 20:27 @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ProductCategoryDTO {
@ApiModelProperty("1")
private Integer id;
@ApiModelProperty("产品名称")
private String name;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @Author small @Date 2023/5/16 15:05 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ProductInventoryVO implements Serializable {
private static final long serialVersionUID = -2224789550998518979L;
@ApiModelProperty(value = "是否指定 不指定0 指定1")
private Integer select;
@ApiModelProperty(value = "产品sku")
private GoodsProductSkuVO productSku;
@ApiModelProperty(value = "productSkuId")
private Integer productSkuId;
@ApiModelProperty(value = "产品规格")
private List<ProductSpecVO> productSpecList;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @Author small @Date 2023/5/16 15:30 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Accessors
public class ProductSpecDTO implements Serializable {
private static final long serialVersionUID = -2681122778843398310L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "productSkuId")
private Integer productSkuId;
@ApiModelProperty(value = "规格名称")
private String specName;
@ApiModelProperty(value = "规格图片")
private String specImage;
@ApiModelProperty(value = "料号")
private String partNo;
@ApiModelProperty(value = "版本描述")
private String versionDesc;
@ApiModelProperty(value = "创建时间")
private Date createTime;
@ApiModelProperty(value = "价格配置")
private List<ProductSpecPriceDTO> priceList;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @Author small @Date 2023/5/16 15:31 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ProductSpecPriceDTO implements Serializable {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "规格id")
private Integer productSpecId;
@ApiModelProperty(value = "等级标签id")
private Integer tagInfoId;
@ApiModelProperty(value = "价格")
private BigDecimal price;
@ApiModelProperty(value = "创建时间")
private Date createTime;
}
package com.mmc.pms.model.dto;
import com.mmc.pms.model.vo.Create;
import com.mmc.pms.model.vo.ProductSpecCPQVO;
import com.mmc.pms.model.vo.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Author small @Date 2023/5/16 15:06 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class ProductSpecVO implements Serializable {
private static final long serialVersionUID = -2681122778843398310L;
@ApiModelProperty(value = "id")
@NotNull(
message = "修改时id不能为空",
groups = {Update.class})
private Integer id;
@ApiModelProperty(value = "productSkuId")
@NotNull(
message = "修改时productSkuId不能为空",
groups = {Create.class})
private Integer productSkuId;
@NotNull(
message = "规格名称不能为空",
groups = {Update.class, Create.class})
@ApiModelProperty(value = "规格名称")
private String specName;
@NotNull(
message = "规格图片不能为空",
groups = {Update.class, Create.class})
@ApiModelProperty(value = "规格图片")
private String specImage;
@NotNull(
message = "料号不能为空",
groups = {Update.class, Create.class})
@ApiModelProperty(value = "料号")
private String partNo;
@ApiModelProperty(value = "版本描述")
private String versionDesc;
@ApiModelProperty(value = "价格配置信息")
private ProductSpecCPQVO productSpecCPQVO;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small @Date 2023/5/16 14:05 @Version 1.0
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
// @ApiModel(value = "com.mmc.csf.mall.dto.TypeGoodsInfoDTO", description = "分类下关联的商品")
public class TypeGoodsInfoDTO implements Serializable {
private static final long serialVersionUID = 7151146563536604554L;
@ApiModelProperty(value = "商品id")
private Integer goodsId;
@ApiModelProperty(value = "商品名称")
private String goodsName;
@ApiModelProperty(value = "商品主图")
private String goodsImg;
@ApiModelProperty(value = "商品上下架状态")
private Integer shelfStatus;
@ApiModelProperty(value = "商品安全编码是否显示:0否 1是")
private Integer showCode;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small @Date 2023/5/16 17:23 @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "com.mmc.csf.model.dto.WareDetailDTO", description = "商品详情信息DTO")
public class WareDetailDTO implements Serializable {
private static final long serialVersionUID = -5359420720425156463L;
@ApiModelProperty(value = "商品详情id")
private Integer id;
@ApiModelProperty(value = "商品id")
private Integer wareInfoId;
@ApiModelProperty(value = "商品详情内容")
private String content;
@ApiModelProperty(value = "生成时间")
private Date createTime;
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small @Date 2023/5/16 9:54 @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "com.mmc.pms.model.dto.WareImgDTO", description = "设备图片DTO")
public class WareImgDTO implements Serializable {
private static final long serialVersionUID = 1195966760401573468L;
@ApiModelProperty(name = "图片ID", value = "图片ID", required = false, example = "图片ID")
private Integer id;
@ApiModelProperty(name = "商品ID", value = "商品ID", required = false, example = "商品ID")
private Integer wareInfoId;
@ApiModelProperty(
name = "图片类型:0:主图 1:副图",
value = "图片类型:0:主图 1:副图",
required = false,
example = "图片类型:0:主图 1:副图")
private String imgUrl;
@ApiModelProperty(name = "图片ID", value = "图片ID", required = false, example = "图片ID")
private Integer imgType;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* @Author small @Date 2023/5/16 10:02 @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
// @ApiModel(value = "com.mmc.csf.model.dto.WareInfoDTO", description = "商品视频DTO")
public class WareInfoDTO implements Serializable {
private static final long serialVersionUID = -4916469576205012865L;
@ApiModelProperty(value = "ID")
private Integer id;
@ApiModelProperty(value = "商品编号")
private String wareNo;
@ApiModelProperty(value = "商品标题")
private String wareTitle;
@ApiModelProperty(value = "商品类型ID")
private Integer wareTypeId;
@ApiModelProperty(value = "商品状态")
private Integer wareStatus;
@ApiModelProperty(value = "减库方式")
private Integer payStatus;
@ApiModelProperty(value = "最小押金")
private BigDecimal minDeposit;
@ApiModelProperty(value = "最大押金")
private BigDecimal maxDeposit;
@ApiModelProperty(value = "最小租金")
private BigDecimal minRent;
@ApiModelProperty(value = "最大租金")
private BigDecimal maxRent;
@ApiModelProperty(value = "总库存数量")
private Integer totalStock;
@ApiModelProperty(value = "总销量")
private Integer totalSale;
@ApiModelProperty(value = "sku数量")
private Integer skuNum;
@ApiModelProperty(value = "标签集合")
private List<String> tags;
@ApiModelProperty(value = "商品图片集合")
private List<WareImgDTO> wareImgs;
// @ApiModelProperty(value = "商品视频集合")
// private List<WareVideoDTO> wareVideos;
@ApiModelProperty(value = "商品活动对象")
private WarePropDTO warePropDTO;
@ApiModelProperty(value = "商品介绍详情")
private String wareDetailContent;
// @ApiModelProperty(value = "商品介绍详情")
// private WareDetailDTO wareDetailDTO;
// @ApiModelProperty(value = "商品sku信息")
// private List<SkuInfoDTO> skuInfoDTOList;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @Author small @Date 2023/5/16 9:53 @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "com.mmc.pms.model.dto.WareInfoItemDTO", description = "设备列表ItemDTO")
public class WareInfoItemDTO implements Serializable {
private static final long serialVersionUID = -4354269497656808831L;
@ApiModelProperty(name = "ID", value = "地域id", required = false, example = "ID")
private Integer id;
@ApiModelProperty(name = "ID", value = "商品编号", required = false, example = "商品编号")
private String wareNo;
@ApiModelProperty(name = "商品标题", value = "商品标题", required = false, example = "商品标题")
private String wareTitle;
@ApiModelProperty(name = "商品类型ID", value = "商品类型ID", required = false, example = "商品类型ID")
private Integer wareTypeId;
@ApiModelProperty(name = "商品状态", value = "商品状态", required = false, example = "商品状态")
private Integer wareStatus;
@ApiModelProperty(name = "最小押金", value = "最小押金", required = false, example = "最小押金")
private BigDecimal minDeposit;
@ApiModelProperty(name = "最小租金", value = "最小租金", required = false, example = "最小租金")
private BigDecimal minRent;
@ApiModelProperty(name = "总库存数量", value = "总库存数量", required = false, example = "总库存数量")
private Integer totalStock;
@ApiModelProperty(name = "总销量", value = "总销量", required = false, example = "总销量")
private Integer totalSale;
@ApiModelProperty(name = "商品活动属性Id", value = "商品活动属性Id", required = false, example = "商品活动属性Id")
private Integer propInfoId;
@ApiModelProperty(name = "生成时间", value = "生成时间", required = false, example = "生成时间")
private Date createTime;
@ApiModelProperty(name = "商品图片", value = "商品图片", required = false, example = "商品图片")
private List<WareImgDTO> wareImgs;
@ApiModelProperty(name = "标签集合", value = "标签集合", required = false, example = "标签集合")
private List<String> tags;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small @Date 2023/5/16 10:02 @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "com.mmc.csf.model.dto.WarePropDTO", description = "商品活动海报信息DTO")
public class WarePropDTO implements Serializable {
private static final long serialVersionUID = 7641929218904130060L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "商品id")
private Integer wareInfoId;
@ApiModelProperty(value = "活动信息id")
private Integer propInfoId;
@ApiModelProperty(value = "活动海报")
private String propPoster;
@ApiModelProperty(value = "生成时间")
private Date createTime;
}
package com.mmc.pms.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small @Date 2023/5/16 10:03 @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "com.mmc.csf.model.dto.WareVideoDTO", description = "商品视频DTO")
public class WareVideoDTO implements Serializable {
private static final long serialVersionUID = 8707716829904299103L;
@ApiModelProperty(value = "ID")
private Integer id;
@ApiModelProperty(value = "商品信息id")
private Integer wareInfoId;
@ApiModelProperty(value = "视频url")
private String videoUrl;
@ApiModelProperty(value = "0:主视频 1:副视频")
private Integer videoType;
}
package com.mmc.pms.model.qo;
import com.mmc.pms.model.vo.Freeze;
import com.mmc.pms.page.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @Author small @Date 2023/5/16 13:29 @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
// @ApiModel(value = "com.mmc.csf.mall.vo.GoodsInfoQO", description = "商品列表查询QO")
public class GoodsInfoQO {
/*@ApiModelProperty(value = "商品名称")
private String goodsName;
@ApiModelProperty(value = "一级分类id")
private Integer masterTypeId;
@ApiModelProperty(value = "二级分类id")
private Integer slaveTypeId;
@ApiModelProperty(value = "开始时间")
private String startTime;
@ApiModelProperty(value = "结束时间")
private String endTime;
@ApiModelProperty(value = "状态 0:下架(仓库中)1:上架")
private Integer status;*/
@ApiModelProperty(name = "districtId", value = "地域id", example = "1", required = false)
private Integer districtId;
@ApiModelProperty(name = "产品类目id", value = "产品类目id", example = "1", required = false)
private Integer productCategoryId;
@ApiModelProperty(name = "brandId", value = "品牌id", example = "1", required = false)
private Integer brandId;
@ApiModelProperty(name = "partsId", value = "部件id", example = "1", required = false)
private Integer partsId;
@ApiModelProperty(name = "modelId", value = "型号id", example = "1", required = false)
private Integer modelId;
@ApiModelProperty(name = "qualityId", value = "成色id", example = "1", required = false)
private Integer qualityId;
@ApiModelProperty(value = "页码", required = true)
@NotNull(
message = "页码不能为空",
groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true)
@NotNull(
message = "每页显示数不能为空",
groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class)
private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
package com.mmc.pms.model.qo;
import com.mmc.pms.page.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Author small @Date 2023/5/16 9:55 @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
// @ApiModel(value = "com.mmc.csf.model.qo.WareInfoQO", description = "model")
public class WareInfoQO implements Serializable {
private static final long serialVersionUID = -2953141525621912414L;
@ApiModelProperty(name = "id", value = "设备id", example = "1", required = false)
private Integer id;
@ApiModelProperty(name = "districtId", value = "地域id", example = "1", required = false)
private Integer districtId;
@ApiModelProperty(name = "categoryId", value = "类目id", example = "类目id")
private Integer categoryId;
@ApiModelProperty(name = "brandIdl", value = "品牌id", example = "品牌id")
private Integer brandId;
@ApiModelProperty(name = "modelId", value = "型号id", example = "型号id")
private Integer modelId;
/*@ApiModelProperty(value = "关键字")
private String keyword;
@ApiModelProperty(value = "商品状态,出租中或仓库中")
private Integer wareStatus;
@ApiModelProperty(value = "商品类型")
private Integer wareTypeId;
@ApiModelProperty(value = "活动属性")
private Integer propInfoId;*/
@ApiModelProperty(value = "页码", required = true)
@NotNull(message = "页码不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true)
@NotNull(message = "每页显示数不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
package com.mmc.pms.model.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author small @Date 2023/5/16 13:37 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class CategoryParamAndValueVO {
private String param;
private String value;
}
package com.mmc.pms.model.vo;
/**
* @Author small @Date 2023/5/16 13:37 @Version 1.0
*/
public interface Create {}
package com.mmc.pms.model.vo;
/**
* @Author small @Date 2023/5/16 13:49 @Version 1.0
*/
public interface Freeze {}
package com.mmc.pms.model.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Size;
import java.io.Serializable;
/**
* @Author small @Date 2023/5/16 15:12 @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
// @ApiModel(value = "com.mmc.csf.model.vo.GoodsDetailVO", description = "商品详情")
public class GoodsDetailVO implements Serializable {
private static final long serialVersionUID = -3842207843504795301L;
@ApiModelProperty(value = "商品描述 :70字内")
@Size(
max = 250,
message = "商品描述不能超过250个字符",
groups = {Create.class, Update.class})
private String goodsDesc;
@ApiModelProperty(value = "产品介绍")
private String productDesc;
@ApiModelProperty(value = "商品备注:100字以内")
@Size(
max = 100,
message = "商品备注不能超过100个字符",
groups = {Create.class, Update.class})
private String remark;
}
package com.mmc.pms.model.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
/**
* @Author small @Date 2023/5/16 13:35 @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
// @ApiModel(value = "com.mmc.csf.model.vo.GoodsGroupVO", description = "商品分类")
public class GoodsGroupVO implements Serializable {
@ApiModelProperty(value = "id")
@NotNull(
message = "id不能为空",
groups = {Update.class})
private Integer id;
@ApiModelProperty(value = "分类类型id")
@NotNull(
message = "分类类型id不能为空",
groups = {Update.class, Create.class})
private Integer sortTypeId;
@ApiModelProperty(value = "分类名称", required = true)
@Size(
max = 15,
message = "分类名称不能超过15个字",
groups = {Update.class, Create.class})
@NotNull(
message = "分类名称不能为空",
groups = {Update.class, Create.class})
private String groupName;
@ApiModelProperty(value = "pid:一级分类的pid是0 二级分类pid是一级分类id", required = true)
@NotNull(
message = "pid不能为空",
groups = {Create.class, Update.class})
private Integer pid;
@ApiModelProperty(value = "描述")
@Size(
max = 70,
message = "分类描述不能超过70个字",
groups = {Update.class, Create.class})
private String description;
@ApiModelProperty(value = "icon图标")
private String icon;
@ApiModelProperty(value = "小程序底部备注")
@Size(
max = 150,
message = "小程序底部备注不能超过150个字",
groups = {Update.class, Create.class})
private String remark;
}
package com.mmc.pms.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small @Date 2023/5/16 15:10 @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "com.mmc.csf.model.vo.GoodsImgVO", description = "新增/修改参数类")
public class GoodsImgVO implements Serializable {
private static final long serialVersionUID = 7742617679026160607L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "商品图片地址")
private String imgUrl;
@ApiModelProperty(value = "商品图片类型 0:主图 1:副图")
private Integer imgType;
}
package com.mmc.pms.model.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small @Date 2023/5/16 15:23 @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
// @ApiModel(value = "com.mmc.csf.model.vo.GoodsQaVO", description = "新增/修改参数类")
public class GoodsQaVO implements Serializable {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "问题")
private String question;
@ApiModelProperty(value = "回答")
private String answer;
}
package com.mmc.pms.model.vo;
import com.mmc.pms.model.dto.ProductSpecVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @Author small @Date 2023/5/16 15:27 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class GoodsSpecVO implements Serializable {
private static final long serialVersionUID = -8681372139970849591L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "规格名称")
private String goodsSpecName;
@ApiModelProperty(value = "产品类型")
private Integer goodsTypeId;
@ApiModelProperty(value = "产品:自定义时此字段可不用填写")
private Integer skuId;
@ApiModelProperty(value = "规格来源 0:获取 1:自定义")
private Integer flag;
@ApiModelProperty(value = "产品名称(自定义的时候才需要传值)")
private String productName;
@ApiModelProperty(value = "选项来源")
private List<MallProductSpecVO> specIds;
@ApiModelProperty(value = "选择方式")
private Integer chooseType;
@ApiModelProperty(value = "规格单位")
private Integer skuUnitId;
@ApiModelProperty(value = "是否必选")
private Integer must;
@ApiModelProperty(value = "自定义的信息填充")
private List<ProductSpecVO> customizeInfo;
@ApiModelProperty(value = "删除的自定义规格id")
private List<Integer> delProductSpecId;
}
package com.mmc.pms.model.vo;
import com.mmc.pms.model.dto.ProductInventoryVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* @Author small @Date 2023/5/16 15:36 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class IndustrySpecVO implements Serializable {
private static final long serialVersionUID = 5939041792432691119L;
@ApiModelProperty(value = "id")
@NotNull(message = "修改时id不能为空", groups = Update.class)
private Integer id;
@NotNull(
message = "行业sku的id不能为空",
groups = {Update.class, Create.class})
@ApiModelProperty(value = "行业sku的id")
private Integer industrySkuId;
@NotNull(
message = "规格名称不能为空",
groups = {Update.class, Create.class})
@ApiModelProperty(value = "规格名称")
private String specName;
@NotNull(
message = "规格图片不能为空",
groups = {Update.class, Create.class})
@ApiModelProperty(value = "规格图片")
private String specImage;
@NotNull(
message = "产品清单不能为空",
groups = {Update.class, Create.class})
@ApiModelProperty(value = "产品清单")
private List<ProductInventoryVO> productInventoryList;
}
package com.mmc.pms.model.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
/**
* @Author small @Date 2023/5/15 18:03 @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
// @ApiModel(value = "com.mmc.pms.model.vo.LeaseVo", description = "立即租赁")
public class LeaseVo {
private static final long serialVersionUID = -8917940296555539559L;
@ApiModelProperty(value = "设备id")
private Integer id;
@ApiModelProperty(value = "租期天数开始")
private Integer startDay;
@ApiModelProperty(value = "租期天数结束")
private Integer endDay;
@ApiModelProperty(value = "库存使用")
@NotBlank
private Integer inventoryUsage;
@ApiModelProperty(value = "库存id")
private Integer inventoryId;
}
package com.mmc.pms.model.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* @Author small @Date 2023/5/16 15:27 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Accessors
public class MallProductSpecVO implements Serializable {
private static final long serialVersionUID = -2681122778843398310L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "产品或行业规格id")
private Integer mallSpecId;
}
package com.mmc.pms.model.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @Author small @Date 2023/5/16 15:04 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ProductSpecCPQVO implements Serializable {
private static final long serialVersionUID = 6055658459871113781L;
@ApiModelProperty(value = "产品规格id")
private Integer productSpecId;
@ApiModelProperty(value = "规格价格配置VO")
private List<SpecPriceVO> specPrice;
}
package com.mmc.pms.model.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Author small @Date 2023/5/16 15:04 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class SpecPriceVO implements Serializable {
private static final long serialVersionUID = -8976672168410262190L;
private Integer id;
private Integer tagInfoId;
private BigDecimal price;
}
package com.mmc.pms.model.vo;
/**
* @Author small @Date 2023/5/16 13:37 @Version 1.0
*/
public interface Update {}
package com.mmc.pms.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small @Date 2023/5/16 10:01 @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "com.mmc.csf.model.vo.WareImgVO", description = "新增/修改参数类")
public class WareImgVO implements Serializable {
private static final long serialVersionUID = 7742617679026160607L;
@ApiModelProperty(value = "图片id")
private Integer id;
@ApiModelProperty(value = "商品图片地址")
private String imgUrl;
@ApiModelProperty(value = "商品图片类型")
private Integer imgType;
}
package com.mmc.pms.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* @Author small @Date 2023/5/16 17:20 @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "com.mmc.csf.model.vo.WareInfoVO", description = "新增/修改参数类")
public class WareInfoVO implements Serializable {
private static final long serialVersionUID = -4503117649945902464L;
@ApiModelProperty(value = "id")
@NotNull(
message = "更新时ID不能为空",
groups = {Update.class})
private Integer id;
@ApiModelProperty(value = "商品名称")
@NotEmpty(
message = "商品名称不能为空",
groups = {Create.class})
@Size(
max = 60,
message = "商品名称不能超过60个字符",
groups = {Create.class, Update.class})
private String wareTitle;
@ApiModelProperty(value = "商品类型id")
@NotNull(
message = "商品类型ID不能为空",
groups = {Create.class})
private Integer wareTypeId;
@ApiModelProperty(value = "商品活动id")
private Integer propInfoId;
@ApiModelProperty(value = "商品活动海报url")
private String propPoster;
@ApiModelProperty(value = "商品状态")
@NotNull(
message = "商品状态不能为空",
groups = {Create.class})
private Integer wareStatus;
@ApiModelProperty(value = "支付信息(减库方式)")
@NotNull(
message = "支付信息(减库方式)不能为空",
groups = {Create.class})
private Integer payStatus;
@ApiModelProperty(value = "一口押金-最小押金")
@NotNull(
message = "最小押金不能为空",
groups = {Create.class})
@Min(
value = 0,
groups = {Create.class, Update.class})
private BigDecimal minDeposit;
@ApiModelProperty(value = "一口价-最小日租金")
@NotNull(
message = "最小租金不能为空",
groups = {Create.class})
@Min(
value = 0,
groups = {Create.class, Update.class})
private BigDecimal minRent;
@ApiModelProperty(value = "商品标签")
private String tags;
@ApiModelProperty(value = "商品总量")
@Min(
value = 0,
groups = {Create.class})
private Integer totalStock;
@ApiModelProperty(value = "商品详情")
@NotEmpty(
message = "商品详情不能为空",
groups = {Create.class})
private String wareDetailContent;
@ApiModelProperty(value = "sku总数量")
@Min(
value = 0,
groups = {Create.class, Update.class})
private Integer skuNum;
@ApiModelProperty(value = "商品图片")
@NotEmpty(
message = "商品图片不能为空",
groups = {Create.class})
private List<WareImgVO> imgList;
@ApiModelProperty(value = "新加的商品sku")
@NotEmpty(
message = "商品sku不能为空",
groups = {Create.class})
private List<WareSkuInfoVO> wareSkuInfoList;
@ApiModelProperty(value = "更新的商品sku")
private List<WareSkuInfoVO> updateSkuList;
@ApiModelProperty(value = "需要删除的sku的id列表")
private List<Integer> deleteSkuIds;
@ApiModelProperty(value = "需要删除的照片id列表")
private List<Integer> deleteImgIds;
}
package com.mmc.pms.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* @Author small @Date 2023/5/16 17:20 @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "com.mmc.csf.model.vo.WareSkuInfoVO", description = "新增/修改参数类")
public class WareSkuInfoVO implements Serializable {
private static final long serialVersionUID = 7401232386069965527L;
@ApiModelProperty(value = "sku的id")
@NotNull(
message = "sku的id不能为空",
groups = {Update.class})
private Integer id;
@ApiModelProperty(value = "商品skuTitle名称")
@NotEmpty(
message = "商品skuTitle名称不能为空",
groups = {Create.class})
private String skuTitle;
@ApiModelProperty(value = "出租押金")
@NotNull(
message = "出租押金不能为空",
groups = {Create.class})
@Min(
value = 0,
message = "出租押金不能小于0",
groups = {Create.class, Update.class})
@Max(
value = 100000000,
message = "出租押金不能大于100000000",
groups = {Create.class, Update.class})
private BigDecimal rentDeposit;
@ApiModelProperty(value = "sku库存数量")
@NotNull(
message = "sku库存数量不能为空",
groups = {Create.class})
@Min(
value = 0,
message = "sku库存数量不能小于0",
groups = {Create.class, Update.class})
private Integer stockNum;
@ApiModelProperty(value = "sku对应价格列表")
@NotEmpty(
message = "sku对应价格列表不能为空",
groups = {Create.class})
List<WareSkuPriceVO> wareSkuPriceVOList;
}
package com.mmc.pms.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Author small @Date 2023/5/16 17:21 @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "com.mmc.csf.model.vo.WareSkuInfoVO", description = "新增/修改参数类")
public class WareSkuPriceVO implements Serializable {
private static final long serialVersionUID = -3033801564005806565L;
@ApiModelProperty(value = "sku对应的id")
@NotNull(
message = "sku对应的id不能为空",
groups = {Update.class})
private Integer id;
@ApiModelProperty(value = "出租价格")
@NotNull(
message = "出租价格不能为空",
groups = {Create.class})
@Min(
value = 0,
message = "出租价格不能小于0",
groups = {Create.class, Update.class})
@Max(
value = 100000000,
message = "出租价格不能大于100000000",
groups = {Create.class, Update.class})
private BigDecimal rentPrice;
@ApiModelProperty(value = "起租天数")
@NotNull(
message = "起租天数不能为空",
groups = {Create.class})
@Min(
value = 0,
message = "起租天数不能小于0",
groups = {Create.class, Update.class})
private Integer minDay;
@ApiModelProperty(value = "最大天数")
@NotNull(
message = "最大天数不能为空",
groups = {Create.class})
@Min(
value = 0,
message = "最大天数不能小于0",
groups = {Create.class, Update.class})
private Integer maxDay;
}
package com.mmc.pms.page;
/**
* @Author small @Date 2023/5/16 10:09 @Version 1.0
*/
public interface Page {}
package com.mmc.pms.page;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small @Date 2023/5/16 9:58 @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PageResult<T> implements Serializable {
private static final long serialVersionUID = -2848996493573325801L;
private int pageNo; // 分页起始页
private int pageSize; // 每页记录数
private T list; // 返回的记录集合
private long totalCount; // 总记录条数
private long totalPage; // 总页数
public static PageResult buildPage(int pageNo, int pageSize, int totalCount) {
PageResult page = new PageResult();
page.pageNo = pageNo;
page.pageSize = pageSize;
page.totalCount = totalCount;
page.totalPage =
(totalCount % pageSize == 0) ? (totalCount / pageSize) : (totalCount / pageSize + 1);
return page;
}
public static <T> PageResult buildPage(int pageNo, int pageSize, int totalCount, T list) {
PageResult page = PageResult.buildPage(pageNo, pageSize, totalCount);
page.setList(list);
return page;
}
}
package com.mmc.pms.service.Impl;
import com.mmc.pms.model.dto.ProductInventoryVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small @Date 2023/5/16 15:41 @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class IndustryProductInventoryDO implements Serializable {
private static final long serialVersionUID = -3586673158091288317L;
private Integer id;
private Integer industrySpecId;
private Integer productSkuId;
private Integer selected;
private Integer deleted;
private Date createTime;
private Date updateTime;
public IndustryProductInventoryDO(ProductInventoryVO d) {
this.productSkuId = d.getProductSku().getId();
this.selected = d.getSelect();
}
}
package com.mmc.pms.service.Impl;
import com.mmc.pms.common.ResultBody;
import com.mmc.pms.dao.WebDeviceDao;
import com.mmc.pms.entity.*;
import com.mmc.pms.model.dto.*;
import com.mmc.pms.model.qo.WareInfoQO;
import com.mmc.pms.model.vo.LeaseVo;
import com.mmc.pms.page.PageResult;
import com.mmc.pms.service.WebDeviceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Author small @Date 2023/5/15 14:32 @Version 1.0
*/
@Service
public class WebDeviceServiceImpl implements WebDeviceService {
@Autowired WebDeviceDao webDeviceDao;
@Override
public ResultBody listSecondDistrict() {
List<DistrictDO> list = webDeviceDao.listSecondDistrict();
List<DistrictInfoDTO> dtoList =
list.stream()
.map(
d -> {
return d.builderDistrictInfoDTO();
})
.collect(Collectors.toList());
return ResultBody.success(dtoList);
}
@Override
public ResultBody category() {
List<DeviceCategory> category = webDeviceDao.category();
List<DeviceCategoryDTO> collect =
category.stream()
.map(
t -> {
return t.deviceCategory();
})
.collect(Collectors.toList());
return ResultBody.success(collect);
}
@Override
public ResultBody brand() {
List<Brand> brand = webDeviceDao.brand();
List<BrandDTO> collect =
brand.stream()
.map(
t -> {
return t.brandDTO();
})
.collect(Collectors.toList());
return ResultBody.success(collect);
}
@Override
public ResultBody model() {
List<Model> model = webDeviceDao.model();
List<ModelDTO> collect =
model.stream()
.map(
t -> {
return t.modelDTO();
})
.collect(Collectors.toList());
return ResultBody.success(collect);
}
@Override
public ResultBody deviceList(
Integer districtId, Integer categoryId, Integer brandId, Integer modelId) {
List<DeviceListDO> deviceList =
webDeviceDao.deviceList(districtId, categoryId, brandId, modelId);
List<DeviceListDTO> collect =
deviceList.stream()
.map(
t -> {
return t.deviceListDTO();
})
.collect(Collectors.toList());
return ResultBody.success(collect);
}
@Override
public ResultBody update(LeaseVo param) {
InventoryDO inventory = webDeviceDao.findInventory(param.getInventoryId());
Integer residueCount = inventory.getResidueCount();
Integer count = residueCount - param.getInventoryUsage();
param.setInventoryUsage(count);
int update = webDeviceDao.update(param);
return ResultBody.success(update);
}
@Override
public ResultBody detail(Integer id) {
List<WareInfoDO> list = webDeviceDao.detail(id);
List<WareInfoItemDTO> pageList =
list.stream()
.map(
d -> {
return d.buildWareInfoItemDTO();
})
.collect(Collectors.toList());
return ResultBody.success(pageList);
}
@Override
public ResultBody listWareInfoPage(WareInfoQO param) {
int count = webDeviceDao.countListWareInfoPage(param);
if (count == 0) {
return ResultBody.success(
PageResult.buildPage(param.getPageNo(), param.getPageSize(), count));
}
int pageNo = param.getPageNo();
param.buildCurrentPage();
List<WareInfoDO> list = webDeviceDao.listWareInfoPage(param);
List<WareInfoItemDTO> pageList =
list.stream()
.map(
d -> {
return d.buildWareInfoItemDTO();
})
.collect(Collectors.toList());
return ResultBody.success(PageResult.buildPage(pageNo, param.getPageSize(), count, pageList));
}
@Override
public WareInfoDTO getWareInfoById(Integer id) {
WareInfoDO wareInfoDO = webDeviceDao.getWareInfoById(id);
WareDetailDO wareDetailDO = webDeviceDao.getWareDetailById(id);
if (wareInfoDO != null) {
wareInfoDO.setWareDetailContent(wareDetailDO.getContent());
}
return wareInfoDO == null ? null : wareInfoDO.buildWareInfoDTO();
}
}
package com.mmc.pms.service.Impl;
import com.mmc.pms.common.ResultBody;
import com.mmc.pms.dao.WebProductMallDao;
import com.mmc.pms.entity.GoodsInfoDO;
import com.mmc.pms.entity.ProductCategory;
import com.mmc.pms.model.dto.GoodsInfoListDTO;
import com.mmc.pms.model.dto.ProductCategoryDTO;
import com.mmc.pms.model.qo.GoodsInfoQO;
import com.mmc.pms.page.PageResult;
import com.mmc.pms.service.WebProductMallService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Author small @Date 2023/5/15 20:08 @Version 1.0
*/
@Service
public class WebProductMallServiceImpl implements WebProductMallService {
@Autowired private WebProductMallDao webProductMallDao;
@Override
public ResultBody productCategory() {
List<ProductCategory> category = webProductMallDao.productCategory();
List<ProductCategoryDTO> collect =
category.stream()
.map(
t -> {
return t.productCategoryDTO();
})
.collect(Collectors.toList());
return ResultBody.success(collect);
}
@Override
public ResultBody productParts() {
List<ProductCategory> category = webProductMallDao.productParts();
List<ProductCategoryDTO> collect =
category.stream()
.map(
t -> {
return t.productCategoryDTO();
})
.collect(Collectors.toList());
return ResultBody.success(collect);
}
@Override
public ResultBody productQuality() {
List<ProductCategory> category = webProductMallDao.productQuality();
List<ProductCategoryDTO> collect =
category.stream()
.map(
t -> {
return t.productCategoryDTO();
})
.collect(Collectors.toList());
return ResultBody.success(collect);
}
@Override
public PageResult listPageGoodsInfo(GoodsInfoQO param) {
int count = webProductMallDao.countListGoodsInfo(param);
if (count == 0) {
return PageResult.buildPage(param.getPageNo(), param.getPageSize(), count);
}
Integer pageNo = param.getPageNo();
param.buildCurrentPage();
List<GoodsInfoDO> goodsInfo = webProductMallDao.listGoodsInfo(param);
goodsInfo.stream()
.forEach(
t -> {
Integer product = webProductMallDao.findProduct(t.getId());
t.setIsCoupons(product);
});
List<GoodsInfoListDTO> pageList =
goodsInfo.stream().map(GoodsInfoDO::buildGoodsInfoListDTO).collect(Collectors.toList());
return PageResult.buildPage(pageNo, param.getPageSize(), count, pageList);
}
}
package com.mmc.pms.service;
import com.mmc.pms.common.ResultBody;
import com.mmc.pms.model.qo.GoodsInfoQO;
/**
* @Author small @Date 2023/5/16 15:08 @Version 1.0
*/
public interface MiniProgramProductMallService {
ResultBody getAppGoodsInfoDetail(Integer id);
ResultBody listGoodsByQO(GoodsInfoQO param);
}
package com.mmc.pms.service;
import com.mmc.pms.common.ResultBody;
import com.mmc.pms.model.dto.WareInfoDTO;
import com.mmc.pms.model.qo.WareInfoQO;
import com.mmc.pms.model.vo.LeaseVo;
/**
* @Author small @Date 2023/5/15 14:28 @Version 1.0
*/
public interface WebDeviceService {
ResultBody listSecondDistrict();
ResultBody category();
ResultBody brand();
ResultBody model();
ResultBody deviceList(Integer districtId, Integer categoryId, Integer brandId, Integer modelId);
ResultBody update(LeaseVo param);
ResultBody detail(Integer id);
ResultBody listWareInfoPage(WareInfoQO param);
WareInfoDTO getWareInfoById(Integer id);
}
package com.mmc.pms.service;
import com.mmc.pms.common.ResultBody;
import com.mmc.pms.model.qo.GoodsInfoQO;
import com.mmc.pms.page.PageResult;
/**
* @Author small @Date 2023/5/15 20:08 @Version 1.0
*/
public interface WebProductMallService {
ResultBody productCategory();
ResultBody productParts();
ResultBody productQuality();
PageResult listPageGoodsInfo(GoodsInfoQO param);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论