Skip to content

Commit 63466d8

Browse files
吴学文吴学文
authored andcommitted
首页功能未开发完成
1 parent e1715da commit 63466d8

7 files changed

Lines changed: 423 additions & 8 deletions

File tree

Lines changed: 205 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,205 @@
1+
package com.java110.api.listener.index;
2+
3+
4+
import com.alibaba.fastjson.JSONObject;
5+
import com.java110.api.listener.AbstractServiceApiDataFlowListener;
6+
import com.java110.common.constant.ResponseConstant;
7+
import com.java110.common.constant.ServiceCodeConstant;
8+
import com.java110.common.exception.ListenerExecuteException;
9+
import com.java110.common.util.Assert;
10+
import com.java110.common.util.BeanConvertUtil;
11+
import com.java110.core.annotation.Java110Listener;
12+
import com.java110.core.context.DataFlowContext;
13+
import com.java110.core.smo.fee.IFeeInnerServiceSMO;
14+
import com.java110.core.smo.floor.IFloorInnerServiceSMO;
15+
import com.java110.core.smo.owner.IOwnerInnerServiceSMO;
16+
import com.java110.core.smo.owner.IOwnerRoomRelInnerServiceSMO;
17+
import com.java110.core.smo.room.IRoomInnerServiceSMO;
18+
import com.java110.core.smo.unit.IUnitInnerServiceSMO;
19+
import com.java110.dto.FeeDto;
20+
import com.java110.dto.OwnerDto;
21+
import com.java110.dto.OwnerRoomRelDto;
22+
import com.java110.dto.RoomDto;
23+
import com.java110.event.service.api.ServiceDataFlowEvent;
24+
import com.java110.vo.api.ApiFeeVo;
25+
import org.springframework.beans.factory.annotation.Autowired;
26+
import org.springframework.http.HttpMethod;
27+
import org.springframework.http.HttpStatus;
28+
import org.springframework.http.ResponseEntity;
29+
30+
import java.util.List;
31+
32+
/**
33+
* @ClassName FloorDto
34+
* @Description 查询首页统计信息
35+
* @Author wuxw
36+
* @Date 2019/4/24 8:52
37+
* @Version 1.0
38+
* add by wuxw 2019/4/24
39+
**/
40+
@Java110Listener("queryIndexStatistic")
41+
public class QueryIndexStatisticListener extends AbstractServiceApiDataFlowListener {
42+
43+
@Autowired
44+
private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
45+
46+
@Autowired
47+
private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
48+
49+
@Autowired
50+
private IUnitInnerServiceSMO unitInnerServiceSMOImpl;
51+
52+
@Autowired
53+
private IFloorInnerServiceSMO floorInnerServiceSMOImpl;
54+
55+
@Autowired
56+
private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl;
57+
58+
@Autowired
59+
private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl;
60+
61+
@Override
62+
public String getServiceCode() {
63+
return ServiceCodeConstant.SERVICE_CODE_QUERY_INDEX_STATISTIC;
64+
}
65+
66+
@Override
67+
public HttpMethod getHttpMethod() {
68+
return HttpMethod.GET;
69+
}
70+
71+
/**
72+
* 业务层数据处理
73+
*
74+
* @param event 时间对象
75+
*/
76+
@Override
77+
public void soService(ServiceDataFlowEvent event) {
78+
DataFlowContext dataFlowContext = event.getDataFlowContext();
79+
//获取请求数据
80+
JSONObject reqJson = dataFlowContext.getReqJson();
81+
validateFeeData(reqJson);
82+
FeeDto feeDtoParamIn = BeanConvertUtil.covertBean(reqJson, FeeDto.class);
83+
feeDtoParamIn.setPayerObjId(reqJson.getString("roomId"));
84+
85+
List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDtoParamIn);
86+
ResponseEntity<String> responseEntity = null;
87+
if (feeDtos == null || feeDtos.size() == 0) {
88+
responseEntity = new ResponseEntity<String>("{}", HttpStatus.OK);
89+
}
90+
91+
FeeDto feeDto = feeDtos.get(0);
92+
93+
ApiFeeVo apiFeeVo = BeanConvertUtil.covertBean(feeDto, ApiFeeVo.class);
94+
//apiFeeVo.setStartTime(DateUtil.getFormatTimeString(feeDto.getStartTime(), DateUtil.DATE_FORMATE_STRING_A));
95+
//apiFeeVo.setEndTime(DateUtil.getFormatTimeString(feeDto.getEndTime(), DateUtil.DATE_FORMATE_STRING_A));
96+
97+
//查询 房屋信息
98+
RoomDto roomDto = new RoomDto();
99+
roomDto.setRoomId(feeDto.getPayerObjId());
100+
roomDto.setCommunityId(feeDto.getCommunityId());
101+
List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
102+
103+
if (roomDtos == null || roomDtos.size() != 1) {
104+
throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "数据错误,未找到房屋信息 roomId" + feeDto.getPayerObjId());
105+
}
106+
107+
roomDto = roomDtos.get(0);
108+
/*apiFeeVo.setRoomId(roomDto.getRoomId());
109+
apiFeeVo.setRoomNum(roomDto.getRoomNum());*/
110+
apiFeeVo = BeanConvertUtil.covertBean(roomDto,apiFeeVo);
111+
112+
// 业主信息
113+
OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
114+
ownerRoomRelDto.setRoomId(roomDto.getRoomId());
115+
List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
116+
if (ownerRoomRelDtos == null || ownerRoomRelDtos.size() != 1) {
117+
throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "数据错误,未找到房屋和业主关系信息 roomId=" + roomDto.getRoomId());
118+
}
119+
OwnerDto ownerDto = new OwnerDto();
120+
ownerDto.setOwnerId(ownerRoomRelDtos.get(0).getOwnerId());
121+
ownerDto.setCommunityId(feeDto.getCommunityId());
122+
List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
123+
124+
if (ownerDtos == null || ownerDtos.size() != 1) {
125+
throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "数据错误,未找到业主信息 ownerId=" + ownerRoomRelDtos.get(0).getOwnerId());
126+
}
127+
ownerDto = ownerDtos.get(0);
128+
apiFeeVo.setOwnerId(ownerDto.getOwnerId());
129+
apiFeeVo.setOwnerName(ownerDto.getName());
130+
apiFeeVo.setLink(ownerDto.getLink());
131+
132+
responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiFeeVo), HttpStatus.OK);
133+
134+
135+
dataFlowContext.setResponseEntity(responseEntity);
136+
}
137+
138+
/**
139+
* 校验查询条件是否满足条件
140+
*
141+
* @param reqJson 包含查询条件
142+
*/
143+
private void validateFeeData(JSONObject reqJson) {
144+
Assert.jsonObjectHaveKey(reqJson, "communityId", "请求中未包含communityId信息");
145+
Assert.jsonObjectHaveKey(reqJson, "feeTypeCd", "请求中未包含feeTypeCd信息");
146+
Assert.jsonObjectHaveKey(reqJson, "roomId", "请求中未包含roomId信息");
147+
148+
149+
}
150+
151+
@Override
152+
public int getOrder() {
153+
return super.DEFAULT_ORDER;
154+
}
155+
156+
public IFeeInnerServiceSMO getFeeInnerServiceSMOImpl() {
157+
return feeInnerServiceSMOImpl;
158+
}
159+
160+
public void setFeeInnerServiceSMOImpl(IFeeInnerServiceSMO feeInnerServiceSMOImpl) {
161+
this.feeInnerServiceSMOImpl = feeInnerServiceSMOImpl;
162+
}
163+
164+
165+
public IRoomInnerServiceSMO getRoomInnerServiceSMOImpl() {
166+
return roomInnerServiceSMOImpl;
167+
}
168+
169+
public void setRoomInnerServiceSMOImpl(IRoomInnerServiceSMO roomInnerServiceSMOImpl) {
170+
this.roomInnerServiceSMOImpl = roomInnerServiceSMOImpl;
171+
}
172+
173+
174+
public IFloorInnerServiceSMO getFloorInnerServiceSMOImpl() {
175+
return floorInnerServiceSMOImpl;
176+
}
177+
178+
public void setFloorInnerServiceSMOImpl(IFloorInnerServiceSMO floorInnerServiceSMOImpl) {
179+
this.floorInnerServiceSMOImpl = floorInnerServiceSMOImpl;
180+
}
181+
182+
public IUnitInnerServiceSMO getUnitInnerServiceSMOImpl() {
183+
return unitInnerServiceSMOImpl;
184+
}
185+
186+
public void setUnitInnerServiceSMOImpl(IUnitInnerServiceSMO unitInnerServiceSMOImpl) {
187+
this.unitInnerServiceSMOImpl = unitInnerServiceSMOImpl;
188+
}
189+
190+
public IOwnerInnerServiceSMO getOwnerInnerServiceSMOImpl() {
191+
return ownerInnerServiceSMOImpl;
192+
}
193+
194+
public void setOwnerInnerServiceSMOImpl(IOwnerInnerServiceSMO ownerInnerServiceSMOImpl) {
195+
this.ownerInnerServiceSMOImpl = ownerInnerServiceSMOImpl;
196+
}
197+
198+
public IOwnerRoomRelInnerServiceSMO getOwnerRoomRelInnerServiceSMOImpl() {
199+
return ownerRoomRelInnerServiceSMOImpl;
200+
}
201+
202+
public void setOwnerRoomRelInnerServiceSMOImpl(IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl) {
203+
this.ownerRoomRelInnerServiceSMOImpl = ownerRoomRelInnerServiceSMOImpl;
204+
}
205+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.java110.web.components.index;
2+
3+
4+
import com.java110.core.context.IPageData;
5+
import com.java110.web.smo.IIndexServiceSMO;
6+
import org.springframework.beans.factory.annotation.Autowired;
7+
import org.springframework.http.ResponseEntity;
8+
import org.springframework.stereotype.Component;
9+
10+
@Component("indexContext")
11+
public class IndexContextComponent {
12+
13+
14+
@Autowired
15+
private IIndexServiceSMO indexServiceSMOImpl;
16+
/**
17+
* 查询数据
18+
*
19+
* @param pd 页面数据封装
20+
* @return 查询数据 ResponseEntity对象
21+
*/
22+
public ResponseEntity<String> getData(IPageData pd) {
23+
24+
return indexServiceSMOImpl.getStatisticInformation(pd);
25+
}
26+
27+
28+
public IIndexServiceSMO getIndexServiceSMOImpl() {
29+
return indexServiceSMOImpl;
30+
}
31+
32+
public void setIndexServiceSMOImpl(IIndexServiceSMO indexServiceSMOImpl) {
33+
this.indexServiceSMOImpl = indexServiceSMOImpl;
34+
}
35+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.java110.web.smo;
2+
3+
import com.java110.core.context.IPageData;
4+
import org.springframework.http.ResponseEntity;
5+
6+
/**
7+
* 首页服务类
8+
*/
9+
public interface IIndexServiceSMO {
10+
11+
/**
12+
* 获取统计信息
13+
* @param pd 页面请求数据
14+
* @return ResponseEntity 对象
15+
*/
16+
ResponseEntity<String> getStatisticInformation(IPageData pd);
17+
}
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
package com.java110.web.smo.impl;
2+
3+
import com.alibaba.fastjson.JSONObject;
4+
import com.java110.common.constant.ServiceConstant;
5+
import com.java110.common.util.Assert;
6+
import com.java110.core.context.IPageData;
7+
import com.java110.web.core.BaseComponentSMO;
8+
import com.java110.web.smo.IIndexServiceSMO;
9+
import org.slf4j.Logger;
10+
import org.slf4j.LoggerFactory;
11+
import org.springframework.beans.factory.annotation.Autowired;
12+
import org.springframework.http.HttpMethod;
13+
import org.springframework.http.HttpStatus;
14+
import org.springframework.http.ResponseEntity;
15+
import org.springframework.stereotype.Service;
16+
import org.springframework.web.client.RestTemplate;
17+
18+
19+
/**
20+
* 首页服务类
21+
*/
22+
@Service("indexServiceSMOImpl")
23+
public class IndexServiceSMOImpl extends BaseComponentSMO implements IIndexServiceSMO {
24+
25+
26+
private static Logger logger = LoggerFactory.getLogger(IndexServiceSMOImpl.class);
27+
28+
29+
@Autowired
30+
private RestTemplate restTemplate;
31+
32+
@Override
33+
public ResponseEntity<String> getStatisticInformation(IPageData pd) {
34+
validateLoadStatisticInformation(pd);
35+
36+
37+
JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
38+
String communityId = paramIn.getString("communityId");
39+
ResponseEntity responseEntity = super.getStoreInfo(pd, restTemplate);
40+
if (responseEntity.getStatusCode() != HttpStatus.OK) {
41+
return responseEntity;
42+
}
43+
Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeId", "根据用户ID查询商户ID失败,未包含storeId节点");
44+
Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeTypeCd", "根据用户ID查询商户类型失败,未包含storeTypeCd节点");
45+
46+
String storeId = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeId");
47+
String storeTypeCd = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd");
48+
//数据校验是否 商户是否入驻该小区
49+
super.checkStoreEnterCommunity(pd, storeId, storeTypeCd, communityId, restTemplate);
50+
responseEntity = this.callCenterService(restTemplate, pd, "",
51+
ServiceConstant.SERVICE_API_URL + "/api/index.queryIndexStatistic" + mapToUrlParam(paramIn),
52+
HttpMethod.GET);
53+
54+
return responseEntity;
55+
}
56+
57+
/**
58+
* 小区房屋查询数据校验
59+
*
60+
* @param pd 页面数据封装对象
61+
*/
62+
private void validateLoadStatisticInformation(IPageData pd) {
63+
Assert.jsonObjectHaveKey(pd.getReqData(), "communityId", "请求报文中未包含communityId节点");
64+
65+
JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
66+
Assert.hasLength(paramIn.getString("communityId"), "小区ID不能为空");
67+
}
68+
69+
70+
public RestTemplate getRestTemplate() {
71+
return restTemplate;
72+
}
73+
74+
public void setRestTemplate(RestTemplate restTemplate) {
75+
this.restTemplate = restTemplate;
76+
}
77+
}

WebService/src/main/resources/components/index-context/indexContext.js

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@
3232
}
3333

3434
//发送get请求
35-
vc.http.get('listOwner',
36-
'list',
35+
vc.http.get('indexContext',
36+
'getData',
3737
param,
3838
function(json,res){
3939
var listOwnerData =JSON.parse(json);
@@ -42,10 +42,7 @@
4242
vc.component.listOwnerInfo.records = listOwnerData.records;
4343
vc.component.listOwnerInfo.owners = listOwnerData.owners;
4444

45-
vc.emit('pagination','init',{
46-
total:vc.component.listOwnerInfo.records,
47-
currentPage:_page
48-
});
45+
4946
},function(errInfo,error){
5047
console.log('请求失败处理');
5148
}

0 commit comments

Comments
 (0)