Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录/注册
切换导航
Z
zion
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
1
合并请求
1
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
zhengfg
zion
Commits
c31da821
提交
c31da821
authored
1月 16, 2020
作者:
luojie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改商品加入购物车逻辑
上级
207c0bb1
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
114 行增加
和
48 行删除
+114
-48
TbCfCartRecordRDao.java
...a/com/diaoyun/zion/chinafrica/dao/TbCfCartRecordRDao.java
+5
-2
TbCfItemDetailDao.java
...va/com/diaoyun/zion/chinafrica/dao/TbCfItemDetailDao.java
+2
-0
TbCfItemDetailServiceImpl.java
...on/chinafrica/service/impl/TbCfItemDetailServiceImpl.java
+39
-22
TbCfCartRecordRDao.xml
src/main/resources/mapper/TbCfCartRecordRDao.xml
+38
-19
TbCfItemDetailDao.xml
src/main/resources/mapper/TbCfItemDetailDao.xml
+29
-4
email-template.ftl
src/main/resources/templates/email-template.ftl
+1
-1
没有找到文件。
src/main/java/com/diaoyun/zion/chinafrica/dao/TbCfCartRecordRDao.java
浏览文件 @
c31da821
...
@@ -22,7 +22,10 @@ public interface TbCfCartRecordRDao extends BaseDao<TbCfCartRecordREntity> {
...
@@ -22,7 +22,10 @@ public interface TbCfCartRecordRDao extends BaseDao<TbCfCartRecordREntity> {
*/
*/
int
deleteItems
(
String
[]
cartRecordIds
);
int
deleteItems
(
String
[]
cartRecordIds
);
TbCfCartRecordREntity
queryByItemId
(
String
itemId
);
TbCfCartRecordREntity
queryByItemId
(
@Param
(
"itemId"
)
String
itemId
,
@Param
(
"userId"
)
String
userId
,
@Param
(
"itemSku"
)
String
itemSku
);
TbCfCartRecordREntity
querySkuAndUrl
(
@Param
(
"itemSku"
)
String
itemSku
,
@Param
(
"itemId"
)
String
itemId
,
@Param
(
"sourceItemId"
)
String
sourceItemId
,
@Param
(
"userId"
)
String
userId
);
int
queryItemNum
(
String
userId
);
TbCfCartRecordREntity
querySkuAndUrl
(
@Param
(
"itemSku"
)
String
itemSku
,
@Param
(
"sourceItemId"
)
String
sourceItemId
);
}
}
src/main/java/com/diaoyun/zion/chinafrica/dao/TbCfItemDetailDao.java
浏览文件 @
c31da821
...
@@ -32,5 +32,7 @@ public interface TbCfItemDetailDao extends BaseDao<TbCfItemDetailEntity> {
...
@@ -32,5 +32,7 @@ public interface TbCfItemDetailDao extends BaseDao<TbCfItemDetailEntity> {
int
changeItemState
(
String
cartRecordId
,
Integer
checkFlag
);
int
changeItemState
(
String
cartRecordId
,
Integer
checkFlag
);
int
changeState
(
@Param
(
"ids"
)
String
[]
ids
,
@Param
(
"checkFlag"
)
String
checkFlag
);
int
changeState
(
@Param
(
"ids"
)
String
[]
ids
,
@Param
(
"checkFlag"
)
String
checkFlag
);
int
queryItemNum
(
String
userId
);
}
}
src/main/java/com/diaoyun/zion/chinafrica/service/impl/TbCfItemDetailServiceImpl.java
浏览文件 @
c31da821
...
@@ -101,6 +101,11 @@ public class TbCfItemDetailServiceImpl implements TbCfItemDetailService {
...
@@ -101,6 +101,11 @@ public class TbCfItemDetailServiceImpl implements TbCfItemDetailService {
public
Result
addToCart
(
TbCfItemDetailVo
tbCfItemDetailVo
)
throws
InterruptedException
,
ExecutionException
,
TimeoutException
{
public
Result
addToCart
(
TbCfItemDetailVo
tbCfItemDetailVo
)
throws
InterruptedException
,
ExecutionException
,
TimeoutException
{
String
token
=
jwtTokenProvider
.
resolveToken
(
request
);
String
token
=
jwtTokenProvider
.
resolveToken
(
request
);
TbCfUserInfoVo
tbCfUserInfoVo
=
tokenManager
.
validate
(
token
);
TbCfUserInfoVo
tbCfUserInfoVo
=
tokenManager
.
validate
(
token
);
int
itemCount
=
tbCfItemDetailDao
.
queryItemNum
(
tbCfUserInfoVo
.
getUserId
());
System
.
out
.
println
(
itemCount
);
if
(
itemCount
>=
99
){
return
new
Result
(
ResultCodeEnum
.
ERROR
.
getCode
()).
setMessage
(
"The shopping cart is full and needs to be cleaned!"
);
}
boolean
flag
=
false
;
boolean
flag
=
false
;
if
(
tbCfItemDetailVo
.
getItemPrice
()
!=
null
)
{
if
(
tbCfItemDetailVo
.
getItemPrice
()
!=
null
)
{
int
compare
=
tbCfItemDetailVo
.
getItemPrice
().
compareTo
(
BigDecimal
.
ZERO
);
int
compare
=
tbCfItemDetailVo
.
getItemPrice
().
compareTo
(
BigDecimal
.
ZERO
);
...
@@ -110,14 +115,26 @@ public class TbCfItemDetailServiceImpl implements TbCfItemDetailService {
...
@@ -110,14 +115,26 @@ public class TbCfItemDetailServiceImpl implements TbCfItemDetailService {
}
}
if
(
flag
)
{
if
(
flag
)
{
//填充新商品必要信息
//填充新商品必要信息
TbCfCartRecordREntity
tbCfCartRecord
=
tbCfCartRecordRDao
.
querySkuAndUrl
(
tbCfItemDetailVo
.
getItemSku
(),
tbCfItemDetailVo
.
getSourceItemId
());
TbCfCartRecordREntity
tbCfCartRecord
=
tbCfCartRecordRDao
.
querySkuAndUrl
(
tbCfItemDetailVo
.
getItemSku
(),
tbCfItemDetailVo
.
getItemId
(),
tbCfItemDetailVo
.
getSourceItemId
(),
tbCfUserInfoVo
.
getUserId
());
if
(
tbCfCartRecord
!=
null
)
{
if
(
tbCfItemDetailVo
.
getSourceItemId
().
equals
(
"www.afrieshop.com"
))
{
tbCfItemDetailVo
.
setItemId
(
tbCfCartRecord
.
getItemId
());
if
(
tbCfCartRecord
!=
null
)
{
tbCfItemDetailVo
.
setItemNum
(
tbCfCartRecord
.
getItemNum
()
+
tbCfItemDetailVo
.
getItemNum
());
tbCfItemDetailVo
.
setItemId
(
tbCfCartRecord
.
getItemId
());
tbCfItemDetailVo
.
setCreateTime
(
new
Date
());
tbCfItemDetailVo
.
setItemNum
(
tbCfCartRecord
.
getItemNum
()
+
tbCfItemDetailVo
.
getItemNum
());
}
else
{
tbCfItemDetailVo
.
setCreateTime
(
new
Date
());
tbCfItemDetailVo
.
setItemId
(
IdUtil
.
createIdbyUUID
());
}
else
{
tbCfItemDetailVo
.
setCreateTime
(
new
Date
());
tbCfItemDetailVo
.
setItemId
(
tbCfItemDetailVo
.
getItemId
());
tbCfItemDetailVo
.
setItemNum
(
tbCfItemDetailVo
.
getItemNum
());
tbCfItemDetailVo
.
setCreateTime
(
new
Date
());
}
}
else
{
if
(
tbCfCartRecord
!=
null
)
{
tbCfItemDetailVo
.
setItemId
(
tbCfCartRecord
.
getItemId
());
tbCfItemDetailVo
.
setItemNum
(
tbCfCartRecord
.
getItemNum
()
+
tbCfItemDetailVo
.
getItemNum
());
tbCfItemDetailVo
.
setCreateTime
(
new
Date
());
}
else
{
tbCfItemDetailVo
.
setItemId
(
IdUtil
.
createIdbyUUID
());
tbCfItemDetailVo
.
setCreateTime
(
new
Date
());
}
}
}
//为商品分类,后面计算运费
//为商品分类,后面计算运费
TbCfExpressTemplateEntity
expressTemplate
=
recognizeItemCategory
(
tbCfItemDetailVo
.
getItemTitle
());
TbCfExpressTemplateEntity
expressTemplate
=
recognizeItemCategory
(
tbCfItemDetailVo
.
getItemTitle
());
...
@@ -126,31 +143,32 @@ public class TbCfItemDetailServiceImpl implements TbCfItemDetailService {
...
@@ -126,31 +143,32 @@ public class TbCfItemDetailServiceImpl implements TbCfItemDetailService {
TbCfItemDetailEntity
tbCfItemDetail
=
new
TbCfItemDetailEntity
();
TbCfItemDetailEntity
tbCfItemDetail
=
new
TbCfItemDetailEntity
();
BeanUtils
.
copyProperties
(
tbCfItemDetailVo
,
tbCfItemDetail
);
BeanUtils
.
copyProperties
(
tbCfItemDetailVo
,
tbCfItemDetail
);
//将商品加入购物车表
//将商品加入购物车表
TbCfCartRecordREntity
tbCfCartRecordREntity1
=
tbCfCartRecordRDao
.
queryByItemId
(
tbCfItemDetailVo
.
getItemId
());
TbCfCartRecordREntity
tbCfCartRecordREntity1
=
tbCfCartRecordRDao
.
queryByItemId
(
tbCfItemDetailVo
.
getItemId
(),
tbCfUserInfoVo
.
getUserId
(),
tbCfItemDetailVo
.
getItemSku
());
if
(
tbCfCartRecordREntity1
==
null
)
{
if
(
tbCfCartRecordREntity1
!=
null
)
{
tbCfItemDetailDao
.
save
(
tbCfItemDetail
);
TbCfCartRecordREntity
tbCfCartRecordREntity
=
new
TbCfCartRecordREntity
();
TbCfCartRecordREntity
tbCfCartRecordREntity
=
new
TbCfCartRecordREntity
();
tbCfCartRecordREntity
.
setCartRecordId
(
IdUtil
.
createIdbyUUID
());
tbCfCartRecordREntity
.
setCartRecordId
(
tbCfCartRecordREntity1
.
getCartRecordId
());
tbCfCartRecordREntity
.
setItemId
(
tbCfItemDetailVo
.
getItemId
());
tbCfCartRecordREntity
.
setCheckFlag
(
StateConstant
.
VALID
);
tbCfCartRecordREntity
.
setCheckFlag
(
StateConstant
.
VALID
);
tbCfCartRecordREntity
.
setEnableFlag
(
StateConstant
.
VALID
);
tbCfCartRecordREntity
.
setEnableFlag
(
StateConstant
.
VALID
);
tbCfCartRecordREntity
.
setItemId
(
tbCfItemDetailVo
.
getItemId
());
tbCfCartRecordREntity
.
setUserId
(
tbCfCartRecordREntity1
.
getUserId
());
tbCfCartRecordREntity
.
setUserId
(
tbCfUserInfoVo
.
getUserId
());
tbCfCartRecordREntity
.
setCreateTime
(
new
Date
());
tbCfCartRecordREntity
.
setCreateTime
(
new
Date
());
tbCfCartRecordREntity
.
setItemNum
(
tbCfItemDetailVo
.
getItemNum
());
tbCfCartRecordREntity
.
setItemNum
(
tbCfItemDetailVo
.
getItemNum
());
tbCfCartRecordREntity
.
setItemSku
(
tbCfItemDetailVo
.
getItemSku
());
tbCfCartRecordRDao
.
update
(
tbCfCartRecordREntity
);
tbCfCartRecordREntity
.
setSourceItemId
(
tbCfItemDetailVo
.
getSourceItemId
());
tbCfCartRecordRDao
.
save
(
tbCfCartRecordREntity
);
}
else
{
tbCfItemDetailDao
.
update
(
tbCfItemDetail
);
tbCfItemDetailDao
.
update
(
tbCfItemDetail
);
}
else
{
tbCfItemDetailDao
.
save
(
tbCfItemDetail
);
TbCfCartRecordREntity
tbCfCartRecordREntity
=
new
TbCfCartRecordREntity
();
TbCfCartRecordREntity
tbCfCartRecordREntity
=
new
TbCfCartRecordREntity
();
tbCfCartRecordREntity
.
setCartRecordId
(
tbCfCartRecordREntity1
.
getCartRecordId
());
tbCfCartRecordREntity
.
setCartRecordId
(
IdUtil
.
createIdbyUUID
());
tbCfCartRecordREntity
.
setItemId
(
tbCfItemDetailVo
.
getItemId
());
tbCfCartRecordREntity
.
setCheckFlag
(
StateConstant
.
VALID
);
tbCfCartRecordREntity
.
setCheckFlag
(
StateConstant
.
VALID
);
tbCfCartRecordREntity
.
setEnableFlag
(
StateConstant
.
VALID
);
tbCfCartRecordREntity
.
setEnableFlag
(
StateConstant
.
VALID
);
tbCfCartRecordREntity
.
setItemId
(
tbCfItemDetailVo
.
getItemId
());
tbCfCartRecordREntity
.
setUserId
(
tbCfUserInfoVo
.
getUserId
());
tbCfCartRecordREntity
.
setUserId
(
tbCfUserInfoVo
.
getUserId
());
tbCfCartRecordREntity
.
setCreateTime
(
new
Date
());
tbCfCartRecordREntity
.
setCreateTime
(
new
Date
());
tbCfCartRecordREntity
.
setItemNum
(
tbCfItemDetailVo
.
getItemNum
());
tbCfCartRecordREntity
.
setItemNum
(
tbCfItemDetailVo
.
getItemNum
());
tbCfCartRecordRDao
.
update
(
tbCfCartRecordREntity
);
tbCfCartRecordREntity
.
setItemSku
(
tbCfItemDetailVo
.
getItemSku
());
tbCfCartRecordREntity
.
setSourceItemId
(
tbCfItemDetailVo
.
getSourceItemId
());
tbCfCartRecordRDao
.
save
(
tbCfCartRecordREntity
);
}
}
return
new
Result
(
ResultCodeEnum
.
SUCCESS
.
getDesc
());
return
new
Result
(
ResultCodeEnum
.
SUCCESS
.
getDesc
());
}
else
{
}
else
{
...
@@ -158,7 +176,6 @@ public class TbCfItemDetailServiceImpl implements TbCfItemDetailService {
...
@@ -158,7 +176,6 @@ public class TbCfItemDetailServiceImpl implements TbCfItemDetailService {
}
}
}
}
@Override
@Override
public
Result
insertItemDetail
(
TbCfItemDetailVo
tbCfItemDetailVo
)
{
public
Result
insertItemDetail
(
TbCfItemDetailVo
tbCfItemDetailVo
)
{
Result
result
=
new
Result
();
Result
result
=
new
Result
();
...
...
src/main/resources/mapper/TbCfCartRecordRDao.xml
浏览文件 @
c31da821
...
@@ -122,30 +122,49 @@
...
@@ -122,30 +122,49 @@
#{cartRecordId}
#{cartRecordId}
</foreach>
</foreach>
</delete>
</delete>
<select
id=
"querySkuAndUrl"
resultType=
"com.diaoyun.zion.chinafrica.entity.TbCfCartRecordREntity"
>
<select
id=
"querySkuAndUrl"
resultType=
"com.diaoyun.zion.chinafrica.entity.TbCfCartRecordREntity"
>
select
select
`cart_record_id`,
`cart_record_id`,
`item_id`,
`item_id`,
`user_id`,
`user_id`,
`check_flag`,
`check_flag`,
`enable_flag`,
`enable_flag`,
`create_time`,
`create_time`,
`source_item_id`,
`source_item_id`,
`item_sku`,
`item_sku`,
`item_num`
`item_num`
from tb_cf_cart_record_r
from tb_cf_cart_record_r
where item_sku =#{itemSku} and source_item_id=#{sourceItemId} and enable_flag=1
where 1=1
and user_id=#{userId}
and enable_flag=1
<if
test=
"itemSku != null and itemSku.trim() != ''"
>
and item_sku =#{itemSku}
</if>
<if
test=
"sourceItemId != null and sourceItemId.trim() != ''"
>
and source_item_id=#{sourceItemId}
</if>
<if
test=
"itemId != null and itemId.trim() != ''"
>
and item_id=#{itemId}
</if>
</select>
</select>
<select
id=
"queryByItemId"
resultType=
"com.diaoyun.zion.chinafrica.entity.TbCfCartRecordREntity"
>
<select
id=
"queryByItemId"
resultType=
"com.diaoyun.zion.chinafrica.entity.TbCfCartRecordREntity"
>
select `cart_record_id`,
select `cart_record_id`,
`item_id`,
`item_id`,
`user_id`,
`user_id`,
`check_flag`,
`check_flag`,
`enable_flag`,
`enable_flag`,
`create_time`,
`create_time`,
`source_item_id`,
`source_item_id`,
`item_sku`,
`item_sku`,
`item_num` from tb_cf_cart_record_r where item_id =#{itemId} and enable_flag=1
`item_num` from tb_cf_cart_record_r where 1=1
and enable_flag=1
and user_id=#{userId}
and item_id =#{itemId}
<if
test=
"itemSku != null and itemSku.trim() != ''"
>
and item_sku =#{itemSku}
</if>
</select>
</select>
</mapper>
</mapper>
\ No newline at end of file
src/main/resources/mapper/TbCfItemDetailDao.xml
浏览文件 @
c31da821
...
@@ -149,7 +149,7 @@
...
@@ -149,7 +149,7 @@
<if
test=
"shopUrl != null"
>
`shop_url` = #{shopUrl},
</if>
<if
test=
"shopUrl != null"
>
`shop_url` = #{shopUrl},
</if>
<if
test=
"createTime != null"
>
`create_time` = #{createTime}
</if>
<if
test=
"createTime != null"
>
`create_time` = #{createTime}
</if>
</set>
</set>
where item_id = #{itemId}
where item_id = #{itemId}
and item_sku=#{itemSku}
</update>
</update>
<delete
id=
"delete"
>
<delete
id=
"delete"
>
...
@@ -165,12 +165,33 @@
...
@@ -165,12 +165,33 @@
<!--获取用户购物车内商品-->
<!--获取用户购物车内商品-->
<select
id=
"getCartItemList"
resultType=
"com.diaoyun.zion.chinafrica.vo.TbCfCartItemDetailVo"
>
<select
id=
"getCartItemList"
resultType=
"com.diaoyun.zion.chinafrica.vo.TbCfCartItemDetailVo"
>
select t1.cart_record_id,t1.check_flag,t2.* from tb_cf_cart_record_r t1,tb_cf_item_detail t2 where t1.item_id=t2.item_id
select
and t1.user_id=#{userId} and t2.item_price is not null
t1.cart_record_id,
t1.check_flag,
t2.item_id,
t2.source_item_id,
t2.station_id,
t2.station_type,
t2.item_title,
t2.item_num,
t2.item_img,
t2.item_price,
t2.item_category,
t2.item_sku,
t2.shop_id,
t2.shop_name,
t2.shop_url,
t2.create_time
from
tb_cf_cart_record_r t1 left join tb_cf_item_detail t2 on t1.item_id=t2.item_id and t1.item_sku=t2.item_sku
where 1=1
and t1.user_id=#{userId}
and t2.item_price is not null
and t1.enable_flag=1 order by t2.create_time desc
<if
test=
"checkFlag != null"
>
and t1.check_flag = #{checkFlag}
</if>
<if
test=
"checkFlag != null"
>
and t1.check_flag = #{checkFlag}
</if>
and t1.enable_flag=1 order by t2.create_time desc
</select>
</select>
<!--改变购物车的商品勾选状态-->
<!--改变购物车的商品勾选状态-->
<update
id=
"changeItemState"
>
<update
id=
"changeItemState"
>
update tb_cf_cart_record_r set check_flag=#{checkFlag} where cart_record_id=#{cartRecordId}
update tb_cf_cart_record_r set check_flag=#{checkFlag} where cart_record_id=#{cartRecordId}
...
@@ -184,4 +205,8 @@
...
@@ -184,4 +205,8 @@
</foreach>
</foreach>
</update>
</update>
<select
id=
"queryItemNum"
resultType=
"int"
>
select count(*) from tb_cf_cart_record_r where 1=1 and user_id=#{userId} and enable_flag=1
</select>
</mapper>
</mapper>
\ No newline at end of file
src/main/resources/templates/email-template.ftl
浏览文件 @
c31da821
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
<body>
<body>
<section
style=
"width: 600px;height :720px;margin:0 auto;box-sizing: border-box;position: relative;"
>
<section
style=
"width: 600px;height :720px;margin:0 auto;box-sizing: border-box;position: relative;"
>
<img
style=
"position:absolute;width: 600px;height :720px;top:0;left:0;"
src=
"https://diao
paas.com/wk_vote_node/public/africa-email-bg.png"
alt=
"背景图"
>
<img
style=
"position:absolute;width: 600px;height :720px;top:0;left:0;"
src=
"https://diao
saas-prod.oss-cn-shenzhen.aliyuncs.com/africa-shop/Afrishop/africa-email-bg.png"
alt=
"背景图"
>
<span
style=
"position: absolute;top:42.1%;left:8%;display: inline-block;width:50px;overflow: hidden;text-overflow:ellipsis;white-space: nowrap;"
>
${nick}
</span>
<span
style=
"position: absolute;top:42.1%;left:8%;display: inline-block;width:50px;overflow: hidden;text-overflow:ellipsis;white-space: nowrap;"
>
${nick}
</span>
<span
style=
"text-align: center;position: absolute;top:63.3%;left:42.4%;display: inline-block;width:90px;white-space: nowrap;"
>
${identifyCode?c}
</span>
<span
style=
"text-align: center;position: absolute;top:63.3%;left:42.4%;display: inline-block;width:90px;white-space: nowrap;"
>
${identifyCode?c}
</span>
</section>
</section>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论