记得上下班打卡 | git大法好,push需谨慎

Commit 16423aa0 authored by 张国柄's avatar 张国柄

+API:店铺商品分类管理;

parent a3159716
...@@ -13,6 +13,11 @@ public class GoblinRedisConst { ...@@ -13,6 +13,11 @@ public class GoblinRedisConst {
* {goblin:basic:store:${store_id}, com.liquidnet.service.goblin.dto.vo.GoblinStoreInfoVo} * {goblin:basic:store:${store_id}, com.liquidnet.service.goblin.dto.vo.GoblinStoreInfoVo}
*/ */
public static final String BASIC_STORE = PREFIX.concat("basic:store:"); public static final String BASIC_STORE = PREFIX.concat("basic:store:");
/**
* 店铺商品分类信息
* {goblin:basic:store:${store_id}, com.liquidnet.service.goblin.dto.vo.GoblinStoreInfoVo}
*/
public static final String BASIC_STORE_GOODS_CATEGORY = PREFIX.concat("basic:store_g_c:");
/** /**
* SPU信息 * SPU信息
* {goblin:basic:goods:${spu_id}, com.liquidnet.service.goblin.dto.vo.GoblinGoodsInfoVo} * {goblin:basic:goods:${spu_id}, com.liquidnet.service.goblin.dto.vo.GoblinGoodsInfoVo}
......
...@@ -25,11 +25,41 @@ public class GoblinSelfGoodsCategoryVo implements Serializable, Cloneable { ...@@ -25,11 +25,41 @@ public class GoblinSelfGoodsCategoryVo implements Serializable, Cloneable {
@ApiModelProperty(position = 16, value = "是否需要填写ISBN[0-否|1-是]") @ApiModelProperty(position = 16, value = "是否需要填写ISBN[0-否|1-是]")
private String neIsbn; private String neIsbn;
public GoblinSelfGoodsCategoryVo setCateId(String cateId) {
this.cateId = cateId;
return this;
}
public GoblinSelfGoodsCategoryVo setName(String name) {
this.name = name;
return this;
}
public GoblinSelfGoodsCategoryVo setIcon(String icon) {
this.icon = icon;
return this;
}
public GoblinSelfGoodsCategoryVo setSort(Integer sort) { public GoblinSelfGoodsCategoryVo setSort(Integer sort) {
this.sort = sort; this.sort = sort;
return this; return this;
} }
public GoblinSelfGoodsCategoryVo setGrade(String grade) {
this.grade = grade;
return this;
}
public GoblinSelfGoodsCategoryVo setCatePid(String catePid) {
this.catePid = catePid;
return this;
}
public GoblinSelfGoodsCategoryVo setNeIsbn(String neIsbn) {
this.neIsbn = neIsbn;
return this;
}
private static final GoblinSelfGoodsCategoryVo obj = new GoblinSelfGoodsCategoryVo(); private static final GoblinSelfGoodsCategoryVo obj = new GoblinSelfGoodsCategoryVo();
public static GoblinSelfGoodsCategoryVo getNew() { public static GoblinSelfGoodsCategoryVo getNew() {
try { try {
......
...@@ -2,7 +2,6 @@ package com.liquidnet.service.goblin.dto.vo; ...@@ -2,7 +2,6 @@ package com.liquidnet.service.goblin.dto.vo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinMgtCategorySpecVo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -31,15 +30,45 @@ public class GoblinStoreGoodsCategoryVo implements Serializable, Cloneable { ...@@ -31,15 +30,45 @@ public class GoblinStoreGoodsCategoryVo implements Serializable, Cloneable {
@ApiModelProperty(position = 18, value = "删除标记[0-未删除|1-删除]") @ApiModelProperty(position = 18, value = "删除标记[0-未删除|1-删除]")
private String delFlg; private String delFlg;
private String createdBy; public GoblinStoreGoodsCategoryVo setStoreId(String storeId) {
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR) this.storeId = storeId;
private LocalDateTime createdAt; return this;
private String updatedBy; }
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime updatedAt; public GoblinStoreGoodsCategoryVo setCateId(String cateId) {
private String deletedBy; this.cateId = cateId;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR) return this;
private LocalDateTime deletedAt; }
public GoblinStoreGoodsCategoryVo setName(String name) {
this.name = name;
return this;
}
public GoblinStoreGoodsCategoryVo setSort(Integer sort) {
this.sort = sort;
return this;
}
public GoblinStoreGoodsCategoryVo setGrade(String grade) {
this.grade = grade;
return this;
}
public GoblinStoreGoodsCategoryVo setCatePid(String catePid) {
this.catePid = catePid;
return this;
}
public GoblinStoreGoodsCategoryVo setNeIsbn(String neIsbn) {
this.neIsbn = neIsbn;
return this;
}
public GoblinStoreGoodsCategoryVo setDelFlg(String delFlg) {
this.delFlg = delFlg;
return this;
}
private static final GoblinStoreGoodsCategoryVo obj = new GoblinStoreGoodsCategoryVo(); private static final GoblinStoreGoodsCategoryVo obj = new GoblinStoreGoodsCategoryVo();
......
package com.liquidnet.service.goblin.service.manage;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreGoodsCategoryVo;
import java.util.List;
public interface IGoblinStoreMgtCategoryService {
/**
* 店铺商品分类:列表
*
* @param storeId 店铺ID
* @return List<GoblinStoreGoodsCategoryVo>
*/
List<GoblinStoreGoodsCategoryVo> list(String storeId);
/**
* 店铺商品分类:添加
*
* @param uid UID
* @param storeGoodsCategoryVos List<GoblinStoreGoodsCategoryVo>
* @return boolean
*/
boolean add(String uid, List<GoblinStoreGoodsCategoryVo> storeGoodsCategoryVos);
/**
* 店铺商品分类:编辑
*
* @param uid UID
* @param storeGoodsCategoryVo GoblinStoreGoodsCategoryVo
* @return boolean
*/
boolean edit(String uid, GoblinStoreGoodsCategoryVo storeGoodsCategoryVo);
/**
* 店铺商品分类:删除
*
* @param uid UID
* @param storeId 店铺ID
* @param cateid 店铺分类ID
* @return boolean
*/
boolean del(String uid, String storeId, String cateid);
}
package com.liquidnet.service.goblin.controller.manage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.GoblinServiceSupportVo;
import com.liquidnet.service.goblin.service.manage.IGoblinMgtServiceSupportService;
import com.liquidnet.service.goblin.util.GoblinMongoUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@ApiSupport(order = 149003)
@Api(tags = "服务支持管理")
@Slf4j
@Validated
@RestController
@RequestMapping("mgt/sevs")
public class GoblinMgtServiceSupportController {
@Autowired
IGoblinMgtServiceSupportService goblinMgtServiceSupportService;
@ApiOperationSupport(order = 1)
@ApiOperation(value = "服务支持列表")
@PostMapping("list")
public ResponseDto<List<GoblinServiceSupportVo>> list() {
return ResponseDto.success(goblinMgtServiceSupportService.list());
}
}
...@@ -2,33 +2,122 @@ package com.liquidnet.service.goblin.controller.manage; ...@@ -2,33 +2,122 @@ package com.liquidnet.service.goblin.controller.manage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport; import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.service.base.PagedResult; import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreGoodsCategoryVo; import com.liquidnet.service.goblin.dto.vo.GoblinStoreGoodsCategoryVo;
import com.liquidnet.service.goblin.util.GoblinMongoUtils; import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtCategoryService;
import com.liquidnet.service.goblin.util.GoblinRedisUtils;
import com.liquidnet.service.goblin.util.ObjectUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@ApiSupport(order = 149003) import javax.validation.constraints.Min;
@Api(tags = "店铺分类管理") import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
import java.util.List;
@ApiSupport(order = 149005)
@Api(tags = "店铺商品分类管理")
@Slf4j @Slf4j
@Validated @Validated
@RestController @RestController
@RequestMapping("store/mgt/category") @RequestMapping("store/mgt/category")
public class GoblinStoreMgtCategoryController { public class GoblinStoreMgtCategoryController {
@Autowired @Autowired
GoblinMongoUtils goblinMongoUtils; IGoblinStoreMgtCategoryService goblinStoreMgtCategoryService;
@Autowired
GoblinRedisUtils goblinRedisUtils;
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)
@ApiOperation(value = "列表") @ApiOperation(value = "列表")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "storeId", value = "店铺ID[64]"),
})
@GetMapping("list") @GetMapping("list")
public ResponseDto<PagedResult<GoblinStoreGoodsCategoryVo>> list() { public ResponseDto<List<GoblinStoreGoodsCategoryVo>> list(@NotBlank(message = "店铺ID不能为空") @RequestParam String storeId) {
return ResponseDto.success(null); return ResponseDto.success(goblinStoreMgtCategoryService.list(storeId));
}
@ApiOperationSupport(order = 2)
@ApiOperation(value = "添加")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "storeId", value = "店铺ID[64]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "catefid", value = "平台一级分类ID[30]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "catesid", value = "平台二级分类ID[30]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "catetid", value = "平台三级分类ID[30]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "catename", value = "店铺三级分类名称[50]"),
@ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "sort", value = "排序[数值越小,排序越前]"),
})
@GetMapping("add")
public ResponseDto<Object> add(@NotBlank(message = "店铺ID不能为空") @RequestParam String storeId,
@NotBlank(message = "平台一级分类ID不能为空") @RequestParam String catefid,
@NotBlank(message = "平台二级分类不能为空") @RequestParam String catesid,
@NotBlank(message = "平台三级分类不能为空") @RequestParam String catetid,
@NotBlank(message = "店铺三级分类名称不能为空") @RequestParam String catename,
@Min(value = 0, message = "排序不能小于0") @RequestParam Integer sort) {
String currentUid = CurrentUtil.getCurrentUid();
if (!goblinRedisUtils.hasStoreId(currentUid, storeId)) {
return ResponseDto.failure(ErrorMapping.get("149002"));
}
// TODO: 2022/1/11 zhanggb 逻辑校验,数据整理
String catefname = "1级分类", catesname = "2级分类", catefgrade = "1", catesgrade = "2";
int catefsort = 1, catessort=1;
ArrayList<GoblinStoreGoodsCategoryVo> storeGoodsCategoryVoList = ObjectUtil.getGoblinStoreGoodsCategoryVoArrayList();
storeGoodsCategoryVoList.add(GoblinStoreGoodsCategoryVo.getNew().setStoreId(storeId).setCateId(catefid).setName(catefname)
.setSort(catefsort).setGrade(catefgrade).setCatePid(null));
storeGoodsCategoryVoList.add(GoblinStoreGoodsCategoryVo.getNew().setStoreId(storeId).setCateId(catesid).setName(catesname)
.setSort(catessort).setGrade(catesgrade).setCatePid(catefid));
storeGoodsCategoryVoList.add(GoblinStoreGoodsCategoryVo.getNew().setStoreId(storeId).setCateId(IDGenerator.nextMilliId2()).setName(catename)
.setSort(null == sort ? 0 : sort).setGrade("3").setCatePid(catesid));
return ResponseDto.success(goblinStoreMgtCategoryService.add(currentUid, storeGoodsCategoryVoList));
}
@ApiOperationSupport(order = 3)
@ApiOperation(value = "编辑")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "storeId", value = "店铺ID[64]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "cateid", value = "平台三级分类ID[30]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "catename", value = "店铺三级分类名称[50]"),
@ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "sort", value = "排序[数值越小,排序越前]"), })
@GetMapping("edit")
public ResponseDto<Object> edit(@NotBlank(message = "店铺ID不能为空") @RequestParam String storeId,
@NotBlank(message = "店铺三级分类ID不能为空") @RequestParam String cateid,
@NotBlank(message = "店铺三级分类名称不能为空") @RequestParam String catename,
@Min(value = 0, message = "排序不能小于0") @RequestParam Integer sort) {
String currentUid = CurrentUtil.getCurrentUid();
if (!goblinRedisUtils.hasStoreId(currentUid, storeId)) {
return ResponseDto.failure(ErrorMapping.get("149002"));
}
GoblinStoreGoodsCategoryVo storeGoodsCategoryVo = GoblinStoreGoodsCategoryVo.getNew()
.setStoreId(storeId).setCateId(cateid).setName(catename).setSort(sort);
return ResponseDto.success(goblinStoreMgtCategoryService.edit(currentUid, storeGoodsCategoryVo));
}
@ApiOperationSupport(order = 4)
@ApiOperation(value = "删除")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "storeId", value = "店铺ID[64]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "cateid", value = "店铺三级分类ID[30]"),
})
@GetMapping("del")
public ResponseDto<Object> del(@NotBlank(message = "店铺ID不能为空") @RequestParam String storeId,
@NotBlank(message = "店铺三级分类ID不能为空") @RequestParam String cateid) {
String currentUid = CurrentUtil.getCurrentUid();
if (!goblinRedisUtils.hasStoreId(currentUid, storeId)) {
return ResponseDto.failure(ErrorMapping.get("149002"));
}
return ResponseDto.success(goblinStoreMgtCategoryService.del(currentUid, storeId, cateid));
} }
} }
...@@ -4,9 +4,13 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; ...@@ -4,9 +4,13 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport; import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinMgtCategorySpecVo; import com.liquidnet.service.goblin.dto.manage.vo.GoblinMgtCategorySpecVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSelfGoodsCategoryVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSelfTagVo; import com.liquidnet.service.goblin.dto.vo.GoblinSelfTagVo;
import com.liquidnet.service.goblin.dto.vo.GoblinServiceSupportVo;
import com.liquidnet.service.goblin.service.manage.IGoblinMgtServiceSupportService;
import com.liquidnet.service.goblin.util.GoblinMongoUtils; import com.liquidnet.service.goblin.util.GoblinMongoUtils;
import com.liquidnet.service.goblin.util.GoblinRedisUtils; import com.liquidnet.service.goblin.util.GoblinRedisUtils;
import com.liquidnet.service.goblin.util.ObjectUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
...@@ -15,13 +19,11 @@ import lombok.extern.slf4j.Slf4j; ...@@ -15,13 +19,11 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern; import javax.validation.constraints.Pattern;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@ApiSupport(order = 149003) @ApiSupport(order = 149003)
...@@ -35,20 +37,48 @@ public class GoblinStoreMgtExtraController { ...@@ -35,20 +37,48 @@ public class GoblinStoreMgtExtraController {
GoblinRedisUtils goblinRedisUtils; GoblinRedisUtils goblinRedisUtils;
@Autowired @Autowired
GoblinMongoUtils goblinMongoUtils; GoblinMongoUtils goblinMongoUtils;
@Autowired
IGoblinMgtServiceSupportService goblinMgtServiceSupportService;
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)
@ApiOperation(value = "分类关联的规格信息") @ApiOperation(value = "平台商品分类")
@GetMapping("sg_categorys")
public ResponseDto<List<GoblinSelfGoodsCategoryVo>> selfGoodsCategoryList(@RequestParam String cateId) {
if (StringUtils.isBlank(cateId)) return ResponseDto.success();
// TODO: 2022/1/11 redis+mongo.get
ArrayList<GoblinSelfGoodsCategoryVo> selfGoodsCategoryVoList = ObjectUtil.getGoblinSelfGoodsCategoryVoArrayList();
selfGoodsCategoryVoList.add(
GoblinSelfGoodsCategoryVo.getNew().setCateId("100000").setName("1级").setSort(1).setGrade("1").setNeIsbn("0")
);
selfGoodsCategoryVoList.add(
GoblinSelfGoodsCategoryVo.getNew().setCateId("100100").setName("2级").setSort(1).setGrade("2").setNeIsbn("0")
);
selfGoodsCategoryVoList.add(
GoblinSelfGoodsCategoryVo.getNew().setCateId("200000").setName("3级").setSort(1).setGrade("3").setNeIsbn("1")
);
return ResponseDto.success(null);
}
@ApiOperationSupport(order = 2)
@ApiOperation(value = "平台分类规格")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "cateId", value = "分类ID"), @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "cateId", value = "分类ID"),
}) })
@GetMapping("cate-specs") @GetMapping("sg_catespecs")
public ResponseDto<List<GoblinMgtCategorySpecVo>> categorySpecList(@RequestParam String cateId) { public ResponseDto<List<GoblinMgtCategorySpecVo>> categorySpecList(@RequestParam String cateId) {
if (StringUtils.isBlank(cateId)) return ResponseDto.success(); if (StringUtils.isBlank(cateId)) return ResponseDto.success();
return ResponseDto.success(goblinMongoUtils.getCategorySpecVos(cateId)); return ResponseDto.success(goblinMongoUtils.getCategorySpecVos(cateId));
} }
@ApiOperationSupport(order = 2) @ApiOperationSupport(order = 3)
@ApiOperation(value = "标签信息", notes = "获取商品标签与音乐人、艺人、IP") @ApiOperation(value = "服务支持列表")
@PostMapping("list")
public ResponseDto<List<GoblinServiceSupportVo>> list() {
return ResponseDto.success(goblinMgtServiceSupportService.list());
}
@ApiOperationSupport(order = 4)
@ApiOperation(value = "标签数据", notes = "获取商品标签与音乐人、艺人、IP")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(type = "form", required = false, dataType = "String", name = "keyword", value = "标签关键字"), @ApiImplicitParam(type = "form", required = false, dataType = "String", name = "keyword", value = "标签关键字"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "belong", value = "标签所属[0-普通标签|1-专属标签]", allowableValues = "0,1"), @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "belong", value = "标签所属[0-普通标签|1-专属标签]", allowableValues = "0,1"),
......
...@@ -38,7 +38,7 @@ import java.util.*; ...@@ -38,7 +38,7 @@ import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.IntStream; import java.util.stream.IntStream;
@ApiSupport(order = 149003) @ApiSupport(order = 149004)
@Api(tags = "商品管理") @Api(tags = "商品管理")
@Slf4j @Slf4j
@Validated @Validated
......
...@@ -5,17 +5,17 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport; ...@@ -5,17 +5,17 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.GoblinOrderLogVo; import com.liquidnet.service.goblin.dto.vo.GoblinOrderLogVo;
import com.liquidnet.service.goblin.service.manage.IGoblinStoreMoneyService; import com.liquidnet.service.goblin.service.manage.IGoblinStoreMoneyService;
import com.liquidnet.service.goblin.util.GoblinRedisUtils;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
@ApiSupport(order = 149102)
@ApiSupport(order = 149002)
@Api(tags = "店铺资金模块") @Api(tags = "店铺资金模块")
@Slf4j @Slf4j
@Validated @Validated
......
package com.liquidnet.service.goblin.controller.manage; package com.liquidnet.service.goblin.controller.manage;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport; import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtInfoVo;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtThumbVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreInfoVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreOrderListVo; import com.liquidnet.service.goblin.dto.vo.GoblinStoreOrderListVo;
import com.liquidnet.service.goblin.service.manage.IGoblinStoreOrderService; import com.liquidnet.service.goblin.service.manage.IGoblinStoreOrderService;
import com.liquidnet.service.goblin.util.GoblinRedisUtils;
import com.liquidnet.service.goblin.util.ObjectUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
...@@ -26,10 +19,8 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -26,10 +19,8 @@ import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid; import javax.validation.Valid;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@ApiSupport(order = 149002) @ApiSupport(order = 149101)
@Api(tags = "店铺-订单") @Api(tags = "店铺-订单")
@Slf4j @Slf4j
@Validated @Validated
......
package com.liquidnet.service.goblin.controller.manage; package com.liquidnet.service.goblin.controller.manage;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.manage.GoblinStorePurchaseCommonParam; import com.liquidnet.service.goblin.dto.manage.GoblinStorePurchaseCommonParam;
import com.liquidnet.service.goblin.dto.manage.GoblinStorePurchaseParam; import com.liquidnet.service.goblin.dto.manage.GoblinStorePurchaseParam;
...@@ -19,6 +20,7 @@ import java.util.List; ...@@ -19,6 +20,7 @@ import java.util.List;
/** /**
* 商铺活动管理 * 商铺活动管理
*/ */
@ApiSupport(order = 149202)
@Slf4j @Slf4j
@RestController @RestController
@Api(tags = "活动-限时秒杀") @Api(tags = "活动-限时秒杀")
......
package com.liquidnet.service.goblin.controller.manage; package com.liquidnet.service.goblin.controller.manage;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.manage.GoblinStorePurchaseCommonParam;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreZhengzaiCommonParam; import com.liquidnet.service.goblin.dto.manage.GoblinStoreZhengzaiCommonParam;
import com.liquidnet.service.goblin.dto.vo.GoblinMarketSpuListVo; import com.liquidnet.service.goblin.dto.vo.GoblinMarketSpuListVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSelfMarketingVo; import com.liquidnet.service.goblin.dto.vo.GoblinSelfMarketingVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSelfZhengzaiSkuVo; import com.liquidnet.service.goblin.dto.vo.GoblinSelfZhengzaiSkuVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStorePurchaseSkuVo;
import com.liquidnet.service.goblin.service.manage.IGoblinZhengzaiService; import com.liquidnet.service.goblin.service.manage.IGoblinZhengzaiService;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -19,6 +18,7 @@ import java.util.List; ...@@ -19,6 +18,7 @@ import java.util.List;
/** /**
* 正在下单活动管理 * 正在下单活动管理
*/ */
@ApiSupport(order = 149201)
@Slf4j @Slf4j
@RestController @RestController
@Api(tags = "活动-正在下单") @Api(tags = "活动-正在下单")
......
package com.liquidnet.service.goblin.service.impl.manage;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreGoodsCategoryVo;
import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtCategoryService;
import com.liquidnet.service.goblin.util.GoblinMongoUtils;
import com.liquidnet.service.goblin.util.GoblinRedisUtils;
import com.liquidnet.service.goblin.util.QueueUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class GoblinStoreMgtCategoryServiceImpl implements IGoblinStoreMgtCategoryService {
@Autowired
private QueueUtils queueUtils;
@Autowired
private GoblinRedisUtils goblinRedisUtils;
@Autowired
private GoblinMongoUtils goblinMongoUtils;
@Override
public List<GoblinStoreGoodsCategoryVo> list(String storeId) {
return goblinRedisUtils.getStoreGoodsCategoryVos(storeId);
}
@Override
public boolean add(String uid, List<GoblinStoreGoodsCategoryVo> storeGoodsCategoryVos) {
// TODO: 2022/1/11 zhanggb
return true;
}
@Override
public boolean edit(String uid, GoblinStoreGoodsCategoryVo storeGoodsCategoryVo) {
// TODO: 2022/1/11 zhanggb
return true;
}
@Override
public boolean del(String uid, String storeId, String cateid) {
// TODO: 2022/1/11 zhanggb
return true;
}
}
...@@ -41,9 +41,16 @@ public class GoblinMongoUtils { ...@@ -41,9 +41,16 @@ public class GoblinMongoUtils {
@Autowired @Autowired
MongoConverter mongoConverter; MongoConverter mongoConverter;
/* ---------------------------------------- 分类数据源 ---------------------------------------- */ /* ---------------------------------------- 平台分类数据源 ---------------------------------------- */
/* ---------------------------------------- 分类规格数据源 ---------------------------------------- */ /* ---------------------------------------- 店铺分类数据源 ---------------------------------------- */
public List<GoblinStoreGoodsCategoryVo> getStoreGoodsCategoryVos(String storeId) {
return mongoTemplate.find(Query.query(Criteria.where("storeId").is(storeId)),
GoblinStoreGoodsCategoryVo.class, GoblinGoodsInfoVo.class.getSimpleName());
}
/* ---------------------------------------- 平台分类规格数据源 ---------------------------------------- */
public List<GoblinMgtCategorySpecVo> getCategorySpecVos(String cateId) { public List<GoblinMgtCategorySpecVo> getCategorySpecVos(String cateId) {
return mongoTemplate.find(Query.query(Criteria.where("cateId").is(cateId).and("delFlg").is("0")), return mongoTemplate.find(Query.query(Criteria.where("cateId").is(cateId).and("delFlg").is("0")),
......
package com.liquidnet.service.goblin.util; package com.liquidnet.service.goblin.util;
import com.fasterxml.jackson.core.type.TypeReference;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.CollectionUtil; import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.commons.lang.util.RandomUtil; import com.liquidnet.commons.lang.util.RandomUtil;
import com.liquidnet.service.goblin.constant.GoblinRedisConst; import com.liquidnet.service.goblin.constant.GoblinRedisConst;
import com.liquidnet.service.goblin.dto.vo.*; import com.liquidnet.service.goblin.dto.vo.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
...@@ -65,37 +68,34 @@ public class GoblinRedisUtils { ...@@ -65,37 +68,34 @@ public class GoblinRedisUtils {
return (int) redisUtil.decr(rk, stock); return (int) redisUtil.decr(rk, stock);
} }
/* ---------------------------------------- 其他数据源 ---------------------------------------- */ /* ---------------------------------------- 平台分类数据源 ---------------------------------------- */
public List<GoblinSelfGoodsCategoryVo> getSelfGoodsCategoryVos() { public List<GoblinSelfGoodsCategoryVo> getSelfGoodsCategoryVos() {
ArrayList<GoblinSelfGoodsCategoryVo> selfGoodsCategoryVoList = ObjectUtil.getGoblinSelfGoodsCategoryVoArrayList(); ArrayList<GoblinSelfGoodsCategoryVo> selfGoodsCategoryVoList = ObjectUtil.getGoblinSelfGoodsCategoryVoArrayList();
for (int i = 0; i < 3; i++) { selfGoodsCategoryVoList.add(GoblinSelfGoodsCategoryVo.getNew().setCateId("10000").setName("一级分类").setSort(1)
GoblinSelfGoodsCategoryVo vo = GoblinSelfGoodsCategoryVo.getNew(); .setCatePid(null).setGrade("1").setNeIsbn("0").setIcon("https://img.zhengzai.tv/files/2020/08/31/5f4c75095e9bc.png"));
vo.setCateId("10000"); selfGoodsCategoryVoList.add(GoblinSelfGoodsCategoryVo.getNew().setCateId("10100").setName("二级分类").setSort(1)
vo.setName("分类一级"); .setCatePid("10000").setGrade("2").setNeIsbn("0").setIcon("https://img.zhengzai.tv/files/2020/08/31/5f4c75095e9bc.png"));
vo.setSort(i); selfGoodsCategoryVoList.add(GoblinSelfGoodsCategoryVo.getNew().setCateId("10101").setName("三级分类").setSort(1)
vo.setCatePid(""); .setCatePid("10100").setGrade("3").setNeIsbn("1").setIcon("https://img.zhengzai.tv/files/2020/08/31/5f4c75095e9bc.png"));
vo.setGrade(i + 1 + "");
vo.setNeIsbn("0");
vo.setIcon("https://img.zhengzai.tv/files/2020/08/31/5f4c75095e9bc.png");
if (i == 1) {
vo.setNeIsbn("1");
vo.setCateId("10100");
vo.setName("分类二级");
vo.setCatePid("10001");
vo.setIcon("https://img.zhengzai.tv/files/2020/08/31/5f4c75095e9bc.png");
}
if (i == 2) {
vo.setNeIsbn("0");
vo.setCateId("10101");
vo.setName("分类三级");
vo.setCatePid("10100");
vo.setIcon("https://img.zhengzai.tv/files/2020/08/31/5f4c75095e9bc.png");
}
selfGoodsCategoryVoList.add(vo);
}
return selfGoodsCategoryVoList; return selfGoodsCategoryVoList;
} }
/* ---------------------------------------- 店铺分类数据源 ---------------------------------------- */
public List<GoblinStoreGoodsCategoryVo> getStoreGoodsCategoryVos(String storeId) {
String rk = GoblinRedisConst.BASIC_STORE_GOODS_CATEGORY.concat(storeId);
String valStr = (String) redisUtil.get(rk);
boolean valStrIsEmptyFlg = StringUtils.isEmpty(valStr);
List<GoblinStoreGoodsCategoryVo> vos = null;
if (valStrIsEmptyFlg && !CollectionUtils.isEmpty(vos = goblinMongoUtils.getStoreGoodsCategoryVos(storeId))) {
valStr = JsonUtils.toJson(vos);
// redisUtil.set(rk, valStr);// TODO: 2022/1/11 zhanggb 暂不启用
} else if (!valStrIsEmptyFlg) {
vos = JsonUtils.fromJson(valStr, new TypeReference<List<GoblinStoreGoodsCategoryVo>>() {
});
}
return vos;
}
/* ---------------------------------------- 店铺数据源 ---------------------------------------- */ /* ---------------------------------------- 店铺数据源 ---------------------------------------- */
...@@ -520,7 +520,7 @@ public class GoblinRedisUtils { ...@@ -520,7 +520,7 @@ public class GoblinRedisUtils {
public void addUnPayOrder(String orderId) { public void addUnPayOrder(String orderId) {
int randomKey = RandomUtil.getRandomInt(0, randomMax); int randomKey = RandomUtil.getRandomInt(0, randomMax);
String redisKey = GoblinRedisConst.REDIS_GOBLIN_ORDER_UN_PAY.concat(randomKey + ""); String redisKey = GoblinRedisConst.REDIS_GOBLIN_ORDER_UN_PAY.concat(randomKey + "");
List<String> list = getUnPayOrder(randomKey+""); List<String> list = getUnPayOrder(randomKey + "");
list.add(orderId); list.add(orderId);
redisUtil.set(redisKey, list); redisUtil.set(redisKey, list);
} }
...@@ -574,18 +574,18 @@ public class GoblinRedisUtils { ...@@ -574,18 +574,18 @@ public class GoblinRedisUtils {
//主订单下包含的子订单 //主订单下包含的子订单
public void setMasterCode(String masterCode,String orderIds){ public void setMasterCode(String masterCode, String orderIds) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_ORDER_MASTER.concat(masterCode); String redisKey = GoblinRedisConst.REDIS_GOBLIN_ORDER_MASTER.concat(masterCode);
redisUtil.set(redisKey, orderIds); redisUtil.set(redisKey, orderIds);
} }
public String[] getMasterCode(String masterCode){ public String[] getMasterCode(String masterCode) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_ORDER_MASTER.concat(masterCode); String redisKey = GoblinRedisConst.REDIS_GOBLIN_ORDER_MASTER.concat(masterCode);
Object obj =redisUtil.get(redisKey); Object obj = redisUtil.get(redisKey);
if(obj==null){ if (obj == null) {
return null; return null;
}else{ } else {
return ((String)obj).split(","); return ((String) obj).split(",");
} }
} }
......
...@@ -29,6 +29,7 @@ public class ObjectUtil { ...@@ -29,6 +29,7 @@ public class ObjectUtil {
private static final ArrayList<GoblinSelfTagVo> goblinSelfTagVoArrayList = new ArrayList<>(); private static final ArrayList<GoblinSelfTagVo> goblinSelfTagVoArrayList = new ArrayList<>();
private static final ArrayList<GoblinGoodsTagVo> goblinGoodsTagVoArrayList = new ArrayList<>(); private static final ArrayList<GoblinGoodsTagVo> goblinGoodsTagVoArrayList = new ArrayList<>();
private static final ArrayList<GoblinSelfGoodsCategoryVo> goblinSelfGoodsCategoryVoArrayList = new ArrayList<>(); private static final ArrayList<GoblinSelfGoodsCategoryVo> goblinSelfGoodsCategoryVoArrayList = new ArrayList<>();
private static final ArrayList<GoblinStoreGoodsCategoryVo> goblinStoreGoodsCategoryVoArrayList = new ArrayList<>();
private static final ArrayList<GoblinGoodsExtagVo> goblinGoodsExtagVoArrayList = new ArrayList<>(); private static final ArrayList<GoblinGoodsExtagVo> goblinGoodsExtagVoArrayList = new ArrayList<>();
private static final ArrayList<GoblinGoodsSpecDto> goblinGoodsSpecDtoArrayList = new ArrayList<>(); private static final ArrayList<GoblinGoodsSpecDto> goblinGoodsSpecDtoArrayList = new ArrayList<>();
private static final ArrayList<GoblinMarketSpuListVo> goblinMarketSpuListVoArrayList = new ArrayList<>(); private static final ArrayList<GoblinMarketSpuListVo> goblinMarketSpuListVoArrayList = new ArrayList<>();
...@@ -149,6 +150,10 @@ public class ObjectUtil { ...@@ -149,6 +150,10 @@ public class ObjectUtil {
return (ArrayList<GoblinSelfGoodsCategoryVo>) goblinSelfGoodsCategoryVoArrayList.clone(); return (ArrayList<GoblinSelfGoodsCategoryVo>) goblinSelfGoodsCategoryVoArrayList.clone();
} }
public static ArrayList<GoblinStoreGoodsCategoryVo> getGoblinStoreGoodsCategoryVoArrayList() {
return (ArrayList<GoblinStoreGoodsCategoryVo>) goblinStoreGoodsCategoryVoArrayList.clone();
}
public static ArrayList<GoblinGoodsExtagVo> getGoblinGoodsExtagVoArrayList() { public static ArrayList<GoblinGoodsExtagVo> getGoblinGoodsExtagVoArrayList() {
return (ArrayList<GoblinGoodsExtagVo>) goblinGoodsExtagVoArrayList.clone(); return (ArrayList<GoblinGoodsExtagVo>) goblinGoodsExtagVoArrayList.clone();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment