Просмотр исходного кода

优化业主查询报错问题

java110 лет назад: 5
Родитель
Сommit
4db9336093

+ 4 - 0
java110-utils/src/main/java/com/java110/utils/constant/ServiceCodeSmallWeChatConstant.java

@@ -27,5 +27,9 @@ public class ServiceCodeSmallWeChatConstant {
      */
     public static final String LIST_SMALL_WE_CHATS = "smallWeChat.listSmallWeChats";
 
+    /**
+     * 查询 小程序管理
+     */
+    public static final String LIST_SMALL_WE_CHAT_ONLY_APP_ID = "smallWeChat.listSmallWeChatOnlyAppId";
 
 }

+ 5 - 1
service-api/src/main/java/com/java110/api/listener/owner/ListAppUserBindingOwnersListener.java

@@ -110,8 +110,12 @@ public class ListAppUserBindingOwnersListener extends AbstractServiceApiListener
      * @param ownerAppUserDtos
      */
     private void refreshCommunityArea(List<OwnerAppUserDto> ownerAppUserDtos) {
+        String[] communityIds = getCommunityIds(ownerAppUserDtos);
+        if(communityIds == null || communityIds.length < 1){
+            return ;
+        }
         CommunityDto communityDto = new CommunityDto();
-        communityDto.setCommunityIds(getCommunityIds(ownerAppUserDtos));
+        communityDto.setCommunityIds(communityIds);
         List<CommunityDto> communityDtos = communityInnerServiceSMOImpl.queryCommunitys(communityDto);
 
         for (CommunityDto tmpCommunityDto : communityDtos) {

+ 95 - 0
service-api/src/main/java/com/java110/api/listener/smallWeChat/ListSmallWeChatOnlyAppIdListener.java

@@ -0,0 +1,95 @@
+package com.java110.api.listener.smallWeChat;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.api.listener.AbstractServiceApiListener;
+import com.java110.core.annotation.Java110Listener;
+import com.java110.core.context.DataFlowContext;
+import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.dto.smallWeChat.SmallWeChatDto;
+import com.java110.intf.store.ISmallWeChatInnerServiceSMO;
+import com.java110.utils.constant.ServiceCodeSmallWeChatConstant;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.api.smallWeChat.ApiSmallWeChatDataVo;
+import com.java110.vo.api.smallWeChat.ApiSmallWeChatVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * 查询小程序配置
+ */
+@Java110Listener("listSmallWeChatOnlyAppIdListener")
+public class ListSmallWeChatOnlyAppIdListener extends AbstractServiceApiListener {
+
+    private static String OWNER_APP = "992019111758490006";
+    private static String OWNER_WECHAT_APP = "992020061452450002";
+
+    @Autowired
+    private ISmallWeChatInnerServiceSMO smallWeChatInnerServiceSMOImpl;
+
+    @Override
+    public String getServiceCode() {
+        return ServiceCodeSmallWeChatConstant.LIST_SMALL_WE_CHAT_ONLY_APP_ID;
+    }
+
+    @Override
+    public HttpMethod getHttpMethod() {
+        return HttpMethod.GET;
+    }
+
+
+    @Override
+    public int getOrder() {
+        return DEFAULT_ORDER;
+    }
+
+
+    public ISmallWeChatInnerServiceSMO getSmallWeChatInnerServiceSMOImpl() {
+        return smallWeChatInnerServiceSMOImpl;
+    }
+
+    public void setSmallWeChatInnerServiceSMOImpl(ISmallWeChatInnerServiceSMO smallWeChatInnerServiceSMOImpl) {
+        this.smallWeChatInnerServiceSMOImpl = smallWeChatInnerServiceSMOImpl;
+    }
+
+    @Override
+    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
+        super.validatePageInfo(reqJson);
+        //Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区信息");
+    }
+
+    @Override
+    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
+
+        SmallWeChatDto smallWeChatDto = BeanConvertUtil.covertBean(reqJson, SmallWeChatDto.class);
+        smallWeChatDto.setObjType(SmallWeChatDto.OBJ_TYPE_COMMUNITY);
+        smallWeChatDto.setObjId(reqJson.getString("communityId"));
+        int count = smallWeChatInnerServiceSMOImpl.querySmallWeChatsCount(smallWeChatDto);
+        List<ApiSmallWeChatDataVo> smallWeChats = null;
+        if (count > 0) {
+            smallWeChats = BeanConvertUtil.covertBeanList(smallWeChatInnerServiceSMOImpl.querySmallWeChats(smallWeChatDto), ApiSmallWeChatDataVo.class);
+            freshSecure(smallWeChats);
+        } else {
+            smallWeChats = new ArrayList<>();
+        }
+        ApiSmallWeChatVo apiSmallWeChatVo = new ApiSmallWeChatVo();
+        apiSmallWeChatVo.setTotal(count);
+        apiSmallWeChatVo.setRecords((int) Math.ceil((double) count / (double) reqJson.getInteger("row")));
+        apiSmallWeChatVo.setSmallWeChats(smallWeChats);
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiSmallWeChatVo), HttpStatus.OK);
+        context.setResponseEntity(responseEntity);
+    }
+
+    private void freshSecure(List<ApiSmallWeChatDataVo> smallWeChats) {
+        for (ApiSmallWeChatDataVo apiSmallWeChatDataVo : smallWeChats) {
+            apiSmallWeChatDataVo.setAppSecret("");
+            apiSmallWeChatDataVo.setPayPassword("");
+            apiSmallWeChatDataVo.setMchId("");
+        }
+    }
+}

+ 5 - 4
service-job/src/main/java/com/java110/job/task/wechat/PublicWeChatPushMessageTemplate.java

@@ -19,6 +19,7 @@ import com.java110.intf.user.IOwnerAppUserInnerServiceSMO;
 import com.java110.job.quartz.TaskSystemQuartz;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.constant.WechatConstant;
+import com.java110.utils.util.DateUtil;
 import com.java110.utils.util.StringUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -161,8 +162,8 @@ public class PublicWeChatPushMessageTemplate extends TaskSystemQuartz {
                     Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(fee.getFeeEndTime());
                     Calendar now = Calendar.getInstance();
                     now.setTime(date);
-                    int year = now.get(Calendar.YEAR);
-                    int month = now.get(Calendar.MONTH);
+//                    int year = now.get(Calendar.YEAR);
+//                    int month = now.get(Calendar.MONTH);
                     Data data = new Data();
                     PropertyFeeTemplateMessage templateMessage = new PropertyFeeTemplateMessage();
                     templateMessage.setTemplate_id(templateId);
@@ -170,8 +171,8 @@ public class PublicWeChatPushMessageTemplate extends TaskSystemQuartz {
                     /*data.setFirst(new Content("物业费缴费提醒"));*/
                     data.setFirst(new Content(fee.getFeeTypeName() + "提醒"));
                     data.setKeyword1(new Content(fee.getPayerObjName()));
-                    data.setKeyword2(new Content(fee.getAmountOwed()));
-                    data.setKeyword3(new Content(year + "年-" + (month + 1) + "月"));
+                    data.setKeyword2(new Content(DateUtil.dateTimeToDate(fee.getFeeEndTime()) + "-" + DateUtil.dateTimeToDate(fee.getDeadlineTime())));
+                    data.setKeyword3(new Content(fee.getBillAmountOwed()));
                     data.setRemark(new Content("请您及时缴费,如有疑问请联系相关物业人员"));
                     if (!StringUtil.isEmpty(oweUrl)) {
                         if (miniprogram == null) {