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

Commit b6e66ee8 authored by zhanggb's avatar zhanggb

Merge remote-tracking branch 'origin/dev_erp' into dev_erp_gjy

parents 3e93d2bc 7201c4b3
...@@ -50,6 +50,16 @@ public class GoblinRedisConst { ...@@ -50,6 +50,16 @@ public class GoblinRedisConst {
* {goblin:bsc:store_cf:${store_id}, com.liquidnet.service.goblin.dto.vo.GoblinStoreInfoVo} * {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:"); 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>)} * {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; package com.liquidnet.service.goblin.service.manage;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreErpConfigVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreInfoVo; import com.liquidnet.service.goblin.dto.vo.GoblinStoreInfoVo;
import java.util.Map; import java.util.Map;
...@@ -22,4 +23,13 @@ public interface IGoblinStoreMgtService { ...@@ -22,4 +23,13 @@ public interface IGoblinStoreMgtService {
* @return boolean * @return boolean
*/ */
boolean updateStoreMgtConfig(String uid, String storeId, Map<String, String> confMap); 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; ...@@ -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.GoblinStoreMgtNoticeFilterParam;
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.GoblinStoreCertInfoVo; import com.liquidnet.service.goblin.dto.vo.*;
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.service.manage.IGoblinStoreMgtNoticeService; import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtNoticeService;
import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtService; import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtService;
import com.liquidnet.service.goblin.util.GoblinRedisUtils; import com.liquidnet.service.goblin.util.GoblinRedisUtils;
...@@ -33,6 +30,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -33,6 +30,7 @@ import org.springframework.web.bind.annotation.*;
import javax.validation.Valid; import javax.validation.Valid;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size; import javax.validation.constraints.Size;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
...@@ -308,4 +306,49 @@ public class GoblinStoreMgtController { ...@@ -308,4 +306,49 @@ public class GoblinStoreMgtController {
} }
return operateResultFlg ? ResponseDto.success() : ResponseDto.failure(); 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; ...@@ -5,6 +5,7 @@ import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.SqlMapping; import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst; import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreConfigVo; 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.dto.vo.GoblinStoreInfoVo;
import com.liquidnet.service.goblin.enums.GoblinStoreConf; import com.liquidnet.service.goblin.enums.GoblinStoreConf;
import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtService; import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtService;
...@@ -110,4 +111,15 @@ public class GoblinStoreMgtServiceImpl implements IGoblinStoreMgtService { ...@@ -110,4 +111,15 @@ public class GoblinStoreMgtServiceImpl implements IGoblinStoreMgtService {
} }
return false; 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 { ...@@ -457,6 +457,20 @@ public class GoblinMongoUtils {
GoblinStoreConfigVo.class, GoblinStoreConfigVo.class.getSimpleName()); 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) { public GoblinStoreInfoVo setStoreInfoVo(GoblinStoreInfoVo vo) {
......
...@@ -594,6 +594,31 @@ public class GoblinRedisUtils { ...@@ -594,6 +594,31 @@ public class GoblinRedisUtils {
redisUtil.del(GoblinRedisConst.BASIC_STORE_CONF.concat(storeId)); 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) { 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