Bläddra i källkod

fixed: 修改保存紧急联系人BUG

orgycat 3 år sedan
förälder
incheckning
c19b18e998

+ 7 - 5
src/main/java/com/care/client/service/PinanbaoContactService.java

@@ -144,11 +144,13 @@ public class PinanbaoContactService {
                 careContact.setRelationType(vo.getRelationType());
                 boolean updated = this.careHouseContactService.updateById(careContact);
 
-                List<CareHouseContactRel> relVos = pinanbaoDeviceService.queryMyContactRelListByDeviceId(devId);
-                if (updated && (relVos == null || relVos.stream().filter(v -> careContact.getId() == v.getContactId()).count() <= 0)) {
-                    boolean childSaved = pinanbaoDeviceService.bindHouseContact(devId, careContact.getId());
-                    if (childSaved == false) {
-                        throw new BDException("修改紧急联系人, 对该设备绑定联系人出错");
+                if (devId != null) {
+                    List<CareHouseContactRel> relVos = pinanbaoDeviceService.queryMyContactRelListByDeviceId(devId);
+                    if (updated && (relVos == null || relVos.stream().filter(v -> careContact.getId() == v.getContactId()).count() <= 0)) {
+                        boolean childSaved = pinanbaoDeviceService.bindHouseContact(devId, careContact.getId());
+                        if (childSaved == false) {
+                            throw new BDException("修改紧急联系人, 对该设备绑定联系人出错");
+                        }
                     }
                 }
                 return updated;

+ 4 - 0
src/main/java/com/care/common/service/impl/WxQrCodeServiceImpl.java

@@ -49,6 +49,10 @@ public class WxQrCodeServiceImpl implements WxQrCodeService {
                 redisUtil.set(qrcodeKey, contactSplicingStr,172800);
             }
             String tempTicketUrl = WxQrcodeUtil.createTempTicket(wxAccessTokenVO.getAccessToken(), "172800", nextId);
+            if ("40001".equalsIgnoreCase(tempTicketUrl)) {
+                redisUtil.del(RedisKeyConstant.YUANSERVICE_ACCESSTOKEN + "-official");
+                tempTicketUrl = null;
+            }
             log.info("产生二维码: [" + contactSplicingStr + "], URL: " + tempTicketUrl);
             return StringUtils.isNotBlank(tempTicketUrl) ? tempTicketUrl : null;
         } catch (Exception e) {

+ 3 - 0
src/main/java/com/care/common/util/WxQrcodeUtil.java

@@ -70,6 +70,9 @@ public class WxQrcodeUtil {
         JSONObject resultJsonObj = WxTemplateUtil.httpRequest(url, "POST", JSONUtil.toJsonStr(paramsMap));
 
         log.info("产生二维码结果: [" + JSONUtil.toJsonStr(paramsMap) + "], URL: " + resultJsonObj.toString());
+        if (resultJsonObj != null && resultJsonObj.getInt("errcode") == 40001) {
+            return resultJsonObj.getStr("errcode");
+        }
 
         return resultJsonObj == null ? null : showQrcode(resultJsonObj.getStr("ticket"));
     }