|
|
@ -48,9 +48,9 @@ import java.util.stream.Collectors; |
|
|
|
@Service |
|
|
|
public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder> { |
|
|
|
|
|
|
|
private static final String OrderUrl="https://supervise.yxtsoft.com/lpkapi/empcardgift/generateTopEmpCard?mainSid="; |
|
|
|
private static final String or="https://supervise.yxtsoft.com/lpkapi/vegetablecellar/addGoods?mainSid="; |
|
|
|
private static final String payUrl="https://supervise.yxtsoft.com/lpkapi/empsreservoorder/getPreOrder"; |
|
|
|
private static final String OrderUrl = "https://supervise.yxtsoft.com/lpkapi/empcardgift/generateTopEmpCard?mainSid="; |
|
|
|
private static final String or = "https://supervise.yxtsoft.com/lpkapi/vegetablecellar/addGoods?mainSid="; |
|
|
|
private static final String payUrl = "https://supervise.yxtsoft.com/lpkapi/empsreservoorder/getPreOrder"; |
|
|
|
@Autowired |
|
|
|
OrdOrderDetailService ordOrderDetailsService; |
|
|
|
@Autowired |
|
|
@ -74,21 +74,21 @@ public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public ResultBean createOrder(OrdOrderDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
PayResult result=new PayResult(); |
|
|
|
if(StringUtils.isBlank(dto.getCustomerSid())){ |
|
|
|
PayResult result = new PayResult(); |
|
|
|
if (StringUtils.isBlank(dto.getCustomerSid())) { |
|
|
|
return rb.setMsg("参数不全"); |
|
|
|
} |
|
|
|
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(),OrderUrl); |
|
|
|
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")){ |
|
|
|
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(), OrderUrl); |
|
|
|
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(); |
|
|
|
OrdOrder order = new OrdOrder(); |
|
|
|
BeanUtil.copyProperties(dto, order, "id", "sid"); |
|
|
|
order.setCreateTime(new Date()); |
|
|
|
order.setMainSid(rb2.get("mainSid").toString()); |
|
|
@ -100,10 +100,10 @@ public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder |
|
|
|
order.setUserSid(vo.getSid()); |
|
|
|
order.setOpenId(vo.getWxMpOpenid()); |
|
|
|
order.setTotalTee(dto.getTotalTee()); |
|
|
|
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()+"商品"); |
|
|
|
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); |
|
|
@ -111,9 +111,9 @@ public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder |
|
|
|
baseMapper.insert(order); |
|
|
|
|
|
|
|
|
|
|
|
List<OrdOrderDetail> ordOrders=new ArrayList<>(); |
|
|
|
dto.getOrdOrderDetailsVoList().forEach(s->{ |
|
|
|
OrdOrderDetail ordOrderDetails=new OrdOrderDetail(); |
|
|
|
List<OrdOrderDetail> ordOrders = new ArrayList<>(); |
|
|
|
dto.getOrdOrderDetailsVoList().forEach(s -> { |
|
|
|
OrdOrderDetail ordOrderDetails = new OrdOrderDetail(); |
|
|
|
BeanUtil.copyProperties(s, ordOrderDetails, "id", "sid"); |
|
|
|
ordOrderDetails.setOrderSid(order.getSid()); |
|
|
|
|
|
|
@ -121,38 +121,38 @@ public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder |
|
|
|
|
|
|
|
}); |
|
|
|
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()+"商品"); |
|
|
|
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)); |
|
|
|
result.setRemainder(String.valueOf(10 * 60)); |
|
|
|
|
|
|
|
PayUrl payUrl=new PayUrl(); |
|
|
|
PayUrl payUrl = new PayUrl(); |
|
|
|
payUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/pay"); |
|
|
|
PayParams aVoid=new PayParams(); |
|
|
|
PayParams aVoid = new PayParams(); |
|
|
|
aVoid.setMainSid(rb2.get("mainSid").toString()); |
|
|
|
payUrl.setParams(aVoid); |
|
|
|
|
|
|
|
OrderUrl orderUrl=new OrderUrl(); |
|
|
|
OrderParams orderParams=new OrderParams(); |
|
|
|
OrderUrl orderUrl = new OrderUrl(); |
|
|
|
OrderParams orderParams = new OrderParams(); |
|
|
|
orderParams.setMainSid(""); |
|
|
|
orderUrl.setParams(orderParams); |
|
|
|
|
|
|
|
TradeNoUrl tradeNoUrl=new TradeNoUrl(); |
|
|
|
TradeNoUrl tradeNoUrl = new TradeNoUrl(); |
|
|
|
tradeNoUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/orderQuery"); |
|
|
|
TradeParams tradeParams=new TradeParams(); |
|
|
|
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"}; |
|
|
|
String[] a = new String[]{"pay"}; |
|
|
|
result.setBus(a); |
|
|
|
return rb.success().setData(result); |
|
|
|
} |
|
|
@ -160,48 +160,48 @@ public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public ResultBean createVegeOrder(OrdOrderDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
PayResult result=new PayResult(); |
|
|
|
if(StringUtils.isBlank(dto.getCustomerSid())){ |
|
|
|
PayResult result = new PayResult(); |
|
|
|
if (StringUtils.isBlank(dto.getCustomerSid())) { |
|
|
|
return rb.setMsg("参数不全"); |
|
|
|
} |
|
|
|
if(StringUtils.isBlank(dto.getBrandId())){ |
|
|
|
if (StringUtils.isBlank(dto.getBrandId())) { |
|
|
|
return rb.setMsg("参数不全"); |
|
|
|
} |
|
|
|
|
|
|
|
List<OrdOrderDetailVo> ordOrderDetailVos=new ArrayList<>(); |
|
|
|
List<OrdOrderDetailVo> ordOrderDetailVos = new ArrayList<>(); |
|
|
|
|
|
|
|
ShoppingCartQuery query=new ShoppingCartQuery(); |
|
|
|
ShoppingCartQuery query = new ShoppingCartQuery(); |
|
|
|
|
|
|
|
query.setCustomerSid(dto.getCustomerSid()); |
|
|
|
query.setBrandId(dto.getBrandId()); |
|
|
|
List<ShoppingCartVo> vos=shoppingCartService.shoppingCartList(query).getData(); |
|
|
|
List<String> strings=new ArrayList<>(); |
|
|
|
double totalAmount=0; |
|
|
|
List<ShoppingCartVo> vos = shoppingCartService.shoppingCartList(query).getData(); |
|
|
|
List<String> strings = new ArrayList<>(); |
|
|
|
double totalAmount = 0; |
|
|
|
for (ShoppingCartVo vo : vos) { |
|
|
|
OrdOrderDetailVo vo1 =new OrdOrderDetailVo(); |
|
|
|
OrdOrderDetailVo vo1 = new OrdOrderDetailVo(); |
|
|
|
LpkGoods goods = lpkGoodsService.getOne(new QueryWrapper<LpkGoods>().eq("sid", vo.getGoodsSid())); |
|
|
|
vo1.setGoodsSid(vo.getGoodsSid()); |
|
|
|
vo1.setGoodsName(vo.getGoodsName()); |
|
|
|
vo1.setPartNumber(Integer.parseInt(vo.getGoodsNumber())); |
|
|
|
vo1.setNumofPart(Double.valueOf(vo.getWeight())); |
|
|
|
vo1.setPriceUnit(Double.valueOf(goods.getPrice())); |
|
|
|
vo1.setPricePart((Double.valueOf(goods.getPrice())*Double.valueOf(goods.getWeight()))); |
|
|
|
totalAmount= Double.valueOf(vo1.getPricePart())*Double.valueOf(vo1.getPartNumber())+totalAmount; |
|
|
|
vo1.setPricePart((Double.valueOf(goods.getPrice()) * Double.valueOf(goods.getWeight()))); |
|
|
|
totalAmount = Double.valueOf(vo1.getPricePart()) * Double.valueOf(vo1.getPartNumber()) + totalAmount; |
|
|
|
ordOrderDetailVos.add(vo1); |
|
|
|
strings.add(vo.getSid()); |
|
|
|
} |
|
|
|
dto.setOrdOrderDetailsVoList(ordOrderDetailVos); |
|
|
|
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")){ |
|
|
|
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(); |
|
|
|
OrdOrder order = new OrdOrder(); |
|
|
|
BeanUtil.copyProperties(dto, order, "id", "sid"); |
|
|
|
order.setCreateTime(new Date()); |
|
|
|
order.setMainSid(rb2.get("mainSid").toString()); |
|
|
@ -214,10 +214,10 @@ public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder |
|
|
|
order.setOpenId(vo.getWxMpOpenid()); |
|
|
|
order.setTotalTee(dto.getTotalTee());//实付金额
|
|
|
|
order.setMeet(removeZeros(String.valueOf(totalAmount)));//应付金额
|
|
|
|
if(dto.getOrdOrderDetailsVoList().size()>1){ |
|
|
|
order.setName(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString()+"等"+(dto.getOrdOrderDetailsVoList().size())+"件商品"); |
|
|
|
}else{ |
|
|
|
order.setName(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString()+"商品"); |
|
|
|
if (dto.getOrdOrderDetailsVoList().size() > 1) { |
|
|
|
order.setName(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString() + "等" + (dto.getOrdOrderDetailsVoList().size()) + "件商品"); |
|
|
|
} else { |
|
|
|
order.setName(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString() + "商品"); |
|
|
|
} |
|
|
|
// order.setName("商品");
|
|
|
|
order.setTimeRemarks(10); |
|
|
@ -225,9 +225,9 @@ public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder |
|
|
|
baseMapper.insert(order); |
|
|
|
|
|
|
|
|
|
|
|
List<OrdOrderDetail> ordOrders=new ArrayList<>(); |
|
|
|
dto.getOrdOrderDetailsVoList().forEach(s->{ |
|
|
|
OrdOrderDetail ordOrderDetails=new OrdOrderDetail(); |
|
|
|
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); |
|
|
@ -235,85 +235,86 @@ public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder |
|
|
|
}); |
|
|
|
ordOrderDetailsService.saveBatch(ordOrders); |
|
|
|
//生成订单 删除购物车
|
|
|
|
String [] sids=strings.toArray(new String [0]); |
|
|
|
String[] sids = strings.toArray(new String[0]); |
|
|
|
shoppingCartService.delBySids(sids); |
|
|
|
if(dto.getOrdOrderDetailsVoList().size()>1){ |
|
|
|
result.setGoods(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString()+"等"+(dto.getOrdOrderDetailsVoList().size())+"件商品"); |
|
|
|
}else{ |
|
|
|
result.setGoods(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString()+"商品"); |
|
|
|
if (dto.getOrdOrderDetailsVoList().size() > 1) { |
|
|
|
result.setGoods(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString() + "等" + (dto.getOrdOrderDetailsVoList().size()) + "件商品"); |
|
|
|
} 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)); |
|
|
|
result.setRemainder(String.valueOf(10 * 60)); |
|
|
|
|
|
|
|
PayUrl payUrl=new PayUrl(); |
|
|
|
PayUrl payUrl = new PayUrl(); |
|
|
|
payUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/pay"); |
|
|
|
PayParams aVoid=new PayParams(); |
|
|
|
PayParams aVoid = new PayParams(); |
|
|
|
aVoid.setMainSid(rb2.get("mainSid").toString()); |
|
|
|
payUrl.setParams(aVoid); |
|
|
|
|
|
|
|
OrderUrl orderUrl=new OrderUrl(); |
|
|
|
OrderParams orderParams=new OrderParams(); |
|
|
|
OrderUrl orderUrl = new OrderUrl(); |
|
|
|
OrderParams orderParams = new OrderParams(); |
|
|
|
orderParams.setMainSid(""); |
|
|
|
orderUrl.setParams(orderParams); |
|
|
|
|
|
|
|
TradeNoUrl tradeNoUrl=new TradeNoUrl(); |
|
|
|
TradeNoUrl tradeNoUrl = new TradeNoUrl(); |
|
|
|
tradeNoUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/orderQuery"); |
|
|
|
TradeParams tradeParams=new TradeParams(); |
|
|
|
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"}; |
|
|
|
String[] a = new String[]{"pay"}; |
|
|
|
result.setBus(a); |
|
|
|
//新人限购礼包 该状态
|
|
|
|
LpkCustomer customer=lpkCustomerService.getOne(new QueryWrapper<LpkCustomer>().eq("sid",dto.getCustomerSid())); |
|
|
|
LpkCustomer customer = lpkCustomerService.getOne(new QueryWrapper<LpkCustomer>().eq("sid", dto.getCustomerSid())); |
|
|
|
customer.setIsPurchase("0"); |
|
|
|
lpkCustomerService.updateById(customer); |
|
|
|
return rb.success().setData(result); |
|
|
|
} |
|
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public ResultBean createNewUserBagOrder(OrdOrderDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
PayResult result=new PayResult(); |
|
|
|
if(StringUtils.isBlank(dto.getCustomerSid())){ |
|
|
|
PayResult result = new PayResult(); |
|
|
|
if (StringUtils.isBlank(dto.getCustomerSid())) { |
|
|
|
return rb.setMsg("参数不全"); |
|
|
|
} |
|
|
|
List<OrdOrderDetailVo> ordOrderDetailVos=new ArrayList<>(); |
|
|
|
List<OrdOrderDetailVo> ordOrderDetailVos = new ArrayList<>(); |
|
|
|
|
|
|
|
List<GiftBagGoodss> vos=appletGiftBagService.getGoodsByBagSid(dto.getBagSid()).getData(); |
|
|
|
List<GiftBagGoodss> vos = appletGiftBagService.getGoodsByBagSid(dto.getBagSid()).getData(); |
|
|
|
dto.setTotalTee(vos.get(0).getPrefPrice()); |
|
|
|
dto.setCardNumber(1); |
|
|
|
double totalAmount=0; |
|
|
|
double totalAmount = 0; |
|
|
|
for (GiftBagGoodss vo : vos) { |
|
|
|
OrdOrderDetailVo vo1 =new OrdOrderDetailVo(); |
|
|
|
OrdOrderDetailVo vo1 = new OrdOrderDetailVo(); |
|
|
|
LpkGoods goods = lpkGoodsService.getOne(new QueryWrapper<LpkGoods>().eq("sid", vo.getGoodsSid())); |
|
|
|
vo1.setGoodsSid(vo.getGoodsSid()); |
|
|
|
vo1.setGoodsName(vo.getName()); |
|
|
|
vo1.setPartNumber(Integer.parseInt(vo.getGoodsNumber())); |
|
|
|
vo1.setNumofPart(Double.valueOf(vo.getWeight())); |
|
|
|
vo1.setPriceUnit(Double.valueOf(goods.getPrice())); |
|
|
|
vo1.setPricePart((Double.valueOf(goods.getPrice())*Double.valueOf(goods.getWeight()))); |
|
|
|
totalAmount= Double.valueOf(vo1.getPricePart())*Double.valueOf(vo1.getPartNumber())+totalAmount; |
|
|
|
vo1.setPricePart((Double.valueOf(goods.getPrice()) * Double.valueOf(goods.getWeight()))); |
|
|
|
totalAmount = Double.valueOf(vo1.getPricePart()) * Double.valueOf(vo1.getPartNumber()) + totalAmount; |
|
|
|
ordOrderDetailVos.add(vo1); |
|
|
|
} |
|
|
|
dto.setOrdOrderDetailsVoList(ordOrderDetailVos); |
|
|
|
|
|
|
|
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); |
|
|
|
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")){ |
|
|
|
ResultBean<PayOrderVo> rb1 = postForEntity.getBody(); |
|
|
|
LinkedHashMap rb2 = (LinkedHashMap) postForEntity.getBody().getData(); |
|
|
|
if (!rb1.getCode().equals("200")) { |
|
|
|
return rb1; |
|
|
|
} |
|
|
|
OrdOrder order=new OrdOrder(); |
|
|
|
OrdOrder order = new OrdOrder(); |
|
|
|
BeanUtil.copyProperties(dto, order, "id", "sid"); |
|
|
|
order.setCreateTime(new Date()); |
|
|
|
order.setMainSid(rb2.get("mainSid").toString()); |
|
|
@ -326,18 +327,18 @@ public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder |
|
|
|
order.setOpenId(vo.getWxMpOpenid()); |
|
|
|
order.setTotalTee(dto.getTotalTee()); |
|
|
|
order.setMeet(removeZeros(String.valueOf(totalAmount)));//应付金额
|
|
|
|
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()+"商品"); |
|
|
|
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(); |
|
|
|
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); |
|
|
@ -345,52 +346,53 @@ public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder |
|
|
|
}); |
|
|
|
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()+"商品"); |
|
|
|
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)); |
|
|
|
result.setRemainder(String.valueOf(10 * 60)); |
|
|
|
|
|
|
|
PayUrl payUrl=new PayUrl(); |
|
|
|
PayUrl payUrl = new PayUrl(); |
|
|
|
payUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/pay"); |
|
|
|
PayParams aVoid=new PayParams(); |
|
|
|
PayParams aVoid = new PayParams(); |
|
|
|
aVoid.setMainSid(rb2.get("mainSid").toString()); |
|
|
|
payUrl.setParams(aVoid); |
|
|
|
|
|
|
|
OrderUrl orderUrl=new OrderUrl(); |
|
|
|
OrderParams orderParams=new OrderParams(); |
|
|
|
OrderUrl orderUrl = new OrderUrl(); |
|
|
|
OrderParams orderParams = new OrderParams(); |
|
|
|
orderParams.setMainSid(""); |
|
|
|
orderUrl.setParams(orderParams); |
|
|
|
|
|
|
|
TradeNoUrl tradeNoUrl=new TradeNoUrl(); |
|
|
|
TradeNoUrl tradeNoUrl = new TradeNoUrl(); |
|
|
|
tradeNoUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/orderQuery"); |
|
|
|
TradeParams tradeParams=new TradeParams(); |
|
|
|
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"}; |
|
|
|
String[] a = new String[]{"pay"}; |
|
|
|
result.setBus(a); |
|
|
|
//新人限购礼包 该状态
|
|
|
|
LpkCustomer customer=lpkCustomerService.getOne(new QueryWrapper<LpkCustomer>().eq("sid",dto.getCustomerSid())); |
|
|
|
LpkCustomer customer = lpkCustomerService.getOne(new QueryWrapper<LpkCustomer>().eq("sid", dto.getCustomerSid())); |
|
|
|
customer.setIsPurchase("0"); |
|
|
|
lpkCustomerService.updateById(customer); |
|
|
|
return rb.success().setData(result); |
|
|
|
} |
|
|
|
private static Map<String, Object> buildMessageBody(String userSid, String openId, String totalTee, List<OrdOrderDetailVo> detailVos,String returnUrl){ |
|
|
|
|
|
|
|
private static Map<String, Object> buildMessageBody(String userSid, String openId, String totalTee, List<OrdOrderDetailVo> detailVos, String returnUrl) { |
|
|
|
//拼接base参数
|
|
|
|
String name =""; |
|
|
|
if(detailVos.size()>1){ |
|
|
|
name=detailVos.get(0).getGoodsName().toString()+"等"+(detailVos.size())+"件商品"; |
|
|
|
}else{ |
|
|
|
name =detailVos.get(0).getGoodsName().toString()+"商品"; |
|
|
|
String name = ""; |
|
|
|
if (detailVos.size() > 1) { |
|
|
|
name = detailVos.get(0).getGoodsName().toString() + "等" + (detailVos.size()) + "件商品"; |
|
|
|
} else { |
|
|
|
name = detailVos.get(0).getGoodsName().toString() + "商品"; |
|
|
|
} |
|
|
|
Map<String, Object> mp_template_msg = new HashMap<>(); |
|
|
|
mp_template_msg.put("source", "0"); |
|
|
@ -400,140 +402,143 @@ public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder |
|
|
|
mp_template_msg.put("name", name); |
|
|
|
mp_template_msg.put("timeRemarks", "10"); |
|
|
|
mp_template_msg.put("returnUrl", returnUrl); |
|
|
|
mp_template_msg.put("payUrl",payUrl); |
|
|
|
mp_template_msg.put("payUrl", payUrl); |
|
|
|
return mp_template_msg; |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<PagerVo<OrdOrderVo>> orderList(PagerQuery<OrdOrderQuery> pq) { |
|
|
|
ResultBean rb=new ResultBean().fail(); |
|
|
|
ResultBean rb = new ResultBean().fail(); |
|
|
|
OrdOrderQuery query = pq.getParams(); |
|
|
|
IPage<OrdOrder> page = PagerUtil.queryToPage(pq); |
|
|
|
QueryWrapper<OrdOrder> qw = new QueryWrapper<>(); |
|
|
|
if (StringUtils.isBlank(query.getCustomerSid())){ |
|
|
|
if (StringUtils.isBlank(query.getCustomerSid())) { |
|
|
|
return rb.setMsg("参数不全"); |
|
|
|
} |
|
|
|
if(StringUtils.isNotBlank(query.getState())){ |
|
|
|
qw.eq("payStatus",query.getState()); |
|
|
|
if (StringUtils.isNotBlank(query.getState())) { |
|
|
|
qw.eq("payStatus", query.getState()); |
|
|
|
} |
|
|
|
qw.eq("userSid",query.getCustomerSid()); |
|
|
|
qw.eq("userSid", query.getCustomerSid()); |
|
|
|
qw.orderByDesc("createTime"); |
|
|
|
IPage<OrdOrderVo> pagging = baseMapper.orderList(page, qw); |
|
|
|
SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
|
|
|
for (OrdOrderVo record : pagging.getRecords()) { |
|
|
|
List<OrdOrderDetail> details=ordOrderDetailService.list(new QueryWrapper<OrdOrderDetail>().eq("orderSid",record.getSid())); |
|
|
|
List<String> urls=new ArrayList<>(); |
|
|
|
List<OrdOrderDetail> details = ordOrderDetailService.list(new QueryWrapper<OrdOrderDetail>().eq("orderSid", record.getSid())); |
|
|
|
List<String> urls = new ArrayList<>(); |
|
|
|
record.getCreateTime(); |
|
|
|
if(record.getPayStatus()==2){ |
|
|
|
if (record.getPayStatus() == 2) { |
|
|
|
//1>2 1 、1<2 -1 、1=2 0
|
|
|
|
int k= DateUtil.parse(sdf.format(new Date())).compareTo(DateUtil.offsetMinute(record.getCreateTime(),10)); |
|
|
|
if(k!=-1){ |
|
|
|
int k = DateUtil.parse(sdf.format(new Date())).compareTo(DateUtil.offsetMinute(record.getCreateTime(), 10)); |
|
|
|
if (k != -1) { |
|
|
|
record.setPayStatus(3); |
|
|
|
OrdOrder r=baseMapper.selectOne(new QueryWrapper<OrdOrder>().eq("sid",record.getSid())); |
|
|
|
OrdOrder r = baseMapper.selectOne(new QueryWrapper<OrdOrder>().eq("sid", record.getSid())); |
|
|
|
r.setPayStatus(3); |
|
|
|
baseMapper.updateById(r); |
|
|
|
} |
|
|
|
} |
|
|
|
for (OrdOrderDetail detail : details) { |
|
|
|
LpkGoods lpkGoods=lpkGoodsService.getOne(new QueryWrapper<LpkGoods>().eq("sid",detail.getGoodsSid())); |
|
|
|
urls.add(fileUploadComponent.getUrlPrefix()+lpkGoods.getPicUrl()); |
|
|
|
for (OrdOrderDetail detail : details) { |
|
|
|
LpkGoods lpkGoods = lpkGoodsService.getOne(new QueryWrapper<LpkGoods>().eq("sid", detail.getGoodsSid())); |
|
|
|
urls.add(fileUploadComponent.getUrlPrefix() + lpkGoods.getPicUrl()); |
|
|
|
} |
|
|
|
record.setCount(String.valueOf(details.size())); |
|
|
|
record.setPicUrls(urls); |
|
|
|
record.setCount(String.valueOf(details.size())); |
|
|
|
record.setPicUrls(urls); |
|
|
|
} |
|
|
|
if(query.getState().equals("2")){ |
|
|
|
pagging.setRecords(pagging.getRecords().stream().filter(s->s.getPayStatus()!=3).collect(Collectors.toList())); |
|
|
|
if (query.getState().equals("2")) { |
|
|
|
pagging.setRecords(pagging.getRecords().stream().filter(s -> s.getPayStatus() != 3).collect(Collectors.toList())); |
|
|
|
} |
|
|
|
PagerVo<LpkStoreVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
return rb.success().setData(p); |
|
|
|
return rb.success().setData(p); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<OrdOrderVo> getOrderDetails(String sid) { |
|
|
|
ResultBean rb=new ResultBean().fail(); |
|
|
|
ResultBean rb = new ResultBean().fail(); |
|
|
|
OrdOrderVo pagging = baseMapper.getOrderDetails(sid); |
|
|
|
if(StringUtils.isBlank(sid)){ |
|
|
|
if (StringUtils.isBlank(sid)) { |
|
|
|
return rb.setMsg("参数不全"); |
|
|
|
} |
|
|
|
List<OrdOrderDetail> details=ordOrderDetailService.list(new QueryWrapper<OrdOrderDetail>().eq("orderSid",pagging.getSid())); |
|
|
|
if(StringUtils.isBlank(pagging.getMeet())){ |
|
|
|
List<OrdOrderDetail> details = ordOrderDetailService.list(new QueryWrapper<OrdOrderDetail>().eq("orderSid", pagging.getSid())); |
|
|
|
if (StringUtils.isBlank(pagging.getMeet())) { |
|
|
|
pagging.setMeet(pagging.getTotalTee()); |
|
|
|
} |
|
|
|
DecimalFormat decimalFormat = new DecimalFormat("#0.00"); |
|
|
|
pagging.setSurcharge(removeZeros(String.valueOf(decimalFormat.format(Double.valueOf(pagging.getTotalTee())-Double.valueOf(pagging.getMeet()))))); |
|
|
|
pagging.setSurcharge(removeZeros(String.valueOf(decimalFormat.format(Double.valueOf(pagging.getTotalTee()) - Double.valueOf(pagging.getMeet()))))); |
|
|
|
for (OrdOrderDetail detail : details) { |
|
|
|
LpkGoods lpkGoods=lpkGoodsService.getOne(new QueryWrapper<LpkGoods>().eq("sid",detail.getGoodsSid())); |
|
|
|
detail.setPicUrl(fileUploadComponent.getUrlPrefix()+lpkGoods.getPicUrl()); |
|
|
|
detail.setRemarks(removeZeros(String.valueOf(detail.getNumofPart()))+"斤/份,"+"共"+detail.getPartNumber()+"份"); |
|
|
|
LpkGoods lpkGoods = lpkGoodsService.getOne(new QueryWrapper<LpkGoods>().eq("sid", detail.getGoodsSid())); |
|
|
|
detail.setPicUrl(fileUploadComponent.getUrlPrefix() + lpkGoods.getPicUrl()); |
|
|
|
detail.setRemarks(removeZeros(String.valueOf(detail.getNumofPart())) + "斤/份," + "共" + detail.getPartNumber() + "份"); |
|
|
|
} |
|
|
|
pagging.setOrdOrderDetails(details); |
|
|
|
SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
|
|
|
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
|
|
|
long milli = DateUtil.current(); |
|
|
|
pagging.setNowDate(milli); |
|
|
|
pagging.setEndTime(sdf1.format(DateUtil.offsetMinute(pagging.getCreateTime(),pagging.getTimeRemarks()))); |
|
|
|
if(pagging.getPayStatus()==2){ |
|
|
|
PayResult result=new PayResult(); |
|
|
|
if(details.size()>1){ |
|
|
|
result.setGoods(details.get(0).getGoodsName().toString()+"等"+(details.size()-1)+"件商品"); |
|
|
|
}else{ |
|
|
|
result.setGoods(details.get(0).getGoodsName().toString()+"商品"); |
|
|
|
pagging.setEndTime(sdf1.format(DateUtil.offsetMinute(pagging.getCreateTime(), pagging.getTimeRemarks()))); |
|
|
|
if (pagging.getPayStatus() == 2) { |
|
|
|
PayResult result = new PayResult(); |
|
|
|
if (details.size() > 1) { |
|
|
|
result.setGoods(details.get(0).getGoodsName().toString() + "等" + (details.size() - 1) + "件商品"); |
|
|
|
} else { |
|
|
|
result.setGoods(details.get(0).getGoodsName().toString() + "商品"); |
|
|
|
} |
|
|
|
result.setPrice(pagging.getTotalTee()); |
|
|
|
// result.setOrderId(rbData.getOutTradeNo());
|
|
|
|
result.setOrderId(pagging.getOutTradeNo()); |
|
|
|
result.setRemainder(String.valueOf(10*60)); |
|
|
|
result.setRemainder(String.valueOf(10 * 60)); |
|
|
|
|
|
|
|
PayUrl payUrl=new PayUrl(); |
|
|
|
PayUrl payUrl = new PayUrl(); |
|
|
|
payUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/pay"); |
|
|
|
PayParams aVoid=new PayParams(); |
|
|
|
PayParams aVoid = new PayParams(); |
|
|
|
aVoid.setMainSid(pagging.getMainSid()); |
|
|
|
payUrl.setParams(aVoid); |
|
|
|
|
|
|
|
OrderUrl orderUrl=new OrderUrl(); |
|
|
|
OrderParams orderParams=new OrderParams(); |
|
|
|
OrderUrl orderUrl = new OrderUrl(); |
|
|
|
OrderParams orderParams = new OrderParams(); |
|
|
|
orderParams.setMainSid(""); |
|
|
|
orderUrl.setParams(orderParams); |
|
|
|
|
|
|
|
TradeNoUrl tradeNoUrl=new TradeNoUrl(); |
|
|
|
TradeNoUrl tradeNoUrl = new TradeNoUrl(); |
|
|
|
tradeNoUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/orderQuery"); |
|
|
|
TradeParams tradeParams=new TradeParams(); |
|
|
|
TradeParams tradeParams = new TradeParams(); |
|
|
|
tradeParams.setMainSid(pagging.getMainSid()); |
|
|
|
tradeNoUrl.setParams(tradeParams); |
|
|
|
|
|
|
|
// result.setOrder_url(orderUrl);
|
|
|
|
result.setPay_url(payUrl); |
|
|
|
result.setTrade_no_url(tradeNoUrl); |
|
|
|
String [] a =new String []{"pay"}; |
|
|
|
String[] a = new String[]{"pay"}; |
|
|
|
result.setBus(a); |
|
|
|
pagging.setResult(result); |
|
|
|
} |
|
|
|
return rb.success().setData(pagging); |
|
|
|
return rb.success().setData(pagging); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public ResultBean changePayState(String sid) { |
|
|
|
ResultBean rb=new ResultBean().fail(); |
|
|
|
if(StringUtils.isBlank(sid)){ |
|
|
|
ResultBean rb = new ResultBean().fail(); |
|
|
|
if (StringUtils.isBlank(sid)) { |
|
|
|
return rb.setMsg("参数不全"); |
|
|
|
} |
|
|
|
OrdOrder order=baseMapper.selectOne(new QueryWrapper<OrdOrder>().eq("sid",sid)); |
|
|
|
if(order.getPayStatus()==2){ |
|
|
|
OrdOrder order = baseMapper.selectOne(new QueryWrapper<OrdOrder>().eq("sid", sid)); |
|
|
|
if (order.getPayStatus() == 2) { |
|
|
|
order.setPayStatus(3); |
|
|
|
baseMapper.updateById(order); |
|
|
|
} |
|
|
|
return rb.success().setData(order); |
|
|
|
return rb.success().setData(order); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean getPreOrder(OrdOrderQuery query) { |
|
|
|
ResultBean rb=new ResultBean().fail(); |
|
|
|
if(StringUtils.isBlank(query.getMainSid())){ |
|
|
|
ResultBean rb = new ResultBean().fail(); |
|
|
|
if (StringUtils.isBlank(query.getMainSid())) { |
|
|
|
return rb.setMsg("参数不全"); |
|
|
|
} |
|
|
|
OrdOrder order=baseMapper.selectOne(new QueryWrapper<OrdOrder>().eq("mainSid",query.getMainSid())); |
|
|
|
OrdOrder order = baseMapper.selectOne(new QueryWrapper<OrdOrder>().eq("mainSid", query.getMainSid())); |
|
|
|
order.setCreateTime(DateUtil.parse(query.getPayTime())); |
|
|
|
baseMapper.updateById(order); |
|
|
|
return rb.success().setData(order); |
|
|
|
return rb.success().setData(order); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* 去除多余.0 |
|
|
|
* |
|
|
|
* @param num |
|
|
|
* @return |
|
|
|
*/ |
|
|
@ -546,4 +551,18 @@ public class OrdOrderService extends MybatisBaseService<OrdOrderMapper, OrdOrder |
|
|
|
} |
|
|
|
return num; |
|
|
|
} |
|
|
|
|
|
|
|
public String orderGoodsNames(String outTradeNo) { |
|
|
|
String names = ""; |
|
|
|
List<OrdOrderGoodsItem> list = baseMapper.listGoodsInfoByOutTradeNo(outTradeNo); |
|
|
|
for (int i = 0; i < list.size(); i++) { |
|
|
|
if (i == 0) { |
|
|
|
names = list.get(i).getGoodsName() + "*" + list.get(i).getGoodsNumber(); |
|
|
|
} else { |
|
|
|
names = names + "," + list.get(i).getGoodsName() + "*" + list.get(i).getGoodsNumber(); |
|
|
|
} |
|
|
|
} |
|
|
|
return names; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|