当前位置: 首页 > news >正文

那家公司做网站万网 网站建设方案书范文

那家公司做网站,万网 网站建设方案书范文,蜗牛星际做网站,购物app开发价格表今天写了一个商品到货提醒的job任务#xff0c;具体效果如下 这里用到了微信的发送订阅消息#xff0c;主要代码是这一块的#xff0c;最后我把发送了消息的订单存到表里#xff0c;因为是定时任务#xff0c;大家可不存 发送订阅消息 | 微信开放文档 /*** 微信平台-商品… 今天写了一个商品到货提醒的job任务具体效果如下 这里用到了微信的发送订阅消息主要代码是这一块的最后我把发送了消息的订单存到表里因为是定时任务大家可不存 发送订阅消息 | 微信开放文档 /*** 微信平台-商品到货通知*/public String uploadArrival(WxOrderArrivalDTO wxOrderArrivalDTO) throws ParseException {String url https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token wechatManager.getaccessToken();JSONObject body new JSONObject();JSONObject data new JSONObject();SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);String date sdf.format(DateUtil.now());data.put(time4,new JSONObject().fluentPut(value,date));data.put(character_string5, new JSONObject().fluentPut(value,wxOrderArrivalDTO.getPickupCode()));data.put(amount6,new JSONObject().fluentPut(value,wxOrderArrivalDTO.getOrderAmount() 元));data.put(thing7,new JSONObject().fluentPut(value,wxOrderArrivalDTO.getShopName()) );data.put(short_thing8, new JSONObject().fluentPut(value,自提));body.put(data, data);body.put(touser, wxOrderArrivalDTO.getOpenId());body.put(miniprogram_state, formal);body.put(lang, zh_CN);body.put(template_id, 这里填模板id);String result null;try {result HttpUtil.createPost(url).body(body.toJSONString()).execute().body();log.info(通知微信平台 订单到货接口返回 result);OrderPushMsgDTO orderPushMsgDTO new OrderPushMsgDTO();orderPushMsgDTO.setPushMsgId(UUIDUtils.getUUID());orderPushMsgDTO.setOrderId(wxOrderArrivalDTO.getOrderId());orderPushMsgDTO.setOrderType(CommonKey.CONSTANT_1);JSONObject jsonObject JSON.parseObject(result);int errcode jsonObject.getInteger(errcode);orderPushMsgDTO.setErrCode(String.valueOf(errcode));orderPushMsgBO.save(orderPushMsgDTO);} catch (Exception e) {throw new BizException(e.getMessage());}return result;} 这是微信公众号平台申请的模板其中模板id填到上图中的template_id后面 这是微信官方文档的请求参数示例主要是data里面的数据key是上图详细内容里的time4thing7... 然后遇到一个问题就是给data塞值的时候刚开始采用的是第二种方法发现没塞进去用下图框中的写法就可以了 后面又写了个公众号的效果如下 这个用法的是微信的模板消息大致写法都一样就是tocken要用公众号的tocken用小程序的tocken会报错48001还有如果不是一个模板id代码里记得换不然会报错40037。模板有数据是枚举的拼接返回消息的时候要对应上 模板消息 | 微信开放文档 public String uploadArrivalOfficialAccountPush(WxOrderArrivalDTO wxOrderArrivalDTO){WechatInfoDTO weChatAccessToken authUtil.getWeChatAccessToken();String url https://api.weixin.qq.com/cgi-bin/message/template/send?access_token weChatAccessToken.getAccessToken();ListOrderItemDTO itemList orderItemDao.queryListOrderItemByOrderIdList(Arrays.asList(wxOrderArrivalDTO.getOrderId()));ListShopGoodsDTO shopGoodsDTOS this.shopGoodsBo.queryGoodsByIdList(itemList.stream().map(OrderItemDTO::getGoodsId).collect(Collectors.toList()));if (ObjectUtil.isNull(shopGoodsDTOS)) {return null;}MapString, ShopGoodsDTO shopGoodsDTOMap shopGoodsDTOS.stream().distinct().collect(Collectors.toMap(ShopGoodsDTO::getGoodsId, Function.identity(), (oldValue, newValue) - oldValue));ListShopGoodsSpeciInfoDTO speciInfoList shopGoodsSpeciInfoBO.queryGoodsSpeciInfoByIdList(itemList.stream().map(OrderItemDTO::getGoodsSpeciId).collect(Collectors.toList()));StringBuffer goodNamesnew StringBuffer();int size speciInfoList.size();for (int i 0; i size; i) {ShopGoodsSpeciInfoDTO temp speciInfoList.get(i);String goodsName shopGoodsDTOMap.get(temp.getGoodsId()).getGoodsName();goodNames.append(goodsName);if (i size - 1) {goodNames.append(、);}}if(goodNames.toString().length()20){wxOrderArrivalDTO.setItemDesc(goodNames.toString().substring(0,10)ELLIPSIS_3);}else{wxOrderArrivalDTO.setItemDesc(goodNames.toString());}JSONObject body new JSONObject();JSONObject data new JSONObject();SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);String date sdf.format(DateUtil.now());data.put(time1,new JSONObject().fluentPut(value,date));data.put(thing2,new JSONObject().fluentPut(value,wxOrderArrivalDTO.getItemDesc()));data.put(amount3,new JSONObject().fluentPut(value,wxOrderArrivalDTO.getOrderAmount() 元));data.put(thing4,new JSONObject().fluentPut(value,wxOrderArrivalDTO.getShopName()) );data.put(const5, new JSONObject().fluentPut(value,CommonKey.CONSTANT_3.equals(wxOrderArrivalDTO.getDeliveryMethod()) ? 用户自提 : 商家配送));body.put(data, data);body.put(url, officialAccountPushUrl);body.put(touser, wxOrderArrivalDTO.getOpenId());body.put(template_id, 这里填模板id);String result null;try {result HttpUtil.createPost(url).body(body.toJSONString()).execute().body();log.info(通知微信平台 订单到货接口返回 result);OrderPushMsgDTO orderPushMsgDTO new OrderPushMsgDTO();orderPushMsgDTO.setPushMsgId(UUIDUtils.getUUID());orderPushMsgDTO.setOrderId(wxOrderArrivalDTO.getOrderId());orderPushMsgDTO.setOrderType(CommonKey.CONSTANT_1);JSONObject jsonObject JSON.parseObject(result);orderPushMsgDTO.setPushType(CommonKey.CONSTANT_2);int errcode jsonObject.getInteger(errcode);orderPushMsgDTO.setErrCode(String.valueOf(errcode));orderPushMsgBO.save(orderPushMsgDTO);} catch (Exception e) {throw new BizException(e.getMessage());}return result;} 获取公众号的tocken要注意是urljson的形式 开始开发 / 获取 Stable Access token public WechatInfoDTO getWeChatAccessToken() {MapString,Object requestUrlParamnew HashMapString,Object();//appIdrequestUrlParam.put(appid, wechatAppId);//appSecretrequestUrlParam.put(secret, wechatSecret);//默认参数requestUrlParam.put(grant_type, client_credential);ObjectMapper objectMapper new ObjectMapper();String json null;try {json objectMapper.writeValueAsString(requestUrlParam);} catch (JsonProcessingException e) {e.printStackTrace();}//发送post请求读取调用微信接口获取accessToken信息String result HttpUtil.post(https://api.weixin.qq.com/cgi-bin/stable_token, json);JSONObject jsonObject JSONObject.parseObject(result);Integer errcode jsonObject.getInteger(errcode);if (errcode ! null errcode ! 0) {String errmsg jsonObject.getString(errmsg);log.error(result);throw new BizException(ResultCode.FAIL,errmsg);}return new WechatInfoDTO().setAccessToken(jsonObject.getString(access_token));}
http://www.zqtcl.cn/news/396464/

相关文章:

  • 中国有什么网站做跨境零售农商1号的网站建设费
  • 用宝塔给远程网站做备份购买一个网站需要多少钱
  • 百度蜘蛛不爬取网站做汽车新闻哪个网站好
  • 三维建设项目管理网站免费下载网站模板
  • 淘客联盟做任务网站页面设计所遵循的原则有哪些
  • 怎么建设收费网站行业网站建站
  • 织梦园模板网站自适应网站建设服务哪家好
  • 优秀专题网站恩施北京网站建设
  • 常用网站后缀企业网站用什么域名
  • 网站建设定制公众号小程序51ppt模板免费下载完整版免费ppt
  • 个人网站工商备案济南建网站app
  • 佛山网站建设公司哪家性价比高2018建设网站
  • 公司建一个网站建设工程教育网网址
  • 一级a做爰片免播放器网站推广渠道包括哪些
  • 南京市建设工程档案馆网站新乡市四合一网站建设
  • 网站建设制作周期咸宁网站设计制作
  • 网站推广营销联系方式南宁做网站推广的公司
  • 深圳网站建设公司元红河网站建设代理
  • 商丘河南网站建设Wordpress加720云vr
  • 上海网站建设公司网站建设网络推广费用高吗
  • 南宁学做网站百度电脑版
  • 公司网站建设工作通知怎样看一个网站做的网络广告
  • 普洱市住房和城乡建设局网站最有创意的广告设计
  • 网站开发者常见问题网站建设鸿儒
  • 米方科技网站建设个人可以做外贸网站吗
  • 如何做别人网站镜像自建wordpress主题
  • 临沂网站制作平台网站开发的软硬件环境
  • 假冒中国建设银行的网站网站开发 避免 字段变化 代码
  • 如何取消网站备案搜索seo怎么优化
  • 网站备案系统验证码出错网站的电子画册怎么做