|
|
@ -24,7 +24,7 @@ import java.util.*; |
|
|
|
@Service |
|
|
|
public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder> { |
|
|
|
|
|
|
|
|
|
|
|
private static final String OrderUrl="https://supervise.yxtsoft.com/lpkapi/empcardgift/generateTopEmpCard?mainSid="; |
|
|
|
@Autowired |
|
|
|
OrdOrderDetailService ordOrderDetailsService; |
|
|
|
@Autowired |
|
|
@ -37,7 +37,7 @@ public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder |
|
|
|
PayResult result=new PayResult(); |
|
|
|
Map<String,Object>map =new HashMap<>(); |
|
|
|
LpkCustomerVo vo= lpkCustomerService.getCustomerInfo(dto.getCustomerSid()).getData(); |
|
|
|
Map<String, Object> sendBody=buildMessageBody( vo.getSid(), vo.getWxMpOpenid(),dto.getTotalTee(),dto.getOrdOrderDetailsVoList()); |
|
|
|
Map<String, Object> sendBody=buildMessageBody( vo.getSid(), vo.getWxMpOpenid(),dto.getTotalTee(),dto.getOrdOrderDetailsVoList(),OrderUrl); |
|
|
|
ResponseEntity<ResultBean> postForEntity=new RestTemplate().postForEntity("https://supervise.yxtsoft.com/wxPay/order/createOrder", sendBody,ResultBean.class); |
|
|
|
|
|
|
|
ResultBean<PayOrderVo> rb1= postForEntity.getBody(); |
|
|
@ -59,11 +59,11 @@ public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder |
|
|
|
if(dto.getOrdOrderDetailsVoList().size()>1){ |
|
|
|
order.setName(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString()+"等"+(dto.getOrdOrderDetailsVoList().size()-1)+"件商品"); |
|
|
|
}else{ |
|
|
|
result.setGoods(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString()+"商品"); |
|
|
|
order.setName(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString()+"商品"); |
|
|
|
} |
|
|
|
// order.setName("商品");
|
|
|
|
order.setTimeRemarks(10); |
|
|
|
order.setReturnUrl("https://supervise.yxtsoft.com/lpkapi/empcardgift/generateTopEmpCard?mainSid="); |
|
|
|
order.setReturnUrl(OrderUrl); |
|
|
|
baseMapper.insert(order); |
|
|
|
|
|
|
|
|
|
|
@ -113,8 +113,89 @@ public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder |
|
|
|
return rb.success().setData(result); |
|
|
|
} |
|
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public ResultBean createVegeOrder(OrdOrderDto dto) { |
|
|
|
String or=""; |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
PayResult result=new PayResult(); |
|
|
|
Map<String,Object>map =new HashMap<>(); |
|
|
|
LpkCustomerVo vo= lpkCustomerService.getCustomerInfo(dto.getCustomerSid()).getData(); |
|
|
|
Map<String, Object> sendBody=buildMessageBody( vo.getSid(), vo.getWxMpOpenid(),dto.getTotalTee(),dto.getOrdOrderDetailsVoList(),or); |
|
|
|
ResponseEntity<ResultBean> postForEntity=new RestTemplate().postForEntity("https://supervise.yxtsoft.com/wxPay/order/createOrder", sendBody,ResultBean.class); |
|
|
|
|
|
|
|
ResultBean<PayOrderVo> rb1= postForEntity.getBody(); |
|
|
|
LinkedHashMap rb2= (LinkedHashMap)postForEntity.getBody().getData(); |
|
|
|
if(!rb1.getCode().equals("200")){ |
|
|
|
return rb1; |
|
|
|
} |
|
|
|
OrdOrder order=new OrdOrder(); |
|
|
|
BeanUtil.copyProperties(dto, order, "id", "sid"); |
|
|
|
|
|
|
|
order.setMainSid(rb2.get("mainSid").toString()); |
|
|
|
order.setPayStatus(1); |
|
|
|
order.setPayTime(new Date()); |
|
|
|
order.setCardNumber(dto.getCardNumber()); |
|
|
|
order.setSource(0); |
|
|
|
order.setUserSid(vo.getSid()); |
|
|
|
order.setOpenId(vo.getWxMpOpenid()); |
|
|
|
order.setTotalTee(dto.getTotalTee()); |
|
|
|
order.setVegeCellarType(dto.getVegeCellarType()); |
|
|
|
if(dto.getOrdOrderDetailsVoList().size()>1){ |
|
|
|
order.setName(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString()+"等"+(dto.getOrdOrderDetailsVoList().size()-1)+"件商品"); |
|
|
|
}else{ |
|
|
|
order.setName(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString()+"商品"); |
|
|
|
} |
|
|
|
// order.setName("商品");
|
|
|
|
order.setTimeRemarks(10); |
|
|
|
order.setReturnUrl(or); |
|
|
|
baseMapper.insert(order); |
|
|
|
|
|
|
|
|
|
|
|
List<OrdOrderDetail> ordOrders=new ArrayList<>(); |
|
|
|
dto.getOrdOrderDetailsVoList().forEach(s->{ |
|
|
|
OrdOrderDetail ordOrderDetails=new OrdOrderDetail(); |
|
|
|
BeanUtil.copyProperties(s, ordOrderDetails, "id", "sid"); |
|
|
|
ordOrderDetails.setOrderSid(order.getSid()); |
|
|
|
ordOrders.add(ordOrderDetails); |
|
|
|
|
|
|
|
}); |
|
|
|
ordOrderDetailsService.saveBatch(ordOrders); |
|
|
|
if(dto.getOrdOrderDetailsVoList().size()>1){ |
|
|
|
result.setGoods(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString()+"等"+(dto.getOrdOrderDetailsVoList().size()-1)+"件商品"); |
|
|
|
}else{ |
|
|
|
result.setGoods(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString()+"商品"); |
|
|
|
} |
|
|
|
|
|
|
|
result.setPrice(dto.getTotalTee()); |
|
|
|
// result.setOrderId(rbData.getOutTradeNo());
|
|
|
|
result.setOrderId(rb2.get("outTradeNo").toString()); |
|
|
|
result.setRemainder(String.valueOf(10*60)); |
|
|
|
|
|
|
|
PayUrl payUrl=new PayUrl(); |
|
|
|
payUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/pay"); |
|
|
|
PayParams aVoid=new PayParams(); |
|
|
|
aVoid.setMainSid(rb2.get("mainSid").toString()); |
|
|
|
payUrl.setParams(aVoid); |
|
|
|
|
|
|
|
private static Map<String, Object> buildMessageBody(String userSid, String openId, String totalTee, List<OrdOrderDetailVo> detailVos){ |
|
|
|
OrderUrl orderUrl=new OrderUrl(); |
|
|
|
OrderParams orderParams=new OrderParams(); |
|
|
|
orderParams.setMainSid(""); |
|
|
|
orderUrl.setParams(orderParams); |
|
|
|
|
|
|
|
TradeNoUrl tradeNoUrl=new TradeNoUrl(); |
|
|
|
tradeNoUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/orderQuery"); |
|
|
|
TradeParams tradeParams=new TradeParams(); |
|
|
|
tradeParams.setMainSid(rb2.get("mainSid").toString()); |
|
|
|
tradeNoUrl.setParams(tradeParams); |
|
|
|
|
|
|
|
// result.setOrder_url(orderUrl);
|
|
|
|
result.setPay_url(payUrl); |
|
|
|
result.setTrade_no_url(tradeNoUrl); |
|
|
|
String [] a =new String []{"pay"}; |
|
|
|
result.setBus(a); |
|
|
|
return rb.success().setData(result); |
|
|
|
} |
|
|
|
private static Map<String, Object> buildMessageBody(String userSid, String openId, String totalTee, List<OrdOrderDetailVo> detailVos,String returnUrl){ |
|
|
|
//拼接base参数
|
|
|
|
String name =""; |
|
|
|
if(detailVos.size()>1){ |
|
|
@ -129,7 +210,8 @@ public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder |
|
|
|
mp_template_msg.put("userSid", userSid); |
|
|
|
mp_template_msg.put("name", name); |
|
|
|
mp_template_msg.put("timeRemarks", "10"); |
|
|
|
mp_template_msg.put("returnUrl", "https://supervise.yxtsoft.com/lpkapi/empcardgift/generateTopEmpCard?mainSid="); |
|
|
|
mp_template_msg.put("returnUrl", returnUrl); |
|
|
|
return mp_template_msg; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|