Commit 1b5aac76 by unknown

add the eventactivity part refund

parent c14c2d78
......@@ -324,6 +324,16 @@ public class EventCustomerInfoDao extends GenericHibernateDao<EventCustomerInfo,
query.setInteger("eventCustomerId", bean.getEventCustomerId());
query.executeUpdate();
}
/**
* 根据customerId设置信息
*/
public void updateCustomerById(Integer eventCustomerId, boolean validFlag) {
String hql = "update EventCustomerInfo e set e.validFlag = :validFlag where e.eventCustomerId= :eventCustomerId";
Query query = this.getSession().createQuery(hql);
query.setInteger("eventCustomerId", eventCustomerId);
query.setBoolean("validFlag", validFlag);
query.executeUpdate();
}
/**
* 用于admin后台 查询订单分组与导出
......
......@@ -117,6 +117,24 @@ public class EventCustomerInfoService extends
return num;
}
public void updateEventCustomerByPlayerNum(Integer orderId, List<Integer> playerNum){
List<EventCustomerInfo> eventCustomerInfos = eventCustomerInfoDao
.getCustomerInfoListByOrderId(orderId);
if(eventCustomerInfos!=null){
for (int i = 0; i < playerNum.size(); i++) {
int playerId = playerNum.get(i).intValue();
for (int j = 0; j < eventCustomerInfos.size(); j++) {
if(playerId == (j+1)){
//取消站位
this.eventCustomerInfoDao.updateCustomerById(eventCustomerInfos.get(j).getEventCustomerId(), false);
break;
}
}
}
}
}
public List<EventCustomerInfoBean> getEventCustomerInfoRankList(
EventCustomerInfoQuery eventCustomerInfoQuery) {
......
......@@ -343,6 +343,17 @@ public class OpEventActivityOrderService
.doubleValue() + orderProcessBean.getPrePayCardRefundAmount()));
this.userExtDao.addAmount(order.getUid(),
BigDecimal.valueOf(orderProcessBean.getPrePayCardRefundAmount()));
if(!isManual){
//赛事这边鼓励只退余额给用户, 替代退金额
BigDecimal refundDelta = BigDecimal.valueOf(prePayCardRefundAmount.doubleValue() + orderProcessBean.getPrePayCardRefundAmount())
.subtract(order.getPrePayCardAmount());
logger.info("赛事余额退款差值" + refundDelta.intValue());
if(refundDelta.compareTo(BigDecimal.ZERO) == 1){
//超出他原有用余额付款的金额, 超出部分对冲银行卡付款的金额
order.setRefundAmount(refundDelta);
}
}
}
if (orderProcessBean.getRefundVoucherIds() != null) {
......@@ -405,6 +416,7 @@ public class OpEventActivityOrderService
.add(order.getVoucherRefundAmount().add(
order.getRefundAmount()))
.add(order.getOnPayAmount())).doubleValue() <= 0) {
//代表全退掉了
order.setProcessStatus(order.getProcessStatus()
| OrderStatusBitEnum.ALL_UNSUBSCRIBED.getValue());
order.setProcessStatus(order.getProcessStatus()
......@@ -477,7 +489,41 @@ public class OpEventActivityOrderService
this.courseResourceService.addInventory(resourceInventoryQuery, orderItems.get(0)
.getQuantity());
}
}
} else if ((orderProcessBean.getRefundAmount() != null && orderProcessBean
.getRefundAmount() > 0)
|| (orderProcessBean.getPrePayCardRefundAmount() != null && orderProcessBean
.getPrePayCardRefundAmount() > 0)) {
//add by caosy 预付中的非全部退款,返还库存
List<EventActivityOrderItem> orderItems = this.eventActivityOrderItemDao
.getOrderItemByOrderId(order.getOrderId());
if (orderItems != null && orderItems.size() > 0
&& order.getConfirmType() == ResourceConfirmTypeEnum.AUTO.getValue()) {
ResourceInventoryQuery resourceInventoryQuery = new ResourceInventoryQuery();
resourceInventoryQuery.setResourceCategory(ResourceCategoryEnum.COURSE.getValue());
resourceInventoryQuery.setResourceId(orderItems.get(0).getResourceId());
resourceInventoryQuery.setTheDate(orderItems.get(0).getPlayDate());
logger.info("addInventory1 orderNo=" + order.getOrderNo() + "ResourceId="
+ orderItems.get(0).getResourceId());
this.courseResourceService.addInventory(resourceInventoryQuery, orderItems.get(0).getQuantity()
- orderProcessBean.getQuantity());
}
//取消占位
String playerNum = orderProcessBean.getPlayerNum();
String[] playerNumArray = playerNum.split(",");
List<Integer> players = new ArrayList<Integer>();
if(playerNumArray.length == 0){
players.add(Integer.valueOf(playerNum.trim()));
}else{
for (String playerNumStr : playerNumArray) {
if(playerNumStr.trim() != null && !"".equals(playerNumStr)){
players.add(Integer.valueOf(playerNumStr.trim()));
}
}
}
this.eventCustomerInfoService.updateEventCustomerByPlayerNum(order.getOrderId(), players);
}
}
@Override
......
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