mitao
2024-05-21 58beb0d8265a681b9bf7059aa949c3755cd7fa37
Merge branch 'dev-mitao'
11 文件已重命名
23个文件已修改
1个文件已删除
9个文件已添加
688 ■■■■ 已修改文件
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheConstants.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/DTO/GoodsBrandDTO.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/DTO/GoodsBrandQuery.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/DTO/GoodsInfoTitleDTO.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/DTO/GoodsInfoTitleQuery.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/DTO/GoodsInfoTitleValueDTO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/DTO/GoodsSkuDTO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/DTO/GoodsSkuQuery.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/MgtGoodsBrandController.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/MgtGoodsCategoryController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/MgtGoodsFlavorTypeController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/MgtGoodsGroupPurchaseController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/MgtGoodsInfoTitleController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/MgtGoodsSeckillController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/MgtGoodsSeriesController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/MgtGoodsSkuController.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/VO/GoodsBrandVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/VO/GoodsCategoryVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/VO/GoodsFlavorTypeVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/VO/GoodsInfoTitleVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/VO/GoodsSeriesVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/VO/GoodsSkuVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsBrandService.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsCategoryService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsFlavorTypeService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsInfoTitleService.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSeriesService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSkuService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsBrandServiceImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsCategoryServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsFlavorTypeServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsInfoTitleServiceImpl.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeriesServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/Region.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/RegionVo.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/RegionMapper.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IRegionService.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/RegionServiceImpl.java 171 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/RegionMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/OrderAuction.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/OrderMall.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/AddCompanyUserDto.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheConstants.java
@@ -61,4 +61,13 @@
     * 修改密码验证码 redis key
     */
    public static final String CHANGE_PASSWORD_CAPTCHA_CODE_KEY = "change_password_captcha_codes:";
    /**
     * 省市区列表key
     */
    public static final String REGION_LIST = "region_list";
    /**
     * 省市区列表key
     */
    public static final String CITY_LIST = "city_list";
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/DTO/GoodsBrandDTO.java
New file
@@ -0,0 +1,27 @@
package com.ruoyi.goods.controller.mamagement.DTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotBlank;
import lombok.Data;
/**
 * @author mitao
 * @date 2024/5/20
 */
@Data
@ApiModel(value = "商品品牌数据传输对象", description = "商品品牌数据传输对象")
public class GoodsBrandDTO implements Serializable {
    private static final long serialVersionUID = -286811516688205647L;
    @ApiModelProperty(value = "商品品牌标题id", notes = "更新必传,新增不传")
    private Long id;
    @ApiModelProperty(value = "品牌名称")
    @NotBlank(message = "品牌名称不能为空")
    private String brandName;
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/DTO/GoodsBrandQuery.java
New file
@@ -0,0 +1,23 @@
package com.ruoyi.goods.controller.mamagement.DTO;
import com.ruoyi.common.core.web.page.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * @author mitao
 * @date 2024/5/20
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "商品品牌查询对象", description = "商品品牌查询对象")
public class GoodsBrandQuery extends BasePage {
    private static final long serialVersionUID = -9081467149921424812L;
    @ApiModelProperty(value = "品牌名称")
    private String brandName;
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/DTO/GoodsInfoTitleDTO.java
File was renamed from ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/GoodsInfoTitleDTO.java
@@ -1,9 +1,9 @@
package com.ruoyi.goods.domain.dto;
package com.ruoyi.goods.controller.mamagement.DTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import lombok.Data;
/**
@@ -12,10 +12,11 @@
 */
@Data
@ApiModel(value = "商品信息标题数据传输对象", description = "商品信息标题数据传输对象")
public class GoodsInfoTitleDTO {
public class GoodsInfoTitleDTO implements Serializable {
    @ApiModelProperty(value = "商品信息标题id")
    @NotNull(message = "商品信息标题id不能为空")
    private static final long serialVersionUID = 6084831651904070948L;
    @ApiModelProperty(value = "商品信息标题id", notes = "更新必传,新增不传")
    private Long id;
    @ApiModelProperty(value = "标题名称")
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/DTO/GoodsInfoTitleQuery.java
File was renamed from ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/query/GoodsInfoTitleQuery.java
@@ -1,4 +1,4 @@
package com.ruoyi.goods.domain.query;
package com.ruoyi.goods.controller.mamagement.DTO;
import com.ruoyi.common.core.web.page.BasePage;
import io.swagger.annotations.ApiModel;
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/DTO/GoodsInfoTitleValueDTO.java
File was renamed from ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/GoodsInfoTitleValueDTO.java
@@ -1,4 +1,4 @@
package com.ruoyi.goods.domain.dto;
package com.ruoyi.goods.controller.mamagement.DTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/DTO/GoodsSkuDTO.java
File was renamed from ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/GoodsSkuDTO.java
@@ -1,4 +1,4 @@
package com.ruoyi.goods.domain.dto;
package com.ruoyi.goods.controller.mamagement.DTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/DTO/GoodsSkuQuery.java
File was renamed from ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/query/GoodsSkuQuery.java
@@ -1,4 +1,4 @@
package com.ruoyi.goods.domain.query;
package com.ruoyi.goods.controller.mamagement.DTO;
import com.ruoyi.common.core.enums.ListingStatusEnum;
import com.ruoyi.common.core.web.page.BasePage;
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/MgtGoodsBrandController.java
@@ -1,7 +1,21 @@
package com.ruoyi.goods.controller.mamagement;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.goods.controller.mamagement.DTO.GoodsBrandDTO;
import com.ruoyi.goods.controller.mamagement.DTO.GoodsBrandQuery;
import com.ruoyi.goods.controller.mamagement.VO.GoodsBrandVO;
import com.ruoyi.goods.service.IGoodsBrandService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -13,9 +27,54 @@
 * @author mitao
 * @since 2024-05-16
 */
@Slf4j
@RestController
@RequestMapping("/mgt/goods-brand")
@RequiredArgsConstructor
@Api(value = "管理后台商品品牌相关接口", tags = {"管理后台接口"})
public class MgtGoodsBrandController {
    private final IGoodsBrandService goodsBrandService;
    /**
     * 获取商品品牌列表的分页数据
     *
     * @param query 商品信息查询对象,用于指定分页查询的条件
     * @return 返回一个包含商品品牌分页数据的结果对象,其中包含了分页信息和商品品牌列表
     */
    @ApiOperation(value = "获取商品品牌列表的分页数据", notes = "获取商品品牌列表的分页数据")
    @PostMapping("/page")
    public R<PageDTO<GoodsBrandVO>> getGoodsBrandPage(
            @Validated @RequestBody GoodsBrandQuery query) {
        return R.ok(goodsBrandService.getGoodsBrandPage(query));
    }
    /**
     * 添加/编辑商品品牌
     *
     * @param dto 商品品牌数据传输对象,包含商品品牌的详细信息,通过验证后将数据持久化。
     * @return 返回操作结果,如果操作成功,返回一个成功的标识。
     */
    @ApiOperation(value = "添加/编辑 商品品牌", notes = "添加/编辑 商品品牌")
    @PostMapping("/save")
    public R<Void> saveGoodsBrand(@Validated @RequestBody GoodsBrandDTO dto) {
        // 调用服务层方法,保存商品品牌信息
        goodsBrandService.saveGoodsBrand(dto);
        return R.ok();
    }
    /**
     * 删除商品品牌
     *
     * @param id 商品品牌的ID,用于指定要删除的品牌
     * @return 返回操作结果,如果删除成功,则返回成功状态
     */
    @ApiOperation(value = "删除商品品牌", notes = "删除商品品牌")
    @DeleteMapping("/{id}")
    public R<Void> deleteGoodsBrand(@PathVariable("id") Long id) {
        // 通过ID删除商品品牌
        goodsBrandService.removeById(id);
        return R.ok();
    }
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/MgtGoodsCategoryController.java
@@ -1,6 +1,9 @@
package com.ruoyi.goods.controller.mamagement;
import io.swagger.annotations.Api;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -12,6 +15,9 @@
 * @author mitao
 * @since 2024-05-16
 */
@Slf4j
@RequiredArgsConstructor
@Api(value = "管理后台商品分类相关接口", tags = {"管理后台接口"})
@RestController
@RequestMapping("/mgt/goods-category")
public class MgtGoodsCategoryController {
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/MgtGoodsFlavorTypeController.java
@@ -1,6 +1,9 @@
package com.ruoyi.goods.controller.mamagement;
import io.swagger.annotations.Api;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -12,8 +15,11 @@
 * @author mitao
 * @since 2024-05-16
 */
@Slf4j
@RestController
@RequiredArgsConstructor
@RequestMapping("/mgt/goods-flavor-type")
@Api(value = "管理后台商品香型相关接口", tags = {"管理后台接口"})
public class MgtGoodsFlavorTypeController {
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/MgtGoodsGroupPurchaseController.java
@@ -1,6 +1,9 @@
package com.ruoyi.goods.controller.mamagement;
import io.swagger.annotations.Api;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -12,8 +15,11 @@
 * @author mitao
 * @since 2024-05-16
 */
@Slf4j
@RestController
@RequiredArgsConstructor
@RequestMapping("/mgt/goods-group-purchase")
@Api(value = "管理后台商品团购相关接口", tags = {"管理后台接口"})
public class MgtGoodsGroupPurchaseController {
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/MgtGoodsInfoTitleController.java
@@ -3,9 +3,9 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.goods.domain.dto.GoodsInfoTitleDTO;
import com.ruoyi.goods.domain.query.GoodsInfoTitleQuery;
import com.ruoyi.goods.domain.vo.GoodsInfoTitleVO;
import com.ruoyi.goods.controller.mamagement.DTO.GoodsInfoTitleDTO;
import com.ruoyi.goods.controller.mamagement.DTO.GoodsInfoTitleQuery;
import com.ruoyi.goods.controller.mamagement.VO.GoodsInfoTitleVO;
import com.ruoyi.goods.service.IGoodsInfoTitleService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -71,7 +71,7 @@
    @ApiOperation("删除商品信息标题")
    @DeleteMapping("/{id}")
    public R<Void> deleteGoodsInfoTitle(@PathVariable("id") Long id) {
        goodsInfoTitleService.deleteGoodsInfoTitle(id);
        goodsInfoTitleService.removeById(id);
        return R.ok();
    }
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/MgtGoodsSeckillController.java
@@ -1,6 +1,9 @@
package com.ruoyi.goods.controller.mamagement;
import io.swagger.annotations.Api;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -12,8 +15,11 @@
 * @author mitao
 * @since 2024-05-16
 */
@Slf4j
@RestController
@RequiredArgsConstructor
@RequestMapping("/mgt/goods-seckill")
@Api(value = "管理后台商品秒杀相关接口", tags = {"管理后台接口"})
public class MgtGoodsSeckillController {
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/MgtGoodsSeriesController.java
@@ -1,6 +1,9 @@
package com.ruoyi.goods.controller.mamagement;
import io.swagger.annotations.Api;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -12,8 +15,11 @@
 * @author mitao
 * @since 2024-05-16
 */
@Slf4j
@RestController
@RequiredArgsConstructor
@RequestMapping("/mgt/goods-series")
@Api(value = "管理后台商品秒杀相关接口", tags = {"管理后台接口"})
public class MgtGoodsSeriesController {
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/MgtGoodsSkuController.java
@@ -4,20 +4,19 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.goods.domain.dto.GoodsSkuDTO;
import com.ruoyi.goods.domain.query.GoodsInfoTitleQuery;
import com.ruoyi.goods.domain.query.GoodsSkuQuery;
import com.ruoyi.goods.domain.vo.GoodsBrandVO;
import com.ruoyi.goods.domain.vo.GoodsCategoryVO;
import com.ruoyi.goods.domain.vo.GoodsFlavorTypeVO;
import com.ruoyi.goods.domain.vo.GoodsInfoTitleVO;
import com.ruoyi.goods.domain.vo.GoodsSeriesVO;
import com.ruoyi.goods.domain.vo.GoodsSkuVO;
import com.ruoyi.goods.controller.mamagement.DTO.GoodsInfoTitleQuery;
import com.ruoyi.goods.controller.mamagement.DTO.GoodsSkuDTO;
import com.ruoyi.goods.controller.mamagement.DTO.GoodsSkuQuery;
import com.ruoyi.goods.controller.mamagement.VO.GoodsBrandVO;
import com.ruoyi.goods.controller.mamagement.VO.GoodsCategoryVO;
import com.ruoyi.goods.controller.mamagement.VO.GoodsFlavorTypeVO;
import com.ruoyi.goods.controller.mamagement.VO.GoodsInfoTitleVO;
import com.ruoyi.goods.controller.mamagement.VO.GoodsSeriesVO;
import com.ruoyi.goods.controller.mamagement.VO.GoodsSkuVO;
import com.ruoyi.goods.service.IGoodsBrandService;
import com.ruoyi.goods.service.IGoodsCategoryService;
import com.ruoyi.goods.service.IGoodsFlavorTypeService;
import com.ruoyi.goods.service.IGoodsInfoTitleService;
import com.ruoyi.goods.service.IGoodsInfoTitleValueService;
import com.ruoyi.goods.service.IGoodsSeriesService;
import com.ruoyi.goods.service.IGoodsSkuService;
import com.ruoyi.system.api.domain.dto.ListStatusDTO;
@@ -55,7 +54,6 @@
    private final IGoodsCategoryService goodsCategoryService;
    private final IGoodsInfoTitleService goodsInfoTitleService;
    private final IGoodsFlavorTypeService goodsFlavorTypeService;
    private final IGoodsInfoTitleValueService goodsInfoTitleValueService;
    /**
     * 获取商品分类列表的接口 该接口不需要接收任何参数,调用后返回商品分类的列表信息。
@@ -152,7 +150,7 @@
    }
    /**
     * 更新商品状态,实现商品的下架或上架。
     * 更新商品状态,实现商品下架或上架。
     *
     * @param dto 包含需要更新状态的商品信息的数据传输对象,类型为 ListStatusDTO。
     * @return 返回一个表示操作结果的 R<Void> 对象,如果操作成功,则 R<Void>.ok() 方法返回一个成功标记。
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/VO/GoodsBrandVO.java
File was renamed from ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/GoodsBrandVO.java
@@ -1,4 +1,4 @@
package com.ruoyi.goods.domain.vo;
package com.ruoyi.goods.controller.mamagement.VO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/VO/GoodsCategoryVO.java
File was renamed from ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/GoodsCategoryVO.java
@@ -1,4 +1,4 @@
package com.ruoyi.goods.domain.vo;
package com.ruoyi.goods.controller.mamagement.VO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/VO/GoodsFlavorTypeVO.java
File was renamed from ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/GoodsFlavorTypeVO.java
@@ -1,4 +1,4 @@
package com.ruoyi.goods.domain.vo;
package com.ruoyi.goods.controller.mamagement.VO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/VO/GoodsInfoTitleVO.java
File was renamed from ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/GoodsInfoTitleVO.java
@@ -1,4 +1,4 @@
package com.ruoyi.goods.domain.vo;
package com.ruoyi.goods.controller.mamagement.VO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/VO/GoodsSeriesVO.java
File was renamed from ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/GoodsSeriesVO.java
@@ -1,4 +1,4 @@
package com.ruoyi.goods.domain.vo;
package com.ruoyi.goods.controller.mamagement.VO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/mamagement/VO/GoodsSkuVO.java
File was renamed from ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/GoodsSkuVO.java
@@ -1,7 +1,7 @@
package com.ruoyi.goods.domain.vo;
package com.ruoyi.goods.controller.mamagement.VO;
import com.ruoyi.common.core.enums.ListingStatusEnum;
import com.ruoyi.goods.domain.dto.GoodsInfoTitleValueDTO;
import com.ruoyi.goods.controller.mamagement.DTO.GoodsInfoTitleValueDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsBrandService.java
@@ -1,8 +1,11 @@
package com.ruoyi.goods.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.goods.controller.mamagement.DTO.GoodsBrandDTO;
import com.ruoyi.goods.controller.mamagement.DTO.GoodsBrandQuery;
import com.ruoyi.goods.controller.mamagement.VO.GoodsBrandVO;
import com.ruoyi.goods.domain.pojo.GoodsBrand;
import com.ruoyi.goods.domain.vo.GoodsBrandVO;
import java.util.List;
/**
@@ -15,5 +18,28 @@
 */
public interface IGoodsBrandService extends IService<GoodsBrand> {
    /**
     * 获取商品品牌列表。
     * <p>此方法通过调用{@code list()}方法获取原始列表,并使用BeanUtils的{@code copyList}方法将其复制为{@code
     * GoodsBrandVO}类型的列表后返回。</p>
     *
     * @return 返回一个{@code GoodsBrandVO}类型的列表,包含商品品牌信息。
     */
    List<GoodsBrandVO> getGoodsBrandList();
    /**
     * 获取商品品牌的分页信息
     *
     * @param query 包含查询条件和分页信息的查询对象
     * @return 返回商品品牌分页DTO,包含分页信息和品牌列表
     */
    PageDTO<GoodsBrandVO> getGoodsBrandPage(GoodsBrandQuery query);
    /**
     * 保存或更新商品品牌信息。
     *
     * @param dto 商品品牌数据传输对象,包含商品品牌的信息。 如果dto中的id为空,则认为是新品牌,调用save方法保存;
     *            如果id不为空,则认为是更新已有品牌,调用updateById方法更新。
     */
    void saveGoodsBrand(GoodsBrandDTO dto);
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsCategoryService.java
@@ -1,8 +1,8 @@
package com.ruoyi.goods.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.goods.controller.mamagement.VO.GoodsCategoryVO;
import com.ruoyi.goods.domain.pojo.GoodsCategory;
import com.ruoyi.goods.domain.vo.GoodsCategoryVO;
import java.util.List;
/**
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsFlavorTypeService.java
@@ -1,8 +1,8 @@
package com.ruoyi.goods.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.goods.controller.mamagement.VO.GoodsFlavorTypeVO;
import com.ruoyi.goods.domain.pojo.GoodsFlavorType;
import com.ruoyi.goods.domain.vo.GoodsFlavorTypeVO;
import java.util.List;
/**
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsInfoTitleService.java
@@ -2,10 +2,10 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.goods.domain.dto.GoodsInfoTitleDTO;
import com.ruoyi.goods.controller.mamagement.DTO.GoodsInfoTitleDTO;
import com.ruoyi.goods.controller.mamagement.DTO.GoodsInfoTitleQuery;
import com.ruoyi.goods.controller.mamagement.VO.GoodsInfoTitleVO;
import com.ruoyi.goods.domain.pojo.GoodsInfoTitle;
import com.ruoyi.goods.domain.query.GoodsInfoTitleQuery;
import com.ruoyi.goods.domain.vo.GoodsInfoTitleVO;
/**
 * <p>
@@ -29,15 +29,7 @@
     * 保存或更新商品信息标题。
     *
     * @param dto 商品信息标题数据传输对象,包含商品标题的信息。 如果dto中的id为空,则认为是新纪录,执行保存操作; 如果id不为空,则认为是更新现有纪录。
     * @return 无返回值。
     */
    void saveGoodsInfoTitle(GoodsInfoTitleDTO dto);
    /**
     * 删除商品信息标题
     *
     * @param id 商品信息的唯一标识符
     * @return 无返回值
     */
    void deleteGoodsInfoTitle(Long id);
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSeriesService.java
@@ -1,8 +1,8 @@
package com.ruoyi.goods.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.goods.controller.mamagement.VO.GoodsSeriesVO;
import com.ruoyi.goods.domain.pojo.GoodsSeries;
import com.ruoyi.goods.domain.vo.GoodsSeriesVO;
import java.util.List;
/**
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSkuService.java
@@ -3,10 +3,10 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.goods.domain.dto.GoodsSkuDTO;
import com.ruoyi.goods.controller.mamagement.DTO.GoodsSkuDTO;
import com.ruoyi.goods.controller.mamagement.DTO.GoodsSkuQuery;
import com.ruoyi.goods.controller.mamagement.VO.GoodsSkuVO;
import com.ruoyi.goods.domain.pojo.GoodsSku;
import com.ruoyi.goods.domain.query.GoodsSkuQuery;
import com.ruoyi.goods.domain.vo.GoodsSkuVO;
import com.ruoyi.system.api.domain.dto.ListStatusDTO;
/**
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsBrandServiceImpl.java
@@ -1,9 +1,14 @@
package com.ruoyi.goods.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.page.BeanUtils;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.goods.controller.mamagement.DTO.GoodsBrandDTO;
import com.ruoyi.goods.controller.mamagement.DTO.GoodsBrandQuery;
import com.ruoyi.goods.controller.mamagement.VO.GoodsBrandVO;
import com.ruoyi.goods.domain.pojo.GoodsBrand;
import com.ruoyi.goods.domain.vo.GoodsBrandVO;
import com.ruoyi.goods.mapper.GoodsBrandMapper;
import com.ruoyi.goods.service.IGoodsBrandService;
import java.util.List;
@@ -33,4 +38,41 @@
        return BeanUtils.copyList(this.list(), GoodsBrandVO.class);
    }
    /**
     * 获取商品品牌的分页信息
     *
     * @param query 包含查询条件和分页信息的查询对象
     * @return 返回商品品牌分页DTO,包含分页信息和品牌列表
     */
    @Override
    public PageDTO<GoodsBrandVO> getGoodsBrandPage(GoodsBrandQuery query) {
        // 根据查询条件进行品牌查询,并分页
        Page<GoodsBrand> page = this.lambdaQuery()
                .like(StringUtils.isNotEmpty(query.getBrandName()), GoodsBrand::getBrandName,
                        query.getBrandName())
                .page(new Page<GoodsBrand>(query.getPageCurr(), query.getPageSize()));
        // 将查询结果转换为VO类的分页DTO
        return PageDTO.of(page, GoodsBrandVO.class);
    }
    /**
     * 保存或更新商品品牌信息。
     *
     * @param dto 商品品牌数据传输对象,包含商品品牌的信息。 如果dto中的id为空,则认为是新品牌,调用save方法保存;
     *            如果id不为空,则认为是更新已有品牌,调用updateById方法更新。
     * @return 无返回值
     */
    @Override
    public void saveGoodsBrand(GoodsBrandDTO dto) {
        // 将DTO对象复制到实体对象中
        GoodsBrand goodsBrand = BeanUtils.copyBean(dto, GoodsBrand.class);
        // 判断DTO中的ID是否为空,决定是保存还是更新操作
        if (StringUtils.isNull(dto.getId())) {
            this.save(goodsBrand);  // 保存新品牌
        } else {
            this.updateById(goodsBrand);  // 更新已有品牌
        }
    }
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsCategoryServiceImpl.java
@@ -2,8 +2,8 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.utils.page.BeanUtils;
import com.ruoyi.goods.controller.mamagement.VO.GoodsCategoryVO;
import com.ruoyi.goods.domain.pojo.GoodsCategory;
import com.ruoyi.goods.domain.vo.GoodsCategoryVO;
import com.ruoyi.goods.mapper.GoodsCategoryMapper;
import com.ruoyi.goods.service.IGoodsCategoryService;
import java.util.List;
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsFlavorTypeServiceImpl.java
@@ -2,8 +2,8 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.utils.page.BeanUtils;
import com.ruoyi.goods.controller.mamagement.VO.GoodsFlavorTypeVO;
import com.ruoyi.goods.domain.pojo.GoodsFlavorType;
import com.ruoyi.goods.domain.vo.GoodsFlavorTypeVO;
import com.ruoyi.goods.mapper.GoodsFlavorTypeMapper;
import com.ruoyi.goods.service.IGoodsFlavorTypeService;
import java.util.List;
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsInfoTitleServiceImpl.java
@@ -5,10 +5,10 @@
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.page.BeanUtils;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.goods.domain.dto.GoodsInfoTitleDTO;
import com.ruoyi.goods.controller.mamagement.DTO.GoodsInfoTitleDTO;
import com.ruoyi.goods.controller.mamagement.DTO.GoodsInfoTitleQuery;
import com.ruoyi.goods.controller.mamagement.VO.GoodsInfoTitleVO;
import com.ruoyi.goods.domain.pojo.GoodsInfoTitle;
import com.ruoyi.goods.domain.query.GoodsInfoTitleQuery;
import com.ruoyi.goods.domain.vo.GoodsInfoTitleVO;
import com.ruoyi.goods.mapper.GoodsInfoTitleMapper;
import com.ruoyi.goods.service.IGoodsInfoTitleService;
import org.springframework.stereotype.Service;
@@ -36,7 +36,7 @@
        Page<GoodsInfoTitle> page = this.lambdaQuery()
                .like(StringUtils.isNotEmpty(query.getTitleName()), GoodsInfoTitle::getTitleName,
                        query.getTitleName())
                .page(new Page<GoodsInfoTitle>(query.getPageCurr(), query.getPageSize()));
                .page(new Page<>(query.getPageCurr(), query.getPageSize()));
        // 将查询结果转换为VO对象的分页DTO返回
        return PageDTO.of(page, GoodsInfoTitleVO.class);
    }
@@ -45,7 +45,6 @@
     * 保存或更新商品信息标题。
     *
     * @param dto 商品信息标题数据传输对象,包含商品标题的信息。 如果dto中的id为空,则认为是新纪录,执行保存操作; 如果id不为空,则认为是更新现有纪录。
     * @return 无返回值。
     */
    @Override
    public void saveGoodsInfoTitle(GoodsInfoTitleDTO dto) {
@@ -57,16 +56,5 @@
        } else {
            this.updateById(goodsInfoTitle); // 更新现有纪录
        }
    }
    /**
     * 删除商品信息标题
     *
     * @param id 商品信息的唯一标识符
     * @return 无返回值
     */
    @Override
    public void deleteGoodsInfoTitle(Long id) {
        this.removeById(id);
    }
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeriesServiceImpl.java
@@ -2,8 +2,8 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.utils.page.BeanUtils;
import com.ruoyi.goods.controller.mamagement.VO.GoodsSeriesVO;
import com.ruoyi.goods.domain.pojo.GoodsSeries;
import com.ruoyi.goods.domain.vo.GoodsSeriesVO;
import com.ruoyi.goods.mapper.GoodsSeriesMapper;
import com.ruoyi.goods.service.IGoodsSeriesService;
import java.util.List;
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java
@@ -10,12 +10,12 @@
import com.ruoyi.common.core.utils.page.Checker;
import com.ruoyi.common.core.utils.page.CollUtils;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.goods.domain.dto.GoodsInfoTitleValueDTO;
import com.ruoyi.goods.domain.dto.GoodsSkuDTO;
import com.ruoyi.goods.controller.mamagement.DTO.GoodsInfoTitleValueDTO;
import com.ruoyi.goods.controller.mamagement.DTO.GoodsSkuDTO;
import com.ruoyi.goods.controller.mamagement.DTO.GoodsSkuQuery;
import com.ruoyi.goods.controller.mamagement.VO.GoodsSkuVO;
import com.ruoyi.goods.domain.pojo.GoodsInfoTitleValue;
import com.ruoyi.goods.domain.pojo.GoodsSku;
import com.ruoyi.goods.domain.query.GoodsSkuQuery;
import com.ruoyi.goods.domain.vo.GoodsSkuVO;
import com.ruoyi.goods.mapper.GoodsSkuMapper;
import com.ruoyi.goods.service.IGoodsInfoTitleValueService;
import com.ruoyi.goods.service.IGoodsSkuService;
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/Region.java
New file
@@ -0,0 +1,54 @@
package com.ruoyi.member.domain.pojo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * <p>
 * 省市区三级联动
 * </p>
 *
 * @author mitao
 * @since 2024-05-21
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_region")
@ApiModel(value = "Region对象", description = "省市区三级联动")
public class Region implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "主键ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty(value = "城市名称")
    @TableField("name")
    private String name;
    @TableField("code")
    private String code;
    @TableField("citycode")
    private String citycode;
    @ApiModelProperty(value = "父级ID")
    @TableField("parent_id")
    private Integer parentId;
    @ApiModelProperty(value = "英文名称")
    @TableField("english")
    private String english;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/RegionVo.java
New file
@@ -0,0 +1,27 @@
package com.ruoyi.member.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
import lombok.Data;
@Data
public class RegionVo {
    @ApiModelProperty(value = "区域代码")
    private String value;
    @ApiModelProperty(value = "区域名称")
    private String label;
    @ApiModelProperty(value = "子级列表")
    private List<RegionVo> children;
    @ApiModelProperty(value = "id")
    private Long id;
    @ApiModelProperty(value = "父级id")
    private Long parentId;
    @ApiModelProperty(value = "层级")
    private Integer level;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/RegionMapper.java
New file
@@ -0,0 +1,19 @@
package com.ruoyi.member.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.member.domain.pojo.Region;
import com.ruoyi.member.domain.vo.RegionVo;
import java.util.List;
/**
 * <p>
 * 省市区三级联动 Mapper 接口
 * </p>
 *
 * @author mitao
 * @since 2024-05-21
 */
public interface RegionMapper extends BaseMapper<Region> {
    List<RegionVo> listRegionVo();
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/IRegionService.java
New file
@@ -0,0 +1,21 @@
package com.ruoyi.member.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.member.domain.pojo.Region;
import com.ruoyi.member.domain.vo.RegionVo;
import java.util.List;
/**
 * <p>
 * 省市区三级联动 服务类
 * </p>
 *
 * @author mitao
 * @since 2024-05-21
 */
public interface IRegionService extends IService<Region> {
    List<RegionVo> listRegionVo();
    List<RegionVo> listCityVo();
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/RegionServiceImpl.java
New file
@@ -0,0 +1,171 @@
package com.ruoyi.member.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.constant.CacheConstants;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.member.domain.pojo.Region;
import com.ruoyi.member.domain.vo.RegionVo;
import com.ruoyi.member.mapper.RegionMapper;
import com.ruoyi.member.service.IRegionService;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 省市区三级联动 服务实现类
 * </p>
 *
 * @author mitao
 * @since 2024-05-21
 */
@Service
public class RegionServiceImpl extends ServiceImpl<RegionMapper, Region> implements IRegionService {
    @Resource
    private RegionMapper regionMapper;
    @Resource
    private RedisService redisService;
    /**
     * 列出所有城市信息的视图对象。
     * <p>
     * 该方法首先尝试从Redis缓存中获取城市列表,如果缓存存在则直接返回缓存数据。 如果缓存不存在,则从数据库中查询城市信息,进行处理并构建地区层级关系后,
     * 将结果存储到Redis缓存中,并返回处理后的数据。
     *
     * @return 返回包含城市信息的视图对象列表,这些视图对象已经按照地区级别组织好。
     */
    @Override
    public List<RegionVo> listCityVo() {
        if (redisService.hasKey(CacheConstants.CITY_LIST)) {
            // 如果存在,则直接从缓存中获取并返回
            List<RegionVo> result = redisService.getCacheList(CacheConstants.CITY_LIST);
            return result;
        } else {
            // 如果不存在,则从数据库中查询并进行处理
            List<RegionVo> regionVoList = regionMapper.listRegionVo();
            List<RegionVo> regionVoList1 = new ArrayList<>();
            List<RegionVo> regionVoList2 = new ArrayList<>();
            List<RegionVo> regionVoList3 = new ArrayList<>();
            // 将地区按照级别分别存放到不同的列表中
            for (RegionVo regionVo : regionVoList) {
                if (regionVo.getLevel() == 1) {
                    regionVoList1.add(regionVo);
                }
                if (regionVo.getLevel() == 2) {
                    regionVoList2.add(regionVo);
                }
                if (regionVo.getLevel() == 3) {
                    regionVoList3.add(regionVo);
                }
            }
            RegionVo children;
            Iterator<RegionVo> regionVoIterator2;
            for (RegionVo regionVo : regionVoList2) {
                if (null == regionVo.getChildren()) {
                    regionVo.setChildren(new ArrayList<>());
                }
                regionVoIterator2 = regionVoList3.iterator();
                while (regionVoIterator2.hasNext()) {
                    children = regionVoIterator2.next();
                    if (regionVo.getId().equals(children.getParentId())) {
                        regionVo.getChildren().add(children);
                        regionVoIterator2.remove();
                    }
                }
            }
            // 将第二级地区挂到第一级地区下面
            for (RegionVo regionVo : regionVoList1) {
                if (null == regionVo.getChildren()) {
                    regionVo.setChildren(new ArrayList<>());
                }
                regionVoIterator2 = regionVoList2.iterator();
                while (regionVoIterator2.hasNext()) {
                    children = regionVoIterator2.next();
                    if (regionVo.getId().equals(children.getParentId())) {
                        regionVo.getChildren().add(children);
                        regionVoIterator2.remove();
                    }
                }
            }
            // 将处理后的地区列表存入缓存中
            redisService.setCacheList(CacheConstants.CITY_LIST, regionVoList1);
            // 返回处理后的地区列表
            return regionVoList1;
        }
    }
    /**
     * 列出所有地区信息的视图对象。
     * <p>
     * 该方法首先尝试从缓存中获取地区信息列表。如果缓存中不存在,则从数据库中查询地区信息, 并按照级别将地区分类,构建地区层级关系,并将处理后的地区列表存入缓存。
     *
     * @return 返回包含所有地区信息的视图对象列表,列表中的地区已按照级别分类并建立父子关系。
     */
    @Override
    public List<RegionVo> listRegionVo() {
        if (redisService.hasKey(CacheConstants.REGION_LIST)) {
            // 如果存在,则直接从缓存中获取并返回
            List<RegionVo> result = redisService.getCacheList(CacheConstants.REGION_LIST);
            return result;
        } else {
            // 如果不存在,则从数据库中查询并进行处理
            List<RegionVo> regionVoList = regionMapper.listRegionVo();
            List<RegionVo> regionVoList1 = new ArrayList<>();
            List<RegionVo> regionVoList2 = new ArrayList<>();
            List<RegionVo> regionVoList3 = new ArrayList<>();
            // 将地区按照级别分别存放到不同的列表中
            for (RegionVo regionVo : regionVoList) {
                if (regionVo.getLevel() == 1) {
                    regionVoList1.add(regionVo);
                }
                if (regionVo.getLevel() == 2) {
                    regionVoList2.add(regionVo);
                }
                if (regionVo.getLevel() == 3) {
                    regionVoList3.add(regionVo);
                }
            }
            Iterator<RegionVo> regionVoIterator3;
            RegionVo children;
            // 将第三级地区挂到第二级地区下面
            for (RegionVo regionVo : regionVoList2) {
                if (null == regionVo.getChildren()) {
                    regionVo.setChildren(new ArrayList<>());
                }
                regionVoIterator3 = regionVoList3.iterator();
                while (regionVoIterator3.hasNext()) {
                    children = regionVoIterator3.next();
                    if (regionVo.getId().equals(children.getParentId())) {
                        regionVo.getChildren().add(children);
                        regionVoIterator3.remove();
                    }
                }
            }
            Iterator<RegionVo> regionVoIterator2;
            // 将第二级地区挂到第一级地区下面
            for (RegionVo regionVo : regionVoList1) {
                if (null == regionVo.getChildren()) {
                    regionVo.setChildren(new ArrayList<>());
                }
                regionVoIterator2 = regionVoList2.iterator();
                while (regionVoIterator2.hasNext()) {
                    children = regionVoIterator2.next();
                    if (regionVo.getId().equals(children.getParentId())) {
                        regionVo.getChildren().add(children);
                        regionVoIterator2.remove();
                    }
                }
            }
            // 将处理后的地区列表存入缓存中
            redisService.setCacheList(CacheConstants.REGION_LIST, regionVoList1);
            // 返回处理后的地区列表
            return regionVoList1;
        }
    }
}
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.member.mapper.MemberMapper">
</mapper>
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/RegionMapper.xml
New file
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.member.mapper.RegionMapper">
  <select id="listRegionVo" resultType="com.ruoyi.member.domain.vo.RegionVo">
    SELECT tr.id id, tr.parent_id parentId, tr.level level, tr.code value, tr.name label
    FROM t_region tr
  </select>
</mapper>
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/OrderAuction.java
@@ -41,17 +41,11 @@
    @ApiModelProperty(value = "拍卖场id")
    private Long auctionSalesroomId;
    @ApiModelProperty(value = "商品id")
    private Long goodsSkuId;
    @ApiModelProperty(value = "拍卖商品id")
    private Long salesroomGoodsId;
    @ApiModelProperty(value = "所属拍卖场")
    private String auctionSaleroomName;
    @ApiModelProperty(value = "商品名称")
    private String goodsSkuName;
    @ApiModelProperty(value = "商品封面图")
    private String goodsCoverPic;
    @ApiModelProperty(value = "创建者")
    @TableField(value = "create_by", fill = FieldFill.INSERT)
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/OrderMall.java
@@ -41,14 +41,8 @@
    @ApiModelProperty(value = "订单id")
    private Long orderId;
    @ApiModelProperty(value = "商品id")
    @ApiModelProperty(value = "商品id/秒杀商品id/团购商品id")
    private Long goodsSkuId;
    @ApiModelProperty(value = "商品名称")
    private String goodsSkuName;
    @ApiModelProperty(value = "商品封面图")
    private String goodsCoverPic;
    @ApiModelProperty(value = "创建者")
    @TableField(value = "create_by", fill = FieldFill.INSERT)
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/AddCompanyUserDto.java
File was deleted