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

加入小区广告图片查询 供 小程序使用

wuxw лет назад: 6
Родитель
Сommit
579281ac0e

+ 139 - 0
Api/src/main/java/com/java110/api/listener/advert/ListAdvertPhotoListener.java

@@ -0,0 +1,139 @@
+package com.java110.api.listener.advert;
+
+import com.alibaba.fastjson.JSONArray;
+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.smo.advert.IAdvertInnerServiceSMO;
+import com.java110.core.smo.advert.IAdvertItemInnerServiceSMO;
+import com.java110.dto.advert.AdvertDto;
+import com.java110.dto.advert.AdvertItemDto;
+import com.java110.event.service.api.ServiceDataFlowEvent;
+import com.java110.utils.constant.ServiceCodeAdvertConstant;
+import com.java110.utils.util.Assert;
+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.List;
+
+
+/**
+ * 查询广告信息
+ */
+@Java110Listener("listAdvertPhotoListener")
+public class ListAdvertPhotoListener extends AbstractServiceApiListener {
+
+    @Autowired
+    private IAdvertInnerServiceSMO advertInnerServiceSMOImpl;
+
+    @Autowired
+    private IAdvertItemInnerServiceSMO advertItemInnerServiceSMOImpl;
+
+
+
+    @Override
+    public String getServiceCode() {
+        return ServiceCodeAdvertConstant.LIST_ADVERT_PHOTO;
+    }
+
+    @Override
+    public HttpMethod getHttpMethod() {
+        return HttpMethod.GET;
+    }
+
+
+    @Override
+    public int getOrder() {
+        return DEFAULT_ORDER;
+    }
+
+
+    public IAdvertInnerServiceSMO getAdvertInnerServiceSMOImpl() {
+        return advertInnerServiceSMOImpl;
+    }
+
+    public void setAdvertInnerServiceSMOImpl(IAdvertInnerServiceSMO advertInnerServiceSMOImpl) {
+        this.advertInnerServiceSMOImpl = advertInnerServiceSMOImpl;
+    }
+
+    @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) {
+
+        ResponseEntity<String> responseEntity = null;
+
+
+        JSONArray advertPhoto = new JSONArray();
+
+
+        //如果是大门 则只获取小区的广告
+
+        getCommunityAdvert(reqJson.getString("communityId"), advertPhoto);
+
+        responseEntity = new ResponseEntity<String>(advertPhoto.toJSONString(), HttpStatus.OK);
+
+        context.setResponseEntity(responseEntity);
+
+    }
+
+    private boolean getCommunityAdvert(String communityId, JSONArray advertPhotoAndVideos) {
+        AdvertDto advertDto = new AdvertDto();
+        advertDto.setCommunityId(communityId);
+        advertDto.setLocationObjId(communityId);
+        List<AdvertDto> advertDtos = advertInnerServiceSMOImpl.queryAdverts(advertDto);
+
+        if (advertDtos != null && advertDtos.size() != 0) {
+            this.getAdvertItem(advertDtos, advertPhotoAndVideos);
+            return true;
+        }
+
+        return false;
+    }
+
+    /**
+     * 查询广告照片
+     *
+     * @param advertDtos
+     * @param advertPhotoAndVideos
+     */
+    private void getAdvertItem(List<AdvertDto> advertDtos, JSONArray advertPhotoAndVideos) {
+        JSONObject photoAndVideo = null;
+
+        for (AdvertDto advertDto : advertDtos) {
+
+            AdvertItemDto advertItemDto = new AdvertItemDto();
+            advertItemDto.setAdvertId(advertDto.getAdvertId());
+            advertItemDto.setCommunityId(advertDto.getCommunityId());
+            List<AdvertItemDto> advertItemDtos = advertItemInnerServiceSMOImpl.queryAdvertItems(advertItemDto);
+
+            for (AdvertItemDto tmpAdvertItemDto : advertItemDtos) {
+                //照片
+                if ("8888".equals(tmpAdvertItemDto.getItemTypeCd())) {
+                    photoAndVideo = new JSONObject();
+                    photoAndVideo.put("suffix", "JPEG");
+                    photoAndVideo.put("url", "/callComponent/download/getFile/file?fileId=" + tmpAdvertItemDto.getUrl() + "&communityId=" + advertDto.getCommunityId());
+                    photoAndVideo.put("seq", tmpAdvertItemDto.getSeq());
+                    advertPhotoAndVideos.add(photoAndVideo);
+                }
+            }
+        }
+
+    }
+
+    public IAdvertItemInnerServiceSMO getAdvertItemInnerServiceSMOImpl() {
+        return advertItemInnerServiceSMOImpl;
+    }
+
+    public void setAdvertItemInnerServiceSMOImpl(IAdvertItemInnerServiceSMO advertItemInnerServiceSMOImpl) {
+        this.advertItemInnerServiceSMOImpl = advertItemInnerServiceSMOImpl;
+    }
+
+}

+ 2 - 0
java110-utils/src/main/java/com/java110/utils/constant/ServiceCodeAdvertConstant.java

@@ -29,6 +29,8 @@ public class ServiceCodeAdvertConstant {
 
     public static final String LIST_ADVERT_PHOTO_VEDIOS = "advert.listAdvertPhotoAndVedios";
 
+    public static final String LIST_ADVERT_PHOTO = "advert.listAdvertPhoto";
+
     /**
      * 查询广告 图片视频
      */