Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
caosy
/
fun-golf-service
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
1
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
fdc3fc87
authored
Oct 27, 2017
by
Huang Linyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
社员活动日历排期
parent
a755c22f
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
173 additions
and
0 deletions
src/main/java/com/ctrip/fun/golf/api/assemble/AsmCourseResourceController.java
src/main/java/com/ctrip/fun/golf/dao/assemble/AsmCourseResourceDao.java
src/main/java/com/ctrip/fun/golf/service/assemble/AsmCourseResourceService.java
src/main/java/com/ctrip/fun/golf/api/assemble/AsmCourseResourceController.java
View file @
fdc3fc87
...
...
@@ -30,6 +30,7 @@ import com.ctrip.fun.common.vo.product.AsmCourseresourceQuery;
import
com.ctrip.fun.common.vo.product.CheckFlashSaleResponse
;
import
com.ctrip.fun.common.vo.product.CommuneResourceBean
;
import
com.ctrip.fun.common.vo.product.CommuneResourceQuery
;
import
com.ctrip.fun.common.vo.product.CommuneResourceV4
;
import
com.ctrip.fun.common.vo.product.CourseMinPriceBean
;
import
com.ctrip.fun.common.vo.product.CourseMinPriceQuery
;
import
com.ctrip.fun.common.vo.product.CourseProductBean
;
...
...
@@ -136,6 +137,16 @@ public class AsmCourseResourceController {
}
@ResponseBody
@RequestMapping
(
value
=
"/queryCommuneResourceListV4"
,
method
=
RequestMethod
.
POST
)
public
Response
<
List
<
CommuneResourceV4
>>
queryCommuneResourceListV4
(
@RequestBody
Request
<
CommuneResourceQuery
>
request
)
{
Response
<
List
<
CommuneResourceV4
>>
respose
=
new
Response
<
List
<
CommuneResourceV4
>>();
respose
.
setStatus
(
ResponseStatusEnum
.
SUCCESS
.
getValue
());
respose
.
setMessage
(
ResponseStatusEnum
.
SUCCESS
.
getMsg
());
respose
.
setBody
(
this
.
asmCourseResourceService
.
queryCommuneResourceListV4
(
request
.
getBody
()));
return
respose
;
}
@ResponseBody
@RequestMapping
(
value
=
"/queryCommuneResourceByCourse"
,
method
=
RequestMethod
.
POST
)
public
Response
<
PagedResponseBean
<
CommuneResourceBean
>>
queryCommuneResourceByCourse
(
@RequestBody
Request
<
CommuneResourceQuery
>
request
)
{
Response
<
PagedResponseBean
<
CommuneResourceBean
>>
respose
=
new
Response
<
PagedResponseBean
<
CommuneResourceBean
>>();
...
...
src/main/java/com/ctrip/fun/golf/dao/assemble/AsmCourseResourceDao.java
View file @
fdc3fc87
...
...
@@ -542,6 +542,30 @@ public class AsmCourseResourceDao extends GenericHibernateDao<AsmCourseresource,
}
/**
* getPriceDate = null
* hotEvent = false
* courseId = null
* @param query
* @return
*/
@SuppressWarnings
(
"unchecked"
)
public
List
<
AsmCourseresource
>
queryCommuneResourceV4
(
CommuneResourceQuery
query
)
{
Criteria
criteria
=
this
.
getCriteria
();
List
<
Integer
>
list
=
queryCommuneResourceAsmIdsV3
(
query
);
Long
count
=
0
l
;
List
<
AsmCourseresource
>
result
=
new
ArrayList
<
AsmCourseresource
>();
if
(
list
!=
null
&&
!
list
.
isEmpty
())
{
criteria
.
add
(
Restrictions
.
in
(
"id"
,
list
));
criteria
.
addOrder
(
Order
.
asc
(
"priceDate"
));
result
=
criteria
.
list
();
}
return
result
;
}
/**
* 获取对应时间段内对应球场的赛事资源AsmIds
*/
@SuppressWarnings
(
"unchecked"
)
...
...
src/main/java/com/ctrip/fun/golf/service/assemble/AsmCourseResourceService.java
View file @
fdc3fc87
package
com
.
ctrip
.
fun
.
golf
.
service
.
assemble
;
import
java.math.BigDecimal
;
import
java.text.DateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Collection
;
import
java.util.Collections
;
...
...
@@ -34,6 +36,8 @@ import com.ctrip.fun.common.vo.product.CampaignBean;
import
com.ctrip.fun.common.vo.product.CommuneResourceBean
;
import
com.ctrip.fun.common.vo.product.CommuneResourceKeyBean
;
import
com.ctrip.fun.common.vo.product.CommuneResourceQuery
;
import
com.ctrip.fun.common.vo.product.CommuneResourceV4
;
import
com.ctrip.fun.common.vo.product.CommuneResourceV4PriceBean
;
import
com.ctrip.fun.common.vo.product.CourseBean
;
import
com.ctrip.fun.common.vo.product.CourseMinPriceBean
;
import
com.ctrip.fun.common.vo.product.CourseProductBean
;
...
...
@@ -68,6 +72,7 @@ import com.ctrip.fun.golf.service.client.ClientConfigService;
import
com.ctrip.fun.golf.service.order.EventCustomerInfoService
;
import
com.ctrip.fun.golf.utils.DistrictUtil
;
import
com.ctrip.fun.golf.vo.PagedEntityBean
;
import
com.mysql.fabric.xmlrpc.base.Array
;
public
class
AsmCourseResourceService
{
...
...
@@ -477,6 +482,139 @@ public class AsmCourseResourceService {
return
result
;
}
/**
* 查詢社员资源V3
*
* @param communeResourceQuery CommuneResourceQuery
* @return PagedResponseBean<CommuneResourceBean> PagedResponseBean<CommuneResourceBean>
*/
public
List
<
CommuneResourceV4
>
queryCommuneResourceListV4
(
CommuneResourceQuery
communeResourceQuery
)
{
List
<
AsmCourseresource
>
asmCourseresources
=
this
.
asmCourseResourceDao
.
queryCommuneResourceV4
(
communeResourceQuery
);
// PagedResponseBean<CommuneResourceBean> result = new PagedResponseBean<CommuneResourceBean>();
// PagedEntityBean<AsmCourseresource> pagedEntityBeans = this.asmCourseResourceDao.queryCommuneResourceV3(communeResourceQuery);
// Collection<AsmCourseresource> asmCourseresources = pagedEntityBeans.getResult();
List
<
CommuneResourceBean
>
list
=
new
ArrayList
<
CommuneResourceBean
>();
if
(
asmCourseresources
!=
null
)
{
for
(
AsmCourseresource
asm
:
asmCourseresources
)
{
CommuneResourceBean
communeResourceBean
=
new
CommuneResourceBean
();
communeResourceBean
.
setCashRebate
(
asm
.
getCashRebate
());
communeResourceBean
.
setSaleStartTime
(
asm
.
getFlashSaleStartTime
());
communeResourceBean
.
setSaleEndTime
(
asm
.
getFlashSaleEndTime
());
communeResourceBean
.
setPriceDate
(
asm
.
getPriceDate
());
communeResourceBean
.
setId
(
asm
.
getId
());
communeResourceBean
.
setCourseId
(
asm
.
getCourseId
());
communeResourceBean
.
setProductId
(
asm
.
getProductId
());
communeResourceBean
.
setPriceId
(
asm
.
getPriceId
());
communeResourceBean
.
setResourceName
(
asm
.
getName
());
communeResourceBean
.
setImagePath
(
asm
.
getImagePath
());
communeResourceBean
.
setCurrency
(
asm
.
getCurrency
());
communeResourceBean
.
setPaymentType
(
asm
.
getPaymentType
());
communeResourceBean
.
setPrepaidPrice
(
asm
.
getPrepaidPrice
());
communeResourceBean
.
setStartTime
(
asm
.
getStartTime
());
communeResourceBean
.
setCurrentTime
(
new
Date
());
communeResourceBean
.
setInventoryType
(
asm
.
getInventoryType
());
communeResourceBean
.
setResourceId
(
asm
.
getResourceId
());
communeResourceBean
.
setReserveDay
(
asm
.
getReserveDay
());
communeResourceBean
.
setResourceType
(
asm
.
getResourceType
());
CourseProduct
courseProduct
=
this
.
getCourseProductDao
().
findById
(
communeResourceBean
.
getProductId
());
communeResourceBean
.
setProductName
(
courseProduct
!=
null
?
courseProduct
.
getName
()
:
communeResourceBean
.
getResourceName
());
CourseResource
courseResource
=
this
.
getCourseResourceDao
().
findById
(
asm
.
getResourceId
());
communeResourceBean
.
setReserveTime
(
courseResource
!=
null
?
courseResource
.
getReserveTime
()
:
null
);
communeResourceBean
.
setRealTimeTeeTimeType
(
asm
.
getRealTimeTeeTimeType
()
!=
null
?
asm
.
getRealTimeTeeTimeType
()
:
1
);
list
.
add
(
communeResourceBean
);
}
List
<
Integer
>
priceIdList
=
new
ArrayList
<
Integer
>();
List
<
ResourcePrice
>
resourcePrices
=
new
ArrayList
<
ResourcePrice
>();
if
(
list
!=
null
&&
list
.
size
()
>
0
)
{
for
(
CommuneResourceBean
communeResourceBean
:
list
)
{
priceIdList
.
add
(
communeResourceBean
.
getPriceId
());
}
resourcePrices
=
this
.
resourcePriceDao
.
getResourcePriceByOrderIds
(
priceIdList
);
}
/*if (resourcePrices.size() == 0) {
return result;
}*/
for
(
CommuneResourceBean
communeResourceBean
:
list
)
{
ResourcePrice
resourcePrice
=
this
.
findResourcePrice
(
communeResourceBean
.
getPriceId
(),
resourcePrices
);
communeResourceBean
.
setCommuneGuestMinus
(
resourcePrice
.
getCommuneGuestMinus
());
communeResourceBean
.
setCommuneGuestPrice
(
resourcePrice
.
getCommuneGuestPrice
());
communeResourceBean
.
setCommuneMinus
(
resourcePrice
.
getCommuneMinus
());
communeResourceBean
.
setCommunePrice
(
resourcePrice
.
getCommunePrice
());
}
}
List
<
CommuneResourceV4
>
v4list
=
new
ArrayList
<
CommuneResourceV4
>();
if
(
list
.
size
()>
0
){
DateFormat
df
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
for
(
CommuneResourceBean
asm
:
list
){
Date
priceDate
=
asm
.
getPriceDate
();
String
priceDateStr
=
df
.
format
(
priceDate
);
int
index
=
containDate
(
v4list
,
priceDateStr
);
CommuneResourceV4PriceBean
bean
=
new
CommuneResourceV4PriceBean
();
String
productName
=
asm
.
getProductName
();
//System.out.println(productName.getBytes());
int
endIndex
=
productName
.
indexOf
(
"爱玩公社活动日"
);
String
simpleProductName
=
productName
.
substring
(
2
,
endIndex
);
bean
.
setProductName
(
simpleProductName
);
bean
.
setCashRebate
(
asm
.
getCashRebate
());
bean
.
setCommunePrice
(
asm
.
getCommunePrice
());
bean
.
setCommuneMinus
(
asm
.
getCommuneMinus
());
if
(
index
>=
0
){
CommuneResourceV4
v4
=
v4list
.
get
(
index
);
List
<
CommuneResourceV4PriceBean
>
priceBeanList
=
v4
.
getCourses
();
priceBeanList
.
add
(
bean
);
}
else
{
CommuneResourceV4
v4
=
new
CommuneResourceV4
();
List
<
CommuneResourceV4PriceBean
>
priceBeanList
=
new
ArrayList
<
CommuneResourceV4PriceBean
>();
priceBeanList
.
add
(
bean
);
v4
.
setDate
(
priceDateStr
);
v4
.
setCourses
(
priceBeanList
);
v4list
.
add
(
v4
);
}
}
}
return
v4list
;
}
/**
* 判断某个 List<Map<Date, List<CommuneResourceBean>>> v4list 是否包含key为priceDate的Map元素
* @param priceDateStr
* @param v4list
* @param v4list
* @param priceDate
* @return index 代表 list表中所在的位置,默认-1
*/
private
int
containDate
(
List
<
CommuneResourceV4
>
v4list
,
String
priceDateStr
)
{
int
index
=-
1
;
if
(
v4list
.
size
()>
0
){
//如果v4list包含日起为priceDate的数据 将asm 写入
for
(
CommuneResourceV4
v4
:
v4list
){
index
++;
if
(
v4
.
getDate
().
equals
(
priceDateStr
)){
return
index
;
}
}
return
-
1
;
}
else
{
return
index
;
}
}
/**
* 查詢社區资源
*
...
...
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