Commit fd7b5b01 by Huang Linyu

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

parents 6a845b9d 4eafe075
...@@ -64,7 +64,6 @@ public class EventCustomerInfoDao extends GenericHibernateDao<EventCustomerInfo, ...@@ -64,7 +64,6 @@ public class EventCustomerInfoDao extends GenericHibernateDao<EventCustomerInfo,
String hql = " from EventCustomerInfo where orderId =:orderId and validFlag=true"; String hql = " from EventCustomerInfo where orderId =:orderId and validFlag=true";
return this.getSession().createQuery(hql).setParameter("orderId", orderId).list(); return this.getSession().createQuery(hql).setParameter("orderId", orderId).list();
} }
public List<EventCustomerInfo> getAllCustomerInfoListByOrderId(int orderId) { public List<EventCustomerInfo> getAllCustomerInfoListByOrderId(int orderId) {
String hql = " from EventCustomerInfo where orderId =:orderId"; String hql = " from EventCustomerInfo where orderId =:orderId";
return this.getSession().createQuery(hql).setParameter("orderId", orderId).list(); return this.getSession().createQuery(hql).setParameter("orderId", orderId).list();
...@@ -324,6 +323,16 @@ public class EventCustomerInfoDao extends GenericHibernateDao<EventCustomerInfo, ...@@ -324,6 +323,16 @@ public class EventCustomerInfoDao extends GenericHibernateDao<EventCustomerInfo,
query.setInteger("eventCustomerId", bean.getEventCustomerId()); query.setInteger("eventCustomerId", bean.getEventCustomerId());
query.executeUpdate(); 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后台 查询订单分组与导出 * 用于admin后台 查询订单分组与导出
......
...@@ -117,6 +117,27 @@ public class EventCustomerInfoService extends ...@@ -117,6 +117,27 @@ public class EventCustomerInfoService extends
return num; return num;
} }
public int updateEventCustomerByPlayerNum(Integer orderId, List<Integer> playerNum){
List<EventCustomerInfo> eventCustomerInfos = eventCustomerInfoDao
.getAllCustomerInfoListByOrderId(orderId);
int validNum=0;
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)) && eventCustomerInfos.get(j).getValidFlag()){
//取消站位
validNum++;
this.eventCustomerInfoDao.updateCustomerById(eventCustomerInfos.get(j).getEventCustomerId(), false);
break;
}
}
}
}
return validNum;
}
public List<EventCustomerInfoBean> getEventCustomerInfoRankList( public List<EventCustomerInfoBean> getEventCustomerInfoRankList(
EventCustomerInfoQuery eventCustomerInfoQuery) { EventCustomerInfoQuery eventCustomerInfoQuery) {
......
...@@ -351,6 +351,17 @@ public class OpEventActivityOrderService ...@@ -351,6 +351,17 @@ public class OpEventActivityOrderService
.doubleValue() + orderProcessBean.getPrePayCardRefundAmount())); .doubleValue() + orderProcessBean.getPrePayCardRefundAmount()));
this.userExtDao.addAmount(order.getUid(), this.userExtDao.addAmount(order.getUid(),
BigDecimal.valueOf(orderProcessBean.getPrePayCardRefundAmount())); 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) { if (orderProcessBean.getRefundVoucherIds() != null) {
...@@ -413,6 +424,7 @@ public class OpEventActivityOrderService ...@@ -413,6 +424,7 @@ public class OpEventActivityOrderService
.add(order.getVoucherRefundAmount().add( .add(order.getVoucherRefundAmount().add(
order.getRefundAmount())) order.getRefundAmount()))
.add(order.getOnPayAmount())).doubleValue() <= 0) { .add(order.getOnPayAmount())).doubleValue() <= 0) {
//代表全退掉了
order.setProcessStatus(order.getProcessStatus() order.setProcessStatus(order.getProcessStatus()
| OrderStatusBitEnum.ALL_UNSUBSCRIBED.getValue()); | OrderStatusBitEnum.ALL_UNSUBSCRIBED.getValue());
order.setProcessStatus(order.getProcessStatus() order.setProcessStatus(order.getProcessStatus()
...@@ -485,7 +497,47 @@ public class OpEventActivityOrderService ...@@ -485,7 +497,47 @@ public class OpEventActivityOrderService
this.courseResourceService.addInventory(resourceInventoryQuery, orderItems.get(0) this.courseResourceService.addInventory(resourceInventoryQuery, orderItems.get(0)
.getQuantity()); .getQuantity());
} }
} } else if (/*(orderProcessBean.getRefundAmount() != null && orderProcessBean
.getRefundAmount() > 0)
|| (orderProcessBean.getPrePayCardRefundAmount() != null && orderProcessBean
.getPrePayCardRefundAmount() > 0)*/orderProcessBean.getOperateType() == OrderProcessEnum.REFUND_PART.getOperationCode()) {
//部分退款逻辑
//取消占位
String playerNum = orderProcessBean.getPlayerNum();
String[] playerNumArray = playerNum.split(",");
List<Integer> players = new ArrayList<Integer>();
if(playerNumArray.length == 0){
if(playerNum.trim() != null && !"".equals(playerNum)){
players.add(Integer.valueOf(playerNum.trim()));
}
}else{
for (String playerNumStr : playerNumArray) {
if(playerNumStr.trim() != null && !"".equals(playerNumStr)){
players.add(Integer.valueOf(playerNumStr.trim()));
}
}
}
//add by caosy 预付中的非全部退款,返还库存
List<EventActivityOrderItem> orderItems = this.eventActivityOrderItemDao
.getOrderItemByOrderId(order.getOrderId());
if (orderItems != null && orderItems.size() > 0
&& order.getConfirmType() == ResourceConfirmTypeEnum.AUTO.getValue()) {
//重新设置退款人数
int validNum = this.eventCustomerInfoService.updateEventCustomerByPlayerNum(order.getOrderId(), players);
orderProcessBean.setQuantity(orderItems.get(0).getQuantity()-validNum);
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());
}
}
} }
@Override @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