1
0
Code Issues Pull Requests Packages Projects Releases Wiki Activity GitHub Gitee

bugfix 修复若干商品管理Bug;小程序商品列表不展示下架商品

This commit is contained in:
2023-04-25 04:33:38 +08:00
parent 0bcef8d497
commit 2038d76b1e
8 changed files with 90 additions and 21 deletions

View File

@@ -56,7 +56,7 @@ public class GoodController {
searchText = null;
}
}
List<GoodVO> list = goodService.list(cateId, searchText);
List<GoodVO> list = goodService.listOnSale(cateId, searchText);
return Res.success(list);
}
@@ -100,7 +100,8 @@ public class GoodController {
// 分类列表
List<GoodCategory> cateList = goodService.getCateList();
String cateListForMock = JSONArray.from(cateList.stream().map(i -> i.getId()).collect(Collectors.toList())).toString();
String cateListForMock = JSONArray.from(cateList.stream()
.map(i -> i.getId().toString()).collect(Collectors.toList())).toString();
// id列 字段名区分大小写以VO中的变量名为准
// 新增、修改弹窗时,使用该列作为主键列进行操作
@@ -133,7 +134,7 @@ public class GoodController {
"商品分类", FieldBuilder.EDIT_PLACEHOLDER_SAME_AS_ADD_PLACEHOLDER,
FieldRuleListBuilder.create()
.add(FieldRuleBuilder.create("商品分类").required()),
"DPD @pick(" + cateListForMock + "])"
"DPD @pick(" + cateListForMock + ")"
)
.add("brand", "brand", "商品品牌", "",
FieldType.TEXT, SearchType.INPUT, AddType.INPUT, EditType.INPUT,
@@ -153,7 +154,7 @@ public class GoodController {
.add(FieldRuleBuilder.create("商品简介").minMax(6, 30)),
"DPD @cword(15, 30)"
)
.add("isOnSale", "isOnSale", "状态", true,
.add("isOnSale", "isOnSaleDisplay", "状态", true,
FieldType.TEXT, SearchType.SELECT, AddType.SELECT, EditType.SELECT,
FieldBuilder.SEARCH_PLACEHOLDER_SAME_AS_FIELDNAME,
"状态", FieldBuilder.EDIT_PLACEHOLDER_SAME_AS_ADD_PLACEHOLDER,
@@ -177,20 +178,24 @@ public class GoodController {
"DPD @cword(1, 2)"
)
.add("counterPrice", "counterPrice", "专柜价格", "",
FieldType.TEXT, SearchType.INPUT, AddType.INPUT, EditType.INPUT,
FieldType.TEXT, SearchType.INPUT, AddType.INPUT_NUMBER, EditType.INPUT_NUMBER,
"专柜价/原价/划线价",
"专柜价格 / 原价 / 划线价", FieldBuilder.EDIT_PLACEHOLDER_SAME_AS_ADD_PLACEHOLDER,
FieldRuleListBuilder.create()
.add(FieldRuleBuilder.create("专柜价格").required()),
"DTD /^\\d+?(\\.?\\d+?)?$/"
.add(FieldRuleBuilder.create("专柜价格").required())
// .add(FieldRuleBuilder.create("专柜价格").regexp("^(\\d+(\\.\\d{1,2})?)$"))
,
"DTD /^[1-9]\\d{0,4}(\\.?\\d{1,2})?$/"
)
.add("retailPrice", "retailPrice", "零售价格", "",
FieldType.TEXT, SearchType.INPUT, AddType.INPUT, EditType.INPUT,
FieldType.TEXT, SearchType.INPUT, AddType.INPUT_NUMBER, EditType.INPUT_NUMBER,
"零售价/售价/未划线价",
"零售价 / 售价 / 未划线价", FieldBuilder.EDIT_PLACEHOLDER_SAME_AS_ADD_PLACEHOLDER,
FieldRuleListBuilder.create()
.add(FieldRuleBuilder.create("零售价格").required()),
"DTD /^\\d+?(\\.?\\d+?)?$/"
.add(FieldRuleBuilder.create("零售价格").required())
// .add(FieldRuleBuilder.create("零售价格").regexp("^(\\d+(\\.\\d{1,2})?)$"))
,
"DTD /^[1-9]\\d{0,2}(\\.?\\d{1,2})?$/"
)
.add("detail", "detail", "商品详细介绍", "暂无商品详细介绍",
FieldType.LONG_TEXT, SearchType.INPUT, AddType.TEXTAREA, EditType.TEXTAREA,
@@ -212,7 +217,7 @@ public class GoodController {
// build
JSONArray fieldMapper = FieldMapperBuilder.create()
.add("categoryId", "categoryName", cateMap)
.add("isOnSale", "isOnSale", stateMap)
.add("isOnSale", "isOnSaleDisplay", stateMap)
.build();
// 拼装返回结果
@@ -237,6 +242,18 @@ public class GoodController {
@ResponseBody
public Res editGood(@ModelAttribute GoodVO goodVO) {
Good good = GoodVO.convertTo(goodVO);
Double retailPrice = good.getRetailPrice();
if (Objects.nonNull(retailPrice)) {
if (retailPrice < 0 || retailPrice > 99999999.99) {
return Res.error("零售价格输入不符,须在 0 - 99999999.99 之间");
}
}
Double counterPrice = good.getCounterPrice();
if (Objects.nonNull(counterPrice)) {
if (counterPrice < 0 || counterPrice > 99999999.99) {
return Res.error("专柜价格输入不符,须在 0 - 99999999.99 之间");
}
}
// 先查询商品是否存在
Good existGood = goodService.getGoodById(good.getId());

View File

@@ -14,6 +14,8 @@ public interface GoodDao {
List<Good> list(@Param("cateId") Integer cateId, @Param("searchText") String searchText);
List<Good> listOnSale(@Param("cateId") Integer cateId, @Param("searchText") String searchText);
Good getById(Long id);
Good selectById(Long id);

View File

@@ -27,6 +27,13 @@ public class GoodService {
return goodVOS;
}
// 只列出上架状态的商品
public List<GoodVO> listOnSale(Integer cateId, String searchText) {
List<Good> list = goodDao.listOnSale(cateId, searchText);
List<GoodVO> goodVOS = GoodVO.convertFrom(list);
return goodVOS;
}
public GoodVO getById(Long id) {
Good good = goodDao.getById(id);
GoodVO goodVO = GoodVO.convertFrom(good);

View File

@@ -37,6 +37,18 @@
</if>
order by `sort_order` asc
</select>
<select id="listOnSale" resultType="com.cxyxiaomo.epp.common.pojo.Good">
SELECT *
FROM goods
WHERE is_on_sale = 1
<if test="cateId != null">
AND category_id = #{cateId}
</if>
<if test="searchText != null">
AND goods_name LIKE concat('%',#{searchText,jdbcType=VARCHAR},'%')
</if>
order by `sort_order` asc
</select>
<select id="getById" parameterType="java.lang.Long" resultType="com.cxyxiaomo.epp.common.pojo.Good">
SELECT *
FROM goods