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

Commit 3b0d7439 authored by 姜秀龙's avatar 姜秀龙

收钱 商品同步

parent 30cbfdda
......@@ -17,8 +17,8 @@ CREATE TABLE `goblin_sqb_goods_ext` (
`spu_id` VARCHAR(64) NOT NULL COMMENT '关联 goblin_goods.spu_id',
`sku_id` VARCHAR(64) NOT NULL COMMENT '关联 goblin_goods_sku.sku_id',
`mall_sn` VARCHAR(64) NOT NULL COMMENT '所属收钱吧商城编号',
`sqb_product_id` VARCHAR(64) NOT NULL COMMENT '收钱吧商品ID',
`sqb_product_sn` VARCHAR(64) NOT NULL COMMENT '收钱吧商品编号',
`signature` VARCHAR(64) NOT NULL COMMENT '商城密钥',
`sqb_spu_id` VARCHAR(64) NOT NULL COMMENT '收钱吧SPU ID',
`sqb_sku_id` VARCHAR(64) COMMENT '收钱吧SKU ID',
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
......@@ -77,3 +77,8 @@ CREATE TABLE `goblin_sqb_performance_config` (
PRIMARY KEY (`mid`),
UNIQUE KEY `uk_perf_id` (`performances_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='收钱吧演出级全局配置';
-- 2026-03-30 增加逻辑删除及审计建议字段
ALTER TABLE `goblin_sqb_goods_ext` ADD COLUMN `updated_by` varchar(64) DEFAULT NULL COMMENT '更新人' AFTER `updated_at`;
ALTER TABLE `goblin_sqb_goods_ext` ADD COLUMN `del_flg` char(1) DEFAULT '0' COMMENT '删除标记[0-未删除|1-删除]' AFTER `updated_by`;
ALTER TABLE `goblin_sqb_goods_ext` ADD COLUMN `deleted_by` varchar(64) DEFAULT NULL COMMENT '删除人' AFTER `del_flg`;
ALTER TABLE `goblin_sqb_goods_ext` ADD COLUMN `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间' AFTER `deleted_by`;
......@@ -18,6 +18,9 @@ public class GoblinSqbPerfGoodsVo implements Serializable {
@ApiModelProperty("商城名称")
private String mallName;
@ApiModelProperty("商城签名")
private String signature;
@ApiModelProperty(value = "商品spuId")
private String spuId;
......@@ -33,6 +36,9 @@ public class GoblinSqbPerfGoodsVo implements Serializable {
@ApiModelProperty(value = "商品规格")
private List<MallProductsQueryData.Sku> skuResults;
@ApiModelProperty("是否已同步")
private Boolean synced;
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
......
......@@ -25,7 +25,7 @@ public interface IGoblinSqbGoodsService {
* @param items 待新增商品列表
* @return 结果
*/
ResponseDto<String> addGoods(String storeId, List<GoblinSqbGoodsSyncParam> items);
ResponseDto<String> addGoods(String storeId, List<GoblinSqbPerfGoodsVo> items);
/**
* 批量更新商品到 goblin 系统(仅更新已存在)
......@@ -34,7 +34,7 @@ public interface IGoblinSqbGoodsService {
* @param items 待更新商品列表
* @return 结果
*/
ResponseDto<String> updateGoods(String storeId, List<GoblinSqbGoodsSyncParam> items);
ResponseDto<String> updateGoods(String storeId, List<GoblinSqbPerfGoodsVo> items);
/**
* 查询演出关联商品列表(先查 Redis 缓存,未命中则查 MySQL 并写入缓存)
......
......@@ -43,22 +43,33 @@ public class GoblinSqbGoodsExt implements Serializable {
private String mallSn;
/**
* 收钱吧商品ID
* 商城签名
*/
private String sqbProductId;
private String signature;
/**
* 收钱吧商品编号
* 收钱吧商品ID
*/
private String sqbProductSn;
private String sqbSpuId;
/**
* 收钱吧SKU ID
* 收钱吧规格ID (skuId)
*/
private String sqbSkuId;
private LocalDateTime createdAt;
private String updatedBy;
private LocalDateTime updatedAt;
/**
* 删除标记[0-未删除|1-删除]
*/
private String delFlg;
private String deletedBy;
private LocalDateTime deletedAt;
}
......@@ -21,7 +21,7 @@ import java.util.List;
@Slf4j
@Api(tags = "收钱吧商品同步")
@RestController
@RequestMapping("/goblin/sqb/goods")
@RequestMapping("/sqb/goods")
public class GoblinSqbGoodsController {
@Autowired
......@@ -46,7 +46,7 @@ public class GoblinSqbGoodsController {
@PostMapping("/add")
@ApiOperation("批量新增收钱吧商品")
public ResponseDto<String> addGoods(@RequestParam("storeId") String storeId,
@RequestBody @Validated List<GoblinSqbGoodsSyncParam> items) {
@RequestBody @Validated List<GoblinSqbPerfGoodsVo> items) {
String currentUid = CurrentUtil.getCurrentUid();
if (!goblinRedisUtils.hasStoreId(currentUid, storeId)) {
log.warn("[收钱吧商品同步] 批量新增: 无权操作该店铺, uid={}, storeId={}", currentUid, storeId);
......@@ -61,7 +61,7 @@ public class GoblinSqbGoodsController {
@PostMapping("/update")
@ApiOperation("批量更新收钱吧商品")
public ResponseDto<String> updateGoods(@RequestParam("storeId") String storeId,
@RequestBody @Validated List<GoblinSqbGoodsSyncParam> items) {
@RequestBody @Validated List<GoblinSqbPerfGoodsVo> items) {
String currentUid = CurrentUtil.getCurrentUid();
if (!goblinRedisUtils.hasStoreId(currentUid, storeId)) {
log.warn("[收钱吧商品同步] 批量更新: 无权操作该店铺, uid={}, storeId={}", currentUid, storeId);
......
......@@ -10,10 +10,7 @@ import com.liquidnet.service.goblin.dto.GoblinStoreMgtCouponListVoExcel;
import com.liquidnet.service.goblin.dto.GoblinStoreMgtGoodsListVoExcel;
import com.liquidnet.service.goblin.dto.manage.vo.*;
import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.entity.GoblinFrontBanner;
import com.liquidnet.service.goblin.entity.GoblinOrderAttr;
import com.liquidnet.service.goblin.entity.GoblinOrderSku;
import com.liquidnet.service.goblin.entity.GoblinStoreOrder;
import com.liquidnet.service.goblin.entity.*;
import com.liquidnet.service.goblin.param.BackCouponParam;
import com.liquidnet.service.goblin.param.GoblinOrderSqlParam;
import com.mongodb.BasicDBObject;
......@@ -43,6 +40,7 @@ public class ObjectUtil {
private static final ArrayList<GoblinStoreConfigVo> goblinStoreConfigVoArrayList = new ArrayList<>();
private static final ArrayList<GoblinStoreNoticeVo> goblinStoreNoticeVoArrayList = new ArrayList<>();
private static final ArrayList<GoblinGoodsSkuInfoVo> goblinGoodsSkuInfoVoArrayList = new ArrayList<>();
private static final ArrayList<GoblinSqbGoodsExt> goblinSqbGoodsExtArrayList = new ArrayList<>();
private static final HashMap<String, GoblinGoodsSkuInfoVo> goblinGoodsSkuInfoVoHashMap = new HashMap<>();
private static final ArrayList<GoblinGoodsSpecVo> goblinGoodsSpecVoArrayList = new ArrayList<>();
private static final ArrayList<GoblinGoodsSpecValueVo> goblinGoodsSpecValueVoArrayList = new ArrayList<>();
......@@ -337,6 +335,10 @@ public class ObjectUtil {
return (ArrayList<GoblinGoodsSkuInfoVo>) goblinGoodsSkuInfoVoArrayList.clone();
}
public static ArrayList<GoblinSqbGoodsExt> getGoblinSqbGoodsExtArrayList() {
return (ArrayList<GoblinSqbGoodsExt>) goblinSqbGoodsExtArrayList.clone();
}
public static Map<String, GoblinGoodsSkuInfoVo> getGoblinGoodsSkuInfoVoMap() {
return (HashMap<String, GoblinGoodsSkuInfoVo>) goblinGoodsSkuInfoVoHashMap.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