Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
f44a6d49
提交
f44a6d49
authored
5月 07, 2019
作者:
YunaiV
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
- 后端:增加促销活动分页接口
上级
d39a4160
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
192 行增加
和
48 行删除
+192
-48
CartServiceImpl.java
...va/cn/iocoder/mall/order/biz/service/CartServiceImpl.java
+3
-12
AdminsProductRecommendController.java
...n/controller/admins/AdminsProductRecommendController.java
+2
-2
AdminsPromotionActivityController.java
.../controller/admins/AdminsPromotionActivityController.java
+58
-0
PromotionActivityService.java
.../iocoder/mall/promotion/api/PromotionActivityService.java
+7
-4
PromotionActivityPageBO.java
...ocoder/mall/promotion/api/bo/PromotionActivityPageBO.java
+24
-0
PromotionActivityPageDTO.java
...oder/mall/promotion/api/dto/PromotionActivityPageDTO.java
+37
-0
PromotionActivityMapper.java
...coder/mall/promotion/biz/dao/PromotionActivityMapper.java
+11
-1
PromotionActivityServiceImpl.java
...l/promotion/biz/service/PromotionActivityServiceImpl.java
+23
-6
PromotionActivityMapper.xml
...mpl/src/main/resources/mapper/PromotionActivityMapper.xml
+27
-23
没有找到文件。
order/order-service-impl/src/main/java/cn/iocoder/mall/order/biz/service/CartServiceImpl.java
浏览文件 @
f44a6d49
...
@@ -158,13 +158,9 @@ public class CartServiceImpl implements CartService {
...
@@ -158,13 +158,9 @@ public class CartServiceImpl implements CartService {
}
}
// TODO 库存相关
// TODO 库存相关
// 查询促销活动
// 查询促销活动
CommonResult
<
List
<
PromotionActivityBO
>>
activityListResul
t
=
promotionActivityService
.
getPromotionActivityListBySpuIds
(
List
<
PromotionActivityBO
>
activityLis
t
=
promotionActivityService
.
getPromotionActivityListBySpuIds
(
skus
.
stream
().
map
(
sku
->
sku
.
getSpu
().
getId
()).
collect
(
Collectors
.
toSet
()),
skus
.
stream
().
map
(
sku
->
sku
.
getSpu
().
getId
()).
collect
(
Collectors
.
toSet
()),
Collections
.
singletonList
(
PromotionActivityStatusEnum
.
RUN
.
getValue
()));
Collections
.
singletonList
(
PromotionActivityStatusEnum
.
RUN
.
getValue
()));
if
(
activityListResult
.
isError
())
{
return
CommonResult
.
error
(
activityListResult
);
}
List
<
PromotionActivityBO
>
activityList
=
activityListResult
.
getData
();
// 拼装结果(主要是计算价格)
// 拼装结果(主要是计算价格)
CalcOrderPriceBO
calcOrderPriceBO
=
new
CalcOrderPriceBO
();
CalcOrderPriceBO
calcOrderPriceBO
=
new
CalcOrderPriceBO
();
// 1. 创建初始的每一项的数组
// 1. 创建初始的每一项的数组
...
@@ -208,14 +204,9 @@ public class CartServiceImpl implements CartService {
...
@@ -208,14 +204,9 @@ public class CartServiceImpl implements CartService {
return
ServiceExceptionUtil
.
error
(
OrderErrorCodeEnum
.
CARD_ITEM_SKU_NOT_FOUND
.
getCode
());
return
ServiceExceptionUtil
.
error
(
OrderErrorCodeEnum
.
CARD_ITEM_SKU_NOT_FOUND
.
getCode
());
}
}
// 查询促销活动
// 查询促销活动
CommonResult
<
List
<
PromotionActivityBO
>>
activityListResul
t
=
promotionActivityService
.
getPromotionActivityListBySpuId
(
sku
.
getSpuId
(),
List
<
PromotionActivityBO
>
activityLis
t
=
promotionActivityService
.
getPromotionActivityListBySpuId
(
sku
.
getSpuId
(),
Arrays
.
asList
(
PromotionActivityStatusEnum
.
WAIT
.
getValue
(),
PromotionActivityStatusEnum
.
RUN
.
getValue
()));
Arrays
.
asList
(
PromotionActivityStatusEnum
.
WAIT
.
getValue
(),
PromotionActivityStatusEnum
.
RUN
.
getValue
()));
if
(
activityListResult
.
isError
())
{
if
(
activityList
.
isEmpty
())
{
// 如果无促销活动,则直接返回默认结果即可
return
CommonResult
.
error
(
activityListResult
);
}
// 如果无促销活动,则直接返回默认结果即可
List
<
PromotionActivityBO
>
activityList
=
activityListResult
.
getData
();
if
(
activityList
.
isEmpty
())
{
return
CommonResult
.
success
(
new
CalcSkuPriceBO
().
setOriginalPrice
(
sku
.
getPrice
()).
setBuyPrice
(
sku
.
getPrice
()));
return
CommonResult
.
success
(
new
CalcSkuPriceBO
().
setOriginalPrice
(
sku
.
getPrice
()).
setBuyPrice
(
sku
.
getPrice
()));
}
}
// 如果有促销活动,则开始做计算 TODO 芋艿,因为现在暂时只有限时折扣 + 满减送。所以写的比较简单先
// 如果有促销活动,则开始做计算 TODO 芋艿,因为现在暂时只有限时折扣 + 满减送。所以写的比较简单先
...
...
promotion/promotion-application/src/main/java/cn/iocoder/mall/promotion/application/controller/admins/AdminsProductRecommendController.java
浏览文件 @
f44a6d49
...
@@ -44,8 +44,8 @@ public class AdminsProductRecommendController {
...
@@ -44,8 +44,8 @@ public class AdminsProductRecommendController {
@ApiImplicitParam
(
name
=
"pageSize"
,
value
=
"每页条数"
,
required
=
true
,
example
=
"10"
),
@ApiImplicitParam
(
name
=
"pageSize"
,
value
=
"每页条数"
,
required
=
true
,
example
=
"10"
),
})
})
public
CommonResult
<
AdminsProductRecommendPageVO
>
page
(
@RequestParam
(
value
=
"type"
,
required
=
false
)
Integer
type
,
public
CommonResult
<
AdminsProductRecommendPageVO
>
page
(
@RequestParam
(
value
=
"type"
,
required
=
false
)
Integer
type
,
@RequestParam
(
value
=
"pageNo"
,
defaultValue
=
"0
"
)
Integer
pageNo
,
@RequestParam
(
value
=
"pageNo"
,
defaultValue
=
"1
"
)
Integer
pageNo
,
@RequestParam
(
value
=
"pageSize"
,
defaultValue
=
"10"
)
Integer
pageSize
)
{
@RequestParam
(
value
=
"pageSize"
,
defaultValue
=
"10"
)
Integer
pageSize
)
{
ProductRecommendPageBO
result
=
productRecommendService
.
getProductRecommendPage
(
new
ProductRecommendPageDTO
().
setType
(
type
).
setPageNo
(
pageNo
).
setPageSize
(
pageSize
));
ProductRecommendPageBO
result
=
productRecommendService
.
getProductRecommendPage
(
new
ProductRecommendPageDTO
().
setType
(
type
).
setPageNo
(
pageNo
).
setPageSize
(
pageSize
));
// 获得商品集合
// 获得商品集合
List
<
ProductSpuBO
>
spus
=
productSpuService
.
getProductSpuList
(
List
<
ProductSpuBO
>
spus
=
productSpuService
.
getProductSpuList
(
...
...
promotion/promotion-application/src/main/java/cn/iocoder/mall/promotion/application/controller/admins/AdminsPromotionActivityController.java
0 → 100644
浏览文件 @
f44a6d49
package
cn
.
iocoder
.
mall
.
promotion
.
application
.
controller
.
admins
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.promotion.api.PromotionActivityService
;
import
cn.iocoder.mall.promotion.api.bo.PromotionActivityPageBO
;
import
cn.iocoder.mall.promotion.api.constant.PromotionActivityStatusEnum
;
import
cn.iocoder.mall.promotion.api.dto.PromotionActivityPageDTO
;
import
io.swagger.annotations.Api
;
import
org.apache.dubbo.config.annotation.Reference
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.Arrays
;
import
java.util.Collections
;
import
static
cn
.
iocoder
.
common
.
framework
.
vo
.
CommonResult
.
success
;
@RestController
@RequestMapping
(
"admins/promotion_activity"
)
@Api
(
"促销活动模块"
)
public
class
AdminsPromotionActivityController
{
@Reference
(
validation
=
"true"
,
version
=
"${dubbo.provider.PromotionActivityService.version}"
)
private
PromotionActivityService
promotionActivityService
;
@GetMapping
(
"/page"
)
// TODO 芋艿,BO => VO
public
CommonResult
<
PromotionActivityPageBO
>
page
(
@RequestParam
(
"title"
)
String
title
,
@RequestParam
(
"activityType"
)
Integer
activityType
,
@RequestParam
(
value
=
"status"
)
String
status
,
@RequestParam
(
value
=
"pageNo"
,
defaultValue
=
"1"
)
Integer
pageNo
,
@RequestParam
(
value
=
"pageSize"
,
defaultValue
=
"10"
)
Integer
pageSize
)
{
PromotionActivityPageDTO
promotionActivityPageDTO
=
new
PromotionActivityPageDTO
()
.
setTitle
(
title
).
setActivityType
(
activityType
).
setPageNo
(
pageNo
).
setPageSize
(
pageSize
);
switch
(
status
)
{
case
"WAIT"
:
promotionActivityPageDTO
.
setStatuses
(
Collections
.
singleton
(
PromotionActivityStatusEnum
.
WAIT
.
getValue
()));
break
;
case
"RUN"
:
promotionActivityPageDTO
.
setStatuses
(
Collections
.
singleton
(
PromotionActivityStatusEnum
.
RUN
.
getValue
()));
break
;
case
"END"
:
promotionActivityPageDTO
.
setStatuses
(
Collections
.
singleton
(
PromotionActivityStatusEnum
.
END
.
getValue
()));
break
;
case
"INVALID"
:
promotionActivityPageDTO
.
setStatuses
(
Collections
.
singleton
(
PromotionActivityStatusEnum
.
INVALID
.
getValue
()));
break
;
default
:
promotionActivityPageDTO
.
setStatuses
(
Arrays
.
asList
(
PromotionActivityStatusEnum
.
WAIT
.
getValue
(),
PromotionActivityStatusEnum
.
RUN
.
getValue
(),
PromotionActivityStatusEnum
.
END
.
getValue
(),
PromotionActivityStatusEnum
.
INVALID
.
getValue
()));
}
// 执行查询
return
success
(
promotionActivityService
.
getPromotionActivityPage
(
promotionActivityPageDTO
));
}
}
promotion/promotion-service-api/src/main/java/cn/iocoder/mall/promotion/api/PromotionActivityService.java
浏览文件 @
f44a6d49
package
cn
.
iocoder
.
mall
.
promotion
.
api
;
package
cn
.
iocoder
.
mall
.
promotion
.
api
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.promotion.api.bo.PromotionActivityBO
;
import
cn.iocoder.mall.promotion.api.bo.PromotionActivityBO
;
import
cn.iocoder.mall.promotion.api.bo.PromotionActivityPageBO
;
import
cn.iocoder.mall.promotion.api.dto.PromotionActivityPageDTO
;
import
java.util.Collection
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.List
;
public
interface
PromotionActivityService
{
public
interface
PromotionActivityService
{
CommonResult
<
List
<
PromotionActivityBO
>
>
getPromotionActivityListBySpuId
(
Integer
spuId
,
List
<
PromotionActivityBO
>
getPromotionActivityListBySpuId
(
Integer
spuId
,
Collection
<
Integer
>
activityStatuses
);
Collection
<
Integer
>
activityStatuses
);
CommonResult
<
List
<
PromotionActivityBO
>>
getPromotionActivityListBySpuIds
(
Collection
<
Integer
>
spuIds
,
List
<
PromotionActivityBO
>
getPromotionActivityListBySpuIds
(
Collection
<
Integer
>
spuIds
,
Collection
<
Integer
>
activityStatuses
);
Collection
<
Integer
>
activityStatuses
);
PromotionActivityPageBO
getPromotionActivityPage
(
PromotionActivityPageDTO
promotionActivityPageDTO
);
}
}
promotion/promotion-service-api/src/main/java/cn/iocoder/mall/promotion/api/bo/PromotionActivityPageBO.java
0 → 100644
浏览文件 @
f44a6d49
package
cn
.
iocoder
.
mall
.
promotion
.
api
.
bo
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.util.List
;
/**
* 促销活动分页 BO
*/
@Data
@Accessors
(
chain
=
true
)
public
class
PromotionActivityPageBO
{
/**
* PromotionActivityBO 数组
*/
private
List
<
PromotionActivityBO
>
list
;
/**
* 总量
*/
private
Integer
total
;
}
promotion/promotion-service-api/src/main/java/cn/iocoder/mall/promotion/api/dto/PromotionActivityPageDTO.java
0 → 100644
浏览文件 @
f44a6d49
package
cn
.
iocoder
.
mall
.
promotion
.
api
.
dto
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.util.Collection
;
/**
* 商品推荐分页 DTO
*/
@Data
@Accessors
(
chain
=
true
)
public
class
PromotionActivityPageDTO
implements
Serializable
{
/**
* 标题
*
* 模糊匹配
*/
private
String
title
;
/**
* 活动类型
*/
private
Integer
activityType
;
/**
* 状态
*/
private
Collection
<
Integer
>
statuses
;
@NotNull
(
message
=
"页码不能为空"
)
private
Integer
pageNo
;
@NotNull
(
message
=
"每页条数不能为空"
)
private
Integer
pageSize
;
}
promotion/promotion-service-impl/src/main/java/cn/iocoder/mall/promotion/biz/dao/PromotionActivityMapper.java
浏览文件 @
f44a6d49
...
@@ -12,8 +12,18 @@ public interface PromotionActivityMapper {
...
@@ -12,8 +12,18 @@ public interface PromotionActivityMapper {
PromotionActivityDO
selectById
(
@Param
(
"id"
)
Integer
id
);
PromotionActivityDO
selectById
(
@Param
(
"id"
)
Integer
id
);
List
<
PromotionActivityDO
>
selectListByStatus
(
@Param
(
"statuses"
)
Collection
<
Integer
>
statuses
);
List
<
PromotionActivityDO
>
selectListByStatus
(
@Param
(
"statuses"
)
Collection
<
Integer
>
statuses
);
void
insert
(
PromotionActivityDO
activity
);
void
insert
(
PromotionActivityDO
activity
);
List
<
PromotionActivityDO
>
selectListByPage
(
@Param
(
"title"
)
String
title
,
@Param
(
"activityType"
)
Integer
activityType
,
@Param
(
"statuses"
)
Collection
<
Integer
>
statuses
,
@Param
(
"offset"
)
Integer
offset
,
@Param
(
"limit"
)
Integer
limit
);
Integer
selectCountByPage
(
@Param
(
"title"
)
String
title
,
@Param
(
"activityType"
)
Integer
activityType
,
@Param
(
"statuses"
)
Collection
<
Integer
>
statuses
);
}
}
promotion/promotion-service-impl/src/main/java/cn/iocoder/mall/promotion/biz/service/PromotionActivityServiceImpl.java
浏览文件 @
f44a6d49
package
cn
.
iocoder
.
mall
.
promotion
.
biz
.
service
;
package
cn
.
iocoder
.
mall
.
promotion
.
biz
.
service
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.promotion.api.PromotionActivityService
;
import
cn.iocoder.mall.promotion.api.PromotionActivityService
;
import
cn.iocoder.mall.promotion.api.bo.PromotionActivityBO
;
import
cn.iocoder.mall.promotion.api.bo.PromotionActivityBO
;
import
cn.iocoder.mall.promotion.api.bo.PromotionActivityPageBO
;
import
cn.iocoder.mall.promotion.api.constant.PromotionActivityTypeEnum
;
import
cn.iocoder.mall.promotion.api.constant.PromotionActivityTypeEnum
;
import
cn.iocoder.mall.promotion.api.constant.RangeTypeEnum
;
import
cn.iocoder.mall.promotion.api.constant.RangeTypeEnum
;
import
cn.iocoder.mall.promotion.api.dto.PromotionActivityPageDTO
;
import
cn.iocoder.mall.promotion.biz.convert.PromotionActivityConvert
;
import
cn.iocoder.mall.promotion.biz.convert.PromotionActivityConvert
;
import
cn.iocoder.mall.promotion.biz.dao.PromotionActivityMapper
;
import
cn.iocoder.mall.promotion.biz.dao.PromotionActivityMapper
;
import
cn.iocoder.mall.promotion.biz.dataobject.PromotionActivityDO
;
import
cn.iocoder.mall.promotion.biz.dataobject.PromotionActivityDO
;
...
@@ -25,19 +26,19 @@ public class PromotionActivityServiceImpl implements PromotionActivityService {
...
@@ -25,19 +26,19 @@ public class PromotionActivityServiceImpl implements PromotionActivityService {
private
PromotionActivityMapper
promotionActivityMapper
;
private
PromotionActivityMapper
promotionActivityMapper
;
@Override
@Override
public
CommonResult
<
List
<
PromotionActivityBO
>
>
getPromotionActivityListBySpuId
(
Integer
spuId
,
Collection
<
Integer
>
activityStatuses
)
{
public
List
<
PromotionActivityBO
>
getPromotionActivityListBySpuId
(
Integer
spuId
,
Collection
<
Integer
>
activityStatuses
)
{
return
this
.
getPromotionActivityListBySpuIds
(
Collections
.
singleton
(
spuId
),
activityStatuses
);
return
this
.
getPromotionActivityListBySpuIds
(
Collections
.
singleton
(
spuId
),
activityStatuses
);
}
}
@Override
@Override
public
CommonResult
<
List
<
PromotionActivityBO
>
>
getPromotionActivityListBySpuIds
(
Collection
<
Integer
>
spuIds
,
Collection
<
Integer
>
activityStatuses
)
{
public
List
<
PromotionActivityBO
>
getPromotionActivityListBySpuIds
(
Collection
<
Integer
>
spuIds
,
Collection
<
Integer
>
activityStatuses
)
{
if
(
spuIds
.
isEmpty
()
||
activityStatuses
.
isEmpty
())
{
if
(
spuIds
.
isEmpty
()
||
activityStatuses
.
isEmpty
())
{
return
Co
mmonResult
.
success
(
Collections
.
emptyList
()
);
return
Co
llections
.
emptyList
(
);
}
}
// 查询指定状态的促销活动
// 查询指定状态的促销活动
List
<
PromotionActivityDO
>
activityList
=
promotionActivityMapper
.
selectListByStatus
(
activityStatuses
);
List
<
PromotionActivityDO
>
activityList
=
promotionActivityMapper
.
selectListByStatus
(
activityStatuses
);
if
(
activityList
.
isEmpty
())
{
if
(
activityList
.
isEmpty
())
{
return
Co
mmonResult
.
success
(
Collections
.
emptyList
()
);
return
Co
llections
.
emptyList
(
);
}
}
// 匹配商品
// 匹配商品
for
(
Iterator
<
PromotionActivityDO
>
iterator
=
activityList
.
iterator
();
iterator
.
hasNext
();)
{
for
(
Iterator
<
PromotionActivityDO
>
iterator
=
activityList
.
iterator
();
iterator
.
hasNext
();)
{
...
@@ -64,7 +65,23 @@ public class PromotionActivityServiceImpl implements PromotionActivityService {
...
@@ -64,7 +65,23 @@ public class PromotionActivityServiceImpl implements PromotionActivityService {
}
}
}
}
// 返回最终结果
// 返回最终结果
return
CommonResult
.
success
(
PromotionActivityConvert
.
INSTANCE
.
convertToBO
(
activityList
));
return
PromotionActivityConvert
.
INSTANCE
.
convertToBO
(
activityList
);
}
@Override
public
PromotionActivityPageBO
getPromotionActivityPage
(
PromotionActivityPageDTO
promotionActivityPageDTO
)
{
PromotionActivityPageBO
promotionActivityPageBO
=
new
PromotionActivityPageBO
();
// 查询分页数据
int
offset
=
(
promotionActivityPageDTO
.
getPageNo
()
-
1
)
*
promotionActivityPageDTO
.
getPageSize
();
promotionActivityPageBO
.
setList
(
PromotionActivityConvert
.
INSTANCE
.
convertToBO
(
promotionActivityMapper
.
selectListByPage
(
promotionActivityPageDTO
.
getTitle
(),
promotionActivityPageDTO
.
getActivityType
(),
promotionActivityPageDTO
.
getStatuses
(),
offset
,
promotionActivityPageDTO
.
getPageSize
())));
// 查询分页总数
promotionActivityPageBO
.
setTotal
(
promotionActivityMapper
.
selectCountByPage
(
promotionActivityPageDTO
.
getTitle
(),
promotionActivityPageDTO
.
getActivityType
(),
promotionActivityPageDTO
.
getStatuses
()));
return
promotionActivityPageBO
;
}
}
private
boolean
isSpuMatchTimeLimitDiscount
(
Integer
spuId
,
PromotionActivityDO
activity
)
{
private
boolean
isSpuMatchTimeLimitDiscount
(
Integer
spuId
,
PromotionActivityDO
activity
)
{
...
...
promotion/promotion-service-impl/src/main/resources/mapper/PromotionActivityMapper.xml
浏览文件 @
f44a6d49
...
@@ -59,30 +59,34 @@
...
@@ -59,30 +59,34 @@
<!-- </where>-->
<!-- </where>-->
<!-- </select>-->
<!-- </select>-->
<!-- <select id="selectListByTitleLike" resultType="PromotionActivityDO">-->
<select
id=
"selectListByPage"
resultMap=
"PromotionActivityResultMap"
>
<!-- SELECT-->
SELECT
<!-- <include refid="FIELDS" />-->
<include
refid=
"FIELDS"
/>
<!-- FROM banner-->
FROM promotion_activity
<!-- <where>-->
WHERE activity_type = #{activityType}
<!-- <if test="title != null">-->
<if
test=
"title != null"
>
<!-- title LIKE "%"#{title}"%"-->
AND title LIKE "%"#{title}"%"
<!-- </if>-->
</if>
<!-- AND deleted = 0-->
AND status IN
<!-- </where>-->
<foreach
item=
"status"
collection=
"statuses"
separator=
","
open=
"("
close=
")"
index=
""
>
<!-- LIMIT #{offset}, #{limit}-->
#{status}
<!-- </select>-->
</foreach>
LIMIT #{offset}, #{limit}
</select>
<!-- <select id="selectCountByTitleLike" resultType="Integer">-->
<select
id=
"selectCountByPage"
resultType=
"Integer"
>
<!-- SELECT-->
SELECT
<!-- COUNT(1)-->
COUNT(1)
<!-- FROM banner-->
FROM promotion_activity
<!-- <where>-->
WHERE activity_type = #{activityType}
<!-- <if test="title != null">-->
<if
test=
"title != null"
>
<!-- title LIKE "%"#{title}"%"-->
AND title LIKE "%"#{title}"%"
<!-- </if>-->
</if>
<!-- AND deleted = 0-->
AND status IN
<!-- </where>-->
<foreach
item=
"status"
collection=
"statuses"
separator=
","
open=
"("
close=
")"
index=
""
>
<!-- </select>-->
#{status}
</foreach>
</select>
<insert
id=
"insert"
parameterType=
"PromotionActivityDO"
useGeneratedKeys=
"true"
keyColumn=
"id"
keyProperty=
"id"
>
<insert
id=
"insert"
parameterType=
"PromotionActivityDO"
useGeneratedKeys=
"true"
keyColumn=
"id"
keyProperty=
"id"
>
INSERT INTO promotion_activity (
INSERT INTO promotion_activity (
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论