Files
yunxinwei-api/src/test/java/com/gxwebsoft/TestMain.java
2023-10-23 15:19:06 +08:00

354 lines
13 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.gxwebsoft;
import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson.JSONObject;
import com.alipay.api.AlipayApiException;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.request.AlipayFundAuthOrderUnfreezeRequest;
import com.alipay.api.response.AlipayFundAuthOrderUnfreezeResponse;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.gxwebsoft.apps.service.HualalaService;
import com.gxwebsoft.apps.service.TestDataService;
import com.gxwebsoft.common.core.utils.AlipayConfigUtil;
import com.gxwebsoft.common.system.mapper.RoleMapper;
import com.gxwebsoft.common.system.mapper.UserMapper;
import com.gxwebsoft.common.system.service.SettingService;
import com.gxwebsoft.common.system.service.UserService;
import com.gxwebsoft.love.service.CertificateService;
import com.gxwebsoft.shop.entity.FreezeOrder;
import com.gxwebsoft.shop.mapper.OrderGoodsMapper;
import com.gxwebsoft.shop.mapper.OrderMapper;
import com.gxwebsoft.shop.service.FreezeOrderService;
import com.gxwebsoft.shop.service.OrderService;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* Created by WebSoft on 2020-03-23 23:37
*/
@SpringBootTest
public class TestMain {
@Resource
private StringRedisTemplate stringRedisTemplate;
@Resource
private OrderService orderService;
@Resource
private OrderGoodsMapper orderGoodsMapper;
@Resource
private OrderMapper orderMapper;
@Resource
private TestDataService testDataService;
@Resource
private HualalaService hualalaService;
@Resource
private SettingService settingService;
@Resource
private UserService userService;
@Resource
private UserMapper userMapper;
@Resource
private RoleMapper roleMapper;
@Resource
private CertificateService certificateService;
@Resource
private FreezeOrderService freezeOrderService;
@Resource
private AlipayConfigUtil alipayConfig;
/**
* 生成唯一的key用于jwt工具类
*/
// @Test
// public void testGenJwtKey() {
// System.out.println(JwtUtil.encodeKey(JwtUtil.randomKey()));
// }
/**
* 生成加密后的登录密码
* @return
*/
@Test
public void testEncodePassword() throws UnsupportedEncodingException {
// DateTime date = DateUtil.date();
// System.out.println("date = " + date);
// final String today = DateUtil.today();
// System.out.println("today = " + today);
// final DateTime dateTime = DateUtil.beginOfDay(date);
// System.out.println("dateTime = " + dateTime);
// System.out.println(new BCryptPasswordEncoder().encode("admin"));
String encodedReturnUrl = URLEncoder.encode("https://server.gxwebsoft.com/api/open/wx-work/saveAccessToken","UTF-8");
// System.out.println("encodedReturnUrl = " + encodedReturnUrl);
// System.out.println("encodedReturnUrl = " + encodedReturnUrl);
// log.info("生成加密后的登录密码:" + encodedReturnUrl);
}
// @Test
// public void test3() {
// String key = "test:user:10";
// HashMap<String, Object> map = new HashMap<>();
// map.put("name", "科技小王子");
// map.put("sex", "男");
// map.put("phone", "13737128880");
// map.put("money", "238585.215");
// stringRedisTemplate.opsForHash().putAll(key, map);
// }
// OrderParam param = new OrderParam();
// param.setPayStatus(30);
// param.setOrderNo("202303118310602");
// final List<Order> all = orderMapper.getAll(param);
// System.out.println("all = " + all);
// OrderParam param = new OrderParam();
// param.setOrderNo("2023031181184283");
// param.setPayStatus(20);
// boolean b = orderMapper.updatePayStatus(param);
// System.out.println("b = " + b);
// Order order = orderService.getByOutTradeNo("20230301761610059");
// OrderParam orderParam = new OrderParam();
// orderParam.setPayStatus(20);
// orderParam.setOrderNo("20230301761610059");
// orderMapper.updatePayStatus(orderParam);
// System.out.println("order = " + order);
// Order order = new Order();
// order.setOrderId(400);
// order.setComments("sdfsdfsdfs");
//
// boolean update = orderService.lambdaUpdate()
// .eq(Order::getOrderId, order.getOrderId())
// .update(order);
// System.out.println("update = " + update);
// OrderParam param = new OrderParam();
// param.setOrderNo("20230301761610059");
// Order order = orderService.getByOutTradeNo("20230301761610059");
// System.out.println("order = " + order);
// final int i = orderMapper.updateById(order);
// System.out.println("i = " + i);
// final Order one = param.getOne(orderMapper.getOne(param));
// one.setTotalPrice(new BigDecimal("2.22"));
// one.setPayStatus(20);
// orderMapper.updateById(one);
// System.out.println("one = " + one);
// Order order = orderService.getByOutTradeNo("20230301761610059");
// order.setPayStatus(20);
// order.setTotalPrice(new BigDecimal("1.11"));
// if (orderService.updateById(order)) {
// System.out.println("成功");
// }
// @Test
// public void test() {
// final TestData testData = new TestData();
// testData.setTitle("测试");
// testData.setContent("内容...");
// testData.setTenantId(10);
// testDataService.save(testData);
// final boolean b = testDataService.removeById(2496);
// }
// @Test
// public void query() {
// HashMap<String, Object> params = new HashMap<>();
// params.put("shopID", Long.valueOf("76230180"));
// JSONObject response = hualalaService.doPost("/doc/getPaySubject", params);
// System.out.println("response = " + response);
// }
// 推送订单到哗啦啦
// @Test
// public void pushOrder(){
// Order orderInfo = orderService.getByOutTradeNo("202303118345835");
// final List<OrderGoods> goodsInfo = orderGoodsMapper.selectByOrderId(orderInfo.getOrderId());
// System.out.println("orderInfo = " + orderInfo);
// System.out.println("goodsInfo = " + goodsInfo);
// // 菜品信息
// ArrayList<Object> orderItem = new ArrayList<>();
// JSONObject item = new JSONObject();
// item.put("foodID",603798638);
// item.put("foodName","肉汁煲霜打萝卜.");
// item.put("foodUnit","份");
// item.put("foodUnitID","1748099318");
// item.put("isSetFood",0);
// item.put("isBatching",0);
// item.put("foodCount",1);
// item.put("originPrice","100");
// item.put("takeoutPackagingFee","1");
// item.put("isDiscount",0);
// item.put("duePrice","1");
// orderItem.add(item);
// // 支付信息
// ArrayList<Object> payInfo = new ArrayList<>();
// JSONObject payItem = new JSONObject();
// payItem.put("paymentSubjectID",Long.valueOf("51010440"));
// payItem.put("paymentSubjectName","微信小程序实收");
// payItem.put("dueAmount","1");
// payItem.put("paymentStatus",20);
// payItem.put("payWay",70);
// payInfo.add(payItem);
//
// // 订单信息
// JSONObject order = new JSONObject();
// order.put("orderSubType",20);
// order.put("orderStatus",20);
// order.put("discountTotalAmount","1");
// order.put("dinners",1);
// // 期望送达时间
// SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMddHHmm");
// order.put("orderTime",sdf1.format(orderInfo.getCreateTime()));
// order.put("orderItem",orderItem);
// order.put("takeoutAddress","外送地址:");
// order.put("deliveryAmount","0");
// order.put("serviceAmount","0");
// order.put("channelKey","399_weixin");
// order.put("isAlreadyPaid","1");
// order.put("orderMode",1);
// order.put("OrderRemark","");
// order.put("payment",payInfo);
//
// HashMap<String,Object> params = new HashMap<>();
// params.put("shopID",Long.valueOf("76230180"));
// params.put("isCheackOut",0);
// params.put("isThirdPay",2);
// params.put("bankCode","weChat");
// params.put("order",order);
// params.put("isSentMsg",1);
// params.put("msgType",120);
// params.put("thirdOrderID",orderInfo.getOrderNo());
//
//// JSONObject response = hualalaService.doPost("/order/submitordernew", params);
//// System.out.println("response = " + response);
// }
// @Test
// public void chat() {
//
// String endpoint = "https://api.openai.com/v1/engines/davinci-codex/completions";
// String apiKey = "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";
//
//
// // 构建请求
// HttpRequest request = HttpRequest.get("https://api.openai.com/v1/engines/davinci-codex/completions")
// .header("Authorization", "Bearer ".concat(apiKey));
//
// // 发送请求并获取响应
// HttpResponse response = request.execute();
//
// // 处理响应结果
// int statusCode = response.getStatus();
// String body = response.body();
// System.out.println("body = " + body);
// }
// @Test
// public void chatGPT() {
// String abc = "{\"finish_reason\":\"stop\",\"index\":0,\"message\":{\"role\":\"assistant\",\"content\":\"您好!有什么我能为您效劳的吗?\"}}";
// final JSONObject jsonObject = JSONObject.parseObject(abc);
// final String message = jsonObject.getString("message");
// System.out.println("message = " + message);
// final JSONObject jsonObject1 = JSONObject.parseObject(message);
// final String content = jsonObject1.getString("content");
// System.out.println("content = " + content);
// }
// 自定义参数这部分是Hutool工具封装的
// @Test
// public void initQrConfig() {
// // 生成指定url对应的二维码到文件宽和高都是300像素
// QrCodeUtil.generate("https://hutool.cn/", 300, 300, FileUtil.file("/Users/gxwebsoft/Documents/uploads/qrcode.jpg"));
// }
@Test
public void allIdCard() {
// List<User> users = userService.list(new QueryWrapper<>());
// System.out.println(users.size());
// List<Certificate> certificateList = new ArrayList<>();
// for (User user : users) {
// Certificate certificate = new Certificate();
// certificate.setFullName("xxx");
// certificate.setCertificateCode("XXX");
// certificate.setCertificateType("idCard");
// certificate.setExpirationTime(LocalDateTime.now());
// certificate.setAuthentication(1);
// certificate.setUserId(user.getUserId());
// certificate.setTenantId(10053);
// certificateService.save(certificate);
// }
}
@Test
public void close() throws AlipayApiException {
List<FreezeOrder> freeze = freezeOrderService.lambdaQuery().eq(FreezeOrder::getOperationType, "FREEZE").list();
List<FreezeOrder> unfreeze = freezeOrderService.lambdaQuery().eq(FreezeOrder::getOperationType, "UNFREEZE").list();
Map<String, List<FreezeOrder>> collect = unfreeze.stream().collect(Collectors.groupingBy(FreezeOrder::getOutOrderNo));
DefaultAlipayClient alipayClient = null;
try {
alipayClient = alipayConfig.alipayClient(6);
} catch (AlipayApiException e) {
throw new RuntimeException(e);
}
DefaultAlipayClient finalAlipayClient = alipayClient;
freeze.forEach(item -> {
List<FreezeOrder> freezeOrders = collect.get(item.getOutOrderNo());
if(CollectionUtils.isEmpty(freezeOrders)) {
AlipayFundAuthOrderUnfreezeRequest request = new AlipayFundAuthOrderUnfreezeRequest();
// request.setNotifyUrl("https://yxw.wsdns.cn/api/shop/freeze-order/notify");
request.setNotifyUrl("http://1.14.132.108:10090/api/shop/freeze-order/notify");
JSONObject bizContent = new JSONObject();
bizContent.put("auth_no", item.getAuthNo());
bizContent.put("out_request_no", IdUtil.getSnowflakeNextId());
bizContent.put("amount", item.getAmount());
// bizContent.put("amount", .99);
bizContent.put("remark", "解冻资金");
JSONObject extraParam = new JSONObject();
JSONObject unfreezeBizInfo = new JSONObject();
unfreezeBizInfo.put("bizComplete", true);
extraParam.put("unfreezeBizInfo", unfreezeBizInfo);
bizContent.put("extra_param", extraParam);
request.setBizContent(bizContent.toString());
AlipayFundAuthOrderUnfreezeResponse response = null;
try {
response = finalAlipayClient.certificateExecute(request);
} catch (AlipayApiException e) {
throw new RuntimeException(e);
}
if (response.isSuccess()) {
System.out.println("调用成功");
System.out.println(response.getBody());
} else {
System.out.println("调用失败");
}
}
});
}
}