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

Commit 7201c4b3 authored by zhanggb's avatar zhanggb

+api:店铺管理:店铺ERP配置;

parent 9b533f4c
......@@ -50,6 +50,16 @@ public class GoblinRedisConst {
* {goblin:bsc:store_cf:${store_id}, com.liquidnet.service.goblin.dto.vo.GoblinStoreInfoVo}
*/
public static final String BASIC_STORE_CONF = PREFIX.concat("bsc:store_cf:");
/**
* 店铺ERP配置信息
* {goblin:bsc:store_ecf:${store_id}, com.liquidnet.service.goblin.dto.vo.GoblinStoreErpConfigVo}
*/
public static final String BASIC_STORE_ERP_CONF = PREFIX.concat("bsc:store_ecf:");
/**
* 店铺ERP配置信息
* {goblin:bsc:store_erps, List<shopNo>}
*/
public static final String BASIC_STORE_ERPS = PREFIX.concat("bsc:store_erps");
/**
* 店铺商品分类信息
* {goblin:bsc:store_g_c:${store_id}, JsonUtils.toJson(List<com.liquidnet.service.goblin.dto.vo.GoblinStoreGoodsCategoryVo>)}
......
package com.liquidnet.service.goblin.dto.vo;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.io.Serializable;
@ApiModel(value = "GoblinStoreErpConfigVo", description = "店铺ERP配置")
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class GoblinStoreErpConfigVo implements Serializable, Cloneable {
private static final long serialVersionUID = -12487121131698044L;
private String storeId;
private String sid;
private String appKey;
private String appSecret;
private String shopNo;
private static final GoblinStoreErpConfigVo obj = new GoblinStoreErpConfigVo();
public static GoblinStoreErpConfigVo getNew() {
try {
return (GoblinStoreErpConfigVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinStoreErpConfigVo();
}
}
}
package com.liquidnet.service.goblin.service.manage;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreErpConfigVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreInfoVo;
import java.util.Map;
......@@ -22,4 +23,13 @@ public interface IGoblinStoreMgtService {
* @return boolean
*/
boolean updateStoreMgtConfig(String uid, String storeId, Map<String, String> confMap);
/**
* 店铺管理:店铺ERP配置:编辑
*
* @param uid UID
* @param storeErpConfigVo GoblinStoreErpConfigVo
* @return boolean
*/
boolean updateStoreMgtErpConfig(String uid, GoblinStoreErpConfigVo storeErpConfigVo);
}
......@@ -13,10 +13,7 @@ import com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtNoticeAddParam;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtNoticeFilterParam;
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.GoblinStoreCertInfoVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreConfigVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreInfoVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreNoticeVo;
import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtNoticeService;
import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtService;
import com.liquidnet.service.goblin.util.GoblinRedisUtils;
......@@ -33,6 +30,7 @@ import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.time.LocalDateTime;
import java.util.*;
......@@ -308,4 +306,49 @@ public class GoblinStoreMgtController {
}
return operateResultFlg ? ResponseDto.success() : ResponseDto.failure();
}
@ApiOperationSupport(order = 11)
@ApiOperation(value = "店铺管理:店铺ERP配置")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "storeId", value = "店铺ID[64]"),
})
@GetMapping(value = {"erpConfig"})
public ResponseDto<GoblinStoreErpConfigVo> erpConfig(@NotBlank(message = "店铺ID不能为空") @RequestParam String storeId) {
String currentUid = CurrentUtil.getCurrentUid();
if (!goblinRedisUtils.hasStoreId(currentUid, storeId)) {
log.warn("店铺管理:店铺ERP配置:无权查看该店铺[UID={},storeId={}]", currentUid, storeId);
return ResponseDto.failure(ErrorMapping.get("149002"));
}
return ResponseDto.success(goblinRedisUtils.getStoreErpConfigVoByStoreId(storeId));
}
@ApiOperationSupport(order = 12)
@ApiOperation(value = "店铺管理:店铺ERP配置:编辑")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "storeId", value = "店铺ID[64]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "sid", value = "ERP店铺sid"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "appKey", value = "ERP店铺名称appKey"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "appSecret", value = "ERP店铺appSecret"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "shopNo", value = "ERP店铺shopNo"),
})
@GetMapping(value = {"erpConfig/edit"})
public ResponseDto<Object> erpConfigEdit(@NotNull(message = "ERP店铺sid不能为空") @RequestParam String sid,
@NotNull(message = "ERP店铺名称appKey不能为空") @RequestParam String appKey,
@NotNull(message = "ERP店铺appSecret不能为空") @RequestParam String appSecret,
@NotNull(message = "ERP店铺shopNo不能为空") @RequestParam String shopNo,
@NotBlank(message = "店铺ID不能为空") @RequestParam String storeId) {
String currentUid = CurrentUtil.getCurrentUid();
if (!goblinRedisUtils.hasStoreId(currentUid, storeId)) {
return ResponseDto.failure(ErrorMapping.get("149002"));
}
GoblinStoreErpConfigVo storeErpConfigVo = goblinRedisUtils.getStoreErpConfigVoByStoreId(storeId);
log.info("店铺管理:店铺ERP配置:编辑[UID:{},BEF:{}]", currentUid, JsonUtils.toJson(storeErpConfigVo));
storeErpConfigVo.setStoreId(storeId);
storeErpConfigVo.setSid(sid);
storeErpConfigVo.setAppKey(appKey);
storeErpConfigVo.setAppSecret(appSecret);
storeErpConfigVo.setShopNo(shopNo);
log.info("店铺管理:店铺ERP配置:编辑[UID:{},AFT:{}]", currentUid, JsonUtils.toJson(storeErpConfigVo));
return goblinStoreMgtService.updateStoreMgtErpConfig(currentUid, storeErpConfigVo) ? ResponseDto.success() : ResponseDto.failure(ErrorMapping.get("149003"));
}
}
......@@ -5,6 +5,7 @@ import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreConfigVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreErpConfigVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreInfoVo;
import com.liquidnet.service.goblin.enums.GoblinStoreConf;
import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtService;
......@@ -110,4 +111,15 @@ public class GoblinStoreMgtServiceImpl implements IGoblinStoreMgtService {
}
return false;
}
@Override
public boolean updateStoreMgtErpConfig(String uid, GoblinStoreErpConfigVo storeErpConfigVo) {
if (goblinMongoUtils.updateStoreErpConfigVo(storeErpConfigVo)) {
goblinRedisUtils.delStoreErpConfigVo(storeErpConfigVo.getStoreId());
// TODO: 2023/1/6 zhanggb to Mysql
return true;
}
return false;
}
}
......@@ -457,6 +457,20 @@ public class GoblinMongoUtils {
GoblinStoreConfigVo.class, GoblinStoreConfigVo.class.getSimpleName());
}
/* ---------------------------------------- 店铺ERP配置数据源 ---------------------------------------- */
public GoblinStoreErpConfigVo getStoreErpConfigVo(String storeId) {
Query query = Query.query(Criteria.where("storeId").is(storeId));
return mongoTemplate.findOne(query, GoblinStoreErpConfigVo.class, GoblinStoreErpConfigVo.class.getSimpleName());
}
public boolean updateStoreErpConfigVo(GoblinStoreErpConfigVo vo) {
return mongoTemplate.getCollection(GoblinStoreErpConfigVo.class.getSimpleName())
.updateOne(Query.query(Criteria.where("storeId").is(vo.getStoreId())).getQueryObject(),
ObjectUtil.cloneBasicDBObject().append("$set", mongoConverter.convertToMongoType(vo))
).getModifiedCount() > 0;
}
/* ---------------------------------------- 店铺数据源 ---------------------------------------- */
public GoblinStoreInfoVo setStoreInfoVo(GoblinStoreInfoVo vo) {
......
......@@ -594,6 +594,31 @@ public class GoblinRedisUtils {
redisUtil.del(GoblinRedisConst.BASIC_STORE_CONF.concat(storeId));
}
/* ---------------------------------------- 店铺ERP配置数据源 ---------------------------------------- */
public GoblinStoreErpConfigVo getStoreErpConfigVoByStoreId(String storeId) {
String rk = GoblinRedisConst.BASIC_STORE_ERP_CONF.concat(storeId);
GoblinStoreErpConfigVo vo = (GoblinStoreErpConfigVo) redisUtil.get(rk);
if (null == vo && null != (vo = goblinMongoUtils.getStoreErpConfigVo(storeId))) {
redisUtil.set(rk, vo);
}
return vo;
}
public void delStoreErpConfigVo(String storeId) {
redisUtil.del(GoblinRedisConst.BASIC_STORE_ERP_CONF.concat(storeId));
}
public List<String> getStoreErpShopNoList() {
// TODO: 2023/1/6 zhanggb mongo get
return (List<String>) redisUtil.get(GoblinRedisConst.BASIC_STORE_ERPS);
}
public void delStoreErpShopNoList() {
redisUtil.del(GoblinRedisConst.BASIC_STORE_ERPS);
}
/* ---------------------------------------- 店铺数据源 ---------------------------------------- */
private boolean setStoreIds(String uid, List<String> storeIds) {
......
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