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

Commit 9d6fdcc2 authored by 姜秀龙's avatar 姜秀龙

收钱 admin

parent cb751a2d
......@@ -33,6 +33,7 @@ CREATE TABLE `goblin_sqb_performance_goods` (
`spu_id` VARCHAR(64) NOT NULL COMMENT '商品ID',
`sku_id` VARCHAR(64) NOT NULL COMMENT 'SKU ID',
`sort` INT NOT NULL DEFAULT 0 COMMENT '排序权重',
`settlement_price` DECIMAL(10,2) DEFAULT NULL COMMENT '换购价格(不设置则按商品售价售卖)',
`status` TINYINT NOT NULL DEFAULT 1 COMMENT '0-禁用 1-启用',
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
......
package com.liquidnet.service.goblin.dto.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 演出关联收钱吧商品列表项(本地关联视图)
*/
@Data
public class GoblinSqbPerfLinkedGoodsVo implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "商品skuId(本地)")
private String skuId;
@ApiModelProperty(value = "商品spuId(本地)")
private String spuId;
@ApiModelProperty(value = "商品spu名称(本地)")
private String spuName;
@ApiModelProperty(value = "商品sku名称(本地)")
private String skuName;
@ApiModelProperty(value = "商品头图(本地)")
private String coverPic;
@ApiModelProperty(value = "商品售价(分,本地)")
private Long price;
@ApiModelProperty(value = "商品库存(本地)")
private Integer stock;
@ApiModelProperty(value = "排序权重")
private Integer sort;
@ApiModelProperty(value = "换购价格")
private BigDecimal settlementPrice;
@ApiModelProperty(value = "状态 0-禁用 1-启用")
private Integer status;
}
......@@ -12,5 +12,5 @@ public class GoblinSqbPerfListRespVo implements Serializable {
private Integer autoOffline;
/** 关联商品列表 */
private List<GoblinSqbPerfGoodsVo> goodsList;
private List<GoblinSqbPerfLinkedGoodsVo> goodsList;
}
......@@ -158,7 +158,8 @@
skuId: item.skuId, spuId: item.spuId,
spuName: item.spuName || item.skuName, skuName: item.skuName,
coverPic: item.coverPic || '', price: item.price, stock: item.stock,
settlementPrice: item.settlementPrice || ''
settlementPrice: (item.settlementPrice != null ? item.settlementPrice : ''),
persisted: true
};
});
renderLinkedGoods();
......@@ -207,7 +208,7 @@
coverPic: item.skuPic || item.coverPic || '',
price: item.price,
stock: (item.skuStock != null ? item.skuStock : item.stock),
settlementPrice: null, autoOffline: 0
settlementPrice: null, autoOffline: 0, persisted: false
});
renderLinkedGoods();
layer.msg('已添加,可配置换购价后保存');
......@@ -227,22 +228,30 @@
}
function removeLinked(idx) {
var skuId = linkedGoods[idx].skuId;
// mock 数据直接从内存移除,无需请求接口
if (skuId.startsWith('SKU_MOCK_')) {
var item = linkedGoods[idx];
if (!item) {
return;
}
// 未入库(本次新增、未保存)直接从页面移除
if (!item.persisted || (item.skuId && item.skuId.startsWith('SKU_MOCK_'))) {
linkedGoods.splice(idx, 1);
renderLinkedGoods();
layer.msg('已从待保存列表移除');
return;
}
if (!confirm('确定取消关联该商品?')) return;
$.post(prefix + '/unbind', { performancesId: performancesId, skuId: skuId }, function (resp) {
$.modal.confirm('确认要取消关联该商品吗?', function () {
$.post(prefix + '/unbind', { performancesId: performancesId, skuId: item.skuId }, function (resp) {
if (resp.code === 0) {
linkedGoods.splice(idx, 1);
renderLinkedGoods();
layer.msg('已取消关联');
} else {
alert(resp.msg || resp.message || '操作失败');
layer.msg(resp.msg || resp.message || '操作失败', { icon: 2 });
}
});
});
}
function saveConfig() {
......@@ -250,7 +259,7 @@
var items = linkedGoods.map(function (item) {
return {
skuId: item.skuId, sort: 0,
settlementPrice: item.settlementPrice || null
settlementPrice: (item.settlementPrice === '' || item.settlementPrice == null) ? null : item.settlementPrice
};
});
$.ajax({
......@@ -261,6 +270,7 @@
success: function (resp) {
if (resp.code === 0) {
layer.msg('保存成功');
loadLinkedGoods();
} else {
layer.msg(resp.msg || resp.message || '保存失败', { icon: 2 });
}
......
......@@ -7,7 +7,7 @@ import com.liquidnet.client.admin.zhengzai.goblin.service.ISqbPerformanceGoodsSe
import com.liquidnet.client.admin.zhengzai.goblin.utils.GoblinRedisUtils;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.GoblinAdminSqbGoodsVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSqbPerfGoodsVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSqbPerfLinkedGoodsVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSqbPerfListRespVo;
import com.liquidnet.service.goblin.entity.GoblinGoodsSku;
import com.liquidnet.service.goblin.entity.GoblinSqbPerformanceConfig;
......@@ -200,23 +200,23 @@ public class SqbPerformanceGoodsServiceImpl implements ISqbPerformanceGoodsServi
Map<String, GoblinGoodsSku> skuMap = goblinGoodsSkuMapper.selectList(skuQuery)
.stream().collect(Collectors.toMap(GoblinGoodsSku::getSkuId, Function.identity(), (a, b) -> a));
List<GoblinSqbPerfGoodsVo> goodsList = new ArrayList<>();
List<GoblinSqbPerfLinkedGoodsVo> goodsList = new ArrayList<>();
for (GoblinSqbPerformanceGoods rel : relations) {
GoblinSqbPerfGoodsVo vo = new GoblinSqbPerfGoodsVo();
// vo.setSkuId(rel.getSkuId());
// vo.setSpuId(rel.getSpuId());
// vo.setSort(rel.getSort());
// vo.setSettlementPrice(rel.getSettlementPrice());
// vo.setStatus(rel.getStatus());
//
// GoblinGoodsSku sku = skuMap.get(rel.getSkuId());
// if (sku != null) {
// vo.setSkuName(sku.getName());
// vo.setSpuName(sku.getName());
// vo.setCoverPic(sku.getSkuPic());
// vo.setPrice(sku.getPrice() != null ? sku.getPrice().longValue() : null);
// vo.setStock(sku.getSkuStock());
// }
GoblinSqbPerfLinkedGoodsVo vo = new GoblinSqbPerfLinkedGoodsVo();
vo.setSkuId(rel.getSkuId());
vo.setSpuId(rel.getSpuId());
vo.setSort(rel.getSort());
vo.setSettlementPrice(rel.getSettlementPrice());
vo.setStatus(rel.getStatus());
GoblinGoodsSku sku = skuMap.get(rel.getSkuId());
if (sku != null) {
vo.setSkuName(sku.getName());
vo.setSpuName(sku.getName());
vo.setCoverPic(sku.getSkuPic());
vo.setPrice(sku.getPrice() != null ? sku.getPrice().longValue() : null);
vo.setStock(sku.getSkuStock());
}
goodsList.add(vo);
}
resp.setGoodsList(goodsList);
......
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