diff --git a/src/main/java/com/gxwebsoft/shop/controller/BrandController.java b/src/main/java/com/gxwebsoft/shop/controller/BrandController.java new file mode 100644 index 0000000..f8712f4 --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/controller/BrandController.java @@ -0,0 +1,114 @@ +package com.gxwebsoft.shop.controller; + +import com.gxwebsoft.common.core.web.BaseController; +import com.gxwebsoft.shop.service.BrandService; +import com.gxwebsoft.shop.entity.Brand; +import com.gxwebsoft.shop.param.BrandParam; +import com.gxwebsoft.common.core.web.ApiResult; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.BatchParam; +import com.gxwebsoft.common.core.annotation.OperationLog; +import com.gxwebsoft.common.system.entity.User; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 品牌控制器 + * + * @author 科技小王子 + * @since 2024-04-04 11:38:21 + */ +@Api(tags = "品牌管理") +@RestController +@RequestMapping("/api/shop/brand") +public class BrandController extends BaseController { + @Resource + private BrandService brandService; + + @ApiOperation("分页查询品牌") + @GetMapping("/page") + public ApiResult> page(BrandParam param) { + // 使用关联查询 + return success(brandService.pageRel(param)); + } + + @ApiOperation("查询全部品牌") + @GetMapping() + public ApiResult> list(BrandParam param) { + // 使用关联查询 + return success(brandService.listRel(param)); + } + + @ApiOperation("根据id查询品牌") + @GetMapping("/{id}") + public ApiResult get(@PathVariable("id") Integer id) { + // 使用关联查询 + return success(brandService.getByIdRel(id)); + } + + @ApiOperation("添加品牌") + @PostMapping() + public ApiResult save(@RequestBody Brand brand) { + // 记录当前登录用户id + // User loginUser = getLoginUser(); + // if (loginUser != null) { + // brand.setUserId(loginUser.getUserId()); + // } + if (brandService.save(brand)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("修改品牌") + @PutMapping() + public ApiResult update(@RequestBody Brand brand) { + if (brandService.updateById(brand)) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("删除品牌") + @DeleteMapping("/{id}") + public ApiResult remove(@PathVariable("id") Integer id) { + if (brandService.removeById(id)) { + return success("删除成功"); + } + return fail("删除失败"); + } + + @ApiOperation("批量添加品牌") + @PostMapping("/batch") + public ApiResult saveBatch(@RequestBody List list) { + if (brandService.saveBatch(list)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("批量修改品牌") + @PutMapping("/batch") + public ApiResult removeBatch(@RequestBody BatchParam batchParam) { + if (batchParam.update(brandService, "brand_id")) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("批量删除品牌") + @DeleteMapping("/batch") + public ApiResult removeBatch(@RequestBody List ids) { + if (brandService.removeByIds(ids)) { + return success("删除成功"); + } + return fail("删除失败"); + } + +} diff --git a/src/main/java/com/gxwebsoft/shop/controller/GoodsController.java b/src/main/java/com/gxwebsoft/shop/controller/GoodsController.java index 007603c..2903732 100644 --- a/src/main/java/com/gxwebsoft/shop/controller/GoodsController.java +++ b/src/main/java/com/gxwebsoft/shop/controller/GoodsController.java @@ -65,7 +65,12 @@ public class GoodsController extends BaseController { @GetMapping("/{id}") public ApiResult get(@PathVariable("id") Integer id) { // 使用关联查询 - return success(goodsService.getByIdRel(id)); + final Goods goods = goodsService.getByIdRel(id); + final List goodsSpecList = goodsSpecService.list(new LambdaQueryWrapper().eq(GoodsSpec::getGoodsId, id)); + final List goodsSkuList = goodsSkuService.list(new LambdaQueryWrapper().eq(GoodsSku::getGoodsId, id)); + goods.setGoodsSpecs(goodsSpecList); + goods.setGoodsSkus(goodsSkuList); + return success(goods); } @ApiOperation("添加商品记录表") @@ -77,22 +82,8 @@ public class GoodsController extends BaseController { goods.setUserId(loginUser.getUserId()); } if (goodsService.save(goods)) { - - // 保存商品规格 - final List goodsSpecs = goods.getGoodsSpecs(); - goodsSpecs.forEach(d -> { - d.setGoodsId(goods.getGoodsId()); - final List collect = d.getValueList().stream().map(SpecValue::getSpecValue).collect(Collectors.toList()); - d.setSpecValues(StringUtils.join(collect, ',')); - }); - goodsSpecService.saveBatch(goodsSpecs); - - // 保存商品sku表 - final List goodsSkus = goods.getGoodsSkus(); - goodsSkus.forEach(d -> { - d.setGoodsId(goods.getGoodsId()); - }); - goodsSkuService.saveBatch(goodsSkus); + // 保存商品规格及sku信息 + goodsService.saveBatchByAsync(goods); return success("添加成功"); } return fail("添加失败"); @@ -102,14 +93,11 @@ public class GoodsController extends BaseController { @PutMapping() public ApiResult update(@RequestBody Goods goods) { if (goodsService.updateById(goods)) { - // 更新spec规格表 - if (goodsSpecService.remove(new LambdaQueryWrapper().eq(GoodsSpec::getGoodsId, goods.getGoodsId()))) { - goodsSpecService.saveBatch(goods.getGoodsSpecs()); - } - // 更新sku表 - if (goodsSkuService.remove(new LambdaQueryWrapper().eq(GoodsSku::getGoodsId, goods.getGoodsId()))) { - goodsSkuService.saveBatch(goods.getGoodsSkus()); - } + // 删除旧信息 + goodsSpecService.remove(new LambdaQueryWrapper().eq(GoodsSpec::getGoodsId, goods.getGoodsId())); + goodsSkuService.remove(new LambdaQueryWrapper().eq(GoodsSku::getGoodsId, goods.getGoodsId())); + // 保存商品规格及sku信息 + goodsService.saveBatchByAsync(goods); return success("修改成功"); } return fail("修改失败"); diff --git a/src/main/java/com/gxwebsoft/shop/controller/MerchantApplyController.java b/src/main/java/com/gxwebsoft/shop/controller/MerchantApplyController.java new file mode 100644 index 0000000..84707f0 --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/controller/MerchantApplyController.java @@ -0,0 +1,109 @@ +package com.gxwebsoft.shop.controller; + +import com.gxwebsoft.common.core.web.BaseController; +import com.gxwebsoft.shop.service.MerchantApplyService; +import com.gxwebsoft.shop.entity.MerchantApply; +import com.gxwebsoft.shop.param.MerchantApplyParam; +import com.gxwebsoft.common.core.web.ApiResult; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.BatchParam; +import com.gxwebsoft.common.core.annotation.OperationLog; +import com.gxwebsoft.common.system.entity.User; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 商户入驻申请控制器 + * + * @author 科技小王子 + * @since 2024-04-05 01:24:36 + */ +@Api(tags = "商户入驻申请管理") +@RestController +@RequestMapping("/api/shop/merchant-apply") +public class MerchantApplyController extends BaseController { + @Resource + private MerchantApplyService merchantApplyService; + + @ApiOperation("分页查询商户入驻申请") + @GetMapping("/page") + public ApiResult> page(MerchantApplyParam param) { + // 使用关联查询 + return success(merchantApplyService.pageRel(param)); + } + + @ApiOperation("查询全部商户入驻申请") + @GetMapping() + public ApiResult> list(MerchantApplyParam param) { + // 使用关联查询 + return success(merchantApplyService.listRel(param)); + } + + @ApiOperation("根据id查询商户入驻申请") + @GetMapping("/{id}") + public ApiResult get(@PathVariable("id") Integer id) { + // 使用关联查询 + return success(merchantApplyService.getByIdRel(id)); + } + + @ApiOperation("添加商户入驻申请") + @PostMapping() + public ApiResult save(@RequestBody MerchantApply merchantApply) { + if (merchantApplyService.save(merchantApply)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("修改商户入驻申请") + @PutMapping() + public ApiResult update(@RequestBody MerchantApply merchantApply) { + if (merchantApplyService.updateById(merchantApply)) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("删除商户入驻申请") + @DeleteMapping("/{id}") + public ApiResult remove(@PathVariable("id") Integer id) { + if (merchantApplyService.removeById(id)) { + return success("删除成功"); + } + return fail("删除失败"); + } + + @ApiOperation("批量添加商户入驻申请") + @PostMapping("/batch") + public ApiResult saveBatch(@RequestBody List list) { + if (merchantApplyService.saveBatch(list)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("批量修改商户入驻申请") + @PutMapping("/batch") + public ApiResult removeBatch(@RequestBody BatchParam batchParam) { + if (batchParam.update(merchantApplyService, "apply_id")) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("批量删除商户入驻申请") + @DeleteMapping("/batch") + public ApiResult removeBatch(@RequestBody List ids) { + if (merchantApplyService.removeByIds(ids)) { + return success("删除成功"); + } + return fail("删除失败"); + } + +} diff --git a/src/main/java/com/gxwebsoft/shop/controller/MerchantController.java b/src/main/java/com/gxwebsoft/shop/controller/MerchantController.java new file mode 100644 index 0000000..cb494b1 --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/controller/MerchantController.java @@ -0,0 +1,114 @@ +package com.gxwebsoft.shop.controller; + +import com.gxwebsoft.common.core.web.BaseController; +import com.gxwebsoft.shop.service.MerchantService; +import com.gxwebsoft.shop.entity.Merchant; +import com.gxwebsoft.shop.param.MerchantParam; +import com.gxwebsoft.common.core.web.ApiResult; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.BatchParam; +import com.gxwebsoft.common.core.annotation.OperationLog; +import com.gxwebsoft.common.system.entity.User; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 商户控制器 + * + * @author 科技小王子 + * @since 2024-04-05 00:03:54 + */ +@Api(tags = "商户管理") +@RestController +@RequestMapping("/api/shop/merchant") +public class MerchantController extends BaseController { + @Resource + private MerchantService merchantService; + + @ApiOperation("分页查询商户") + @GetMapping("/page") + public ApiResult> page(MerchantParam param) { + // 使用关联查询 + return success(merchantService.pageRel(param)); + } + + @ApiOperation("查询全部商户") + @GetMapping() + public ApiResult> list(MerchantParam param) { + // 使用关联查询 + return success(merchantService.listRel(param)); + } + + @ApiOperation("根据id查询商户") + @GetMapping("/{id}") + public ApiResult get(@PathVariable("id") Integer id) { + // 使用关联查询 + return success(merchantService.getByIdRel(id)); + } + + @ApiOperation("添加商户") + @PostMapping() + public ApiResult save(@RequestBody Merchant merchant) { + // 记录当前登录用户id + // User loginUser = getLoginUser(); + // if (loginUser != null) { + // merchant.setUserId(loginUser.getUserId()); + // } + if (merchantService.save(merchant)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("修改商户") + @PutMapping() + public ApiResult update(@RequestBody Merchant merchant) { + if (merchantService.updateById(merchant)) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("删除商户") + @DeleteMapping("/{id}") + public ApiResult remove(@PathVariable("id") Integer id) { + if (merchantService.removeById(id)) { + return success("删除成功"); + } + return fail("删除失败"); + } + + @ApiOperation("批量添加商户") + @PostMapping("/batch") + public ApiResult saveBatch(@RequestBody List list) { + if (merchantService.saveBatch(list)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("批量修改商户") + @PutMapping("/batch") + public ApiResult removeBatch(@RequestBody BatchParam batchParam) { + if (batchParam.update(merchantService, "merchant_id")) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("批量删除商户") + @DeleteMapping("/batch") + public ApiResult removeBatch(@RequestBody List ids) { + if (merchantService.removeByIds(ids)) { + return success("删除成功"); + } + return fail("删除失败"); + } + +} diff --git a/src/main/java/com/gxwebsoft/shop/controller/MerchantTypeController.java b/src/main/java/com/gxwebsoft/shop/controller/MerchantTypeController.java new file mode 100644 index 0000000..e8a4e92 --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/controller/MerchantTypeController.java @@ -0,0 +1,114 @@ +package com.gxwebsoft.shop.controller; + +import com.gxwebsoft.common.core.web.BaseController; +import com.gxwebsoft.shop.service.MerchantTypeService; +import com.gxwebsoft.shop.entity.MerchantType; +import com.gxwebsoft.shop.param.MerchantTypeParam; +import com.gxwebsoft.common.core.web.ApiResult; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.BatchParam; +import com.gxwebsoft.common.core.annotation.OperationLog; +import com.gxwebsoft.common.system.entity.User; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 商户类型控制器 + * + * @author 科技小王子 + * @since 2024-04-05 00:08:51 + */ +@Api(tags = "商户类型管理") +@RestController +@RequestMapping("/api/shop/merchant-type") +public class MerchantTypeController extends BaseController { + @Resource + private MerchantTypeService merchantTypeService; + + @ApiOperation("分页查询商户类型") + @GetMapping("/page") + public ApiResult> page(MerchantTypeParam param) { + // 使用关联查询 + return success(merchantTypeService.pageRel(param)); + } + + @ApiOperation("查询全部商户类型") + @GetMapping() + public ApiResult> list(MerchantTypeParam param) { + // 使用关联查询 + return success(merchantTypeService.listRel(param)); + } + + @ApiOperation("根据id查询商户类型") + @GetMapping("/{id}") + public ApiResult get(@PathVariable("id") Integer id) { + // 使用关联查询 + return success(merchantTypeService.getByIdRel(id)); + } + + @ApiOperation("添加商户类型") + @PostMapping() + public ApiResult save(@RequestBody MerchantType merchantType) { + // 记录当前登录用户id + // User loginUser = getLoginUser(); + // if (loginUser != null) { + // merchantType.setUserId(loginUser.getUserId()); + // } + if (merchantTypeService.save(merchantType)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("修改商户类型") + @PutMapping() + public ApiResult update(@RequestBody MerchantType merchantType) { + if (merchantTypeService.updateById(merchantType)) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("删除商户类型") + @DeleteMapping("/{id}") + public ApiResult remove(@PathVariable("id") Integer id) { + if (merchantTypeService.removeById(id)) { + return success("删除成功"); + } + return fail("删除失败"); + } + + @ApiOperation("批量添加商户类型") + @PostMapping("/batch") + public ApiResult saveBatch(@RequestBody List list) { + if (merchantTypeService.saveBatch(list)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("批量修改商户类型") + @PutMapping("/batch") + public ApiResult removeBatch(@RequestBody BatchParam batchParam) { + if (batchParam.update(merchantTypeService, "id")) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("批量删除商户类型") + @DeleteMapping("/batch") + public ApiResult removeBatch(@RequestBody List ids) { + if (merchantTypeService.removeByIds(ids)) { + return success("删除成功"); + } + return fail("删除失败"); + } + +} diff --git a/src/main/java/com/gxwebsoft/shop/entity/Brand.java b/src/main/java/com/gxwebsoft/shop/entity/Brand.java new file mode 100644 index 0000000..db30dcc --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/entity/Brand.java @@ -0,0 +1,51 @@ +package com.gxwebsoft.shop.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 品牌 + * + * @author 科技小王子 + * @since 2024-04-04 11:38:21 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "Brand对象", description = "品牌") +@TableName("shop_brand") +public class Brand implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @TableId(value = "brand_id", type = IdType.AUTO) + private Integer brandId; + + @ApiModelProperty(value = "品牌名称") + private String brandName; + + @ApiModelProperty(value = "图标") + private String image; + + @ApiModelProperty(value = "备注") + private String comments; + + @ApiModelProperty(value = "状态") + private Integer status; + + @ApiModelProperty(value = "排序号") + private Integer sortNumber; + + @ApiModelProperty(value = "租户id") + private Integer tenantId; + + @ApiModelProperty(value = "创建时间") + private LocalDateTime createTime; + +} diff --git a/src/main/java/com/gxwebsoft/shop/entity/GoodsSpec.java b/src/main/java/com/gxwebsoft/shop/entity/GoodsSpec.java index caa75fa..52bb400 100644 --- a/src/main/java/com/gxwebsoft/shop/entity/GoodsSpec.java +++ b/src/main/java/com/gxwebsoft/shop/entity/GoodsSpec.java @@ -38,9 +38,6 @@ public class GoodsSpec implements Serializable { @ApiModelProperty(value = "规格名称") private String specName; - @ApiModelProperty(value = "规则值ID") - private Integer specValueId; - @ApiModelProperty(value = "规格值") private String specValues; diff --git a/src/main/java/com/gxwebsoft/shop/entity/Merchant.java b/src/main/java/com/gxwebsoft/shop/entity/Merchant.java new file mode 100644 index 0000000..3a84259 --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/entity/Merchant.java @@ -0,0 +1,84 @@ +package com.gxwebsoft.shop.entity; + +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import java.io.Serializable; +import java.util.Date; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 商户 + * + * @author 科技小王子 + * @since 2024-04-05 00:03:54 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "Merchant对象", description = "商户") +@TableName("shop_merchant") +public class Merchant implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @TableId(value = "merchant_id", type = IdType.AUTO) + private Integer merchantId; + + @ApiModelProperty(value = "商户名称") + private String merchantName; + + @ApiModelProperty(value = "商户图标") + private String image; + + @ApiModelProperty(value = "商户手机号") + private String phone; + + @ApiModelProperty(value = "商户姓名") + private String realName; + + @ApiModelProperty(value = "店铺类型") + private String shopType; + + @ApiModelProperty(value = "商户分类") + private String category; + + @ApiModelProperty(value = "手续费") + private BigDecimal commission; + + @ApiModelProperty(value = "关键字") + private String keywords; + + @ApiModelProperty(value = "资质图片") + private String files; + + @ApiModelProperty(value = "是否自营") + private Integer ownStore; + + @ApiModelProperty(value = "是否推荐") + private Integer recommend; + + @ApiModelProperty(value = "是否需要审核") + private Integer goodsReview; + + @ApiModelProperty(value = "备注") + private String comments; + + @ApiModelProperty(value = "状态") + private Integer status; + + @ApiModelProperty(value = "排序号") + private Integer sortNumber; + + @ApiModelProperty(value = "租户id") + private Integer tenantId; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + +} diff --git a/src/main/java/com/gxwebsoft/shop/entity/MerchantApply.java b/src/main/java/com/gxwebsoft/shop/entity/MerchantApply.java new file mode 100644 index 0000000..74bc6b8 --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/entity/MerchantApply.java @@ -0,0 +1,84 @@ +package com.gxwebsoft.shop.entity; + +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import java.io.Serializable; +import java.util.Date; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 商户入驻申请 + * + * @author 科技小王子 + * @since 2024-04-05 01:24:36 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "MerchantApply对象", description = "商户入驻申请") +@TableName("shop_merchant_apply") +public class MerchantApply implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @TableId(value = "apply_id", type = IdType.AUTO) + private Integer applyId; + + @ApiModelProperty(value = "商户名称") + private String merchantName; + + @ApiModelProperty(value = "商户图标") + private String image; + + @ApiModelProperty(value = "商户手机号") + private String phone; + + @ApiModelProperty(value = "商户姓名") + private String realName; + + @ApiModelProperty(value = "店铺类型") + private String shopType; + + @ApiModelProperty(value = "商户分类") + private String category; + + @ApiModelProperty(value = "手续费") + private BigDecimal commission; + + @ApiModelProperty(value = "关键字") + private String keywords; + + @ApiModelProperty(value = "资质图片") + private String files; + + @ApiModelProperty(value = "是否自营") + private Integer ownStore; + + @ApiModelProperty(value = "是否推荐") + private Integer recommend; + + @ApiModelProperty(value = "是否需要审核") + private Integer goodsReview; + + @ApiModelProperty(value = "备注") + private String comments; + + @ApiModelProperty(value = "状态") + private Integer status; + + @ApiModelProperty(value = "排序号") + private Integer sortNumber; + + @ApiModelProperty(value = "租户id") + private Integer tenantId; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + +} diff --git a/src/main/java/com/gxwebsoft/shop/entity/MerchantType.java b/src/main/java/com/gxwebsoft/shop/entity/MerchantType.java new file mode 100644 index 0000000..c98ce6a --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/entity/MerchantType.java @@ -0,0 +1,50 @@ +package com.gxwebsoft.shop.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import java.io.Serializable; +import java.util.Date; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 商户类型 + * + * @author 科技小王子 + * @since 2024-04-05 00:08:51 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "MerchantType对象", description = "商户类型") +@TableName("shop_merchant_type") +public class MerchantType implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "店铺类型") + private String name; + + @ApiModelProperty(value = "店铺入驻条件") + private String comments; + + @ApiModelProperty(value = "状态") + private Integer status; + + @ApiModelProperty(value = "排序号") + private Integer sortNumber; + + @ApiModelProperty(value = "租户id") + private Integer tenantId; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + +} diff --git a/src/main/java/com/gxwebsoft/shop/mapper/BrandMapper.java b/src/main/java/com/gxwebsoft/shop/mapper/BrandMapper.java new file mode 100644 index 0000000..6b03a68 --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/mapper/BrandMapper.java @@ -0,0 +1,37 @@ +package com.gxwebsoft.shop.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.gxwebsoft.shop.entity.Brand; +import com.gxwebsoft.shop.param.BrandParam; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 品牌Mapper + * + * @author 科技小王子 + * @since 2024-04-04 11:38:21 + */ +public interface BrandMapper extends BaseMapper { + + /** + * 分页查询 + * + * @param page 分页对象 + * @param param 查询参数 + * @return List + */ + List selectPageRel(@Param("page") IPage page, + @Param("param") BrandParam param); + + /** + * 查询全部 + * + * @param param 查询参数 + * @return List + */ + List selectListRel(@Param("param") BrandParam param); + +} diff --git a/src/main/java/com/gxwebsoft/shop/mapper/MerchantApplyMapper.java b/src/main/java/com/gxwebsoft/shop/mapper/MerchantApplyMapper.java new file mode 100644 index 0000000..7e8646a --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/mapper/MerchantApplyMapper.java @@ -0,0 +1,37 @@ +package com.gxwebsoft.shop.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.gxwebsoft.shop.entity.MerchantApply; +import com.gxwebsoft.shop.param.MerchantApplyParam; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 商户入驻申请Mapper + * + * @author 科技小王子 + * @since 2024-04-05 01:24:36 + */ +public interface MerchantApplyMapper extends BaseMapper { + + /** + * 分页查询 + * + * @param page 分页对象 + * @param param 查询参数 + * @return List + */ + List selectPageRel(@Param("page") IPage page, + @Param("param") MerchantApplyParam param); + + /** + * 查询全部 + * + * @param param 查询参数 + * @return List + */ + List selectListRel(@Param("param") MerchantApplyParam param); + +} diff --git a/src/main/java/com/gxwebsoft/shop/mapper/MerchantMapper.java b/src/main/java/com/gxwebsoft/shop/mapper/MerchantMapper.java new file mode 100644 index 0000000..06c5ab3 --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/mapper/MerchantMapper.java @@ -0,0 +1,37 @@ +package com.gxwebsoft.shop.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.gxwebsoft.shop.entity.Merchant; +import com.gxwebsoft.shop.param.MerchantParam; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 商户Mapper + * + * @author 科技小王子 + * @since 2024-04-05 00:03:54 + */ +public interface MerchantMapper extends BaseMapper { + + /** + * 分页查询 + * + * @param page 分页对象 + * @param param 查询参数 + * @return List + */ + List selectPageRel(@Param("page") IPage page, + @Param("param") MerchantParam param); + + /** + * 查询全部 + * + * @param param 查询参数 + * @return List + */ + List selectListRel(@Param("param") MerchantParam param); + +} diff --git a/src/main/java/com/gxwebsoft/shop/mapper/MerchantTypeMapper.java b/src/main/java/com/gxwebsoft/shop/mapper/MerchantTypeMapper.java new file mode 100644 index 0000000..234b9c4 --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/mapper/MerchantTypeMapper.java @@ -0,0 +1,37 @@ +package com.gxwebsoft.shop.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.gxwebsoft.shop.entity.MerchantType; +import com.gxwebsoft.shop.param.MerchantTypeParam; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 商户类型Mapper + * + * @author 科技小王子 + * @since 2024-04-05 00:08:51 + */ +public interface MerchantTypeMapper extends BaseMapper { + + /** + * 分页查询 + * + * @param page 分页对象 + * @param param 查询参数 + * @return List + */ + List selectPageRel(@Param("page") IPage page, + @Param("param") MerchantTypeParam param); + + /** + * 查询全部 + * + * @param param 查询参数 + * @return List + */ + List selectListRel(@Param("param") MerchantTypeParam param); + +} diff --git a/src/main/java/com/gxwebsoft/shop/mapper/xml/BrandMapper.xml b/src/main/java/com/gxwebsoft/shop/mapper/xml/BrandMapper.xml new file mode 100644 index 0000000..437faee --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/mapper/xml/BrandMapper.xml @@ -0,0 +1,51 @@ + + + + + + + SELECT a.* + FROM shop_brand a + + + AND a.brand_id = #{param.brandId} + + + AND a.brand_name LIKE CONCAT('%', #{param.brandName}, '%') + + + AND a.image LIKE CONCAT('%', #{param.image}, '%') + + + AND a.comments LIKE CONCAT('%', #{param.comments}, '%') + + + AND a.status = #{param.status} + + + AND a.sort_number = #{param.sortNumber} + + + AND a.create_time >= #{param.createTimeStart} + + + AND a.create_time <= #{param.createTimeEnd} + + + AND (a.comments LIKE CONCAT('%', #{param.keywords}, '%') + ) + + + + + + + + + + + diff --git a/src/main/java/com/gxwebsoft/shop/mapper/xml/MerchantApplyMapper.xml b/src/main/java/com/gxwebsoft/shop/mapper/xml/MerchantApplyMapper.xml new file mode 100644 index 0000000..8ff8d0a --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/mapper/xml/MerchantApplyMapper.xml @@ -0,0 +1,81 @@ + + + + + + + SELECT a.* + FROM shop_merchant_apply a + + + AND a.apply_id = #{param.applyId} + + + AND a.merchant_name LIKE CONCAT('%', #{param.merchantName}, '%') + + + AND a.image LIKE CONCAT('%', #{param.image}, '%') + + + AND a.phone LIKE CONCAT('%', #{param.phone}, '%') + + + AND a.real_name LIKE CONCAT('%', #{param.realName}, '%') + + + AND a.shop_type LIKE CONCAT('%', #{param.shopType}, '%') + + + AND a.category LIKE CONCAT('%', #{param.category}, '%') + + + AND a.commission = #{param.commission} + + + AND a.keywords LIKE CONCAT('%', #{param.keywords}, '%') + + + AND a.files LIKE CONCAT('%', #{param.files}, '%') + + + AND a.own_store = #{param.ownStore} + + + AND a.recommend = #{param.recommend} + + + AND a.goods_review = #{param.goodsReview} + + + AND a.comments LIKE CONCAT('%', #{param.comments}, '%') + + + AND a.status = #{param.status} + + + AND a.sort_number = #{param.sortNumber} + + + AND a.create_time >= #{param.createTimeStart} + + + AND a.create_time <= #{param.createTimeEnd} + + + AND (a.comments LIKE CONCAT('%', #{param.keywords}, '%') + ) + + + + + + + + + + + diff --git a/src/main/java/com/gxwebsoft/shop/mapper/xml/MerchantMapper.xml b/src/main/java/com/gxwebsoft/shop/mapper/xml/MerchantMapper.xml new file mode 100644 index 0000000..c23b56d --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/mapper/xml/MerchantMapper.xml @@ -0,0 +1,81 @@ + + + + + + + SELECT a.* + FROM shop_merchant a + + + AND a.merchant_id = #{param.merchantId} + + + AND a.merchant_name LIKE CONCAT('%', #{param.merchantName}, '%') + + + AND a.image LIKE CONCAT('%', #{param.image}, '%') + + + AND a.phone LIKE CONCAT('%', #{param.phone}, '%') + + + AND a.real_name LIKE CONCAT('%', #{param.realName}, '%') + + + AND a.shop_type LIKE CONCAT('%', #{param.shopType}, '%') + + + AND a.category LIKE CONCAT('%', #{param.category}, '%') + + + AND a.commission = #{param.commission} + + + AND a.keywords LIKE CONCAT('%', #{param.keywords}, '%') + + + AND a.files LIKE CONCAT('%', #{param.files}, '%') + + + AND a.own_store = #{param.ownStore} + + + AND a.recommend = #{param.recommend} + + + AND a.goods_review = #{param.goodsReview} + + + AND a.comments LIKE CONCAT('%', #{param.comments}, '%') + + + AND a.status = #{param.status} + + + AND a.sort_number = #{param.sortNumber} + + + AND a.create_time >= #{param.createTimeStart} + + + AND a.create_time <= #{param.createTimeEnd} + + + AND (a.comments LIKE CONCAT('%', #{param.keywords}, '%') + ) + + + + + + + + + + + diff --git a/src/main/java/com/gxwebsoft/shop/mapper/xml/MerchantTypeMapper.xml b/src/main/java/com/gxwebsoft/shop/mapper/xml/MerchantTypeMapper.xml new file mode 100644 index 0000000..d6fd259 --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/mapper/xml/MerchantTypeMapper.xml @@ -0,0 +1,48 @@ + + + + + + + SELECT a.* + FROM shop_merchant_type a + + + AND a.id = #{param.id} + + + AND a.name LIKE CONCAT('%', #{param.name}, '%') + + + AND a.comments LIKE CONCAT('%', #{param.comments}, '%') + + + AND a.status = #{param.status} + + + AND a.sort_number = #{param.sortNumber} + + + AND a.create_time >= #{param.createTimeStart} + + + AND a.create_time <= #{param.createTimeEnd} + + + AND (a.comments LIKE CONCAT('%', #{param.keywords}, '%') + ) + + + + + + + + + + + diff --git a/src/main/java/com/gxwebsoft/shop/param/BrandParam.java b/src/main/java/com/gxwebsoft/shop/param/BrandParam.java new file mode 100644 index 0000000..28585cd --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/param/BrandParam.java @@ -0,0 +1,47 @@ +package com.gxwebsoft.shop.param; + +import java.math.BigDecimal; +import com.gxwebsoft.common.core.annotation.QueryField; +import com.gxwebsoft.common.core.annotation.QueryType; +import com.gxwebsoft.common.core.web.BaseParam; +import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 品牌查询参数 + * + * @author 科技小王子 + * @since 2024-04-04 11:38:21 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@JsonInclude(JsonInclude.Include.NON_NULL) +@ApiModel(value = "BrandParam对象", description = "品牌查询参数") +public class BrandParam extends BaseParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @QueryField(type = QueryType.EQ) + private Integer brandId; + + @ApiModelProperty(value = "品牌名称") + private String brandName; + + @ApiModelProperty(value = "图标") + private String image; + + @ApiModelProperty(value = "备注") + private String comments; + + @ApiModelProperty(value = "状态") + @QueryField(type = QueryType.EQ) + private Integer status; + + @ApiModelProperty(value = "排序号") + @QueryField(type = QueryType.EQ) + private Integer sortNumber; + +} diff --git a/src/main/java/com/gxwebsoft/shop/param/MerchantApplyParam.java b/src/main/java/com/gxwebsoft/shop/param/MerchantApplyParam.java new file mode 100644 index 0000000..668534e --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/param/MerchantApplyParam.java @@ -0,0 +1,81 @@ +package com.gxwebsoft.shop.param; + +import java.math.BigDecimal; +import com.gxwebsoft.common.core.annotation.QueryField; +import com.gxwebsoft.common.core.annotation.QueryType; +import com.gxwebsoft.common.core.web.BaseParam; +import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 商户入驻申请查询参数 + * + * @author 科技小王子 + * @since 2024-04-05 01:24:36 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@JsonInclude(JsonInclude.Include.NON_NULL) +@ApiModel(value = "MerchantApplyParam对象", description = "商户入驻申请查询参数") +public class MerchantApplyParam extends BaseParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @QueryField(type = QueryType.EQ) + private Integer applyId; + + @ApiModelProperty(value = "商户名称") + private String merchantName; + + @ApiModelProperty(value = "商户图标") + private String image; + + @ApiModelProperty(value = "商户手机号") + private String phone; + + @ApiModelProperty(value = "商户姓名") + private String realName; + + @ApiModelProperty(value = "店铺类型") + private String shopType; + + @ApiModelProperty(value = "商户分类") + private String category; + + @ApiModelProperty(value = "手续费") + @QueryField(type = QueryType.EQ) + private BigDecimal commission; + + @ApiModelProperty(value = "关键字") + private String keywords; + + @ApiModelProperty(value = "资质图片") + private String files; + + @ApiModelProperty(value = "是否自营") + @QueryField(type = QueryType.EQ) + private Integer ownStore; + + @ApiModelProperty(value = "是否推荐") + @QueryField(type = QueryType.EQ) + private Integer recommend; + + @ApiModelProperty(value = "是否需要审核") + @QueryField(type = QueryType.EQ) + private Integer goodsReview; + + @ApiModelProperty(value = "备注") + private String comments; + + @ApiModelProperty(value = "状态") + @QueryField(type = QueryType.EQ) + private Integer status; + + @ApiModelProperty(value = "排序号") + @QueryField(type = QueryType.EQ) + private Integer sortNumber; + +} diff --git a/src/main/java/com/gxwebsoft/shop/param/MerchantParam.java b/src/main/java/com/gxwebsoft/shop/param/MerchantParam.java new file mode 100644 index 0000000..1fdc698 --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/param/MerchantParam.java @@ -0,0 +1,81 @@ +package com.gxwebsoft.shop.param; + +import java.math.BigDecimal; +import com.gxwebsoft.common.core.annotation.QueryField; +import com.gxwebsoft.common.core.annotation.QueryType; +import com.gxwebsoft.common.core.web.BaseParam; +import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 商户查询参数 + * + * @author 科技小王子 + * @since 2024-04-05 00:03:54 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@JsonInclude(JsonInclude.Include.NON_NULL) +@ApiModel(value = "MerchantParam对象", description = "商户查询参数") +public class MerchantParam extends BaseParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @QueryField(type = QueryType.EQ) + private Integer merchantId; + + @ApiModelProperty(value = "商户名称") + private String merchantName; + + @ApiModelProperty(value = "商户图标") + private String image; + + @ApiModelProperty(value = "商户手机号") + private String phone; + + @ApiModelProperty(value = "商户姓名") + private String realName; + + @ApiModelProperty(value = "店铺类型") + private String shopType; + + @ApiModelProperty(value = "商户分类") + private String category; + + @ApiModelProperty(value = "手续费") + @QueryField(type = QueryType.EQ) + private BigDecimal commission; + + @ApiModelProperty(value = "关键字") + private String keywords; + + @ApiModelProperty(value = "资质图片") + private String files; + + @ApiModelProperty(value = "是否自营") + @QueryField(type = QueryType.EQ) + private Integer ownStore; + + @ApiModelProperty(value = "是否推荐") + @QueryField(type = QueryType.EQ) + private Integer recommend; + + @ApiModelProperty(value = "是否需要审核") + @QueryField(type = QueryType.EQ) + private Integer goodsReview; + + @ApiModelProperty(value = "备注") + private String comments; + + @ApiModelProperty(value = "状态") + @QueryField(type = QueryType.EQ) + private Integer status; + + @ApiModelProperty(value = "排序号") + @QueryField(type = QueryType.EQ) + private Integer sortNumber; + +} diff --git a/src/main/java/com/gxwebsoft/shop/param/MerchantTypeParam.java b/src/main/java/com/gxwebsoft/shop/param/MerchantTypeParam.java new file mode 100644 index 0000000..c36b596 --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/param/MerchantTypeParam.java @@ -0,0 +1,44 @@ +package com.gxwebsoft.shop.param; + +import java.math.BigDecimal; +import com.gxwebsoft.common.core.annotation.QueryField; +import com.gxwebsoft.common.core.annotation.QueryType; +import com.gxwebsoft.common.core.web.BaseParam; +import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 商户类型查询参数 + * + * @author 科技小王子 + * @since 2024-04-05 00:08:51 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@JsonInclude(JsonInclude.Include.NON_NULL) +@ApiModel(value = "MerchantTypeParam对象", description = "商户类型查询参数") +public class MerchantTypeParam extends BaseParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @QueryField(type = QueryType.EQ) + private Integer id; + + @ApiModelProperty(value = "店铺类型") + private String name; + + @ApiModelProperty(value = "店铺入驻条件") + private String comments; + + @ApiModelProperty(value = "状态") + @QueryField(type = QueryType.EQ) + private Integer status; + + @ApiModelProperty(value = "排序号") + @QueryField(type = QueryType.EQ) + private Integer sortNumber; + +} diff --git a/src/main/java/com/gxwebsoft/shop/service/BrandService.java b/src/main/java/com/gxwebsoft/shop/service/BrandService.java new file mode 100644 index 0000000..60f47e5 --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/service/BrandService.java @@ -0,0 +1,42 @@ +package com.gxwebsoft.shop.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.shop.entity.Brand; +import com.gxwebsoft.shop.param.BrandParam; + +import java.util.List; + +/** + * 品牌Service + * + * @author 科技小王子 + * @since 2024-04-04 11:38:21 + */ +public interface BrandService extends IService { + + /** + * 分页关联查询 + * + * @param param 查询参数 + * @return PageResult + */ + PageResult pageRel(BrandParam param); + + /** + * 关联查询全部 + * + * @param param 查询参数 + * @return List + */ + List listRel(BrandParam param); + + /** + * 根据id查询 + * + * @param brandId ID + * @return Brand + */ + Brand getByIdRel(Integer brandId); + +} diff --git a/src/main/java/com/gxwebsoft/shop/service/GoodsService.java b/src/main/java/com/gxwebsoft/shop/service/GoodsService.java index f4f28a0..45be85d 100644 --- a/src/main/java/com/gxwebsoft/shop/service/GoodsService.java +++ b/src/main/java/com/gxwebsoft/shop/service/GoodsService.java @@ -39,4 +39,5 @@ public interface GoodsService extends IService { */ Goods getByIdRel(Integer goodsId); + void saveBatchByAsync(Goods goods); } diff --git a/src/main/java/com/gxwebsoft/shop/service/MerchantApplyService.java b/src/main/java/com/gxwebsoft/shop/service/MerchantApplyService.java new file mode 100644 index 0000000..ffaae39 --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/service/MerchantApplyService.java @@ -0,0 +1,42 @@ +package com.gxwebsoft.shop.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.shop.entity.MerchantApply; +import com.gxwebsoft.shop.param.MerchantApplyParam; + +import java.util.List; + +/** + * 商户入驻申请Service + * + * @author 科技小王子 + * @since 2024-04-05 01:24:36 + */ +public interface MerchantApplyService extends IService { + + /** + * 分页关联查询 + * + * @param param 查询参数 + * @return PageResult + */ + PageResult pageRel(MerchantApplyParam param); + + /** + * 关联查询全部 + * + * @param param 查询参数 + * @return List + */ + List listRel(MerchantApplyParam param); + + /** + * 根据id查询 + * + * @param applyId ID + * @return MerchantApply + */ + MerchantApply getByIdRel(Integer applyId); + +} diff --git a/src/main/java/com/gxwebsoft/shop/service/MerchantService.java b/src/main/java/com/gxwebsoft/shop/service/MerchantService.java new file mode 100644 index 0000000..503ffb3 --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/service/MerchantService.java @@ -0,0 +1,42 @@ +package com.gxwebsoft.shop.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.shop.entity.Merchant; +import com.gxwebsoft.shop.param.MerchantParam; + +import java.util.List; + +/** + * 商户Service + * + * @author 科技小王子 + * @since 2024-04-05 00:03:54 + */ +public interface MerchantService extends IService { + + /** + * 分页关联查询 + * + * @param param 查询参数 + * @return PageResult + */ + PageResult pageRel(MerchantParam param); + + /** + * 关联查询全部 + * + * @param param 查询参数 + * @return List + */ + List listRel(MerchantParam param); + + /** + * 根据id查询 + * + * @param merchantId ID + * @return Merchant + */ + Merchant getByIdRel(Integer merchantId); + +} diff --git a/src/main/java/com/gxwebsoft/shop/service/MerchantTypeService.java b/src/main/java/com/gxwebsoft/shop/service/MerchantTypeService.java new file mode 100644 index 0000000..b13aaf9 --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/service/MerchantTypeService.java @@ -0,0 +1,42 @@ +package com.gxwebsoft.shop.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.shop.entity.MerchantType; +import com.gxwebsoft.shop.param.MerchantTypeParam; + +import java.util.List; + +/** + * 商户类型Service + * + * @author 科技小王子 + * @since 2024-04-05 00:08:51 + */ +public interface MerchantTypeService extends IService { + + /** + * 分页关联查询 + * + * @param param 查询参数 + * @return PageResult + */ + PageResult pageRel(MerchantTypeParam param); + + /** + * 关联查询全部 + * + * @param param 查询参数 + * @return List + */ + List listRel(MerchantTypeParam param); + + /** + * 根据id查询 + * + * @param id ID + * @return MerchantType + */ + MerchantType getByIdRel(Integer id); + +} diff --git a/src/main/java/com/gxwebsoft/shop/service/impl/BrandServiceImpl.java b/src/main/java/com/gxwebsoft/shop/service/impl/BrandServiceImpl.java new file mode 100644 index 0000000..b76c96d --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/service/impl/BrandServiceImpl.java @@ -0,0 +1,47 @@ +package com.gxwebsoft.shop.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.shop.mapper.BrandMapper; +import com.gxwebsoft.shop.service.BrandService; +import com.gxwebsoft.shop.entity.Brand; +import com.gxwebsoft.shop.param.BrandParam; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.PageResult; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 品牌Service实现 + * + * @author 科技小王子 + * @since 2024-04-04 11:38:21 + */ +@Service +public class BrandServiceImpl extends ServiceImpl implements BrandService { + + @Override + public PageResult pageRel(BrandParam param) { + PageParam page = new PageParam<>(param); + page.setDefaultOrder("sort_number asc, create_time desc"); + List list = baseMapper.selectPageRel(page, param); + return new PageResult<>(list, page.getTotal()); + } + + @Override + public List listRel(BrandParam param) { + List list = baseMapper.selectListRel(param); + // 排序 + PageParam page = new PageParam<>(); + page.setDefaultOrder("sort_number asc, create_time desc"); + return page.sortRecords(list); + } + + @Override + public Brand getByIdRel(Integer brandId) { + BrandParam param = new BrandParam(); + param.setBrandId(brandId); + return param.getOne(baseMapper.selectListRel(param)); + } + +} diff --git a/src/main/java/com/gxwebsoft/shop/service/impl/GoodsServiceImpl.java b/src/main/java/com/gxwebsoft/shop/service/impl/GoodsServiceImpl.java index 6d5daca..11aa4f7 100644 --- a/src/main/java/com/gxwebsoft/shop/service/impl/GoodsServiceImpl.java +++ b/src/main/java/com/gxwebsoft/shop/service/impl/GoodsServiceImpl.java @@ -1,15 +1,25 @@ package com.gxwebsoft.shop.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.shop.entity.GoodsSku; +import com.gxwebsoft.shop.entity.GoodsSpec; +import com.gxwebsoft.shop.entity.SpecValue; import com.gxwebsoft.shop.mapper.GoodsMapper; import com.gxwebsoft.shop.service.GoodsService; import com.gxwebsoft.shop.entity.Goods; import com.gxwebsoft.shop.param.GoodsParam; import com.gxwebsoft.common.core.web.PageParam; import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.shop.service.GoodsSkuService; +import com.gxwebsoft.shop.service.GoodsSpecService; +import org.apache.tomcat.util.buf.StringUtils; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.List; +import java.util.stream.Collectors; /** * 商品记录表Service实现 @@ -19,6 +29,10 @@ import java.util.List; */ @Service public class GoodsServiceImpl extends ServiceImpl implements GoodsService { + @Resource + private GoodsSpecService goodsSpecService; + @Resource + private GoodsSkuService goodsSkuService; @Override public PageResult pageRel(GoodsParam param) { @@ -44,4 +58,22 @@ public class GoodsServiceImpl extends ServiceImpl implements return param.getOne(baseMapper.selectListRel(param)); } + @Override + public void saveBatchByAsync(Goods goods) { + // 保存商品规格 + final List goodsSpecs = goods.getGoodsSpecs(); + goodsSpecs.forEach(d -> { + d.setGoodsId(goods.getGoodsId()); + final List collect = d.getValueList().stream().map(SpecValue::getSpecValue).collect(Collectors.toList()); + d.setSpecValues(StringUtils.join(collect, ',')); + }); + goodsSpecService.saveBatch(goodsSpecs); + // 保存商品sku表 + final List goodsSkus = goods.getGoodsSkus(); + goodsSkus.forEach(d -> { + d.setGoodsId(goods.getGoodsId()); + }); + goodsSkuService.saveBatch(goodsSkus); + } + } diff --git a/src/main/java/com/gxwebsoft/shop/service/impl/MerchantApplyServiceImpl.java b/src/main/java/com/gxwebsoft/shop/service/impl/MerchantApplyServiceImpl.java new file mode 100644 index 0000000..9a67890 --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/service/impl/MerchantApplyServiceImpl.java @@ -0,0 +1,47 @@ +package com.gxwebsoft.shop.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.shop.mapper.MerchantApplyMapper; +import com.gxwebsoft.shop.service.MerchantApplyService; +import com.gxwebsoft.shop.entity.MerchantApply; +import com.gxwebsoft.shop.param.MerchantApplyParam; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.PageResult; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 商户入驻申请Service实现 + * + * @author 科技小王子 + * @since 2024-04-05 01:24:36 + */ +@Service +public class MerchantApplyServiceImpl extends ServiceImpl implements MerchantApplyService { + + @Override + public PageResult pageRel(MerchantApplyParam param) { + PageParam page = new PageParam<>(param); + page.setDefaultOrder("sort_number asc, create_time desc"); + List list = baseMapper.selectPageRel(page, param); + return new PageResult<>(list, page.getTotal()); + } + + @Override + public List listRel(MerchantApplyParam param) { + List list = baseMapper.selectListRel(param); + // 排序 + PageParam page = new PageParam<>(); + page.setDefaultOrder("sort_number asc, create_time desc"); + return page.sortRecords(list); + } + + @Override + public MerchantApply getByIdRel(Integer applyId) { + MerchantApplyParam param = new MerchantApplyParam(); + param.setApplyId(applyId); + return param.getOne(baseMapper.selectListRel(param)); + } + +} diff --git a/src/main/java/com/gxwebsoft/shop/service/impl/MerchantServiceImpl.java b/src/main/java/com/gxwebsoft/shop/service/impl/MerchantServiceImpl.java new file mode 100644 index 0000000..0df674f --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/service/impl/MerchantServiceImpl.java @@ -0,0 +1,47 @@ +package com.gxwebsoft.shop.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.shop.mapper.MerchantMapper; +import com.gxwebsoft.shop.service.MerchantService; +import com.gxwebsoft.shop.entity.Merchant; +import com.gxwebsoft.shop.param.MerchantParam; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.PageResult; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 商户Service实现 + * + * @author 科技小王子 + * @since 2024-04-05 00:03:54 + */ +@Service +public class MerchantServiceImpl extends ServiceImpl implements MerchantService { + + @Override + public PageResult pageRel(MerchantParam param) { + PageParam page = new PageParam<>(param); + page.setDefaultOrder("sort_number asc, create_time desc"); + List list = baseMapper.selectPageRel(page, param); + return new PageResult<>(list, page.getTotal()); + } + + @Override + public List listRel(MerchantParam param) { + List list = baseMapper.selectListRel(param); + // 排序 + PageParam page = new PageParam<>(); + page.setDefaultOrder("sort_number asc, create_time desc"); + return page.sortRecords(list); + } + + @Override + public Merchant getByIdRel(Integer merchantId) { + MerchantParam param = new MerchantParam(); + param.setMerchantId(merchantId); + return param.getOne(baseMapper.selectListRel(param)); + } + +} diff --git a/src/main/java/com/gxwebsoft/shop/service/impl/MerchantTypeServiceImpl.java b/src/main/java/com/gxwebsoft/shop/service/impl/MerchantTypeServiceImpl.java new file mode 100644 index 0000000..6e702f9 --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/service/impl/MerchantTypeServiceImpl.java @@ -0,0 +1,47 @@ +package com.gxwebsoft.shop.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.shop.mapper.MerchantTypeMapper; +import com.gxwebsoft.shop.service.MerchantTypeService; +import com.gxwebsoft.shop.entity.MerchantType; +import com.gxwebsoft.shop.param.MerchantTypeParam; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.PageResult; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 商户类型Service实现 + * + * @author 科技小王子 + * @since 2024-04-05 00:08:51 + */ +@Service +public class MerchantTypeServiceImpl extends ServiceImpl implements MerchantTypeService { + + @Override + public PageResult pageRel(MerchantTypeParam param) { + PageParam page = new PageParam<>(param); + page.setDefaultOrder("sort_number asc, create_time desc"); + List list = baseMapper.selectPageRel(page, param); + return new PageResult<>(list, page.getTotal()); + } + + @Override + public List listRel(MerchantTypeParam param) { + List list = baseMapper.selectListRel(param); + // 排序 + PageParam page = new PageParam<>(); + page.setDefaultOrder("sort_number asc, create_time desc"); + return page.sortRecords(list); + } + + @Override + public MerchantType getByIdRel(Integer id) { + MerchantTypeParam param = new MerchantTypeParam(); + param.setId(id); + return param.getOne(baseMapper.selectListRel(param)); + } + +} diff --git a/src/test/java/com/gxwebsoft/generator/ShopGenerator.java b/src/test/java/com/gxwebsoft/generator/ShopGenerator.java index a6625e5..2e34fc9 100644 --- a/src/test/java/com/gxwebsoft/generator/ShopGenerator.java +++ b/src/test/java/com/gxwebsoft/generator/ShopGenerator.java @@ -50,7 +50,6 @@ public class ShopGenerator { // "shop_spec_value" // "shop_goods", // "shop_goods_spec", - "shop_goods_spec_rel", // "shop_goods_sku", // "shop_goods_category", // "shop_goods_coupon", @@ -59,6 +58,10 @@ public class ShopGenerator { // "shop_goods_relation", // "shop_goods_comment", // "shop_goods_rule" +// "shop_brand", +// "shop_merchant", +// "shop_merchant_type", + "shop_merchant_apply" }; // 需要去除的表前缀 private static final String[] TABLE_PREFIX = new String[]{ diff --git a/src/test/java/com/gxwebsoft/generator/templates/components.edit.vue.btl b/src/test/java/com/gxwebsoft/generator/templates/components.edit.vue.btl index abd7a35..1e0c8a2 100644 --- a/src/test/java/com/gxwebsoft/generator/templates/components.edit.vue.btl +++ b/src/test/java/com/gxwebsoft/generator/templates/components.edit.vue.btl @@ -19,37 +19,65 @@ styleResponsive ? { md: 19, sm: 19, xs: 24 } : { flex: '1' } " > - - - - + <% for(field in table.fields) { %> + <% if(field.propertyName == 'comments'){ %> + - + <% } %> + <% else if(field.propertyName == 'sortNumber'){ %> + - + <% } %> + <% else if(field.propertyName == 'status'){ %> + 显示 隐藏 + <% } %> + <% else if(field.propertyName == 'image'){ %> + + + + <% } %> + <% else if(field.keyFlag){ %> + <% } %> + <% else if(field.propertyName == 'tenantId'){ %> + <% } %> + <% else if(field.propertyName == 'createTime'){ %> + <% } %> + <% else { %> + + + + <% } %> + <% } %> @@ -57,12 +85,14 @@