随笔 - 144  文章 - 0  评论 - 2  阅读 - 92190

Executors.newCachedThreadPool()的使用

复制代码
//线程池
    private final ExecutorService executorService= Executors.newCachedThreadPool();
executorService.submit(() -> orderDecrypt(meituanOrderInfoExp));
@Transactional
    @Override
    public void orderDecrypt(MeituanOrderInfoExp meituanOrderInfoExp) {
        JSONObject obj=new JSONObject();
        try {
            TakeawayInfo takeawayInfo=new TakeawayInfo();
            takeawayInfo.setAppPoiCode(meituanOrderInfoExp.getMeituanOrderInfo().getAppPoiCode());
            TakeawayInfo info=takeawayInfoService.takeawayInfoByCache(takeawayInfo, "app_poi_code");
            if(info!=null){
                SystemParam systemParam = new SystemParam(info.getAppId(), info.getAppSecret());
                JSONArray array=new JSONArray();
                JSONObject paraObj1=new JSONObject();
                JSONObject paraObj2=new JSONObject();
                JSONObject paraObj3=new JSONObject();
                JSONObject paraObj4=new JSONObject();
                JSONObject paraObj5=new JSONObject();
                if(StringUtils.isNotBlank(meituanOrderInfoExp.getMeituanOrderInfo().getEncryptRecipientAddress())){
                    paraObj1.put("cipher_text",meituanOrderInfoExp.getMeituanOrderInfo().getEncryptRecipientAddress());
                    array.add(paraObj1);
                }
                if(StringUtils.isNotBlank(meituanOrderInfoExp.getMeituanOrderInfo().getEncryptRecipientPhone())){
                    //加密订单收货人联系电话
                    paraObj2.put("cipher_text",meituanOrderInfoExp.getMeituanOrderInfo().getEncryptRecipientPhone());
                    array.add(paraObj2);
                }
                if(StringUtils.isNotBlank(meituanOrderInfoExp.getMeituanOrderInfo().getEncryptRecipientName())){
                    //加密订单收货人姓名
                    paraObj3.put("cipher_text",meituanOrderInfoExp.getMeituanOrderInfo().getEncryptRecipientName());
                    array.add(paraObj3);
                }
                if(StringUtils.isNotBlank(meituanOrderInfoExp.getMeituanOrderInfo().getEncryptOrderPhoneNumber())){
                    //加密推送订单的预订人手机号
                    paraObj4.put("cipher_text",meituanOrderInfoExp.getMeituanOrderInfo().getEncryptOrderPhoneNumber());
                    array.add(paraObj4);
                }
                if(StringUtils.isNotBlank(meituanOrderInfoExp.getMeituanOrderInfo().getEncryptOrderShippingAddress())) {
                    //加密收货人具体地址
                    paraObj5.put("cipher_text",meituanOrderInfoExp.getMeituanOrderInfo().getEncryptOrderShippingAddress());
                    array.add(paraObj5);
                }
                log.info("\n==>美团单号="+meituanOrderInfoExp.getMeituanOrderInfo().getOrderId()+"即将解密的字符串为="+array.toJSONString());
                try {
                    obj= MtRequest.healthBatchDecrypt(systemParam,array);
                    log.info("\n==>美团单号="+meituanOrderInfoExp.getMeituanOrderInfo().getOrderId()+"对字段解密结果"+obj);
                }catch (Exception e){
                    log.info("\n==>美团单号="+meituanOrderInfoExp.getMeituanOrderInfo().getOrderId()+"对字段解密异常"+e);
                }
                if("1".equals(obj.getString("result_code"))){
                    JSONObject obj1=obj.getJSONObject("data");
                    JSONArray obj2=obj1.getJSONArray("plain_info_list");
                    if(obj2!=null && !obj2.isEmpty()){
                        for(int i=0;i<obj2.size();i++ ){
                            JSONObject obj3=obj2.getJSONObject(i);
                            if(obj3.getString("cipher_text").equals(meituanOrderInfoExp.getMeituanOrderInfo().getEncryptRecipientAddress())){
                                // encrypt_recipient_address   加密订单收货人地址
                                meituanOrderInfoExp.getMeituanOrderInfo().setEncryptRecipientAddress(obj3.getString("plain_text"));
                            }else if(obj3.getString("cipher_text").equals(meituanOrderInfoExp.getMeituanOrderInfo().getEncryptRecipientPhone())){
                                //  encrypt_recipient_phone    加密订单收货人联系电话
                                meituanOrderInfoExp.getMeituanOrderInfo().setEncryptRecipientPhone(obj3.getString("plain_text"));
                            }else if(obj3.getString("cipher_text").equals(meituanOrderInfoExp.getMeituanOrderInfo().getEncryptRecipientName())){
                                //encrypt_recipient_name    加密订单收货人姓名
                                meituanOrderInfoExp.getMeituanOrderInfo().setEncryptRecipientName(obj3.getString("plain_text"));
                            }else if(obj3.getString("cipher_text").equals(meituanOrderInfoExp.getMeituanOrderInfo().getEncryptOrderPhoneNumber())){
                                //encrypt_order_phone_numbe   加密推送订单的预订人手机号
                                meituanOrderInfoExp.getMeituanOrderInfo().setEncryptOrderPhoneNumber(obj3.getString("plain_text"));
                            }else if(obj3.getString("cipher_text").equals(meituanOrderInfoExp.getMeituanOrderInfo().getEncryptOrderShippingAddress())){
                                //encrypt_order_shipping_address   加密收货人具体地址
                                meituanOrderInfoExp.getMeituanOrderInfo().setEncryptOrderShippingAddress(obj3.getString("plain_text"));
                            }
                        }
                        //先取EncryptRecipientPhone这个里边的值,如果不包含下划线的,则取这个反之从备注中截取手机号
                        if(StringUtils.isNotBlank(meituanOrderInfoExp.getMeituanOrderInfo().getEncryptRecipientPhone()) &&
                                meituanOrderInfoExp.getMeituanOrderInfo().getEncryptRecipientPhone().indexOf('_') == -1){
                            meituanOrderInfoExp.getMeituanOrderInfo().setRealPhoneNum(meituanOrderInfoExp.getMeituanOrderInfo().getEncryptRecipientPhone());
                        }else{
                            //从备注中截取用户真实的手机号码
                            if(StringUtils.isNotBlank(meituanOrderInfoExp.getMeituanOrderInfo().getCaution())){
                                meituanOrderInfoExp.getMeituanOrderInfo().setRealPhoneNum(subString(meituanOrderInfoExp.getMeituanOrderInfo().getCaution()));
                            }
                        }
                        //更新美团订单表中的相关数据
                        //将美团数据同步过来后在进行设置是否进行处理
                        meituanOrderInfoExp.getMeituanOrderInfo().setIsHandle("0");
                        meituanOrderInfoMapper.updateOrderDate(meituanOrderInfoExp.getMeituanOrderInfo());
                        log.info("\n==>美团单号="+meituanOrderInfoExp.getMeituanOrderInfo().getOrderId()+"对字段解密入库成功!");
                    }
                }else{
                    log.info("解密失败,美团返回解密结果为"+obj);
                }
            }else{
                log.info("根据订单AppPoiCode="+meituanOrderInfoExp.getMeituanOrderInfo().getAppPoiCode()+"没有查询到门店相关信息");
            }
        } catch (Exception e) {
            log.info("解密失败,失败原因为"+e);
        }
    }
复制代码

 

posted on   IT-QI  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示