Commit b34486a6 by chongli

50元券不允许重复下单

parent 3fa5aa5a
...@@ -8,9 +8,11 @@ import org.springframework.web.bind.annotation.RequestBody; ...@@ -8,9 +8,11 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.ctrip.fun.common.vo.Request; import com.ctrip.fun.common.vo.Request;
import com.ctrip.fun.common.vo.Response; import com.ctrip.fun.common.vo.Response;
import com.ctrip.fun.common.vo.ResponseMp;
import com.ctrip.fun.common.vo.order.CommuneOrderBean; import com.ctrip.fun.common.vo.order.CommuneOrderBean;
import com.ctrip.fun.common.vo.order.CommuneOrderListItemBean; import com.ctrip.fun.common.vo.order.CommuneOrderListItemBean;
import com.ctrip.fun.common.vo.order.CommuneOrderResourceBean; import com.ctrip.fun.common.vo.order.CommuneOrderResourceBean;
...@@ -47,15 +49,11 @@ public class CommuneOrderController extends AbstractOrderController<CommuneOrder ...@@ -47,15 +49,11 @@ public class CommuneOrderController extends AbstractOrderController<CommuneOrder
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@ResponseBody @ResponseBody
@RequestMapping(value = "/voucherPlaceOrderForMiniApp", method = RequestMethod.POST) @RequestMapping(value = "/voucherPlaceOrderForMiniApp", method = RequestMethod.POST)
public Response<JSONObject> voucherPlaceOrderForMiniApp(@RequestBody Request<CommuneOrderBean> request) { public ResponseMp<JSONObject> voucherPlaceOrderForMiniApp(@RequestBody Request<CommuneOrderBean> request) {
Response<JSONObject> response = new Response<JSONObject>(); ResponseMp<JSONObject> response = new ResponseMp<JSONObject>();
JSONObject jSONObject; JSONObject jSONObject;
try { jSONObject = communeOrderService.voucherPlaceOrderForMiniApp(request.getBody());
jSONObject = communeOrderService.voucherPlaceOrderForMiniApp(request.getBody()); response.setBody(jSONObject);
response.setBody(jSONObject);
} catch (Exception e) {
e.printStackTrace();
}
return response; return response;
} }
......
...@@ -13,6 +13,7 @@ import org.slf4j.LoggerFactory; ...@@ -13,6 +13,7 @@ import org.slf4j.LoggerFactory;
import com.ctrip.fun.common.vo.AbstractBean; import com.ctrip.fun.common.vo.AbstractBean;
import com.ctrip.fun.common.vo.Request; import com.ctrip.fun.common.vo.Request;
import com.ctrip.fun.common.vo.Response; import com.ctrip.fun.common.vo.Response;
import com.ctrip.fun.common.vo.ResponseMp;
import com.ctrip.fun.common.vo.ResponseStatusEnum; import com.ctrip.fun.common.vo.ResponseStatusEnum;
import com.ctrip.fun.golf.domain.operation.Logging; import com.ctrip.fun.golf.domain.operation.Logging;
import com.ctrip.fun.golf.exceptions.OrderException; import com.ctrip.fun.golf.exceptions.OrderException;
...@@ -60,6 +61,14 @@ public class LogAspect { ...@@ -60,6 +61,14 @@ public class LogAspect {
result.setStatus(e.getCode()); result.setStatus(e.getCode());
result.setMessage(e.getMsg()); result.setMessage(e.getMsg());
result.setMessage(e.getMessage()); result.setMessage(e.getMessage());
if(e.getCode()<=-666){
ResponseMp resultmp = new ResponseMp();
resultmp.setStatus(e.getCode());
resultmp.setMessage(e.getMsg());
resultmp.setMessage(e.getMessage());
resultmp.setCode(1);
return resultmp;
}
return result; return result;
} catch (UserException e) { } catch (UserException e) {
logger.error("invoke api fail", e); logger.error("invoke api fail", e);
......
...@@ -28,6 +28,7 @@ import com.ctrip.fun.common.vo.order.CommuneOrderListItemBean; ...@@ -28,6 +28,7 @@ import com.ctrip.fun.common.vo.order.CommuneOrderListItemBean;
import com.ctrip.fun.common.vo.order.CommuneOrderResourceBean; import com.ctrip.fun.common.vo.order.CommuneOrderResourceBean;
import com.ctrip.fun.common.vo.order.OrderCategoryEnum; import com.ctrip.fun.common.vo.order.OrderCategoryEnum;
import com.ctrip.fun.common.vo.order.OrderQuery; import com.ctrip.fun.common.vo.order.OrderQuery;
import com.ctrip.fun.common.vo.order.OrderStatusBitEnum;
import com.ctrip.fun.common.vo.order.OrderStatusEnum; import com.ctrip.fun.common.vo.order.OrderStatusEnum;
import com.ctrip.fun.common.vo.order.PlaceOrderResponseBean; import com.ctrip.fun.common.vo.order.PlaceOrderResponseBean;
import com.ctrip.fun.common.vo.order.UserCommuneOrderStatusEnum; import com.ctrip.fun.common.vo.order.UserCommuneOrderStatusEnum;
...@@ -151,6 +152,18 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean, ...@@ -151,6 +152,18 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
if(communeOrderBean.getPrePayAmount().compareTo(voucher_amount) != 0){ if(communeOrderBean.getPrePayAmount().compareTo(voucher_amount) != 0){
throw new OrderException(-41, "您提交的预付款金额有问题,请检查!"); throw new OrderException(-41, "您提交的预付款金额有问题,请检查!");
} }
OrderQuery queryBean = new OrderQuery();
queryBean.setOrderCategory(16);
queryBean.setUid(communeOrderBean.getUid());
queryBean.setPagerOffset(0);
queryBean.setSortField("orderDate");
PagedEntityBean<Order> pageOrder = this.getOrderDao().queryComOrders(queryBean);
if(pageOrder!=null&&pageOrder.getCount()>0){
List<Order> list = (List<Order>)pageOrder.getResult();
if((list.get(0).getProcessStatus()&OrderStatusBitEnum.DEDUCTED.getValue())==16){
throw new OrderException(-666, "您已经参与过该活动!");
}
}
} }
@Override @Override
...@@ -265,7 +278,7 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean, ...@@ -265,7 +278,7 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
} }
public JSONObject voucherPlaceOrderForMiniApp(CommuneOrderBean communeOrderBean) throws Exception{ public JSONObject voucherPlaceOrderForMiniApp(CommuneOrderBean communeOrderBean){
this.voucherCheckParameters(communeOrderBean); this.voucherCheckParameters(communeOrderBean);
if (this.voucherBeforePlaceOrder(communeOrderBean)) { if (this.voucherBeforePlaceOrder(communeOrderBean)) {
Order order = this.saveOrder(communeOrderBean); Order order = this.saveOrder(communeOrderBean);
...@@ -277,8 +290,13 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean, ...@@ -277,8 +290,13 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
}else{ }else{
communeOrderMoney = communeOrderBean.getAmount(); communeOrderMoney = communeOrderBean.getAmount();
} }
JSONObject json = WeiXinAtcion.weixinPlay(userExt.getMiniAppOpenId(), communeOrderMoney.multiply(new BigDecimal("100")).intValue(), order.getOrderNo()+"", voucherNotifyUrlForMiniApp,"buy_voucher"); try {
return json; JSONObject json = WeiXinAtcion.weixinPlay(userExt.getMiniAppOpenId(), communeOrderMoney.multiply(new BigDecimal("100")).intValue(), order.getOrderNo()+"", voucherNotifyUrlForMiniApp,"buy_voucher");
return json;
} catch (Exception e) {
e.printStackTrace();
return null;
}
} }
return null; return null;
} }
......
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