//package com.saye.hrs.scheduler; // //import com.alibaba.fastjson.JSONObject; //import com.saye.hrs.commons.date.DateDUtil; //import com.saye.hrs.commons.log.LogUtil; //import com.saye.hrs.commons.qitahoutai.HoutaiService; //import com.saye.hrs.commons.string.StringDUtil; //import com.saye.hrs.commons.webservice.OtherWSUtil; //import com.saye.hrs.commons.wxpay.pojo.PassbackParams; //import com.saye.hrs.commons.wxpay.pojo.WxResult; //import com.saye.hrs.dto.SettlementDTO; //import com.saye.hrs.model.StatusDefine; //import com.saye.hrs.model.WxybResult; //import com.saye.hrs.model.YbPassbackParams; //import org.springframework.context.annotation.Configuration; //import org.springframework.scheduling.annotation.Scheduled; // //import javax.annotation.Resource; //import java.math.BigDecimal; //import java.math.RoundingMode; //import java.net.URLDecoder; //import java.util.Calendar; //import java.util.Date; //import java.util.HashMap; //import java.util.List; // ///*** // * @title ReSendMessage // * @description TODO 已经废弃 本地不做任何处理 // * @author thuang // * @create 2023/8/22 10:10 // **/ //@Configuration //public class ReSendMessage { // // @Resource // private HoutaiService houtaiService; // // @Scheduled(cron="0 0 0 * * ?") // private void ReSendLastMessage(){ // //获取前一个星期没发送成功的记录,重新发送 // Calendar calendar = Calendar.getInstance(); // calendar.setTime(new Date()); // calendar.add(Calendar.DATE,-7); // Date time = calendar.getTime(); // String startTime = DateDUtil.DateToStr(DateDUtil.yyyyMMdd, time); // // //查询数据库中的记录 先查询微信没发送的 // try { // String findUrl= StatusDefine.IP_PORT+"/api/getWxNotSendInfo"; // HashMap searchMap=new HashMap<>(); // searchMap.put("endTime", DateDUtil.yyyyMMdd); // searchMap.put("startTime", startTime); // HashMap map = houtaiService.PostInfoByParam(findUrl, searchMap); // String errCode = StringDUtil.changeNullToEmpty(map.get("errCode")); // // if ("0".equals(errCode)){ // List mapList = (List) map.get("List"); // // //重新发送 // for (WxResult wxResult : mapList) { // try { // PassbackParams callBackParam = JSONObject.parseObject(URLDecoder.decode(wxResult.getAttach(), "UTF-8"), PassbackParams.class); // if ("SUCCESS".equals(wxResult.getResult_code()) && "SUCCESS".equals(wxResult.getReturn_code())) { // // //查询后台错误 不知道有没有发过 先发了再说 // SettlementDTO reqDTO=new SettlementDTO(); // reqDTO.setPatid(callBackParam.getPatid()); // reqDTO.setSjh(callBackParam.getSjh()); // reqDTO.setZje(callBackParam.getZje()); // reqDTO.setYsje(callBackParam.getYsje()); // reqDTO.setPaymoney(callBackParam.getZfje()); // reqDTO.setPaytype("9"); // reqDTO.setPaylsh(wxResult.getTransaction_id()); // reqDTO.setZfjsbz("1"); // HashMap settlementResultMap = OtherWSUtil.Settlement(reqDTO); // // String errCode1 = StringDUtil.changeNullToEmpty(settlementResultMap.get("errCode")); // // if ("0".equals(errCode1)){ // wxResult.setMzjsStatus("1"); // }else { // wxResult.setMzjsStatus("0"); // LogUtil.error(this.getClass(),StringDUtil.changeNullToEmpty(settlementResultMap.get("errMsg"))); // } // // //成功存储信息 // String url = StatusDefine.IP_PORT+"/api/addWxPayInfo"; // houtaiService.PostInfoByParam(url,wxResult); // // } // }catch (Exception e){ // e.printStackTrace(); // LogUtil.error(this.getClass(),"晚上定时发送未写入his的记录失败,原因"+e.getMessage()); // } // } // } // }catch (Exception e){ // e.printStackTrace(); // } // // //再查询医保没发送的 // try { // String findUrl= StatusDefine.IP_PORT+"/api/getWxybNotSendInfo"; // HashMap searchMap=new HashMap<>(); // searchMap.put("endTime", DateDUtil.yyyyMMdd); // searchMap.put("startTime", startTime); // HashMap map = houtaiService.PostInfoByParam(findUrl, searchMap); // String errCode = StringDUtil.changeNullToEmpty(map.get("errCode")); // // if ("0".equals(errCode)){ // List mapList = (List) map.get("List"); // // for (WxybResult wxybResult : mapList) { // try { // YbPassbackParams callBackParam = JSONObject.parseObject(URLDecoder.decode(wxybResult.getAttach(), "UTF-8"), YbPassbackParams.class); // // if ("SUCCESS".equals(wxybResult.getResult_code()) && "SUCCESS".equals(wxybResult.getReturn_code())) { // //查询后台错误 不知道有没有发过 先发了再说 // SettlementDTO reqDTO = new SettlementDTO(); // reqDTO.setPatid(callBackParam.getPatid()); // reqDTO.setSjh(wxybResult.getSerial_no()); // reqDTO.setYsje(callBackParam.getYsje()); // // //从微信返回的金额为分,要改为元来传输给his // Integer totalFee = wxybResult.getTotal_fee(); // Integer cashFee = wxybResult.getCash_fee(); // BigDecimal totalFeeBD = new BigDecimal(totalFee).divide(new BigDecimal(100), 2, RoundingMode.HALF_UP); // BigDecimal cashFeeBD = new BigDecimal(cashFee).divide(new BigDecimal(100), 2, RoundingMode.HALF_UP); // // reqDTO.setZje(totalFeeBD.toString()); // reqDTO.setPaymoney(cashFeeBD.toString()); // reqDTO.setPaytype("9"); // reqDTO.setPaylsh(wxybResult.getCash_order_id()); // reqDTO.setZfjsbz("0"); // HashMap settlementResultMap = OtherWSUtil.Settlement(reqDTO); // // String errCode1 = StringDUtil.changeNullToEmpty(settlementResultMap.get("errCode")); // // if ("0".equals(errCode1)) { // wxybResult.setMzjsStatus("1"); // } else { // wxybResult.setMzjsStatus("0"); // LogUtil.error(this.getClass(), StringDUtil.changeNullToEmpty(settlementResultMap.get("errMsg"))); // } // //存储信息 // String url = StatusDefine.IP_PORT + "/api/addWxybPayInfo"; // houtaiService.PostInfoByParam(url, wxybResult); // } // // }catch (Exception e){ // e.printStackTrace(); // LogUtil.error(this.getClass(),"晚上定时发送未写入his的医保记录失败,原因"+e.getMessage()); // } // } // // } // }catch (Exception e){ // e.printStackTrace(); // } // // } // // // public static void main(String[] args) { // SettlementDTO reqDTO=new SettlementDTO(); // reqDTO.setPatid("421322"); // reqDTO.setSjh("20230823yypt120036"); // reqDTO.setZje("2.36"); // reqDTO.setYsje("2.3600"); // reqDTO.setPaymoney("2.3600"); // reqDTO.setPaytype("9"); // reqDTO.setPaylsh("4200001956202308234945588695"); // reqDTO.setZfjsbz("1"); // HashMap settlementResultMap = OtherWSUtil.Settlement(reqDTO); // // String errCode1 = StringDUtil.changeNullToEmpty(settlementResultMap.get("errCode")); // String errMsg = StringDUtil.changeNullToEmpty(settlementResultMap.get("errMsg")); // System.out.println(errCode1); // System.out.println(errMsg); // } //}