ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/AuctionGoodsinfoVO.java
@@ -53,12 +53,16 @@ @ApiModelProperty(value = "商品说明") @JsonInclude(JsonInclude.Include.ALWAYS) private String explain; @ApiModelProperty(value = "商品介绍") @JsonInclude(JsonInclude.Include.ALWAYS) private String detail; @ApiModelProperty(value = "商品年份") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonInclude(JsonInclude.Include.ALWAYS) private String years; private LocalDateTime years; @ApiModelProperty(value = "商品分类") @JsonInclude(JsonInclude.Include.ALWAYS) ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/AuctionSalesroomGoodsInfoVO.java
@@ -86,6 +86,14 @@ @JsonInclude(JsonInclude.Include.ALWAYS) private String album; @ApiModelProperty(value = "分享标题") @JsonInclude(JsonInclude.Include.ALWAYS) private String shareTitle; @ApiModelProperty(value = "分享图片") @JsonInclude(JsonInclude.Include.ALWAYS) private String sharePic; @ApiModelProperty(value = "是否出价 1未出价,2出价") @JsonInclude(JsonInclude.Include.ALWAYS) private Integer isBond; @@ -122,7 +130,9 @@ @JsonInclude(JsonInclude.Include.ALWAYS) private String orderNo; @ApiModelProperty(value = "商品说明") @JsonInclude(JsonInclude.Include.ALWAYS) private String explain; } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/Express100VO.java
@@ -11,5 +11,6 @@ private String com; private String state; private String status; private String logisticsName; private List<LogisticsInfoVO> data; } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/GoodsGroupPurchaseInfoVO.java
@@ -6,6 +6,7 @@ import com.ruoyi.common.core.enums.GroupStatusEnum; import com.ruoyi.common.core.enums.ListingStatusEnum; import com.ruoyi.common.core.enums.StartStatusEnum; import com.ruoyi.system.api.domain.Order; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -87,4 +88,7 @@ @JsonInclude(JsonInclude.Include.ALWAYS) private Integer isGoodsGroupPurchase; @ApiModelProperty(value = "團購商品訂單") @JsonInclude(JsonInclude.Include.ALWAYS) private Order order; } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MemberOrderListVO.java
@@ -77,5 +77,12 @@ @JsonInclude(JsonInclude.Include.ALWAYS) private Long requestId; @ApiModelProperty(value = "快递单号") @JsonInclude(JsonInclude.Include.ALWAYS) private String courierNumber; @ApiModelProperty("发货快递") private String logisticsNum; } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/OrderReturnVO.java
@@ -71,6 +71,9 @@ @JsonInclude(JsonInclude.Include.ALWAYS) private String courierNumber; @ApiModelProperty("发货快递") private String logisticsNum; @ApiModelProperty("退货时间") @JsonInclude(JsonInclude.Include.ALWAYS) private LocalDateTime returnTime; ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/OrderVO.java
@@ -169,4 +169,9 @@ @JsonInclude(JsonInclude.Include.ALWAYS) private Long requestId; @ApiModelProperty("发货快递") private String logisticsNum; } ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java
@@ -65,7 +65,7 @@ ip = request.getRemoteAddr(); } return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : getMultistageReverseProxyIp(ip); return "0:0:0:0:0:0:0:1".equals(ip) ? "192.168.110.188" : getMultistageReverseProxyIp(ip); } /** @@ -77,7 +77,7 @@ public static boolean internalIp(String ip) { byte[] addr = textToNumericFormatV4(ip); return internalIp(addr) || "127.0.0.1".equals(ip); return internalIp(addr) || "192.168.110.188".equals(ip); } /** @@ -225,7 +225,7 @@ catch (UnknownHostException e) { } return "127.0.0.1"; return "192.168.110.188"; } /** ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/configure/RedisConfig.java
@@ -59,7 +59,7 @@ // 1.创建配置 Config config = new Config(); // 集群模式 // config.useClusterServers().addNodeAddress("127.0.0.1:7004", "127.0.0.1:7001"); // config.useClusterServers().addNodeAddress("192.168.110.188:7004", "192.168.110.188:7001"); // 2.根据 Config 创建出 RedissonClient 示例。 config.useSingleServer().setAddress("redis://192.168.110.188:6379").setPassword("123456"); return Redisson.create(config); ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java
@@ -43,10 +43,7 @@ import com.ruoyi.system.api.domain.dto.RefundDTO; import com.ruoyi.system.api.domain.vo.AuctionGoodsListVO; import com.ruoyi.system.api.domain.vo.AuctionGoodsinfoVO; import com.ruoyi.system.api.feignClient.AuctionClient; import com.ruoyi.system.api.feignClient.GoodsSkuClient; import com.ruoyi.system.api.feignClient.MemberClient; import com.ruoyi.system.api.feignClient.OrderClient; import com.ruoyi.system.api.feignClient.*; import com.ruoyi.system.api.util.WebSocketUsers; import io.seata.spring.annotation.GlobalTransactional; import java.time.LocalDateTime; @@ -81,6 +78,7 @@ private final GoodsSkuClient goodsSkuClient; private final MemberClient memberClient; private final OrderClient orderClient; private final SysUserClient sysUserClient; private final AuctionClient auctionClient; private final IAuctionBidRecordService auctionBidRecordService; @@ -422,7 +420,7 @@ auctionGoodsinfoVO.setUnit(goodsSkuOne.getUnit()); auctionGoodsinfoVO.setBond(byId.getBond()); auctionGoodsinfoVO.setDescription(goodsSkuOne.getDescription()); auctionGoodsinfoVO.setYears(String.valueOf(goodsSkuOne.getYears())); auctionGoodsinfoVO.setYears(goodsSkuOne.getYears()); GoodsBrand data = goodsSkuClient.getBrandOne(goodsSkuOne.getBrandId(), SecurityConstants.INNER).getData(); GoodsCategory data1 = goodsSkuClient.getCategoryOne(goodsSkuOne.getCategoryId(), SecurityConstants.INNER).getData(); GoodsSeries data2 = goodsSkuClient.getSeriesOne(goodsSkuOne.getSeriesId(), SecurityConstants.INNER).getData(); @@ -441,7 +439,9 @@ auctionGoodsinfoVO.setSpecUnit(goodsSkuOne.getSpecUnit()); auctionGoodsinfoVO.setDetail(goodsSkuOne.getDetail()); auctionGoodsinfoVO.setBond(byId.getBond()); auctionGoodsinfoVO.setYears(String.valueOf(goodsSkuOne.getYears())); auctionGoodsinfoVO.setYears(goodsSkuOne.getYears()); auctionGoodsinfoVO.setSharePic(goodsSkuOne.getSharePic()); auctionGoodsinfoVO.setShareTitle(goodsSkuOne.getShareTitle()); LambdaQueryWrapper<AuctionBidRecord> wrapper1= Wrappers.lambdaQuery(); wrapper1.eq(AuctionBidRecord::getMemberId,auctionGoodsListDTO.getMemberId()); wrapper1.eq(AuctionBidRecord::getAuctionType,1); @@ -505,7 +505,8 @@ } CustomConfig returnAddressUserName = sysUserClient.getconfig("MALL_ORDER_DESCRIPTION").getData(); auctionGoodsinfoVO.setExplain(returnAddressUserName.getConfigValue()); return auctionGoodsinfoVO; } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java
@@ -519,6 +519,8 @@ AuctionSalesroomGoodsInfoVO.setUnit(goodsSku.getUnit()); AuctionSalesroomGoodsInfoVO.setDescription(goodsSku.getDescription()); AuctionSalesroomGoodsInfoVO.setDetail(goodsSku.getDetail()); AuctionSalesroomGoodsInfoVO.setSharePic(goodsSku.getSharePic()); AuctionSalesroomGoodsInfoVO.setShareTitle(goodsSku.getShareTitle()); AuctionSalesroomGoodsInfoVO.setYears(String.valueOf(goodsSku.getYears().getYear())); GoodsBrand data = goodsSkuClient.getBrandOne(goodsSku.getBrandId(), SecurityConstants.INNER).getData(); GoodsCategory data1 = goodsSkuClient.getCategoryOne(goodsSku.getCategoryId(), SecurityConstants.INNER).getData(); @@ -532,6 +534,9 @@ AuctionSalesroomGoodsInfoVO.setAlbum(goodsSku.getAlbum()); AuctionSalesroomGoodsInfoVO.setSpec(goodsSku.getSpec()); AuctionSalesroomGoodsInfoVO.setSpecUnit(goodsSku.getSpecUnit()); CustomConfig returnAddressUserName = sysUserClient.getconfig("MALL_ORDER_DESCRIPTION").getData(); AuctionSalesroomGoodsInfoVO.setExplain(returnAddressUserName.getConfigValue()); AuctionSalesroomGoodsInfoVO.setMinimumMarkupAmount(byId1.getMinimumMarkupAmount()); LambdaQueryWrapper<AuctionBidRecord> wrapper1=Wrappers.lambdaQuery(); wrapper1.eq(AuctionBidRecord::getMemberId,auctionSalesroomGoodsInfoDTO.getMemberId()); ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
@@ -392,8 +392,14 @@ MemberAuctionSalesroomDTO memberAuctionSalesroomDTO1=new MemberAuctionSalesroomDTO(); memberAuctionSalesroomDTO1.setAuctionSalesroomId(auctionSalesroom.getId()); List<OrderAuctionBond> data1 = orderClient.getOrderAuctionBondList1(memberAuctionSalesroomDTO1, SecurityConstants.INNER).getData(); memberAuctionSalesroomVO.setApplyNum(data1.size()); List.add(memberAuctionSalesroomVO); if(data1!=null){ memberAuctionSalesroomVO.setApplyNum(data1.size()); List.add(memberAuctionSalesroomVO); }else{ memberAuctionSalesroomVO.setApplyNum(0); } } page.setRecords(List); return PageDTO.of(page); @@ -625,11 +631,11 @@ }else { AuctionGoods byId = auctionGoodsService.getById(bidVO.getTargetId()); if (byId.getStartingPrice().doubleValue()<bidVO.getLastBidAmount().doubleValue()){ if (byId.getStartingPrice().doubleValue()>bidVO.getLastBidAmount().doubleValue()){ throw new ServiceException("出价不能比起拍价低"); } BigDecimal bigDecimal=byId.getStartingPrice().add(byId.getMinimumMarkupAmount()); if (bigDecimal.doubleValue()<bidVO.getLastBidAmount().doubleValue()){ if (bigDecimal.doubleValue()>bidVO.getLastBidAmount().doubleValue()){ throw new ServiceException("出价不能比每次最少加价低"); } LambdaQueryWrapper<AuctionBidRecord> wrapper1=Wrappers.lambdaQuery(); ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java
@@ -322,6 +322,7 @@ Order data = orderClient.getOrderByGroupPurchaseMemberId(homeGoodsSkuDTO, SecurityConstants.INNER).getData(); if (data!=null){ goodsGroupPurchaseInfoVO.setIsGoodsGroupPurchase(2); goodsGroupPurchaseInfoVO.setOrder(data); }else{ goodsGroupPurchaseInfoVO.setIsGoodsGroupPurchase(1); } ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java
@@ -304,6 +304,11 @@ if (homeGoodsSkuDTO.getSkuName()!=null){ wrapper3.like(GoodsSku::getSkuName,homeGoodsSkuDTO.getSkuName()); } if (homeGoodsSkuDTO.getGoodsSkuId()!=null){ List<Long> id=new ArrayList<>(); id.add(homeGoodsSkuDTO.getGoodsSkuId()); wrapper3.notIn(GoodsSku::getId,id); } if (homeGoodsSkuDTO.getBrandId()!=null){ wrapper3.eq(GoodsSku::getBrandId,homeGoodsSkuDTO.getBrandId()); } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/forepart/ForepartLogisticsController.java
@@ -1,6 +1,8 @@ package com.ruoyi.order.controller.forepart; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.order.domain.MemberInvoice; @@ -8,6 +10,7 @@ import com.ruoyi.order.service.ILogisticsService; import com.ruoyi.order.service.impl.LogisticsServiceImpl; import com.ruoyi.system.api.domain.Logistics; import com.ruoyi.system.api.domain.Order; import com.ruoyi.system.api.domain.dto.LogisticsDTO; import com.ruoyi.system.api.domain.vo.Express100VO; import io.swagger.annotations.Api; @@ -18,6 +21,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; /** * <p> @@ -35,9 +39,8 @@ private ILogisticsService iLogisticsService; @PostMapping("/getLogistics") @ApiOperation(value = "用户端-获取快递公司") public R<Logistics> getLogistics() { iLogisticsService.list(); return R.ok(); public R<List<Logistics>> getLogistics() { return R.ok(iLogisticsService.list()); } @PostMapping("/getLogisticsList") @@ -46,4 +49,11 @@ return R.ok(iLogisticsService.getLogisticsList(logisticsDTO)); } @PostMapping("/getLogisticsOne") @ApiOperation(value = "用户端-获取快递公司名稱") public R<Logistics> getLogisticsOne(@RequestBody LogisticsDTO logisticsDTO) { LambdaQueryWrapper<Logistics> wrapper= Wrappers.lambdaQuery(); wrapper.eq(Logistics::getLogisticsNum,logisticsDTO.getCompany()); return R.ok( iLogisticsService.getOne(wrapper)); } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/LogisticsServiceImpl.java
@@ -1,6 +1,8 @@ package com.ruoyi.order.service.impl; import com.alibaba.nacos.shaded.com.google.gson.Gson; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.kuaidi100.sdk.api.QueryTrack; import com.kuaidi100.sdk.core.IBaseClient; @@ -8,12 +10,15 @@ import com.kuaidi100.sdk.request.QueryTrackParam; import com.kuaidi100.sdk.request.QueryTrackReq; import com.kuaidi100.sdk.utils.SignUtils; import com.ruoyi.common.core.domain.R; import com.ruoyi.order.mapper.LogisticsMapper; import com.ruoyi.order.service.ILogisticsService; import com.ruoyi.system.api.domain.Logistics; import com.ruoyi.system.api.domain.dto.LogisticsDTO; import com.ruoyi.system.api.domain.vo.Express100VO; import org.springframework.stereotype.Service; import javax.annotation.Resource; /** * <p> @@ -29,6 +34,7 @@ private String key="BltjQodT7186"; private String customer="56DE8E9E3D58CE73C60755C8B7483043"; @@ -55,6 +61,10 @@ Gson gson = new Gson(); String responseBody = execute.getBody(); Express100VO response = gson.fromJson(responseBody, Express100VO.class); LambdaQueryWrapper<Logistics> wrapper= Wrappers.lambdaQuery(); wrapper.eq(Logistics::getLogisticsNum,logisticsDTO.getCompany()); Logistics one = this.getOne(wrapper); response.setLogisticsName(one.getLogisticsName()); return response; } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceRiseServiceImpl.java
@@ -49,15 +49,7 @@ if (memberInvoiceRise==null){ memberInvoiceRise=new MemberInvoiceRise(); } if (memberInvoiceRiseDTO.getIsDefault()==2){ LambdaQueryWrapper<MemberInvoiceRise> wrapper1= Wrappers.lambdaQuery(); wrapper1.eq(MemberInvoiceRise::getMemberId,memberInvoiceRiseDTO.getMemberId()); wrapper1.eq(MemberInvoiceRise::getDelFlag,0); wrapper1.eq(MemberInvoiceRise::getIsDefault,2); MemberInvoiceRise memberInvoiceRise2= this.getOne(wrapper1); memberInvoiceRise2.setIsDefault(1); this.updateById(memberInvoiceRise2); } memberInvoiceRise.setInvoiceType(memberInvoiceRiseDTO.getInvoiceType()); memberInvoiceRise.setRiseType(memberInvoiceRiseDTO.getRiseType()); @@ -67,7 +59,8 @@ memberInvoiceRise.setCorporationAccount(memberInvoiceRiseDTO.getCorporationAccount()); memberInvoiceRise.setCorporationOpen(memberInvoiceRiseDTO.getCorporationOpen()); memberInvoiceRise.setCorporationPhone(memberInvoiceRiseDTO.getCorporationPhone()); memberInvoiceRise.setIsDefault(memberInvoiceRiseDTO.getIsDefault()); memberInvoiceRise.setMemberId(memberInvoiceRiseDTO.getMemberId()); memberInvoiceRise.setIsDefault(1); this.saveOrUpdate(memberInvoiceRise); } @@ -81,9 +74,10 @@ wrapper1.eq(MemberInvoiceRise::getDelFlag,0); wrapper1.eq(MemberInvoiceRise::getIsDefault,2); MemberInvoiceRise memberInvoiceRise2= this.getOne(wrapper1); memberInvoiceRise2.setIsDefault(1); this.updateById(memberInvoiceRise2); if(memberInvoiceRise2!=null){ memberInvoiceRise2.setIsDefault(1); this.updateById(memberInvoiceRise2); } MemberInvoiceRise memberInvoiceRise=this.getById(memberInvoiceRiseDTO.getId()); memberInvoiceRise.setIsDefault(2); this.updateById(memberInvoiceRise); ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceServiceImpl.java
@@ -25,6 +25,8 @@ import com.ruoyi.system.api.feignClient.GoodsSkuClient; import com.ruoyi.system.api.feignClient.MemberClient; import io.seata.common.util.StringUtils; import java.math.BigDecimal; import java.util.List; import java.util.Map; import java.util.Objects; @@ -77,8 +79,9 @@ memberInvoice.setCorporationPhone(memberInvoiceDTO.getCorporationPhone()); memberInvoice.setCorporationOpen(memberInvoiceDTO.getCorporationOpen()); memberInvoice.setRiseType(memberInvoiceDTO.getRiseType()); this.save(memberInvoice); BigDecimal pice=new BigDecimal(0.0); this.save(memberInvoice); List<Long> memberInvoiceOrderList=memberInvoiceDTO.getOrderId(); for (Long memberInvoiceOrder:memberInvoiceOrderList){ MemberInvoiceOrder memberInvoiceOrder1=new MemberInvoiceOrder(); @@ -92,7 +95,10 @@ OrderName=order.getSkuName(); memberInvoiceOrder1.setOrderName(OrderName); iMemberInvoiceOrderService.save(memberInvoiceOrder1); pice.add(order.getTotalAmount()); } memberInvoice.setInvoiceMoney(pice); this.updateById(memberInvoice); } @Override ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionBondServiceImpl.java
@@ -120,12 +120,12 @@ @Override public PayInfoVO SaveOrderAuctionBond(MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO) { PayInfoVO payInfoVO = new PayInfoVO(); if (memberAuctionSalesroomBondDTO.getBondType() == 2) { AuctionSalesroom data = auctionClient.getauctionSalesroomOne(memberAuctionSalesroomBondDTO, SecurityConstants.INNER).getData(); if (memberAuctionSalesroomBondDTO.getBondType() == 1) { AuctionGoods data = auctionClient.getauctionGoodsOne(memberAuctionSalesroomBondDTO, SecurityConstants.INNER).getData(); if (data.getBond().intValue() == 0) { OrderAuctionBond orderAuctionBond = new OrderAuctionBond(); orderAuctionBond.setOrderNo(OrderUtil.getOrderNoForPrefix("BO")); orderAuctionBond.setAuctionSalesroomId(memberAuctionSalesroomBondDTO.getAuctionSalesroomId()); orderAuctionBond.setAuctionGoodsId(memberAuctionSalesroomBondDTO.getAuctionGoodsId()); orderAuctionBond.setMemberId(memberAuctionSalesroomBondDTO.getMemberId()); orderAuctionBond.setBond(data.getBond()); orderAuctionBond.setBoundStatus(BondStatusEnum.PAID); @@ -139,7 +139,7 @@ } else { OrderAuctionBond orderAuctionBond = new OrderAuctionBond(); orderAuctionBond.setOrderNo(OrderUtil.getOrderNoForPrefix("BO")); orderAuctionBond.setAuctionSalesroomId(memberAuctionSalesroomBondDTO.getAuctionSalesroomId()); orderAuctionBond.setAuctionGoodsId(memberAuctionSalesroomBondDTO.getAuctionGoodsId()); orderAuctionBond.setMemberId(memberAuctionSalesroomBondDTO.getMemberId()); orderAuctionBond.setBond(data.getBond()); orderAuctionBond.setBoundStatus(BondStatusEnum.TO_PLAY); @@ -163,7 +163,8 @@ payInfoVO.setBody("保证金"); } } else { AuctionGoods data = auctionClient.getauctionGoodsOne(memberAuctionSalesroomBondDTO, SecurityConstants.INNER).getData(); AuctionSalesroom data = auctionClient.getauctionSalesroomOne(memberAuctionSalesroomBondDTO, SecurityConstants.INNER).getData(); if (data.getBond().intValue() == 0) { OrderAuctionBond orderAuctionBond = new OrderAuctionBond(); orderAuctionBond.setOrderNo(OrderUtil.getOrderNoForPrefix("BO")); ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java
@@ -72,8 +72,6 @@ public OrderReturnVO saveOrderReturnRequest(OrderReturnDTO OrderReturnDTO) { Order order = orderMapper.selectById(OrderReturnDTO.getOrderId()); order.setOrderStatus(OrderStatusEnum.AFTER_SALE); orderMapper.updateById(order); OrderReturnRequest orderReturnRequest = new OrderReturnRequest(); orderReturnRequest.setOrderId(OrderReturnDTO.getOrderId()); orderReturnRequest.setRequestTime(LocalDateTime.now()); ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -520,8 +520,6 @@ CouponMemberDTO couponMemberDTO=new CouponMemberDTO(); couponMemberDTO.setId(memberOrderDTO.getCouponId()); CouponMember data = promotionClient.getCouponMember(couponMemberDTO, SecurityConstants.INNER).getData(); if (order.getCouponId()!=0){ CouponMemberDTO couponMemberDTO1=new CouponMemberDTO(); couponMemberDTO1.setId(memberOrderDTO.getCouponId()); @@ -562,14 +560,11 @@ couponMemberDTO2.setId(memberOrderDTO.getCouponId()); couponMemberDTO2.setCouponStatus(1); promotionClient.updCouponMember(couponMemberDTO2, SecurityConstants.INNER); }else{ if (order.getCouponId()!=0){ if (order.getCouponId()!=null&&order.getCouponId()!=0){ CouponMemberDTO couponMemberDTO1=new CouponMemberDTO(); couponMemberDTO1.setId(order.getCouponId()); couponMemberDTO1.setCouponStatus(0); couponMemberDTO1.setId(order.getCouponId()); promotionClient.updCouponMember(couponMemberDTO1, SecurityConstants.INNER); } order.setCouponId(0L); @@ -633,6 +628,9 @@ if (StringUtils.isNotNull(orderReturnRequest)&&orderReturnRequest!=null) { MemberOrderList.setStatus(orderReturnRequest.getStatus()); MemberOrderList.setRequestId(orderReturnRequest.getId()); MemberOrderList.setIsRequest(2); }else{ MemberOrderList.setIsRequest(1); } LambdaQueryWrapper<OrderAuctionBond> wrapper3= Wrappers.lambdaQuery(); wrapper3.eq(OrderAuctionBond::getOrderId,MemberOrderList.getId()); @@ -670,6 +668,9 @@ if (StringUtils.isNotNull(orderReturnRequest)&&orderReturnRequest!=null) { orderVO.setStatus(orderReturnRequest.getStatus()); orderVO.setRequestId(orderReturnRequest.getId()); orderVO.setIsRequest(2); }else{ orderVO.setIsRequest(1); } LambdaQueryWrapper<OrderAuctionBond> wrapper3= Wrappers.lambdaQuery(); ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/PaylogServiceImpl.java
@@ -40,6 +40,7 @@ import java.io.IOException; import java.io.PrintWriter; import java.math.BigDecimal; import java.security.SignatureException; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.HashMap; @@ -410,15 +411,15 @@ AppPayReqData appPay = new AppPayReqData(apptype, (String) map.get("appid"), (String) map.get("mch_id"), (String) map.get("prepay_id"), unifiedorderReqData.getNonce_str()); HashMap<String, Object> map1 = new HashMap<>(); map1.put("timeStamp", appPay.getTimestamp()); map1.put("nonceStr", appPay.getNoncestr()); map1.put("package", "prepay_id=" + appPay.getPrepayid()); map1.put("signType", "RSA"); map1.put("paySign", appPay.getSign()); // 对获取预支付返回接口参数进行封装(生成支付订单接口数据) appPayMap.put("appid", appPay.getAppid());// 小程序ID appPayMap.put("nonceStr", appPay.getNoncestr());// 随机字符串(32位) appPayMap.put("package", appPay.get_package());// 扩展字段(暂填写固定值Sign=WXPay) appPayMap.put("partnerId", appPay.getPartnerid());// 商户号 appPayMap.put("prepayId", appPay.getPrepayid());// 预支付编号(微信返回的支付交易会话ID) appPayMap.put("timeStamp", appPay.getTimestamp());// 时间戳 appPayMap.put("sign", appPay.getSign());// 根据API给的签名规则进行签名 return R.ok(appPayMap); return R.ok(map1); } catch (Exception e) { System.out.println("统一下单_API_处理异常!"); e.printStackTrace(); ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/WxPayUtils.java
New file @@ -0,0 +1,287 @@ /* package com.ruoyi.order.util; import cn.hutool.http.HttpRequest; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.JDOMException; import org.jdom2.input.SAXBuilder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.security.*; import java.util.*; public class WxPayUtils { public static final String serial_no = "xxx"; // 商户号 public static final String mchId = "xxx"; // appid public static final String appId = "xxx"; // 证书私钥 public static final String privateKey = "-----BEGIN PRIVATE KEY-----\n" + "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBJn3bVt9BbLhs\n" + "+ZjULV7Odh4rtBBd2wc7uZ8RlN/9E8sJfAefowiSTPwOkTYKDlyhpG131a4VKj+N\n" + "zaTu0Y5zQGyl29ElHVVuPw4mVni7xyqVdJ5VUxyJMKHmQsGpngHS4sF28c5Aihfi\n" + "Gkydt6BRF8xwFC9u+D0r4PY9dwHTn4jyaFd25CMUxVO+rfjOWFuGa/rEjtQw03KU\n" + "UVR6np6FmNXdWalQbmbETyUqGjCac6J7hDZ1LIRU4YtqMqqsXhnk3FaoS23MOgaZ\n" + "RE3nIgpYqGgfXfLOKDt5n4zLALJkV0xmk3VErbheWpzRVFae/JMtsf/8ySgtiOga\n" + "n8fvShJNAgMBAAECggEAf+P+vbb9yJI2Y2G5QfRwrAAl5gYqOBsI5RD5NGkBDs+G\n" + "RtdrLNaEnGqBExwvTeVIjHcVTJ2d0MHSpxAdP0xeKA3mYsPz7cFIieESe2wSMTOl\n" + "DKTVGeYYJPagnJhjJu5KgtpGA34EdVN6kOmdBWlKq6c4ZJXY+n8/8cfZA8XC3d3B\n" + "favo104podp8cC2IVNMs21OzbjD4V+6VV9X/5BA6x7bDcarlJXSyCehdXgjhjNmT\n" + "/9gz7MFhOsUlAG7P03easIRcZCQL6z9MebD3xfVYcXnS4L3CcVw1FWEdLXxe/3IG\n" + "Q8UPTPHhTLFRbURHI00x1jEvcD9qKXYgKeU/N7IY+QKBgQD93r2SotKM5EDxM3L2\n" + "5UFrmEVnf4bwg5QDyZFpjAJ+/uMSsEX3f1m8Mst82Y4Mybz8XVMNsUJmoY8eJoM+\n" + "sqRbI5HXySsFEbDqh7jrtBoN7R1rl3jQw4qxqWYR8GQJ6VqAXuEFbrxgE1YFgqw5\n" + "40HAYbv417h0h5A1rcRKegoW9wKBgQDCxVaCmBzcYYFc2leRy6qH965OEedqbSCV\n" + "QPprCDBoBM6jrq97ZfWyfmLNSjjFhTSz9h8z5dQcePZrrI3+evlE8V18hUmWN6rM\n" + "CvPCb+4q8CwiHmLFqVp+m11MR8EOBcWCW/HlioqBKTLglijY53RUjW7No/T+32sf\n" + "5R1qYq672wKBgQC3dztFN4o169bK+UWCDBgFK9wsecsJEe3r9sWxo09Ce+2aWe2W\n" + "eWBeU88fARJZR4neT4tv/8Re6y7EuUxsCSoh+0iwy17doPVb6I3JOTUDD3MNiD/1\n" + "jvsyfZuYJ0QErbGLyAWSqX5VaGPoQ5E3nHauE3OG2E8jV7zuLhAHSr7z7QKBgAF8\n" + "Z/CPIIk95TLEJ67hEuf+p8HIuS9CreD1ofN3GIdyofD1wDj8yicWd8KBMnWvUnud\n" + "ARfwRPICqj6gDmVGoug3vzLYAXu36QGtg7aUDAkf0/ZerPo9FIeqv8d5NKvat2sL\n" + "MIlDyVK68bxs6NreyTBr89B108SuB68ynErXfeXJAoGBAMCoJyWdFAQKVvycHyv4\n" + "914+v7niQahws23wxHlzvup8/doCS1XVQAoEyQ4iIPDHYmiOCcmzCQnb1CWgMbIl\n" + "oBY3baP1GWOwEWw/HYKOwHW3fLkYC/xaRi+b5IxyEzR7hlCm/A6gCnCUYqIdU8gd\n" + "jYE4kGB2O/5vdbITdSMai47o\n" + "-----END PRIVATE KEY-----"; */ /** * 获取微信预支付订单号 * @return *//* public JSONObject getPrepayId(Integer apptype, String outTradeNo, String body1,String openId, Double price){ JSONObject jsonObject = new JSONObject(); JSONObject amountJsonObject = new JSONObject(); JSONObject payerJsonObject = new JSONObject(); amountJsonObject.put("total",price); payerJsonObject.put("openid",openId); // 应用ID jsonObject.put("appid",appId); // 商户号 jsonObject.put("mchid",mchId); // 商品描述 jsonObject.put("description",body1); // 商户订单号 jsonObject.put("out_trade_no",outTradeNo); // 通知地址 jsonObject.put("notify_url","https://zc.xxx.com/wx/api/pay/notifyUrl"); // 订单金额信息 jsonObject.put("amount",amountJsonObject); // 支付者信息 jsonObject.put("payer",payerJsonObject); String body = jsonObject.toString(); System.out.println(body); String authorization = signStr("POST", "/v3/pay/transactions/jsapi", body); String result = HttpRequest.post("https://api.mch.weixin.qq.com/v3/pay/transactions/jsapi") .body(body) .header("Content-Type","application/json") .header("Accept","application/json") .header("Authorization","WECHATPAY2-SHA256-RSA2048 " + authorization)//头信息,多个头信息多次调用此方法即可 .timeout(10000)//超时,毫秒 .execute().body(); JSONObject jsonObject1 = JSONUtil.parseObj(result); String prepay_id = jsonObject1 == null ? "":(String) jsonObject1.get("prepay_id"); JSONObject resultJsonObject = new JSONObject(); resultJsonObject.put("prepay_id",prepay_id); resultJsonObject.put("chatPrice",wxOrder.getTotalPrice()); return resultJsonObject; } */ /** * 成功获取微信预支付订单号后, 返回给前端调起微信支付的必要参数 * @param orderNo 商户订单号 * @param prepay_id 预支付订单号 * @return *//* public Map<String, Object> returnToReceptionJson(String orderNo, String prepay_id){ HashMap<String, Object> map = new HashMap<>(); long timeStamp = System.currentTimeMillis() / 1000; String uuid = UUID.randomUUID().toString().replace("-", ""); String paySign = getPaySign(timeStamp, uuid, prepay_id); map.put("orderId", orderNo); map.put("timeStamp", timeStamp); map.put("nonceStr", uuid); map.put("package", "prepay_id=" + prepay_id); map.put("signType", "RSA"); map.put("paySign", paySign); return map; } public String getPaySign(long timestamp, String randString, String prepay_id){ String data = appId + "\n" + timestamp + "\n" + randString + "\n" + "prepay_id=" + prepay_id + "\n"; String signature = null; try { signature = sign(data.getBytes("utf-8")); } catch (SignatureException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return signature; } public String signStr2(String method, String url){ String nonceStr = UUID.randomUUID().toString(); long timestamp = System.currentTimeMillis() / 1000; String message = buildMessage2(method, url, timestamp, nonceStr); String signature = null; try { signature = sign(message.getBytes("utf-8")); } catch (Exception e) { e.printStackTrace(); } System.out.println("签名后:[" + signature + "]"); return "mchid=\"" + mchId + "\"," + "serial_no=\"" + serial_no + "\"," + "nonce_str=\"" + nonceStr + "\"," + "timestamp=\"" + timestamp + "\"," + "signature=\"" + signature + "\""; } public String buildMessage2(String method, String url, long timestamp, String nonceStr) { String str = method + "\n" + url + "\n" + timestamp + "\n" + nonceStr + "\n\n"; System.out.println("签名数据[" + str + "]"); return str; } public String signStr(String method, String url, String body){ String nonceStr = UUID.randomUUID().toString(); long timestamp = System.currentTimeMillis() / 1000; String message = buildMessage(method, url, timestamp, nonceStr, body); System.out.println("message:[" + message + "]"); String signature = null; try { signature = sign(message.getBytes("utf-8")); } catch (Exception e) { e.printStackTrace(); } System.out.println("signature=[" + signature + "]"); return "mchid=\"" + mchId + "\"," + "nonce_str=\"" + nonceStr + "\"," + "timestamp=\"" + timestamp + "\"," + "serial_no=\"" + serial_no + "\"," + "signature=\"" + signature + "\""; } public String buildMessage(String method, String url, long timestamp, String nonceStr, String body) { String str = method + "\n" + url + "\n" + timestamp + "\n" + nonceStr + "\n" + body + "\n"; return str; } public String sign(byte[] message) throws Exception { Signature sign = null; try { sign = Signature.getInstance("SHA256withRSA"); PrivateKey privateKey = getPrivateKey(); sign.initSign(privateKey); sign.update(message); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (SignatureException e) { e.printStackTrace(); } catch (InvalidKeyException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return Base64.getEncoder().encodeToString(sign.sign()); } */ /** * 获取私钥。 *//* public static PrivateKey getPrivateKey() throws IOException { PrivateKey merchantPrivateKey = PemUtil.loadPrivateKey( new ByteArrayInputStream(privateKey.getBytes("utf-8"))); return merchantPrivateKey; } // xml解析 public static Map doXMLParse(String strxml) throws JDOMException, IOException { strxml = strxml.replaceFirst("encoding=\".*\"", "encoding=\"UTF-8\""); if(null == strxml || "".equals(strxml)) { return null; } Map m = new HashMap(); InputStream in = new ByteArrayInputStream(strxml.getBytes("UTF-8")); SAXBuilder builder = new SAXBuilder(); Document doc = builder.build(in); Element root = doc.getRootElement(); List list = root.getChildren(); Iterator it = list.iterator(); while(it.hasNext()) { Element e = (Element) it.next(); String k = e.getName(); String v = ""; List children = e.getChildren(); if(children.isEmpty()) { v = e.getTextNormalize(); } else { v = getChildrenText(children); } m.put(k, v); } //关闭流 in.close(); return m; } */ /** * 获取子结点的xml * * @param children * @return String *//* public static String getChildrenText(List children) { StringBuffer sb = new StringBuffer(); if(!children.isEmpty()) { Iterator it = children.iterator(); while(it.hasNext()) { Element e = (Element) it.next(); String name = e.getName(); String value = e.getTextNormalize(); List list = e.getChildren(); sb.append("<" + name + ">"); if(!list.isEmpty()) { sb.append(getChildrenText(list)); } sb.append(value); sb.append("</" + name + ">"); } } return sb.toString(); } } */ ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/tencent/common/Configure.java
@@ -55,7 +55,7 @@ } //HTTPS证书密码,默认密码等于商户号MCHID private static String certPassword_2 = GmchID; private static String certPassword_2 = mchID; //是否使用异步线程的方式来上报API测速,默认为异步模式 private static boolean useThreadToDoReport = true; @@ -99,9 +99,9 @@ Configure.useThreadToDoReport = useThreadToDoReport; } public static String HttpsRequestClassName = "com.tencent.common.HttpsRequest"; public static String HttpsRequestClassName = "com.ruoyi.order.util.tencent.common.HttpsRequest"; public static String HttpsRequestClassName_2 = "com.tencent.common.HttpsRequest_2"; public static String HttpsRequestClassName_2 = "com.ruoyi.order.util.tencent.common.HttpsRequest_2"; public static void setKey(String key) { Configure.key = key; ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/tencent/common/cert_2/apiclient_cert.p12Binary files differ
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/tencent/common/cert_2/apiclient_cert.pem
@@ -1,26 +1,25 @@ -----BEGIN CERTIFICATE----- MIIEbDCCA9WgAwIBAgIEAV66BDANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMC Q04xEjAQBgNVBAgTCUd1YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNV BAoTB1RlbmNlbnQxDDAKBgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEf MB0GCSqGSIb3DQEJARYQbW1wYXltY2hAdGVuY2VudDAeFw0xNzA2MjkwNjQwMzha Fw0yNzA2MjcwNjQwMzhaMIGbMQswCQYDVQQGEwJDTjESMBAGA1UECBMJR3Vhbmdk b25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UEChMHVGVuY2VudDEOMAwGA1UE CxMFTU1QYXkxMDAuBgNVBAMUJ+WTiOWwlOa7qOWQjeeahOe9kee7nOenkeaKgOac iemZkOWFrOWPuDERMA8GA1UEBBMIMzE4OTQ3MDYwggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQDJS/abCCpwvnppCU0TxW84PF2cqpUF3Ip9KmQytNCPRZPK q299efclcWOYozB7zSY4OsZ9UyAod1+HsFEjyJBTWyJfakNewiF6AIsydZtFZ65t 8ReQ66VTebB1imEq/OrQMXphBwJ1TSH5Jk2pW7JA9U5LqZ3apgDa9PrFHY4dhnkf IxQI6Xn0Y7fUJsGszP+5ETbtlLW5PZQiE2H8T3xCwH3mnmg/rppTZaBVIE/7SskW iEVPd8g/fec8xDAoAulv1FsBdrPGXyWiFkpcTdrQKHaMa0J7AtMfSnMb1Z/pAIQp DxCjCJRM0gfvZNOj2nyqbZD3JJAP8LFnTrasdb/NAgMBAAGjggFGMIIBQjAJBgNV HRMEAjAAMCwGCWCGSAGG+EIBDQQfFh0iQ0VTLUNBIEdlbmVyYXRlIENlcnRpZmlj YXRlIjAdBgNVHQ4EFgQUBMf3KHk8wfRKtAdcnz+VCFwDdeYwgb8GA1UdIwSBtzCB tIAUPgUm9iJitBVbiM1kfrDUYqflhnShgZCkgY0wgYoxCzAJBgNVBAYTAkNOMRIw EAYDVQQIEwlHdWFuZ2RvbmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdU ZW5jZW50MQwwCgYDVQQLEwNXWEcxEzARBgNVBAMTCk1tcGF5bWNoQ0ExHzAdBgkq hkiG9w0BCQEWEG1tcGF5bWNoQHRlbmNlbnSCCQC7VJcrvADoVzAOBgNVHQ8BAf8E BAMCBsAwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADgYEA EFcsWO+7E4v7NNdprZYbYASr4e4Uw+EO+RLbkuFUQhHTGMW/biFlYounarNncTFs SylXIkCylTRxSZmLNhr8D9/TJ1c9Vrbp8SqlgS5DlhLU3PGjmY7Yl+Zth06v6kv+ 0GqwKCljlN+DQNq2wxL7z3S/XDZGTb8tAhLtOKyPkpg= MIIEITCCAwmgAwIBAgIUSmKUuRgKAuIo5mZrAXzAQxjRA6gwDQYJKoZIhvcNAQEL BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg Q0EwHhcNMjQwNjE4MDgyNTQ3WhcNMjkwNjE3MDgyNTQ3WjB7MRMwEQYDVQQDDAox Njc4MzQ1NjI3MRswGQYDVQQKDBLlvq7kv6HllYbmiLfns7vnu58xJzAlBgNVBAsM HuaIkOmDveWWnOacm+enkeaKgOaciemZkOWFrOWPuDELMAkGA1UEBhMCQ04xETAP BgNVBAcMCFNoZW5aaGVuMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA xMnTizbQwoQ4VIy9uH/ilbAFfK7nKY7oPs3QLIvudupj95rWHqn96+ap5dky6ToG 1OmVLWqQTrTy8PCfqrsZEwupBw5rEhvgyFj042jJ4I9wM208YQlaMjLu72fnfRRh 38FRBt0Y66UiqAtRKuZeaJj+GZ4cknEUQeK3eh/pDL8TwfkvnzMtUmIICc0IAFFU 9aJQhlecw96hQ9fjVyWTOqD5SXz2yhW9AOdlJlkG61CQfGyQuHxpB4PBiMEk5gn7 9MPTxMag2h2wH4qOb0RkmB/pzC1rNJjgS/cgmkQ35LGEYC65FspOhrOKfw432/OX QTZUz0oKEPZw2UmfO77FwwIDAQABo4G5MIG2MAkGA1UdEwQCMAAwCwYDVR0PBAQD AgP4MIGbBgNVHR8EgZMwgZAwgY2ggYqggYeGgYRodHRwOi8vZXZjYS5pdHJ1cy5j b20uY24vcHVibGljL2l0cnVzY3JsP0NBPTFCRDQyMjBFNTBEQkMwNEIwNkFEMzk3 NTQ5ODQ2QzAxQzNFOEVCRDImc2c9SEFDQzQ3MUI2NTQyMkUxMkIyN0E5RDMzQTg3 QUQxQ0RGNTkyNkUxNDAzNzEwDQYJKoZIhvcNAQELBQADggEBAGNBS3HVK2pqNjmh u9/eLfCjgEF/YLNy/u5yAuJBceLTtT4IWtpNKHbUoljLVLQ9ZApFNsjk55QwZZ4h dcU7XBvPsr1cryNC187WnFb6DX8uMm1G0Koo8ukWhd4B9hft5Nb9wLxmtO8WxYpA r4UuqXz8srLSqUtRu7o5SFXsOwYT+8nwuUNNdWQLJyuKEb0s39eGPECFH8iz+S4G P1sXs//TnxvAsqp+bODZYH9OazfCUG56cs+NiEZktzl9o6lap/ycI9DRuLLFMyfD Bie9QaJ/p9jIOZlJsTHsouNu5d+Mk1tEhdOBh8l53uIi19IPBIGtekVAouQR2zTk PLrU9bA= -----END CERTIFICATE----- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/tencent/common/cert_2/apiclient_key.pem
@@ -1,28 +1,28 @@ -----BEGIN PRIVATE KEY----- MIIEuwIBADANBgkqhkiG9w0BAQEFAASCBKUwggShAgEAAoIBAQDJS/abCCpwvnpp CU0TxW84PF2cqpUF3Ip9KmQytNCPRZPKq299efclcWOYozB7zSY4OsZ9UyAod1+H sFEjyJBTWyJfakNewiF6AIsydZtFZ65t8ReQ66VTebB1imEq/OrQMXphBwJ1TSH5 Jk2pW7JA9U5LqZ3apgDa9PrFHY4dhnkfIxQI6Xn0Y7fUJsGszP+5ETbtlLW5PZQi E2H8T3xCwH3mnmg/rppTZaBVIE/7SskWiEVPd8g/fec8xDAoAulv1FsBdrPGXyWi FkpcTdrQKHaMa0J7AtMfSnMb1Z/pAIQpDxCjCJRM0gfvZNOj2nyqbZD3JJAP8LFn Trasdb/NAgMBAAECggEAPP5pgNxej78HtF//HOiMJMwVyWzeruH+jKKVrc+gCmmY uKZtp+WW/592AEAiZsDovc0Ba+QOMHTLW4APdfpF0RwiNCsssr+8CQ21H9sG62bZ MbMF4wGkHMEYuOTvQGlWdTMo09Gd6xEuJCJ5EcIZJxmtWbvRevkl9TKZ8bRc5ZDZ 2s/8cgzps9lbnkbTZ9TAF7n7XOlPy4YqIBKW33RCHUtQCfCDERLaBRAG6SbNUsBQ SUYq6PsroFtqgwXxbygVsXfNBBfXZ8nfyqupvkOto+2NJjDr6cm5cT+bMyStcNdN UAssNUbw7DjcQ+0esS0Z9K7Tah5kmLzzGcDnyNoLgQKBgQDtLeEzRWU9QIksvzUb tIAwz/yLTVAQ74/ke6VP4pAWkLdgcVWxY+HOfXyNTWC3MZ2BSyj3oTaahgCQAVb3 dXmRDWjRWggUcTLNWgZCcjPw4oshdzVPz1t5WR9/9c+UDqSFSrBGVJ5cVLNpDxSk 1KYX7gNdu+h8RTKpKxyOleJaEQKBgQDZRShPjZYvcLNv79y3cT8RHX8qi2akd7by X6VwxoFeZ5TeK51fdZjUSyU5/8Jmq9m+K3W7edYrzAOiLYYSCNAVQEoxqGacPla2 OlpiSPbtafoIy0ovsJvV6DAZwwtF0cowvdNnXvPsYlKlAKCXnRxf+Ap9/XYArBD6 dTpcj1Ht/QKBgQDHhCK/GI9TeWhrZeVtCugTJ8MQA9doh72JvKGRk8sV0GMSFAS8 FoOrSlBuJTtIn8oZK3qo5MqkLjlm6lmYDRBYfuk/wvatC5RqvmIpnxwmdMwJONh1 7L7MU7Z10/fsWmz3W57xatlUXkQWCoOZLPETjDr0rM+jSiqVuBhrsZYZoQKBgGN8 mFW9Fm0IpRF3etCAyYkTwZwAkvJyYtIe28mFC83njjIhNIF2fpGPCy/AngqXXDAJ BHLg+iG53FwRjleJs4ZXluGgI8Qdg2UT2TkyAed6ZGRMed7WdrT/Ca9yMSI6SuQA t+GYiAbQitlFLUPfTBPhpyRDwBnUsD2PGjcx5SkdAn8KkFSMExG4y4eZD+UxLXsj /QfQj0eUyzu5XyvPXLD9XV1YL3pX7+DxvU98ogFH4QBh2KtDbe2RldyiH8toSP0F kXoj4/CtUp8EDBpeLgbdxCYvKW+Lz9oyPNouhkV7m0KRrHV/3CPOeHqkh0dNdW6f RKW9WsNAtAS2ncev7Mjj MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDEydOLNtDChDhU jL24f+KVsAV8rucpjug+zdAsi+526mP3mtYeqf3r5qnl2TLpOgbU6ZUtapBOtPLw 8J+quxkTC6kHDmsSG+DIWPTjaMngj3AzbTxhCVoyMu7vZ+d9FGHfwVEG3RjrpSKo C1Eq5l5omP4ZnhyScRRB4rd6H+kMvxPB+S+fMy1SYggJzQgAUVT1olCGV5zD3qFD 1+NXJZM6oPlJfPbKFb0A52UmWQbrUJB8bJC4fGkHg8GIwSTmCfv0w9PExqDaHbAf io5vRGSYH+nMLWs0mOBL9yCaRDfksYRgLrkWyk6Gs4p/Djfb85dBNlTPSgoQ9nDZ SZ87vsXDAgMBAAECggEAA91OyTIXYWqFTKvC4geo5HWjdfJdWcSTrQAPsYBB+5XY xrkEsW93LBXIiln8lPXtwmqf4ldwZAtLpg2jpQ+ti2E0PY477gwcGvMcRAb/x+gp NOlVQTaUzd2QMaVht2QaE/HQ7IiU/7OrfY9TVbtWaUlv3ALt3rZXxn90SPKtefGR 0hhz9hXnnPq2XQ4F2Pe9wwNabRljuBWh5jrTru77nthmrb7afgzPlzvhbBejiJR0 Yj2zjtiTDojo0jEAO2dM3OQERR9OSR5u0X+fawjT7JPGssjBH6ICBWakaUB9Oe/7 fxqOolRxJPV9dlkQGPTOp0buE+Y2YUmMPqvV6Ey4OQKBgQD0BIlu1lveyRo6J0U4 9l9RRQzBrQPGGCZkDJ9GEWL6KdCobFnjE/E21L+cGg4wkAvMpfj9nVc64gZ0Yvm0 oqyQXapwTxJRpwgl+AK1Q79Pe0L4esCvS6JX4eXHsJZiPUS/0gzOU1HCkCoggJ2m E7mnKdc2bj32oUI5z6UzOUAiPwKBgQDOc5Xu0zYMhTzLvkBrL9ILGTBsWN3rdldf QdFlbQMiWWmSrLIMLAmLIullMxFtFqVxjHBumKHq5HOuyxxKMMKdFNXs4WZ0HNyp y4uk7J1bpWBeaM5rExszmK4gpEdMt7G0Oi5NP2DIJ1fNFZulEqNwX3XsSYSPqDWZ 2nvteYSzfQKBgAaPgKpsNPgebAgYOjI33YQv2RHz9uACkjWqaTXXDdQv/54nm5sR VDDnM2edA7imhsqvw6v96PR6UzYZ2yDSJtWSzxxJ4/IyDXQH4PrCoYgfhkNr+XY9 EFZQin797m0hvJFzskhx0QbsHVXWX2axrRIje9fIyv2whDlNreFcrq69AoGAExih 77tdrn7MhtQMRV3hAeHMltkJffQuVMNTyRvyREUc/NI4jeOs5k/OYuv8WqjTmNMy uygnIgELqkljToGAHuOEfirDPU5GIvaO7ixsycNcTJ9JKKJVy8n9oUtQxQngyBjx m3eXTixFdNTg1r4InCZYVAjg2CDpBFgvSmIJIkkCgYA9xRIkr2bZEv0SVPy9Le8E WtqEvYT/61G5n2tESwBPAmrkVSZbmlZFZd7GnV+U7D4Yt3G9gEj754fPabS7prW4 Y0QSYLcRZGIDcbUahPd47ehsDgJljJW+ELTz0Vqi69j+X6fHGyupnWy0TIUpkQgK Um0XDvKxBoO1wp31FS370g== -----END PRIVATE KEY----- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/tencent/common/cert_2/rootca.pem
File was deleted ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/tencent/protocol/PayToTheUserReqData.java
@@ -24,7 +24,7 @@ private String re_user_name;// 收款用户姓名 可选 马花花 String 收款用户真实姓名。 如果check_name设置为FORCE_CHECK或OPTION_CHECK,则必填用户真实姓名 private Integer amount;// 金额 是 10099 int 企业付款金额,单位为分 private String desc;// 企业付款描述信息 是 理赔 String 企业付款操作说明信息。必填。 private String spbill_create_ip = "127.0.0.1";// Ip地址 是 192.168.0.1 String(32) 调用接口的机器Ip地址 private String spbill_create_ip = "192.168.110.188";// Ip地址 是 192.168.0.1 String(32) 调用接口的机器Ip地址 *//** * 企业向用户付款 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/tencent/protocol/UnifiedorderReqData.java
@@ -173,6 +173,9 @@ } public Map<String,Object> toMap(){ Map<String,Object> map = new HashMap<String, Object>(); Field[] fields = this.getClass().getDeclaredFields(); ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/tencent/protocol/WXPayReport.java
@@ -110,7 +110,7 @@ } private static final String REPORT_URL = "http://report.mch.weixin.qq.com/wxpay/report/default"; // private static final String REPORT_URL = "http://127.0.0.1:5000/test"; // private static final String REPORT_URL = "http://192.168.110.188:5000/test"; private static final int DEFAULT_CONNECT_TIMEOUT_MS = 6*1000;