package common; import com.CWebApplication; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageInfo; import com.hai.common.QRCodeGenerator; import com.hai.common.utils.DateUtil; import com.hai.common.utils.HttpsUtils; import com.hai.common.utils.IDGenerator; import com.hai.entity.HighCouponCode; import com.hai.entity.HighMerchantStore; import com.hai.entity.HighOrder; import com.hai.entity.SecRegion; import com.hai.service.CommonService; import com.hai.service.HighCouponCodeService; import com.hai.service.HighMerchantStoreService; import com.hai.service.HighOrderService; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; import javax.annotation.Resource; import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.*; /** * @ClassName RegionTest * @Description: TODO () * @Author 胡锐 * @Date 2020/12/29 **/ @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = CWebApplication.class) @WebAppConfiguration public class RegionTest { @Resource private CommonService commonService; @Resource private HighCouponCodeService highCouponCodeService; @Resource private HighMerchantStoreService highMerchantStoreService; private static final String[] HEX_DIGITS = {"0" ,"1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"}; @Test public void addLogs() { try { OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("exampleWrite.json"),"UTF-8"); List> jobTypeList = new ArrayList<>(); List> children1; List parentRegion = commonService.getCities(); for (SecRegion parent : parentRegion) { Map map = new HashMap<>(); map.put("value", parent.getRegionId()); map.put("label", parent.getRegionName()); // 查询二级 List chinRegion = commonService.getRegionsByParentId(parent.getRegionId()); children1 = new ArrayList<>(); for (SecRegion chin : chinRegion) { Map map1 = new HashMap<>(); map1.put("value", chin.getRegionId()); map1.put("label", chin.getRegionName()); children1.add(map1); } map.put("children", children1); jobTypeList.add(map); } osw.write(JSON.toJSONString(jobTypeList)); osw.flush();//清空缓冲区,强制输出数据 osw.close();//关闭输出流 }catch (Exception e){ e.printStackTrace(); } } @Test public void addLogs1(){ try { highCouponCodeService.cnpcCallbackCouponCode("2021041201",new Date(), "南充"); }catch (Exception e){ e.printStackTrace(); } } @Test public void gQrCode(){ try { List list = new ArrayList<>(); list.add("01ZCplFfrpgRKydlzGKNNW"); list.add("0191TLwAwBB956jzWM3YIC"); list.add("01n04fzTdsTpeKmayBZyAk"); list.add("01c6xoP1tJyBRC2zaTUhuI"); list.add("01lmjIWIENUfiD43bf4qN1"); list.add("01D5rNSEoNnSBGjgXqKzLb"); list.add("01FeU4TAvGE6GuIYj8CWSG"); list.add("01WX7Wepav3IY9c1dM1480"); list.add("01b2wl9RRbFr74KurfNs9D"); list.add("01b0KC0vpZxUxyWybIldpA"); list.add("013x24Ou0EZTGDUFUUoVJH"); list.add("01NYmIdcTxXk8uTP2wlzxN"); list.add("01DsyPN9QUvwL8YEEjhHK2"); list.add("01Tf9T9zK3tiW157oxTluZ"); list.add("01C5XMRbxA13KmQZdigYrQ"); list.add("01IkkXn3fbBGmeBQGlie6N"); list.add("01fiH3t7P1DahSTgnltE5C"); list.add("015I6hBEIUB6UtJB1AJpTY"); list.add("017Rsu81CAy2lgya5qCVYK"); list.add("01bOsNk2KViUjrKr1sifdM"); list.add("01UUd4bpXAPvhGSNPiVdgv"); list.add("01YDIj4DWaRCvWcd0UPTl4"); list.add("01CBiCaEPp1PXms8wAoXtL"); list.add("01aSV8p1RtV11aQRv5HyEg"); list.add("01XYud7OMwKAzzZJssHAxX"); list.add("01AgLE01SiraWzvZmaAMQz"); list.add("01M1vYhLl6gfrknCTmQjVo"); list.add("01GWKsIOTQKIJk9xk9zlq3"); list.add("01S3GkZAtcvgHGZzkK9je1"); list.add("01l0yZxhNDjUTgBfNFpZ0N"); list.add("01Tm7PE3wvu6S4PRQD0sez"); list.add("01b0NrXyZ8FDSyPQtxOwKM"); list.add("01V6FFylLgJX95uNNHxt5K"); for(String code : list) { HighCouponCode salesCode = highCouponCodeService.getCouponCodeBySalesCode(code); if (salesCode != null){ // 生成二维码 String qrCodeImg = DateUtil.date2String(new Date(),"yyyyMMddHHmmss") + IDGenerator.nextId(10) +".png"; String qrCodeUrl = "G:/couponCode/" + qrCodeImg; QRCodeGenerator.generateQRCodeImage(code, 350, 350, qrCodeUrl); salesCode.setExt1(qrCodeImg); highCouponCodeService.updateCouponCode(salesCode); } } }catch (Exception e){ e.printStackTrace(); } } @Test public void test(){ try { Map tokenMap = new HashMap<>(); tokenMap.put("appId", "jsVpwDoHZfR2rrpjhA"); tokenMap.put("appSecret", "R7yJjinikdPhOlTrVgmdS7cblWMMOf99zEJkfPgaTIoDtKGlX51JKueLV725a6S4"); JSONObject jsonObject = HttpsUtils.doPost("https://app.zshcqsy.com/api-provider/api/open/merchant/token", JSON.toJSONString(tokenMap)); if (jsonObject != null && jsonObject.getBoolean("success") == true) { JSONObject data = jsonObject.getJSONObject("data"); String token = data.getString("token"); Map bodyMap = new HashMap<>(); bodyMap.put("appId", "jsVpwDoHZfR2rrpjhA"); bodyMap.put("pageNo", 1); bodyMap.put("pageSize", 10); bodyMap.put("startTime", "2021-3-31 00:00:00"); bodyMap.put("endTime", "2021-3-31 23:00:00"); //bodyMap.put("customerCode", "48464274"); bodyMap.put("customerCode", "hAFO76ZqXmIqosNw3PTAP4wxGJTN7MPawSU0QFDzzNioLjKMEaVFDlNKRIQX6n0DgyoVMy170T0b13P8uUTAQsbk9UNRPFO5i0fWp1hHOhNdaaQ2BdC0WXQz5QQ5epyK"); String signature = "hAFO76ZqXmIqosNw3PTAP4wxGJTN7MPawSU0QFDzzNioLjKMEaVFDlNKRIQX6n0DgyoVMy170T0b13P8uUTAQsbk9UNRPFO5i0fWp1hHOhNdaaQ2BdC0WXQz5QQ5epyK"; Long date = new Date().getTime(); String sha256 = encodeBySHA256(signature + JSON.toJSONString(bodyMap) + date); /* Map headerMap = new HashMap<>(); headerMap.put("token", token); headerMap.put("sign", sha256); headerMap.put("ts", date);*/ //map2.put("sign", sha256); JSONObject object = HttpsUtils.doPost("https://app.zshcqsy.com/api-provider/sapapi/open/coupon/customerRedeemcodeList", JSON.toJSONString(bodyMap), token, sha256, date); System.out.println(JSON.toJSONString(object)); } }catch (Exception e){ e.printStackTrace(); } } public String encodeBySHA256(String str) { try{ MessageDigest messageDigest = MessageDigest.getInstance("SHA-256"); messageDigest.reset(); messageDigest.update(str.getBytes("UTF-8")); return getFormattedText(messageDigest.digest()); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (Exception e) { throw new RuntimeException(e); } return ""; } private String getFormattedText(byte[] bytes) { int len = bytes.length; StringBuilder buf = new StringBuilder(len * 2); // 把密文转换成十六进制的字符串形式 for (int j=0;j> 4) & 0x0f]); buf.append(HEX_DIGITS[bytes[j] & 0x0f]); } return buf.toString(); } }