Commit 422e9885 by Huang Linyu

Merge branch 'f-6.6.4' of 192.168.10.6:caosy/fun-golf-service into f-6.6.4

parents 0c78f31d e79c514d
...@@ -392,7 +392,7 @@ public class EventCustomerInfoDao extends GenericHibernateDao<EventCustomerInfo, ...@@ -392,7 +392,7 @@ public class EventCustomerInfoDao extends GenericHibernateDao<EventCustomerInfo,
sql1.append(" AND ol.productId = "+productId+ " " ); sql1.append(" AND ol.productId = "+productId+ " " );
sql = new StringBuffer(sql).append(" union ").append(sql1); sql = new StringBuffer(sql).append(" union ").append(sql1);
} }
sql.append(" ORDER BY playDate DESC,teeTime ASC,orderId desc "); sql.append(" ORDER BY playDate DESC,teeTime ASC,resourceId ASC,orderId desc ");
Query query = this.getSession().createSQLQuery(sql.toString()); Query query = this.getSession().createSQLQuery(sql.toString());
query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
Set<String> orderNoSet = new HashSet<String>(); Set<String> orderNoSet = new HashSet<String>();
......
...@@ -195,13 +195,13 @@ public class CourseResourceDao extends GenericHibernateDao<CourseResource, Integ ...@@ -195,13 +195,13 @@ public class CourseResourceDao extends GenericHibernateDao<CourseResource, Integ
return false; return false;
return true; return true;
} }
public List<Integer> checkEventActivityValidResource(int productId, int teetime, Date playDate) { public List<Integer> checkEventActivityValidResource(int productId, int teetime, Date playDate, Double communePrice, Double guestPrice) {
String dateStr = DateUtil.getDateStr(playDate); String dateStr = DateUtil.getDateStr(playDate);
String sql = "select cr.ID from prd_courseResource as cr, prd_resourceprice as rp where cr.productId = " String sql = "select cr.ID from prd_courseResource as cr, prd_resourceprice as rp where cr.productId = "
+ productId + " and cr.teeTime="+teetime + productId + " and cr.teeTime="+teetime
+ " and cr.status != " + " and cr.status != "
+ CourseResourceStatusEnum.INVALID.getValue() + CourseResourceStatusEnum.INVALID.getValue()
+ " and cr.id = rp.ResourceID " + " and rp.priceDate = \"" + dateStr + "\""; + " and cr.id = rp.ResourceID " + " and rp.priceDate = \"" + dateStr + "\"" + " and rp.communePrice="+communePrice+" and rp.communeGuestPrice="+guestPrice;
List<Integer> list = this.getSession().createSQLQuery(sql).list(); List<Integer> list = this.getSession().createSQLQuery(sql).list();
return list; return list;
} }
......
...@@ -107,6 +107,17 @@ public class EventCustomerInfoService extends ...@@ -107,6 +107,17 @@ public class EventCustomerInfoService extends
} }
} }
public int getEventCustomerNum(Integer orderId){
int num = 0;
List<EventCustomerInfo> eventCustomerInfos = eventCustomerInfoDao
.getCustomerInfoListByOrderId(orderId);
if(eventCustomerInfos!=null){
num = eventCustomerInfos.size();
}
return num;
}
public List<EventCustomerInfoBean> getEventCustomerInfoRankList( public List<EventCustomerInfoBean> getEventCustomerInfoRankList(
EventCustomerInfoQuery eventCustomerInfoQuery) { EventCustomerInfoQuery eventCustomerInfoQuery) {
return getEventCustomerInfos(eventCustomerInfoQuery); return getEventCustomerInfos(eventCustomerInfoQuery);
......
...@@ -1060,15 +1060,23 @@ public class OpEventActivityOrderService ...@@ -1060,15 +1060,23 @@ public class OpEventActivityOrderService
String[] teetimes = newTeeTime.split(":"); String[] teetimes = newTeeTime.split(":");
if(teetimes != null && teetimes.length ==2 ){ if(teetimes != null && teetimes.length ==2 ){
int groupNum = Integer.valueOf(teetimes[0])*60 + Integer.valueOf(teetimes[1]); int groupNum = Integer.valueOf(teetimes[0])*60 + Integer.valueOf(teetimes[1]);
List<Integer> resourceIds = this.courseResourceService.getResourceByTeeTimeAndDate(orderProcessBean.getProductId(), groupNum, orderItem.getPlayDate()); List<Integer> resourceIds = this.courseResourceService.getResourceByTeeTimeAndDate(orderProcessBean.getProductId(), groupNum, orderItem.getPlayDate(), orderItem.getCommunePrice(), orderItem.getCommuneGuestPrice());
if(resourceIds != null && resourceIds.size() > 0){ if(resourceIds != null && resourceIds.size() > 0){
orderProcessBean.setProcessDesc(desc.toString());
Integer oldResourceId = orderItem.getResourceId();
Integer newResourceId = resourceIds.get(0);
this.changeCustomerInfo(orderProcessBean, newResourceId);
//打球 人数
int size = orderItem.getQuantity();
//先清除老的资源id对应的库存
this.changeResourceInventory(oldResourceId, orderItem.getPlayDate(), size);
//增加新的资源id对应的库存
this.changeResourceInventory(newResourceId, orderItem.getPlayDate(), -size);
//变更后,在orderItem表里面将资源id变更掉 //变更后,在orderItem表里面将资源id变更掉
orderItem.setResourceId(resourceIds.get(0)); orderItem.setResourceId(newResourceId);
this.eventActivityOrderItemDao.update(orderItem); this.eventActivityOrderItemDao.update(orderItem);
orderProcessBean.setProcessDesc(desc.toString());
this.changeCustomerInfo(orderProcessBean, resourceIds.get(0));
}else{ }else{
throw new OrderException(ResponseStatusEnum.FAIL.getValue(), "该teetime没有资源,请更换!"); throw new OrderException(ResponseStatusEnum.FAIL.getValue(), "该teetime没有资源或者价格不一样,请更换!");
} }
} }
...@@ -1076,6 +1084,16 @@ public class OpEventActivityOrderService ...@@ -1076,6 +1084,16 @@ public class OpEventActivityOrderService
} }
} }
private void changeResourceInventory(Integer resourceId, Date priceDate, int num){
ResourceInventoryQuery resourceInventoryQuery = new ResourceInventoryQuery();
resourceInventoryQuery.setResourceCategory(ResourceCategoryEnum.COURSE.getValue());
resourceInventoryQuery.setResourceId(resourceId);
resourceInventoryQuery.setTheDate(priceDate);
logger.info("changeResourceInventory resourceId=" + resourceId + ",priceDate="
+ priceDate+", num="+num);
courseResourceService.addInventory(resourceInventoryQuery,num);
}
private void changeCustomerInfo(EventActivityOrderProcessBean orderProcessBean, int resourceId){ private void changeCustomerInfo(EventActivityOrderProcessBean orderProcessBean, int resourceId){
int groupNum = 0; int groupNum = 0;
String teetime = orderProcessBean.getTeeTime(); String teetime = orderProcessBean.getTeeTime();
......
...@@ -1311,8 +1311,8 @@ public class CourseResourceService extends ...@@ -1311,8 +1311,8 @@ public class CourseResourceService extends
*add by caosy: get the resource by teetime *add by caosy: get the resource by teetime
* *
* */ * */
public List<Integer> getResourceByTeeTimeAndDate(int productId, int teetime, Date playDate){ public List<Integer> getResourceByTeeTimeAndDate(int productId, int teetime, Date playDate, Double communePrice, Double guestPrice){
return this.courseResourceDao.checkEventActivityValidResource(productId, teetime, playDate); return this.courseResourceDao.checkEventActivityValidResource(productId, teetime, playDate, communePrice, guestPrice);
} }
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment