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

Commit 1808c504 authored by 张国柄's avatar 张国柄

+API:店铺认证状态、详情编辑;

parent 500fd410
package com.liquidnet.service.goblin.dto.manage; package com.liquidnet.service.goblin.dto.manage;
import com.liquidnet.commons.lang.constant.LnsRegex; import com.liquidnet.commons.lang.constant.LnsRegex;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreCertificationVo;
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;
...@@ -65,4 +66,33 @@ public class GoblinStoreMgtCertificationParam implements java.io.Serializable { ...@@ -65,4 +66,33 @@ public class GoblinStoreMgtCertificationParam implements java.io.Serializable {
private String busCertLasting; private String busCertLasting;
@ApiModelProperty(position = 30, value = "营业执照照片[256]") @ApiModelProperty(position = 30, value = "营业执照照片[256]")
private String busCertPic; private String busCertPic;
@ApiModelProperty(position = 31, value = "营业执照照片[256]")
private String busQualityPic;
public GoblinStoreCertificationVo initStoreCertificationVo() {
GoblinStoreCertificationVo vo = GoblinStoreCertificationVo.getNew();
vo.setPersonCertType(this.getPersonCertType());
vo.setPersonName(this.getPersonName());
vo.setPersonCertCode(this.getPersonCertCode());
vo.setPersonCertValidity(this.getPersonCertValidity());
vo.setPersonCertLasting(this.getPersonCertLasting());
vo.setPersonCertFpic(this.getPersonCertFpic());
vo.setPersonCertBpic(this.getPersonCertBpic());
vo.setPersonCertSpic(this.getPersonCertSpic());
vo.setDelFlg("0");
vo.setProvinceId(this.getProvinceId());
vo.setProvinceName(this.getProvinceName());
vo.setCityId(this.getCityId());
vo.setCityName(this.getCityName());
vo.setCountyId(this.getCountyId());
vo.setCountyName(this.getCountyName());
vo.setBusAddress(this.getBusAddress());
vo.setBusName(this.getBusName());
vo.setBusCertCode(this.getBusCertCode());
vo.setBusCertValidity(this.getBusCertValidity());
vo.setBusCertLasting(this.getBusCertLasting());
vo.setBusCertPic(this.getBusCertPic());
vo.setBusQualityPic(this.getBusQualityPic());
return vo;
}
} }
package com.liquidnet.service.goblin.dto.manage; package com.liquidnet.service.goblin.dto.manage;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreInfoVo;
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;
...@@ -16,4 +17,12 @@ public class GoblinStoreMgtCompleteParam implements java.io.Serializable { ...@@ -16,4 +17,12 @@ public class GoblinStoreMgtCompleteParam implements java.io.Serializable {
private String backgroundPic; private String backgroundPic;
@ApiModelProperty(position = 14, value = "店铺介绍[500]") @ApiModelProperty(position = 14, value = "店铺介绍[500]")
private String introduce; private String introduce;
public void completeStoreInfoVo(GoblinStoreInfoVo vo) {
vo.setStoreName(this.getStoreName());
vo.setLogoPic(this.getLogoPic());
vo.setBackgroundPic(this.getBackgroundPic());
vo.setIntroduce(this.getIntroduce());
vo.setStatus("1");
}
} }
...@@ -7,6 +7,7 @@ import lombok.Data; ...@@ -7,6 +7,7 @@ import lombok.Data;
import javax.validation.constraints.Max; import javax.validation.constraints.Max;
import javax.validation.constraints.Min; import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern; import javax.validation.constraints.Pattern;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
...@@ -18,10 +19,12 @@ public class GoblinStoreMgtGoodsFilterParam implements Serializable { ...@@ -18,10 +19,12 @@ public class GoblinStoreMgtGoodsFilterParam implements Serializable {
@ApiModelProperty(position = 10, required = false, value = "店铺ID[64]") @ApiModelProperty(position = 10, required = false, value = "店铺ID[64]")
private String storeId; private String storeId;
@ApiModelProperty(position = 11, required = true, value = "当前记录起始索引", example = "1") @ApiModelProperty(position = 11, required = true, value = "当前记录起始索引", example = "1")
@Min(1) @Min(value = 1, message = "起始索引无效")
@NotNull(message = "起始索引无效")
private Integer pageNum; private Integer pageNum;
@ApiModelProperty(position = 12, required = true, value = "每页显示记录数", example = "20") @ApiModelProperty(position = 12, required = true, value = "每页显示记录数", example = "20")
@Max(100) @Max(value = 100, message = "显示记录数无效")
@NotNull(message = "显示记录数无效")
private Integer pageSize; private Integer pageSize;
@ApiModelProperty(position = 13, required = false, value = "搜索关键字[128]") @ApiModelProperty(position = 13, required = false, value = "搜索关键字[128]")
private String keyword; private String keyword;
......
...@@ -4,14 +4,59 @@ import io.swagger.annotations.ApiModel; ...@@ -4,14 +4,59 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ApiModel(value = "GoblinStoreCertificationVo", description = "店铺认证详情") import java.io.Serializable;
import java.time.LocalDateTime;
@ApiModel(value = "GoblinStoreCertificationVo", description = "店铺认证信息")
@Data @Data
public class GoblinStoreCertificationVo implements java.io.Serializable, Cloneable { public class GoblinStoreCertificationVo implements Serializable, Cloneable {
private static final long serialVersionUID = 5046460327295113971L; private static final long serialVersionUID = -7125674300755279796L;
@ApiModelProperty(position = 11, value = "店铺认证状态[1-店铺审核中|2-审核不通过|3-审核通过]") @ApiModelProperty(position = 11, value = "证件类型[1-二代居民身份证]")
private String certStatus; private String personCertType;
@ApiModelProperty(position = 12, value = "拒绝原因[256]") @ApiModelProperty(position = 12, value = "证件姓名[32]")
private String reason; private String personName;
@ApiModelProperty(position = 13, value = "证件号码[32]")
private String personCertCode;
@ApiModelProperty(position = 14, value = "证件有效期[50]")
private String personCertValidity;
@ApiModelProperty(position = 15, value = "证件是否长期有效[0-否|1-是]")
private String personCertLasting;
@ApiModelProperty(position = 16, value = "证件正面照[256]")
private String personCertFpic;
@ApiModelProperty(position = 17, value = "证件背面照[256]")
private String personCertBpic;
@ApiModelProperty(position = 18, value = "证件背面照[256]")
private String personCertSpic;
@ApiModelProperty(position = 19, value = "删除标记[0-未删除|1-删除]")
private String delFlg;
@ApiModelProperty(position = 20, value = "省ID[20]")
private String provinceId;
@ApiModelProperty(position = 21, value = "省名称[32]")
private String provinceName;
@ApiModelProperty(position = 22, value = "市ID[20]")
private String cityId;
@ApiModelProperty(position = 23, value = "市名称[32]")
private String cityName;
@ApiModelProperty(position = 24, value = "县ID[20]")
private String countyId;
@ApiModelProperty(position = 25, value = "县名称[32]")
private String countyName;
@ApiModelProperty(position = 26, value = "详细地址[128]")
private String busAddress;
@ApiModelProperty(position = 27, value = "商户名称[64]")
private String busName;
@ApiModelProperty(position = 28, value = "统一社会信用代码[32]")
private String busCertCode;
@ApiModelProperty(position = 29, value = "营业执照有效期[50]")
private String busCertValidity;
@ApiModelProperty(position = 30, value = "证件是否长期有效[0-否|1-是]")
private String busCertLasting;
@ApiModelProperty(position = 31, value = "营业执照照片[256]")
private String busCertPic;
@ApiModelProperty(position = 32, value = "资质证书照片[256]")
private String busQualityPic;
private String updatedBy;
private LocalDateTime updatedAt;
private static final GoblinStoreCertificationVo obj = new GoblinStoreCertificationVo(); private static final GoblinStoreCertificationVo obj = new GoblinStoreCertificationVo();
public static GoblinStoreCertificationVo getNew() { public static GoblinStoreCertificationVo getNew() {
......
package com.liquidnet.service.goblin.dto.manage.vo; package com.liquidnet.service.goblin.dto.manage.vo;
import com.liquidnet.service.goblin.dto.GoblinGoodsSpecDto;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsInfoVo; import com.liquidnet.service.goblin.dto.vo.GoblinGoodsInfoVo;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo;
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;
......
package com.liquidnet.service.goblin.dto.manage.vo; package com.liquidnet.service.goblin.dto.manage.vo;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreInfoVo;
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;
...@@ -16,6 +17,12 @@ public class GoblinStoreMgtThumbVo implements java.io.Serializable, Cloneable { ...@@ -16,6 +17,12 @@ public class GoblinStoreMgtThumbVo implements java.io.Serializable, Cloneable {
private String storeName; private String storeName;
@ApiModelProperty(position = 12, value = "店铺LOGO[256]") @ApiModelProperty(position = 12, value = "店铺LOGO[256]")
private String logoPic; private String logoPic;
@ApiModelProperty(position = 13, value = "店铺状态[0-填写资料中|1-店铺审核中|2-审核不通过|3-审核通过|4-停业|5-营业]")
private String status;
@ApiModelProperty(position = 14, value = "店铺类型[1-普通店铺|2-加盟|3-连锁|5-直营]")
private String storeType;
@ApiModelProperty(position = 15, value = "认证类型[1-企业/公司|2-个体工商户]")
private String certType;
private static final GoblinStoreMgtThumbVo obj = new GoblinStoreMgtThumbVo(); private static final GoblinStoreMgtThumbVo obj = new GoblinStoreMgtThumbVo();
public static GoblinStoreMgtThumbVo getNew() { public static GoblinStoreMgtThumbVo getNew() {
...@@ -25,4 +32,15 @@ public class GoblinStoreMgtThumbVo implements java.io.Serializable, Cloneable { ...@@ -25,4 +32,15 @@ public class GoblinStoreMgtThumbVo implements java.io.Serializable, Cloneable {
return new GoblinStoreMgtThumbVo(); return new GoblinStoreMgtThumbVo();
} }
} }
public GoblinStoreMgtThumbVo copy(GoblinStoreInfoVo source) {
if (null == source) return this;
this.setStoreId(source.getStoreId());
this.setStoreName(source.getStoreName());
this.setLogoPic(source.getLogoPic());
this.setStatus(source.getStatus());
this.setStoreType(source.getStoreType());
this.setCertType(source.getCertType());
return this;
}
} }
package com.liquidnet.service.goblin.dto.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
@ApiModel(value = "GoblinStoreCertificationVo", description = "店铺认证信息")
@Data
public class GoblinStoreCertificationVo implements Serializable, Cloneable {
private static final long serialVersionUID = -7125674300755279796L;
@ApiModelProperty(position = 11, value = "证件类型[1-二代居民身份证]")
private String personCertType;
@ApiModelProperty(position = 12, value = "证件姓名[32]")
private String personName;
@ApiModelProperty(position = 13, value = "证件号码[32]")
private String personCertCode;
@ApiModelProperty(position = 14, value = "证件有效期[50]")
private String personCertValidity;
@ApiModelProperty(position = 15, value = "证件是否长期有效[0-否|1-是]")
private String personCertLasting;
@ApiModelProperty(position = 16, value = "证件正面照[256]")
private String personCertFpic;
@ApiModelProperty(position = 17, value = "证件背面照[256]")
private String personCertBpic;
@ApiModelProperty(position = 18, value = "证件背面照[256]")
private String personCertSpic;
@ApiModelProperty(position = 19, value = "删除标记[0-未删除|1-删除]")
private String delFlg;
@ApiModelProperty(position = 20, value = "省ID[20]")
private String provinceId;
@ApiModelProperty(position = 21, value = "省名称[32]")
private String provinceName;
@ApiModelProperty(position = 22, value = "市ID[20]")
private String cityId;
@ApiModelProperty(position = 23, value = "市名称[32]")
private String cityName;
@ApiModelProperty(position = 24, value = "县ID[20]")
private String countyId;
@ApiModelProperty(position = 25, value = "县名称[32]")
private String countyName;
@ApiModelProperty(position = 26, value = "详细地址[128]")
private String busAddress;
@ApiModelProperty(position = 27, value = "商户名称[64]")
private String busName;
@ApiModelProperty(position = 28, value = "统一社会信用代码[32]")
private String busCertCode;
@ApiModelProperty(position = 29, value = "营业执照有效期[50]")
private String busCertValidity;
@ApiModelProperty(position = 30, value = "证件是否长期有效[0-否|1-是]")
private String busCertLasting;
@ApiModelProperty(position = 31, value = "营业执照照片[256]")
private String busCertPic;
@ApiModelProperty(position = 32, value = "资质证书[256]")
private String busQualityPic;
private String updatedBy;
private LocalDateTime updatedAt;
}
package com.liquidnet.service.goblin.dto.vo; package com.liquidnet.service.goblin.dto.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreCertificationVo;
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;
...@@ -37,10 +40,13 @@ public class GoblinStoreInfoVo implements Serializable, Cloneable { ...@@ -37,10 +40,13 @@ public class GoblinStoreInfoVo implements Serializable, Cloneable {
@ApiModelProperty(position = 22, value = "客服账号[128]") @ApiModelProperty(position = 22, value = "客服账号[128]")
private String serviceAcc; private String serviceAcc;
@ApiModelProperty(position = 23, value = "店铺有效期") @ApiModelProperty(position = 23, value = "店铺有效期")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime validity; private LocalDateTime validity;
private String createdBy; private String createdBy;
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime createdAt; private LocalDateTime createdAt;
private String updatedBy; private String updatedBy;
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime updatedAt; private LocalDateTime updatedAt;
@ApiModelProperty(position = 25, value = "店铺认证信息") @ApiModelProperty(position = 25, value = "店铺认证信息")
......
...@@ -2,17 +2,17 @@ package com.liquidnet.service.goblin.controller.manage; ...@@ -2,17 +2,17 @@ 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.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtCertificationParam; import com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtCertificationParam;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtCompleteParam; import com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtCompleteParam;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreCertificationVo; import com.liquidnet.service.goblin.dto.vo.GoblinStoreInfoVo;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtThumbVo;
import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtCertificationService; import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtCertificationService;
import com.liquidnet.service.goblin.util.GoblinRedisUtils;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.RandomStringUtils;
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.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
...@@ -30,7 +30,9 @@ import javax.validation.Valid; ...@@ -30,7 +30,9 @@ import javax.validation.Valid;
@RequestMapping("store/mgt/cert") @RequestMapping("store/mgt/cert")
public class GoblinStoreMgtCertificationController { public class GoblinStoreMgtCertificationController {
@Autowired @Autowired
IGoblinStoreMgtCertificationService IGoblinStoreMgtCertificationService; IGoblinStoreMgtCertificationService goblinStoreMgtCertificationService;
@Autowired
GoblinRedisUtils goblinRedisUtils;
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)
@ApiOperation(value = "店铺认证第一步:认证资料") @ApiOperation(value = "店铺认证第一步:认证资料")
...@@ -39,8 +41,7 @@ public class GoblinStoreMgtCertificationController { ...@@ -39,8 +41,7 @@ public class GoblinStoreMgtCertificationController {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("店铺认证[GoblinStoreMgtCertificationParam:{}]", JsonUtils.toJson(certificationParam)); log.debug("店铺认证[GoblinStoreMgtCertificationParam:{}]", JsonUtils.toJson(certificationParam));
} }
goblinStoreMgtCertificationService.certificationInformationProcessing(certificationParam);
IGoblinStoreMgtCertificationService.certificationInformationProcessing(certificationParam);
return ResponseDto.success(); return ResponseDto.success();
} }
...@@ -51,8 +52,22 @@ public class GoblinStoreMgtCertificationController { ...@@ -51,8 +52,22 @@ public class GoblinStoreMgtCertificationController {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("店铺认证[GoblinStoreMgtCompleteParam:{}]", JsonUtils.toJson(completeParam)); log.debug("店铺认证[GoblinStoreMgtCompleteParam:{}]", JsonUtils.toJson(completeParam));
} }
goblinStoreMgtCertificationService.certificationCompleteProcessing(completeParam);
IGoblinStoreMgtCertificationService.certificationCompleteProcessing(completeParam);
return ResponseDto.success(); return ResponseDto.success();
} }
@ApiOperationSupport(order = 3)
@ApiOperation(value = "店铺认证编辑中:资料详情")
@PostMapping("einfo")
public ResponseDto<GoblinStoreInfoVo> certificationInfo() {
return ResponseDto.success(goblinRedisUtils.getStoreInfoVoByUid(CurrentUtil.getCurrentUid()));
}
@ApiOperationSupport(order = 4)
@ApiOperation(value = "店铺认证认证中:店铺状态", notes = "认证状态[-1-未申请|0-填写资料中|1-店铺审核中|2-审核不通过|3-审核通过|4-停业|5-营业]")
@PostMapping("status")
public ResponseDto<String> certificationStatus() {
GoblinStoreInfoVo storeInfoVo = goblinRedisUtils.getStoreInfoVoByUid(CurrentUtil.getCurrentUid());
return ResponseDto.success(null == storeInfoVo ? "-1" : storeInfoVo.getStatus());
}
} }
...@@ -2,19 +2,25 @@ package com.liquidnet.service.goblin.controller.manage; ...@@ -2,19 +2,25 @@ 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.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.GoblinStoreMgtInfoVo;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtThumbVo; import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtThumbVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreInfoVo;
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;
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.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.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@ApiSupport(order = 149002) @ApiSupport(order = 149002)
...@@ -24,13 +30,21 @@ import java.util.List; ...@@ -24,13 +30,21 @@ import java.util.List;
@RestController @RestController
@RequestMapping("store/mgt") @RequestMapping("store/mgt")
public class GoblinStoreMgtController { public class GoblinStoreMgtController {
@Autowired
GoblinRedisUtils goblinRedisUtils;
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)
@ApiOperation(value = "店铺管理:店铺列表") @ApiOperation(value = "店铺管理:店铺列表")
@GetMapping(value = {"list"}) @GetMapping(value = {"list"})
public ResponseDto<List<GoblinStoreMgtThumbVo>> thumbList() { public ResponseDto<List<GoblinStoreMgtThumbVo>> thumbList() {
ArrayList<GoblinStoreMgtThumbVo> storeMgtThumbList = ObjectUtil.getGoblinStoreMgtThumbVoArrayList();
return ResponseDto.success(null); GoblinStoreInfoVo storeInfoVo = goblinRedisUtils.getStoreInfoVoByUid(CurrentUtil.getCurrentUid());
if (null != storeInfoVo) {
storeMgtThumbList.add(GoblinStoreMgtThumbVo.getNew().copy(storeInfoVo));
}
return ResponseDto.success(storeMgtThumbList);
} }
@ApiOperationSupport(order = 2) @ApiOperationSupport(order = 2)
......
package com.liquidnet.service.goblin.service.impl.manage; package com.liquidnet.service.goblin.service.impl.manage;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtCertificationParam; import com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtCertificationParam;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtCompleteParam; import com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtCompleteParam;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreInfoVo;
import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtCertificationService; import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtCertificationService;
import com.liquidnet.service.goblin.util.GoblinRedisUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
@Service @Service
public class GoblinStoreMgtCertificationServiceImpl implements IGoblinStoreMgtCertificationService { public class GoblinStoreMgtCertificationServiceImpl implements IGoblinStoreMgtCertificationService {
@Autowired @Autowired
private MongoTemplate mongoTemplate; private GoblinRedisUtils goblinRedisUtils;
@Override @Override
public void certificationInformationProcessing(GoblinStoreMgtCertificationParam param) { public void certificationInformationProcessing(GoblinStoreMgtCertificationParam param) {
// TODO: 2021/12/27 zhanggb String uid = CurrentUtil.getCurrentUid();
LocalDateTime now = LocalDateTime.now();
GoblinStoreInfoVo vo = GoblinStoreInfoVo.getNew();
vo.setStoreId(IDGenerator.get32UUID());
vo.setUid(uid);
vo.setStatus("0");
vo.setCreatedAt(now);
vo.setCreatedBy(uid);
vo.setCertificationVo(param.initStoreCertificationVo());
goblinRedisUtils.setStoreInfoVo(vo);
} }
@Override @Override
public void certificationCompleteProcessing(GoblinStoreMgtCompleteParam param) { public void certificationCompleteProcessing(GoblinStoreMgtCompleteParam param) {
// TODO: 2021/12/27 zhanggb String uid = CurrentUtil.getCurrentUid();
GoblinStoreInfoVo storeInfoVo = goblinRedisUtils.getStoreInfoVoByUid(uid);
param.completeStoreInfoVo(storeInfoVo);
goblinRedisUtils.setStoreInfoVo(storeInfoVo);
} }
} }
...@@ -17,6 +17,7 @@ import com.liquidnet.service.goblin.util.ObjectUtil; ...@@ -17,6 +17,7 @@ import com.liquidnet.service.goblin.util.ObjectUtil;
import com.liquidnet.service.goblin.util.QueueUtils; import com.liquidnet.service.goblin.util.QueueUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -59,7 +60,18 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi ...@@ -59,7 +60,18 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
@Override @Override
public GoblinStoreMgtGoodsInfoVo goodsInfo(String spuId) { public GoblinStoreMgtGoodsInfoVo goodsInfo(String spuId) {
return null;// TODO: 2021/12/28 zhanggb GoblinStoreMgtGoodsInfoVo vo = GoblinStoreMgtGoodsInfoVo.getNew();
GoblinGoodsInfoVo goodsInfoVo = goblinRedisUtils.getGoodsInfoVo(spuId);
if (null != goodsInfoVo) {
vo.setGoodsInfoVo(goodsInfoVo);
List<String> skuIdList = goodsInfoVo.getSkuIdList();
if (!CollectionUtils.isEmpty(skuIdList)) {
List<GoblinGoodsSkuInfoVo> goodsSkuInfoVoList = ObjectUtil.getGoblinGoodsSkuInfoVoArrayList();
skuIdList.forEach(skuId -> goodsSkuInfoVoList.add(goblinRedisUtils.getGoodsSkuInfoVo(skuId)));
vo.setGoodsSkuInfoVoList(goodsSkuInfoVoList);
}
}
return vo;
} }
@Override @Override
......
...@@ -5,10 +5,7 @@ import com.liquidnet.commons.lang.util.DateUtil; ...@@ -5,10 +5,7 @@ import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.base.PagedResult; import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtGoodsFilterParam; import com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtGoodsFilterParam;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsListVo; import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsListVo;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsInfoVo; import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSelfGoodsTagVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreMarketVo;
import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObject;
import com.mongodb.client.result.DeleteResult; import com.mongodb.client.result.DeleteResult;
import com.mongodb.client.result.UpdateResult; import com.mongodb.client.result.UpdateResult;
...@@ -47,6 +44,27 @@ public class GoblinMongoUtils { ...@@ -47,6 +44,27 @@ public class GoblinMongoUtils {
/* ---------------------------------------- 店铺数据源 ---------------------------------------- */
public GoblinStoreInfoVo setStoreInfoVo(GoblinStoreInfoVo vo) {
return mongoTemplate.insert(vo, GoblinStoreInfoVo.class.getSimpleName());
}
public boolean delStoreInfoVo(String storeId) {
return mongoTemplate.remove(Query.query(Criteria.where("storeId").is(storeId)),
GoblinStoreInfoVo.class, GoblinStoreInfoVo.class.getSimpleName()).getDeletedCount() > 0;
}
public GoblinStoreInfoVo getStoreInfoVo(String storeId) {
return mongoTemplate.findOne(Query.query(Criteria.where("storeId").is(storeId)),
GoblinStoreInfoVo.class, GoblinStoreInfoVo.class.getSimpleName());
}
public GoblinStoreInfoVo getStoreInfoVoByUid(String uid) {
return mongoTemplate.findOne(Query.query(Criteria.where("uid").is(uid)),
GoblinStoreInfoVo.class, GoblinStoreInfoVo.class.getSimpleName());
}
/* ---------------------------------------- 商品数据源 ---------------------------------------- */ /* ---------------------------------------- 商品数据源 ---------------------------------------- */
// SPU信息 // SPU信息
...@@ -54,8 +72,9 @@ public class GoblinMongoUtils { ...@@ -54,8 +72,9 @@ public class GoblinMongoUtils {
return mongoTemplate.insert(vo, GoblinGoodsInfoVo.class.getSimpleName()); return mongoTemplate.insert(vo, GoblinGoodsInfoVo.class.getSimpleName());
} }
public void delGoodsInfoVo(String spuId) { public boolean delGoodsInfoVo(String spuId) {
mongoTemplate.remove(Query.query(Criteria.where("spuId").is(spuId)), GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName()); return mongoTemplate.remove(Query.query(Criteria.where("spuId").is(spuId)),
GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName()).getDeletedCount() > 0;
} }
// SPU分页 // SPU分页
...@@ -132,8 +151,9 @@ public class GoblinMongoUtils { ...@@ -132,8 +151,9 @@ public class GoblinMongoUtils {
return (List<GoblinGoodsSkuInfoVo>) mongoTemplate.insert(vos, GoblinGoodsSkuInfoVo.class.getSimpleName()); return (List<GoblinGoodsSkuInfoVo>) mongoTemplate.insert(vos, GoblinGoodsSkuInfoVo.class.getSimpleName());
} }
public void delGoodsSkuInfoVo(String skuId) { public boolean delGoodsSkuInfoVo(String skuId) {
mongoTemplate.remove(Query.query(Criteria.where("skuId").is(skuId)), GoblinGoodsSkuInfoVo.class, GoblinGoodsSkuInfoVo.class.getSimpleName()); return mongoTemplate.remove(Query.query(Criteria.where("skuId").is(skuId)),
GoblinGoodsSkuInfoVo.class, GoblinGoodsSkuInfoVo.class.getSimpleName()).getDeletedCount() > 0;
} }
// SKU信息 // SKU信息
......
package com.liquidnet.service.goblin.util; package com.liquidnet.service.goblin.util;
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.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;
...@@ -60,6 +59,43 @@ public class GoblinRedisUtils { ...@@ -60,6 +59,43 @@ public class GoblinRedisUtils {
return (int) redisUtil.decr(rk, stock); return (int) redisUtil.decr(rk, stock);
} }
/* ---------------------------------------- 店铺数据源 ---------------------------------------- */
private boolean setStoreIdByUid(String uid, String storeId) {
return redisUtil.set(GoblinRedisConst.TMP_UID_STORE.concat(uid), storeId);
}
private void delStoreIdByUid(String uid) {
redisUtil.del(GoblinRedisConst.TMP_UID_STORE.concat(uid));
}
private String getStoreIdByUid(String uid) {
return (String) redisUtil.get(GoblinRedisConst.TMP_UID_STORE.concat(uid));
}
public boolean setStoreInfoVo(GoblinStoreInfoVo vo) {
this.setStoreIdByUid(vo.getUid(), vo.getStoreId());
return redisUtil.set(GoblinRedisConst.BASIC_STORE.concat(vo.getStoreId()), vo);
}
public void delStoreInfoVo(String storeId) {
redisUtil.del(GoblinRedisConst.BASIC_STORE.concat(storeId));
}
public GoblinStoreInfoVo getStoreInfoVo(String storeId) {
String rk = GoblinRedisConst.BASIC_STORE.concat(storeId);
GoblinStoreInfoVo vo = (GoblinStoreInfoVo) redisUtil.get(rk);
if (null == vo && null != (vo = goblinMongoUtils.getStoreInfoVo(storeId))) {
redisUtil.set(rk, vo);
}
return vo;
}
public GoblinStoreInfoVo getStoreInfoVoByUid(String uid) {
String storeId = this.getStoreIdByUid(uid);
return null == storeId ? goblinMongoUtils.getStoreInfoVoByUid(uid) : this.getStoreInfoVo(storeId);
}
/* ---------------------------------------- 商品数据源 ---------------------------------------- */ /* ---------------------------------------- 商品数据源 ---------------------------------------- */
public boolean setGoodsInfoVo(GoblinGoodsInfoVo vo) { public boolean setGoodsInfoVo(GoblinGoodsInfoVo vo) {
......
...@@ -2,6 +2,7 @@ package com.liquidnet.service.goblin.util; ...@@ -2,6 +2,7 @@ package com.liquidnet.service.goblin.util;
import com.liquidnet.service.base.PagedResult; import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsListVo; import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsListVo;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtThumbVo;
import com.liquidnet.service.goblin.dto.vo.*; import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.entity.GoblinFrontBanner; import com.liquidnet.service.goblin.entity.GoblinFrontBanner;
import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObject;
...@@ -14,6 +15,7 @@ public class ObjectUtil { ...@@ -14,6 +15,7 @@ public class ObjectUtil {
private static final ArrayList<GoblinFrontBanner> goblinFrontBannerArrayList = new ArrayList<>(); private static final ArrayList<GoblinFrontBanner> goblinFrontBannerArrayList = new ArrayList<>();
private static final ArrayList<GoblinFrontBannerVo> goblinFrontBannerVoArrayList = new ArrayList<>(); private static final ArrayList<GoblinFrontBannerVo> goblinFrontBannerVoArrayList = new ArrayList<>();
private static final ArrayList<GoblinSelfMarketingVo> goblinSelfMarketingVoArrayList = new ArrayList<>(); private static final ArrayList<GoblinSelfMarketingVo> goblinSelfMarketingVoArrayList = new ArrayList<>();
private static final ArrayList<GoblinStoreMgtThumbVo> goblinStoreMgtThumbVoArrayList = new ArrayList<>();
private static final ArrayList<GoblinGoodsSkuInfoVo> goblinGoodsSkuInfoVoArrayList = new ArrayList<>(); private static final ArrayList<GoblinGoodsSkuInfoVo> goblinGoodsSkuInfoVoArrayList = new ArrayList<>();
private static final ArrayList<GoblinGoodsSpecVo> goblinGoodsSpecVoArrayList = new ArrayList<>(); private static final ArrayList<GoblinGoodsSpecVo> goblinGoodsSpecVoArrayList = new ArrayList<>();
private static final ArrayList<GoblinMarketSpuListVo> goblinMarketSpuListVoArrayList = new ArrayList<>(); private static final ArrayList<GoblinMarketSpuListVo> goblinMarketSpuListVoArrayList = new ArrayList<>();
...@@ -36,6 +38,10 @@ public class ObjectUtil { ...@@ -36,6 +38,10 @@ public class ObjectUtil {
return (ArrayList<GoblinSelfMarketingVo>) goblinSelfMarketingVoArrayList.clone(); return (ArrayList<GoblinSelfMarketingVo>) goblinSelfMarketingVoArrayList.clone();
} }
public static ArrayList<GoblinStoreMgtThumbVo> getGoblinStoreMgtThumbVoArrayList() {
return (ArrayList<GoblinStoreMgtThumbVo>) goblinStoreMgtThumbVoArrayList.clone();
}
public static ArrayList<GoblinGoodsSkuInfoVo> getGoblinGoodsSkuInfoVoArrayList() { public static ArrayList<GoblinGoodsSkuInfoVo> getGoblinGoodsSkuInfoVoArrayList() {
return (ArrayList<GoblinGoodsSkuInfoVo>) goblinGoodsSkuInfoVoArrayList.clone(); return (ArrayList<GoblinGoodsSkuInfoVo>) goblinGoodsSkuInfoVoArrayList.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