Commit 9fa09d9f by unknown

add the voucher for tour

parent 8d329261
......@@ -153,6 +153,17 @@ public class VoucherController {
response.setStatusEnum(ResponseStatusEnum.SUCCESS);
return response;
}
@ResponseBody
@RequestMapping(value = "/queryListForTourOrder", method = RequestMethod.POST)
public Response<PagedResponseBean<VoucherItemDTO>> queryListForTourOrder(
@RequestBody Request<VoucherQueryDto> request) {
Response<PagedResponseBean<VoucherItemDTO>> response = new Response<PagedResponseBean<VoucherItemDTO>>();
PagedResponseBean<VoucherItemDTO> result = voucherService.queryListForTourOrder(request
.getBody());
response.setBody(result);
response.setStatusEnum(ResponseStatusEnum.SUCCESS);
return response;
}
@ResponseBody
@RequestMapping(value = "/queryListForEventActivityOrder", method = RequestMethod.POST)
......
......@@ -1903,7 +1903,7 @@ public class AsmCourseResourceDao extends GenericHibernateDao<AsmCourseresource,
criteria.add(Restrictions.in("priceStatus", list));
criteria.add(Restrictions.geProperty("priceDate", "publishDate"));
criteria.add(Restrictions.leProperty("priceDate", "offlineDate"));
//criteria.addOrder(Order.desc(propertyName));
return criteria.list();
}
......
......@@ -1272,7 +1272,8 @@ public class AsmCourseResourceService {
if (communeCourseresourceBeans != null) {
for (AsmCourseresourceBean asmCourseresourceBean : communeCourseresourceBeans) {
if (sourcesMap.containsKey(asmCourseresourceBean.getPriceDate())) {
if (asmCourseresourceBean.getSalePrice().compareTo(sourcesMap.get(asmCourseresourceBean.getPriceDate()).getSalePrice()) < 0) {
if (asmCourseresourceBean.getSalePrice().compareTo(new Double(0))>0
&& asmCourseresourceBean.getSalePrice().compareTo(sourcesMap.get(asmCourseresourceBean.getPriceDate()).getSalePrice()) < 0) {
sourcesMap.put(asmCourseresourceBean.getPriceDate(), asmCourseresourceBean);
}
} else {
......
......@@ -46,6 +46,7 @@ import com.ctrip.fun.golf.dao.basic.VoucherRuleDao;
import com.ctrip.fun.golf.dao.order.EventActivityOrderItemDao;
import com.ctrip.fun.golf.dao.order.OrderDao;
import com.ctrip.fun.golf.dao.product.CourseResourceDao;
import com.ctrip.fun.golf.dao.tour.TourBasicDao;
import com.ctrip.fun.golf.domain.basic.OperationMessage;
import com.ctrip.fun.golf.domain.basic.Sms;
import com.ctrip.fun.golf.domain.basic.Voucher;
......@@ -53,6 +54,7 @@ import com.ctrip.fun.golf.domain.basic.VoucherRule;
import com.ctrip.fun.golf.domain.order.EventActivityOrderItem;
import com.ctrip.fun.golf.domain.order.Order;
import com.ctrip.fun.golf.domain.product.CourseResource;
import com.ctrip.fun.golf.domain.tour.TourBasic;
import com.ctrip.fun.golf.exceptions.VoucherException;
import com.ctrip.fun.golf.vo.PagedEntityBean;
import com.ctrip.fun.mall.vo.LabelValueBean;
......@@ -71,7 +73,7 @@ public class VoucherService {
private SmsDao smsDao = null;
private EventActivityOrderItemDao eventActivityOrderItemDao = null;
private OrderDao orderDao = null;
private TourBasicDao tourBasicDao;
private int remindExpireVoucherDay = 7;
......@@ -448,6 +450,54 @@ public class VoucherService {
pagedResponseBean.setResult(result);
return pagedResponseBean;
}
/**
* 套餐可用抵用券加载
* @param query
* @return
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public PagedResponseBean<VoucherItemDTO> queryListForTourOrder(VoucherQueryDto query) {
query.setType(VoucherTypeEnum.TOUR.getValue());
PagedResponseBean<VoucherItemDTO> pagedResponseBean = voucherDao.queryListForOrder(query);
Collection<VoucherItemDTO> result = new ArrayList<VoucherItemDTO>();
if (pagedResponseBean != null && pagedResponseBean.getResult() != null) {
for (VoucherItemDTO vo : pagedResponseBean.getResult()) {
if (vo.getRuleId() != null && vo.getRuleId() != 0) {
VoucherRule voucherRule = voucherRuleDao.findById(vo.getRuleId());
if (voucherRule != null) {
vo.setDescription(voucherRule.getDescription());
vo.setRemark(voucherRule.getRemark());
vo.setMultiple(voucherRule.getMultiple());
TourBasic tourBasic = tourBasicDao.findById(query
.getTourId());
CourseRuleConditionBaseBean courseRuleConditionBaseBean = new CourseRuleConditionBaseBean();
//courseRuleConditionBaseBean.setResourceId(courseResource.getId());
courseRuleConditionBaseBean.setProductId(tourBasic.getId());
courseRuleConditionBaseBean.setPlayDate(query.getPlayDate());
// 判断是否可用于此资源
AbstractRuleConditionBean abstractRuleConditionBean = null;
try {
abstractRuleConditionBean = (AbstractRuleConditionBean) JsonUtil
.readValue(voucherRule.getConditionJson(),
Class.forName(voucherRule.getConditionBean()));
} catch (Exception e) {
logger.error(e.getMessage());
e.printStackTrace();
}
if (!abstractRuleConditionBean.isEnableUse(courseRuleConditionBaseBean)) {
continue;
}
vo.doExecuteNullField();
result.add(vo);
}
}
}
}
pagedResponseBean.setResult(result);
return pagedResponseBean;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
public PagedResponseBean<VoucherItemDTO> queryListForEventActivityOrder(VoucherQueryDto query) {
......@@ -776,4 +826,12 @@ public class VoucherService {
this.orderDao = orderDao;
}
public TourBasicDao getTourBasicDao() {
return tourBasicDao;
}
public void setTourBasicDao(TourBasicDao tourBasicDao) {
this.tourBasicDao = tourBasicDao;
}
}
......@@ -94,6 +94,7 @@
<property name="orderDao" ref="orderDao"></property>
<property name="eventActivityOrderItemDao" ref="eventActivityOrderItemDao"></property>
<property name="remindExpireVoucherDay" value="${remindExpireVoucherDay}"></property>
<property name="tourBasicDao" ref="tourBasicDao"></property>
</bean>
<bean name="voucherRuleService" class="com.ctrip.fun.golf.service.basic.VoucherRuleService">
......
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