Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
youjj
cloud-platform
Commits
edd98c49
Commit
edd98c49
authored
Apr 16, 2020
by
jiaorz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
活动订单
parent
156a42db
Changes
26
Show whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
922 additions
and
10 deletions
+922
-10
ActivityProduct.java
...va/com/xxfc/platform/activity/entity/ActivityProduct.java
+119
-0
ActivityProductSpecs.java
...m/xxfc/platform/activity/entity/ActivityProductSpecs.java
+106
-0
ActivityFeign.java
.../java/com/xxfc/platform/activity/feign/ActivityFeign.java
+9
-2
ActivityProductVo.java
...java/com/xxfc/platform/activity/vo/ActivityProductVo.java
+13
-0
ActivityProductBiz.java
...va/com/xxfc/platform/activity/biz/ActivityProductBiz.java
+69
-0
ActivityProductSpecsBiz.java
...m/xxfc/platform/activity/biz/ActivityProductSpecsBiz.java
+52
-0
ActivityProductMapper.java
.../xxfc/platform/activity/mapper/ActivityProductMapper.java
+7
-0
ActivityProductSpecsMapper.java
.../platform/activity/mapper/ActivityProductSpecsMapper.java
+7
-0
ActivityProductController.java
...xfc/platform/activity/rest/ActivityProductController.java
+28
-0
ActivityProductSpecsController.java
...latform/activity/rest/ActivityProductSpecsController.java
+27
-0
generatorConfig.xml
...ity-server/src/main/resources/builder/generatorConfig.xml
+3
-1
ActivityProductMapper.xml
...erver/src/main/resources/mapper/ActivityProductMapper.xml
+28
-0
ActivityProductSpecsMapper.xml
.../src/main/resources/mapper/ActivityProductSpecsMapper.xml
+25
-0
ItemTypeEnum.java
...m/xxfc/platform/order/contant/enumerate/ItemTypeEnum.java
+1
-0
OrderTypeEnum.java
.../xxfc/platform/order/contant/enumerate/OrderTypeEnum.java
+1
-0
OrderActiveDetail.java
...ava/com/xxfc/platform/order/entity/OrderActiveDetail.java
+61
-0
OrderActivityDto.java
...va/com/xxfc/platform/order/pojo/dto/OrderActivityDto.java
+28
-0
ActivityOrderBO.java
...a/com/xxfc/platform/order/pojo/order/ActivityOrderBO.java
+42
-0
OrderActivityVo.java
...java/com/xxfc/platform/order/pojo/vo/OrderActivityVo.java
+25
-0
OrderActivityDetailBiz.java
...a/com/xxfc/platform/order/biz/OrderActivityDetailBiz.java
+58
-0
OrderActiveDetailMapper.java
...m/xxfc/platform/order/mapper/OrderActiveDetailMapper.java
+12
-0
BaseOrderController.java
...ava/com/xxfc/platform/order/rest/BaseOrderController.java
+4
-5
OrderActivityController.java
...com/xxfc/platform/order/rest/OrderActivityController.java
+46
-0
OrderActivityService.java
...com/xxfc/platform/order/service/OrderActivityService.java
+122
-0
generatorConfig.xml
...der-server/src/main/resources/builder/generatorConfig.xml
+2
-2
OrderActiveDetailMapper.xml
...ver/src/main/resources/mapper/OrderActiveDetailMapper.xml
+27
-0
No files found.
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/entity/ActivityProduct.java
0 → 100644
View file @
edd98c49
package
com
.
xxfc
.
platform
.
activity
.
entity
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
javax.persistence.Transient
;
import
java.util.List
;
@Data
@Table
(
name
=
"activity_product"
)
public
class
ActivityProduct
{
/**
* 主键
*/
@Id
private
Long
id
;
/**
* 创建时间
*/
@Column
(
name
=
"crt_time"
)
private
Long
crtTime
;
/**
* 更新时间
*/
@Column
(
name
=
"upd_time"
)
private
Long
updTime
;
/**
* 活动名称
*/
private
String
name
;
/**
* 活动开始时间
*/
@Column
(
name
=
"start_time"
)
private
Long
startTime
;
/**
* 活动结束时间
*/
@Column
(
name
=
"end_time"
)
private
Long
endTime
;
/**
* 购买数量限制
*/
@Column
(
name
=
"num_limit"
)
private
Integer
numLimit
;
/**
* 领取人数限制
*/
@Column
(
name
=
"has_join_num"
)
private
Integer
hasJoinNum
;
/**
* 当前状态 1--上架 2--下架
*/
private
Boolean
status
;
/**
* 排序
*/
private
Boolean
sort
;
/**
* 活动图片
*/
private
String
picture
;
/**
* 类型 1--优惠券; 2--
*/
private
Boolean
type
;
/**
* 活动时期类型:0-永久,1-有期限
*/
@Column
(
name
=
"time_type"
)
private
Boolean
timeType
;
@Column
(
name
=
"is_del"
)
private
Boolean
isDel
;
/**
* 规格ID
*/
@Column
(
name
=
"specs_id"
)
private
Integer
specsId
;
/**
* 销量
*/
private
Integer
sales
;
/**
* 库存
*/
private
Integer
stock
;
/**
* 详情介绍
*/
private
String
detail
;
/**
* 说明
*/
private
String
explain
;
@Transient
List
<
ActivityProductSpecs
>
list
;
}
\ No newline at end of file
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/entity/ActivityProductSpecs.java
0 → 100644
View file @
edd98c49
package
com
.
xxfc
.
platform
.
activity
.
entity
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.math.BigDecimal
;
@Data
@Table
(
name
=
"active_product_specs"
)
public
class
ActivityProductSpecs
{
/**
* 主键id
*/
@Id
private
Long
id
;
/**
* 商品id
*/
@Column
(
name
=
"goods_id"
)
private
Long
goodsId
;
/**
* 规格编号
*/
private
String
code
;
/**
* 规格图片
*/
@Column
(
name
=
"specs_img"
)
private
String
specsImg
;
/**
* 排序
*/
@Column
(
name
=
"specs_seq"
)
private
Integer
specsSeq
;
/**
* 规格价格
*/
@Column
(
name
=
"goods_price"
)
private
BigDecimal
goodsPrice
;
/**
* 成本价
*/
@Column
(
name
=
"specs_cost_price"
)
private
BigDecimal
specsCostPrice
;
/**
* 创建人ID
*/
@Column
(
name
=
"crt_user"
)
private
Long
crtUser
;
/**
* 创建时间
*/
@Column
(
name
=
"crt_time"
)
private
Integer
crtTime
;
/**
* 更新人id
*/
@Column
(
name
=
"upd_user"
)
private
Long
updUser
;
/**
* 更新时间
*/
@Column
(
name
=
"upd_time"
)
private
Integer
updTime
;
/**
* 是否删除:0-正常;1-删除
*/
@Column
(
name
=
"is_del"
)
private
Boolean
isDel
;
/**
* 销量
*/
private
Integer
sales
;
/**
* 库存
*/
private
Integer
stock
;
/**
* 关联商品ID
*/
@Column
(
name
=
"active_id"
)
private
Integer
activeId
;
/**
* 规格json
*/
@Column
(
name
=
"goods_specs"
)
private
String
goodsSpecs
;
}
\ No newline at end of file
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/feign/ActivityFeign.java
View file @
edd98c49
...
...
@@ -4,8 +4,9 @@ import com.github.wxiaoqi.security.admin.dto.UserInfoDTO;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.activity.dto.ActivityListDTO
;
import
com.xxfc.platform.activity.dto.ActivityPopularizeRelationDTO
;
import
com.xxfc.platform.activity.entity.ActivityProduct
;
import
com.xxfc.platform.activity.entity.ActivityProductSpecs
;
import
com.xxfc.platform.activity.entity.Coupon
;
import
com.xxfc.platform.activity.entity.IntegralUserTotal
;
import
com.xxfc.platform.activity.vo.UserCouponVo
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -13,7 +14,6 @@ import org.springframework.cloud.openfeign.FeignClient;
import
org.springframework.web.bind.annotation.*
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -86,4 +86,11 @@ public interface ActivityFeign {
@ApiOperation
(
"获取所用优惠卷"
)
@GetMapping
(
"/coupon/couponsBycouponIds"
)
List
<
Coupon
>
couponsByTickerNoList
(
@RequestParam
(
value
=
"tickerNoList"
)
List
<
String
>
tickerNoList
);
@GetMapping
(
value
=
"/activity/specs/app/unauth/get"
)
public
ObjectRestResponse
<
ActivityProductSpecs
>
get
(
@RequestParam
(
"id"
)
Long
id
);
@GetMapping
(
value
=
"/activity/product/app/unauth/get"
)
public
ObjectRestResponse
<
ActivityProduct
>
getOne
(
@RequestParam
(
"id"
)
Long
id
);
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/vo/ActivityProductVo.java
0 → 100644
View file @
edd98c49
package
com
.
xxfc
.
platform
.
activity
.
vo
;
import
com.xxfc.platform.activity.entity.ActivityProduct
;
import
com.xxfc.platform.activity.entity.ActivityProductSpecs
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
ActivityProductVo
extends
ActivityProduct
{
List
<
ActivityProductSpecs
>
list
;
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/ActivityProductBiz.java
0 → 100644
View file @
edd98c49
package
com
.
xxfc
.
platform
.
activity
.
biz
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.copier.CopyOptions
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.activity.entity.ActivityProduct
;
import
com.xxfc.platform.activity.entity.ActivityProductSpecs
;
import
com.xxfc.platform.activity.mapper.ActivityProductMapper
;
import
io.swagger.annotations.Api
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
tk.mybatis.mapper.entity.Example
;
import
java.util.List
;
@Service
@Slf4j
@Api
(
"活动商品"
)
public
class
ActivityProductBiz
extends
BaseBiz
<
ActivityProductMapper
,
ActivityProduct
>
{
@Autowired
ActivityProductSpecsBiz
activityProductSpecsBiz
;
/**
* 添加活动商品
* @param activityProduct
* @return
*/
public
ObjectRestResponse
add
(
ActivityProduct
activityProduct
)
{
if
(
activityProduct
==
null
)
{
return
ObjectRestResponse
.
paramIsEmpty
();
}
//新增
if
(
activityProduct
.
getId
()
==
null
)
{
insertSelectiveRe
(
activityProduct
);
}
else
{
//修改
ActivityProduct
oldValue
=
getOne
(
activityProduct
.
getId
());
BeanUtil
.
copyProperties
(
activityProduct
,
oldValue
,
CopyOptions
.
create
().
setIgnoreNullValue
(
true
).
setIgnoreError
(
true
));
updateSelectiveByIdRe
(
oldValue
);
return
ObjectRestResponse
.
succ
(
oldValue
);
}
return
ObjectRestResponse
.
succ
(
activityProduct
);
}
public
ActivityProduct
getOne
(
Long
id
)
{
Example
example
=
new
Example
(
ActivityProduct
.
class
);
example
.
createCriteria
().
andEqualTo
(
"id"
,
id
).
andEqualTo
(
"isDel"
,
false
);
ActivityProduct
activityProduct
=
mapper
.
selectOneByExample
(
example
);
List
<
ActivityProductSpecs
>
activityProductSpecs
=
activityProductSpecsBiz
.
getAllByActiveId
(
activityProduct
.
getId
());
activityProduct
.
setList
(
activityProductSpecs
);
return
activityProduct
;
}
public
List
<
ActivityProduct
>
getAll
()
{
Example
example
=
new
Example
(
ActivityProduct
.
class
);
example
.
createCriteria
().
andEqualTo
(
"status"
,
true
).
andEqualTo
(
"isDel"
,
false
);
List
<
ActivityProduct
>
list
=
mapper
.
selectByExample
(
example
);
if
(
list
!=
null
&&
list
.
size
()
>
0
)
{
list
.
parallelStream
().
forEach
(
activityProduct
->
{
List
<
ActivityProductSpecs
>
activityProductSpecs
=
activityProductSpecsBiz
.
getAllByActiveId
(
activityProduct
.
getId
());
activityProduct
.
setList
(
activityProductSpecs
);
});
}
return
list
;
}
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/ActivityProductSpecsBiz.java
0 → 100644
View file @
edd98c49
package
com
.
xxfc
.
platform
.
activity
.
biz
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.copier.CopyOptions
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.activity.entity.ActivityProductSpecs
;
import
com.xxfc.platform.activity.mapper.ActivityProductSpecsMapper
;
import
io.swagger.annotations.Api
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
tk.mybatis.mapper.entity.Example
;
import
java.util.ArrayList
;
import
java.util.List
;
@Service
@Slf4j
@Api
(
"活动商品规格"
)
public
class
ActivityProductSpecsBiz
extends
BaseBiz
<
ActivityProductSpecsMapper
,
ActivityProductSpecs
>
{
public
ObjectRestResponse
add
(
ActivityProductSpecs
activityProductSpecs
)
{
if
(
activityProductSpecs
==
null
)
{
return
ObjectRestResponse
.
paramIsEmpty
();
}
if
(
activityProductSpecs
.
getId
()
==
null
)
{
insertSelectiveRe
(
activityProductSpecs
);
}
else
{
ActivityProductSpecs
oldValue
=
getOne
(
activityProductSpecs
.
getId
());
BeanUtil
.
copyProperties
(
activityProductSpecs
,
oldValue
,
CopyOptions
.
create
().
setIgnoreNullValue
(
true
).
setIgnoreError
(
true
));
updateSelectiveByIdRe
(
oldValue
);
return
ObjectRestResponse
.
succ
(
oldValue
);
}
return
ObjectRestResponse
.
succ
(
activityProductSpecs
);
}
public
ActivityProductSpecs
getOne
(
Long
id
)
{
Example
example
=
new
Example
(
ActivityProductSpecs
.
class
);
example
.
createCriteria
().
andEqualTo
(
"id"
,
id
).
andEqualTo
(
"isDel"
,
false
);
return
mapper
.
selectOneByExample
(
example
);
}
public
List
<
ActivityProductSpecs
>
getAllByActiveId
(
Long
activeId
)
{
if
(
activeId
==
null
)
{
return
new
ArrayList
<>();
}
Example
example
=
new
Example
(
ActivityProductSpecs
.
class
);
example
.
createCriteria
().
andEqualTo
(
"goodsId"
,
activeId
).
andEqualTo
(
"isDel"
,
false
);
return
mapper
.
selectByExample
(
example
);
}
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/mapper/ActivityProductMapper.java
0 → 100644
View file @
edd98c49
package
com
.
xxfc
.
platform
.
activity
.
mapper
;
import
com.xxfc.platform.activity.entity.ActivityProduct
;
import
tk.mybatis.mapper.common.Mapper
;
public
interface
ActivityProductMapper
extends
Mapper
<
ActivityProduct
>
{
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/mapper/ActivityProductSpecsMapper.java
0 → 100644
View file @
edd98c49
package
com
.
xxfc
.
platform
.
activity
.
mapper
;
import
com.xxfc.platform.activity.entity.ActivityProductSpecs
;
import
tk.mybatis.mapper.common.Mapper
;
public
interface
ActivityProductSpecsMapper
extends
Mapper
<
ActivityProductSpecs
>
{
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/rest/ActivityProductController.java
0 → 100644
View file @
edd98c49
package
com
.
xxfc
.
platform
.
activity
.
rest
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.xxfc.platform.activity.biz.ActivityProductBiz
;
import
com.xxfc.platform.activity.entity.ActivityProduct
;
import
org.springframework.web.bind.annotation.*
;
@RestController
@RequestMapping
(
value
=
"/activity/product"
)
public
class
ActivityProductController
extends
BaseController
<
ActivityProductBiz
,
ActivityProduct
>
{
@GetMapping
(
value
=
"/app/unauth/getAll"
)
public
ObjectRestResponse
getAll
()
{
return
ObjectRestResponse
.
succ
(
baseBiz
.
getAll
());
}
@GetMapping
(
value
=
"/app/unauth/get"
)
public
ObjectRestResponse
<
ActivityProduct
>
getOne
(
Long
id
)
{
return
ObjectRestResponse
.
succ
(
baseBiz
.
getOne
(
id
));
}
@PostMapping
(
value
=
"/app/unauth/add"
)
public
ObjectRestResponse
add
(
@RequestBody
ActivityProduct
activityProduct
)
{
return
baseBiz
.
add
(
activityProduct
);
}
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/rest/ActivityProductSpecsController.java
0 → 100644
View file @
edd98c49
package
com
.
xxfc
.
platform
.
activity
.
rest
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.xxfc.platform.activity.biz.ActivityProductSpecsBiz
;
import
com.xxfc.platform.activity.entity.ActivityProductSpecs
;
import
org.springframework.web.bind.annotation.*
;
@RestController
@RequestMapping
(
value
=
"/activity/specs"
)
public
class
ActivityProductSpecsController
extends
BaseController
<
ActivityProductSpecsBiz
,
ActivityProductSpecs
>
{
@PostMapping
(
value
=
"/app/unauth/add"
)
public
ObjectRestResponse
add
(
@RequestBody
ActivityProductSpecs
activityProductSpecs
)
{
return
baseBiz
.
add
(
activityProductSpecs
);
}
@GetMapping
(
value
=
"/app/unauth/get"
)
public
ObjectRestResponse
<
ActivityProductSpecs
>
get
(
Long
id
)
{
return
ObjectRestResponse
.
succ
(
baseBiz
.
getOne
(
id
));
}
@GetMapping
(
value
=
"/app/unauth/getAllByActivityId"
)
public
ObjectRestResponse
getAllByActiveId
(
Long
activityId
)
{
return
ObjectRestResponse
.
succ
(
baseBiz
.
getAllByActiveId
(
activityId
));
}
}
xx-activity/xx-activity-server/src/main/resources/builder/generatorConfig.xml
View file @
edd98c49
...
...
@@ -26,6 +26,8 @@
<javaClientGenerator
targetPackage=
"${targetMapperPackage}"
targetProject=
"${targetJavaProject}"
type=
"XMLMAPPER"
/>
<table
tableName=
"ticket_collection_record"
domainObjectName=
"TicketCollectionRecord"
></table>
<table
tableName=
"activity_product"
domainObjectName=
"ActivityProduct"
></table>
<table
tableName=
"active_product_specs"
domainObjectName=
"ActivityProductSpecs"
></table>
</context>
</generatorConfiguration>
\ No newline at end of file
xx-activity/xx-activity-server/src/main/resources/mapper/ActivityProductMapper.xml
0 → 100644
View file @
edd98c49
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.xxfc.platform.activity.mapper.ActivityProductMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.xxfc.platform.activity.entity.ActivityProduct"
>
<!--
WARNING - @mbg.generated
-->
<id
column=
"id"
property=
"id"
jdbcType=
"INTEGER"
/>
<result
column=
"crt_time"
property=
"crtTime"
jdbcType=
"BIGINT"
/>
<result
column=
"upd_time"
property=
"updTime"
jdbcType=
"BIGINT"
/>
<result
column=
"name"
property=
"name"
jdbcType=
"VARCHAR"
/>
<result
column=
"start_time"
property=
"startTime"
jdbcType=
"BIGINT"
/>
<result
column=
"end_time"
property=
"endTime"
jdbcType=
"BIGINT"
/>
<result
column=
"num_limit"
property=
"numLimit"
jdbcType=
"INTEGER"
/>
<result
column=
"has_join_num"
property=
"hasJoinNum"
jdbcType=
"INTEGER"
/>
<result
column=
"status"
property=
"status"
jdbcType=
"BIT"
/>
<result
column=
"sort"
property=
"sort"
jdbcType=
"BIT"
/>
<result
column=
"picture"
property=
"picture"
jdbcType=
"VARCHAR"
/>
<result
column=
"type"
property=
"type"
jdbcType=
"BIT"
/>
<result
column=
"time_type"
property=
"timeType"
jdbcType=
"BIT"
/>
<result
column=
"is_del"
property=
"isDel"
jdbcType=
"BIT"
/>
<result
column=
"specs_id"
property=
"specsId"
jdbcType=
"INTEGER"
/>
<result
column=
"sales"
property=
"sales"
jdbcType=
"INTEGER"
/>
<result
column=
"stock"
property=
"stock"
jdbcType=
"INTEGER"
/>
<result
column=
"detail"
property=
"detail"
jdbcType=
"LONGVARCHAR"
/>
<result
column=
"explain"
property=
"explain"
jdbcType=
"LONGVARCHAR"
/>
</resultMap>
</mapper>
\ No newline at end of file
xx-activity/xx-activity-server/src/main/resources/mapper/ActivityProductSpecsMapper.xml
0 → 100644
View file @
edd98c49
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.xxfc.platform.activity.mapper.ActivityProductSpecsMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.xxfc.platform.activity.entity.ActivityProductSpecs"
>
<!--
WARNING - @mbg.generated
-->
<id
column=
"id"
property=
"id"
jdbcType=
"BIGINT"
/>
<result
column=
"goods_id"
property=
"goodsId"
jdbcType=
"BIGINT"
/>
<result
column=
"code"
property=
"code"
jdbcType=
"VARCHAR"
/>
<result
column=
"specs_img"
property=
"specsImg"
jdbcType=
"VARCHAR"
/>
<result
column=
"specs_seq"
property=
"specsSeq"
jdbcType=
"INTEGER"
/>
<result
column=
"goods_price"
property=
"goodsPrice"
jdbcType=
"DECIMAL"
/>
<result
column=
"specs_cost_price"
property=
"specsCostPrice"
jdbcType=
"DECIMAL"
/>
<result
column=
"crt_user"
property=
"crtUser"
jdbcType=
"BIGINT"
/>
<result
column=
"crt_time"
property=
"crtTime"
jdbcType=
"INTEGER"
/>
<result
column=
"upd_user"
property=
"updUser"
jdbcType=
"BIGINT"
/>
<result
column=
"upd_time"
property=
"updTime"
jdbcType=
"INTEGER"
/>
<result
column=
"is_del"
property=
"isDel"
jdbcType=
"BIT"
/>
<result
column=
"sales"
property=
"sales"
jdbcType=
"INTEGER"
/>
<result
column=
"stock"
property=
"stock"
jdbcType=
"INTEGER"
/>
<result
column=
"active_id"
property=
"activeId"
jdbcType=
"INTEGER"
/>
<result
column=
"goods_specs"
property=
"goodsSpecs"
jdbcType=
"LONGVARCHAR"
/>
</resultMap>
</mapper>
\ No newline at end of file
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/ItemTypeEnum.java
View file @
edd98c49
...
...
@@ -13,6 +13,7 @@ public enum ItemTypeEnum {
TOUR_INSURE
(
203
,
"旅游保险"
),
MEMBER
(
301
,
"会员"
),
ACCOMPANY
(
104
,
"随车物品"
),
ACTIVITY
(
401
,
"活动订单"
),
;
/**
* 编码
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/OrderTypeEnum.java
View file @
edd98c49
...
...
@@ -7,6 +7,7 @@ public enum OrderTypeEnum {
RENT_VEHICLE
(
1
,
"租车订单"
),
TOUR
(
2
,
"旅游订单"
),
MEMBER
(
3
,
"会员订单"
),
ACTIVITY
(
4
,
"活动订单"
),
;
/**
* 编码
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderActiveDetail.java
0 → 100644
View file @
edd98c49
package
com
.
xxfc
.
platform
.
order
.
entity
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.util.Date
;
@Data
@Table
(
name
=
"order_active_detail"
)
public
class
OrderActiveDetail
{
@Id
private
Integer
id
;
@Column
(
name
=
"crt_time"
)
private
Date
crtTime
;
@Column
(
name
=
"upd_time"
)
private
Date
updTime
;
/**
* 订单ID
*/
@Column
(
name
=
"order_id"
)
private
Integer
orderId
;
/**
* 产品ID
*/
@Column
(
name
=
"product_id"
)
private
Long
productId
;
/**
* 产品规格json
*/
@Column
(
name
=
"product_specs"
)
private
String
productSpecs
;
/**
* 购买数量
*/
private
Integer
number
;
/**
* 规格ID
*/
@Column
(
name
=
"specs_id"
)
private
Long
specsId
;
/**
* 产品名称
*/
@Column
(
name
=
"product_name"
)
private
String
productName
;
/**
* 1、优惠券
*/
private
Integer
type
;
}
\ No newline at end of file
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/dto/OrderActivityDto.java
0 → 100644
View file @
edd98c49
package
com
.
xxfc
.
platform
.
order
.
pojo
.
dto
;
import
com.xxfc.platform.order.entity.OrderActiveDetail
;
import
lombok.Data
;
@Data
public
class
OrderActivityDto
extends
OrderActiveDetail
{
private
Integer
page
;
private
Integer
limit
;
//商品图片
private
String
picture
;
//商品名称
private
String
name
;
//订单号
private
String
orderNo
;
//开始时间
private
Long
startTime
;
//结束时间
private
Long
endTime
;
//手机号
private
String
mobile
;
private
Long
userId
;
//订单状态
private
Integer
status
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/order/ActivityOrderBO.java
0 → 100644
View file @
edd98c49
package
com
.
xxfc
.
platform
.
order
.
pojo
.
order
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.OrderActiveDetail
;
import
com.xxfc.platform.order.entity.OrderItem
;
import
com.xxfc.platform.order.entity.inter.OrderDetail
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
ActivityOrderBO
extends
OrderActiveDetail
implements
OrderDetail
{
private
BaseOrder
order
;
private
AppUserDTO
appUserDTO
;
/**
* 促成人联系方式
*/
@ApiModelProperty
(
value
=
"促成人联系方式"
)
String
facilitatePhone
;
/**
* 下单来源,1--app;2--小程序
*/
private
Integer
orderOrigin
;
/**
* 优惠券*
*/
private
List
<
String
>
tickerNo
;
/**
* 订单子项
*/
List
<
OrderItem
>
items
;
//商品图片
private
String
picture
;
//商品名称
private
String
name
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/vo/OrderActivityVo.java
0 → 100644
View file @
edd98c49
package
com
.
xxfc
.
platform
.
order
.
pojo
.
vo
;
import
com.xxfc.platform.order.entity.OrderActiveDetail
;
import
lombok.Data
;
import
java.math.BigDecimal
;
@Data
public
class
OrderActivityVo
extends
OrderActiveDetail
{
private
Integer
userId
;
//姓名
private
String
realName
;
//手机号
private
String
mobile
;
//订单号
private
String
orderNo
;
//下单时间
private
Long
orderTime
;
//订单实际金额
private
BigDecimal
realAmount
;
//单价
private
BigDecimal
goodsAmount
;
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderActivityDetailBiz.java
0 → 100644
View file @
edd98c49
package
com
.
xxfc
.
platform
.
order
.
biz
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.admin.feign.dto.UserDTO
;
import
com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.Query
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.xxfc.platform.order.entity.OrderActiveDetail
;
import
com.xxfc.platform.order.mapper.OrderActiveDetailMapper
;
import
com.xxfc.platform.order.pojo.vo.OrderActivityVo
;
import
com.xxfc.platform.order.rest.BaseOrderController
;
import
io.swagger.annotations.Api
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
@Service
@Slf4j
@Api
(
"活动订单详情"
)
public
class
OrderActivityDetailBiz
extends
BaseBiz
<
OrderActiveDetailMapper
,
OrderActiveDetail
>
implements
UserRestInterface
{
@Autowired
UserFeign
userFeign
;
@Override
public
UserFeign
getUserFeign
()
{
return
userFeign
;
}
public
ObjectRestResponse
getAll
(
BaseOrderController
.
QueryOrderList
dto
)
{
//判断token是否存在
UserDTO
userDTO
=
getAdminUserInfo
();
if
(
userDTO
==
null
)
{
return
ObjectRestResponse
.
succ
(
new
PageDataVO
<>());
}
if
(
dto
.
getStartTime
()
!=
null
)
{
if
(
dto
.
getEndTime
()
==
null
)
{
dto
.
setEndTime
(
new
Date
().
getTime
());
}
}
Query
query
=
new
Query
(
dto
);
PageDataVO
<
OrderActivityVo
>
pageDataVO
=
PageDataVO
.
pageInfo
(
query
,
()
->
mapper
.
getAllActivityOrder
(
query
.
getSuper
()));
if
(
pageDataVO
!=
null
&&
pageDataVO
.
getData
()
!=
null
)
{
pageDataVO
.
getData
().
parallelStream
().
forEach
(
orderActivityVo
->
{
AppUserDTO
appUserVo
=
userFeign
.
userDetailById
(
orderActivityVo
.
getUserId
()).
getData
();
if
(
appUserVo
!=
null
)
{
orderActivityVo
.
setMobile
(
appUserVo
.
getUsername
());
orderActivityVo
.
setRealName
(
appUserVo
.
getRealname
());
}
});
}
return
ObjectRestResponse
.
succ
(
pageDataVO
);
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/OrderActiveDetailMapper.java
0 → 100644
View file @
edd98c49
package
com
.
xxfc
.
platform
.
order
.
mapper
;
import
com.xxfc.platform.order.entity.OrderActiveDetail
;
import
com.xxfc.platform.order.pojo.vo.OrderActivityVo
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
import
java.util.Map
;
public
interface
OrderActiveDetailMapper
extends
Mapper
<
OrderActiveDetail
>
{
List
<
OrderActivityVo
>
getAllActivityOrder
(
Map
<
String
,
Object
>
param
);
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/BaseOrderController.java
View file @
edd98c49
...
...
@@ -19,11 +19,11 @@ import com.github.wxiaoqi.security.common.vo.PageDataVO;
import
com.xxfc.platform.order.biz.*
;
import
com.xxfc.platform.order.biz.inner.OrderCancelBiz
;
import
com.xxfc.platform.order.biz.inner.OrderMsgBiz
;
import
com.xxfc.platform.order.contant.enumerate.*
;
import
com.xxfc.platform.order.contant.enumerate.CrosstownTypeEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderStatusEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderTypeEnum
;
import
com.xxfc.platform.order.entity.*
;
import
com.xxfc.platform.order.mqhandler.RabbitProduct
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDeduction
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDetail
;
import
com.xxfc.platform.order.pojo.dto.OrderDTO
;
import
com.xxfc.platform.order.pojo.mq.OrderMQDTO
;
import
com.xxfc.platform.order.pojo.order.CancelOrderDTO
;
...
...
@@ -58,7 +58,6 @@ import java.util.List;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_FALSE
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_TRUE
;
import
static
com
.
xxfc
.
platform
.
universal
.
constant
.
DictionaryKey
.
APP_ORDER
;
...
...
@@ -365,7 +364,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes
*/
private
String
oneNo
;
private
Integer
status
;
//订单用户ID列表
private
List
<
Integer
>
userIds
;
//订单用户大区id列表
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/OrderActivityController.java
0 → 100644
View file @
edd98c49
package
com
.
xxfc
.
platform
.
order
.
rest
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.common.context.BaseContextHandler
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.xxfc.platform.order.biz.OrderActivityDetailBiz
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.OrderActiveDetail
;
import
com.xxfc.platform.order.pojo.dto.OrderActivityDto
;
import
com.xxfc.platform.order.pojo.order.ActivityOrderBO
;
import
com.xxfc.platform.order.service.OrderActivityService
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
@RestController
@RequestMapping
(
value
=
"/order/activity"
)
public
class
OrderActivityController
extends
BaseController
<
OrderActivityDetailBiz
,
OrderActiveDetail
>
{
@Autowired
UserFeign
userFeign
;
@Autowired
OrderActivityService
orderActivityService
;
@RequestMapping
(
value
=
"add"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
@ApiOperation
(
value
=
"确认活动订单"
)
public
ObjectRestResponse
<
BaseOrder
>
add
(
@RequestBody
OrderActivityDto
dto
)
{
ActivityOrderBO
bo
=
BeanUtil
.
toBean
(
dto
,
ActivityOrderBO
.
class
);
bo
.
setAppUserDTO
(
userFeign
.
userDetailByToken
(
BaseContextHandler
.
getToken
()).
getData
());
//查询优惠券
orderActivityService
.
createOrder
(
bo
);
return
ObjectRestResponse
.
succ
(
bo
.
getOrder
());
}
@GetMapping
(
value
=
"/getAll"
)
public
ObjectRestResponse
getAll
(
BaseOrderController
.
QueryOrderList
dto
)
{
return
baseBiz
.
getAll
(
dto
);
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderActivityService.java
0 → 100644
View file @
edd98c49
package
com
.
xxfc
.
platform
.
order
.
service
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface
;
import
com.xxfc.platform.activity.entity.ActivityProductSpecs
;
import
com.xxfc.platform.activity.entity.Coupon
;
import
com.xxfc.platform.activity.feign.ActivityFeign
;
import
com.xxfc.platform.order.biz.OrderActivityDetailBiz
;
import
com.xxfc.platform.order.contant.enumerate.ItemTypeEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderStatusEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderTypeEnum
;
import
com.xxfc.platform.order.entity.OrderItem
;
import
com.xxfc.platform.order.pojo.order.ActivityOrderBO
;
import
com.xxfc.platform.order.pojo.price.OrderPriceVO
;
import
com.xxfc.platform.universal.constant.DictionaryKey
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.PostConstruct
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.stream.Collectors
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_TRUE
;
import
static
com
.
xxfc
.
platform
.
universal
.
constant
.
DictionaryKey
.
APP_ORDER
;
@Service
@Slf4j
public
class
OrderActivityService
extends
AbstractOrderHandle
<
OrderActivityDetailBiz
,
ActivityOrderBO
>
implements
UserRestInterface
{
@Autowired
ThirdFeign
thirdFeign
;
@Autowired
ActivityFeign
activityFeign
;
private
static
Long
autoCancelTime
;
@PostConstruct
public
void
init
()
{
this
.
channel
=
Coupon
.
CHANNEL_MEMBER
;
this
.
orderTypeEnum
=
OrderTypeEnum
.
ACTIVITY
;
}
@Override
public
void
initDetail
(
ActivityOrderBO
bo
)
{
super
.
initDetail
(
bo
);
initDictionary
();
}
public
void
initDictionary
()
{
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
this
.
autoCancelTime
=
Long
.
valueOf
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ACT_MEMBER
).
getDetail
());
}
@Override
public
void
handleDetail
(
ActivityOrderBO
bo
)
{
//设置订单状态为3
bo
.
getOrder
().
setStatus
(
OrderStatusEnum
.
ORDER_UNPAY
.
getCode
());
bo
.
getOrder
().
setName
(
bo
.
getName
());
bo
.
getOrder
().
setPicture
(
bo
.
getPicture
());
super
.
handleDetail
(
bo
);
//发送定时取消订单(30分钟)
rabbitProduct
.
sendDelayMessage
(
bo
.
getOrder
(),
autoCancelTime
);
}
@Override
public
void
handleCalculate
(
ActivityOrderBO
bo
)
{
OrderPriceVO
tpv
=
calculatePrice
(
bo
);
BeanUtil
.
copyProperties
(
tpv
,
bo
.
getOrder
());
BeanUtil
.
copyProperties
(
tpv
,
bo
);
}
@Override
public
OrderPriceVO
calculatePrice
(
ActivityOrderBO
detail
)
{
BigDecimal
orderAmount
=
BigDecimal
.
ZERO
;
BigDecimal
goodsAmount
=
BigDecimal
.
ZERO
;
BigDecimal
realAmount
=
BigDecimal
.
ZERO
;
BigDecimal
couponAmount
=
BigDecimal
.
ZERO
;
ActivityProductSpecs
activityProductSpecs
=
activityFeign
.
get
(
detail
.
getSpecsId
()).
getData
();
if
(
activityProductSpecs
!=
null
)
{
detail
.
getOrder
().
setGoodsAmount
(
activityProductSpecs
.
getGoodsPrice
());
}
//设置Item
OrderItem
memberOrderItem
=
orderItemBiz
.
initOrderItem
(
detail
.
getOrder
().
getGoodsAmount
(),
detail
.
getNumber
(),
detail
.
getName
(),
Integer
.
parseInt
(
detail
.
getProductId
()
+
""
),
ItemTypeEnum
.
ACTIVITY
);
detail
.
setItems
(
new
ArrayList
<
OrderItem
>());
detail
.
getItems
().
add
(
memberOrderItem
);
//商品价格
goodsAmount
=
goodsAmount
.
add
(
memberOrderItem
.
getCalculateAmount
(
Boolean
.
TRUE
));
//vehicleAmount 优惠券处理
if
(
null
!=
detail
.
getTickerNo
()
&&
detail
.
getTickerNo
().
size
()
>
0
)
{
couponAmount
=
activityFeign
.
use
(
detail
.
getOrder
().
getUserId
(),
detail
.
getTickerNo
(),
detail
.
getOrder
().
getNo
(),
channel
,
goodsAmount
,
ActivityFeign
.
TYPE_NO_USE
);
if
(
couponAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
detail
.
getOrder
().
setCouponTickerNos
(
detail
.
getTickerNo
().
stream
().
collect
(
Collectors
.
joining
(
","
)));
detail
.
getOrder
().
setHasDiscount
(
SYS_TRUE
);
memberOrderItem
.
handleCouponAmount
(
couponAmount
);
}
}
//订单总价格
orderAmount
=
orderAmount
.
add
(
goodsAmount
);
//真实价格
realAmount
=
realAmount
.
add
(
orderAmount
).
subtract
(
couponAmount
);
//生成订单明细
OrderPriceVO
opv
=
new
OrderPriceVO
();
opv
.
setOrderAmount
(
orderAmount
);
opv
.
setGoodsAmount
(
goodsAmount
);
opv
.
setRealAmount
(
realAmount
);
opv
.
setCouponAmount
(
couponAmount
);
return
opv
;
}
}
xx-order/xx-order-server/src/main/resources/builder/generatorConfig.xml
View file @
edd98c49
...
...
@@ -15,7 +15,7 @@
</plugin>
<jdbcConnection
driverClass=
"com.mysql.jdbc.Driver"
connectionURL=
"jdbc:mysql://10.5.52.
4:3307
/xxfc_order?useUnicode=true&characterEncoding=UTF8"
connectionURL=
"jdbc:mysql://10.5.52.
3:3306
/xxfc_order?useUnicode=true&characterEncoding=UTF8"
userId=
"root"
password=
"sslcloud123*()"
>
</jdbcConnection>
...
...
@@ -37,6 +37,6 @@
<!-- </table>-->
<!-- <table tableName="branch_company_stock_info" domainObjectName="BranchCompanyStockInfo"></table>-->
<!-- <table tableName="branch_company_stock_apply_info" domainObjectName="BranchCompanyStockApplyInfo"></table>-->
<table
tableName=
"
deposit_refund_record"
domainObjectName=
"DepositRefundRecord
"
></table>
<table
tableName=
"
order_active_detail"
domainObjectName=
"OrderActiveDetail
"
></table>
</context>
</generatorConfiguration>
\ No newline at end of file
xx-order/xx-order-server/src/main/resources/mapper/OrderActiveDetailMapper.xml
0 → 100644
View file @
edd98c49
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.xxfc.platform.order.mapper.OrderActiveDetailMapper"
>
<select
id=
"getAllActivityOrder"
resultType=
"com.xxfc.platform.order.pojo.vo.OrderActivityVo"
>
select oad.*, bo.no as orderNo,bo.user_id, bo.goods_amount, bo.real_amount, bo.`status`, bo.crt_time as orderTime from order_active_detail oad
LEFT JOIN base_order bo on bo.id = oad.order_id
<where>
<if
test=
"orderNo != null and orderNo != ''"
>
and bo.no = #{orderNo}
</if>
<if
test=
"userId != null and userId > 0"
>
and bo.user_id = #{userId}
</if>
<if
test=
"type != null and type > 0"
>
and oad.type = #{type}
</if>
<if
test=
"startTime != null and endTime != null"
>
and unix_timestamp(bo.crt_time) between #{startTime} and #{endTime}
</if>
<if
test=
"status != null and status > 0"
>
and bo.status = #{status}
</if>
order By bo.crt_time DESC
</where>
</select>
</mapper>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment