diff --git a/mall-account/src/main/java/com/suisung/mall/account/service/impl/AccountUserBindConnectServiceImpl.java b/mall-account/src/main/java/com/suisung/mall/account/service/impl/AccountUserBindConnectServiceImpl.java index 21a9ae99..c6a57440 100644 --- a/mall-account/src/main/java/com/suisung/mall/account/service/impl/AccountUserBindConnectServiceImpl.java +++ b/mall-account/src/main/java/com/suisung/mall/account/service/impl/AccountUserBindConnectServiceImpl.java @@ -545,23 +545,48 @@ public class AccountUserBindConnectServiceImpl extends BaseServiceImpl accountUserBindConnectList= list(queryWrapper); if (!accountUserBindConnectList.isEmpty()) { AccountUserBindConnect accountUserBindConnect=accountUserBindConnectList.get(0); - JSONArray jsonArray= jsonObject.getJSONArray("List"); + JSONArray jsonArray=null; + JSONObject object= null; + try { + jsonArray= jsonObject.getJSONArray("List"); + }catch (RuntimeException runtimeException){ + log.info("单个模板"); + object=jsonObject.getJSONObject("List"); + } + UpdateWrapper updateWrapper = new UpdateWrapper<>(); if (jsonArray != null) { - JSONObject object= (JSONObject) jsonArray.get(0); + object= (JSONObject) jsonArray.get(0); String templateId= object.getStr("TemplateId");//模板id String SubscribeStatusString= object.getStr("SubscribeStatusString");//订阅结果(accept接收;reject拒收)参考地址https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html#%E8%AE%A2%E9%98%85%E6%B6%88%E6%81%AF%E8%AF%AD%E9%9F%B3%E6%8F%90%E9%86%92 if(SubscribeStatusString.equals("accept")){ - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.set("bind_tmpl",templateId); - updateWrapper.eq("bind_id",accountUserBindConnect.getBind_id()); - updateWrapper.eq("bind_type",accountUserBindConnect.getBind_type()); - updateWrapper.eq("user_id",accountUserBindConnect.getUser_id()); - updateWrapper.eq("user_type",accountUserBindConnect.getUser_type()); - update(updateWrapper); + accountUserBindConnect.setBind_tmpl(templateId); + getUpdateWrapper(updateWrapper, accountUserBindConnect); + } + }else { + assert object != null; + String templateId= object.getStr("TemplateId");//模板id + String ErrorStatus=object.getStr("ErrorStatus"); + if(ErrorStatus.equals("success")){ + accountUserBindConnect.setBind_tmpl(templateId); + getUpdateWrapper(updateWrapper, accountUserBindConnect); } } + update(updateWrapper); } } + /** + * 封装相同参数的调用方法 + * @param updateWrapper + * @param accountUserBindConnect + */ + private void getUpdateWrapper(UpdateWrapper updateWrapper, + AccountUserBindConnect accountUserBindConnect) { + updateWrapper.set("bind_tmpl",accountUserBindConnect.getBind_tmpl()); + updateWrapper.eq("bind_id",accountUserBindConnect.getBind_id()); + updateWrapper.eq("bind_type",accountUserBindConnect.getBind_type()); + updateWrapper.eq("user_id",accountUserBindConnect.getUser_id()); + updateWrapper.eq("user_type",accountUserBindConnect.getUser_type()); + } }