Skip to content

Commit f2df1bf

Browse files
committed
加入商城根据手机号查询欠费
1 parent a2d2caf commit f2df1bf

8 files changed

Lines changed: 245 additions & 28 deletions

File tree

java110-bean/src/main/java/com/java110/dto/reportFee/ReportOweFeeDto.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ public class ReportOweFeeDto extends PageDto implements Serializable {
2222
private String updateTime;
2323
private String oweId;
2424
private String ownerId;
25+
private String[] ownerIds;
2526
private String feeId;
2627
private String[] feeIds;
2728
private String amountOwed;
@@ -282,4 +283,12 @@ public String[] getFeeIds() {
282283
public void setFeeIds(String[] feeIds) {
283284
this.feeIds = feeIds;
284285
}
286+
287+
public String[] getOwnerIds() {
288+
return ownerIds;
289+
}
290+
291+
public void setOwnerIds(String[] ownerIds) {
292+
this.ownerIds = ownerIds;
293+
}
285294
}

java110-db/src/main/resources/mapper/report/ReportOweFeeServiceDaoImplMapper.xml

Lines changed: 81 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
<!-- 保存欠费统计信息 add by wuxw 2018-07-03 -->
77
<insert id="saveReportOweFeeInfo" parameterType="Map">
88
insert into report_owe_fee(config_name, deadline_time, owner_tel, update_time, owe_id, owner_id, fee_id,
9-
amount_owed, payer_obj_name, owner_name, config_id, fee_name, end_time, community_id,
10-
payer_obj_type, payer_obj_id)
9+
amount_owed, payer_obj_name, owner_name, config_id, fee_name, end_time, community_id,
10+
payer_obj_type, payer_obj_id)
1111
values (#{configName}, #{deadlineTime}, #{ownerTel}, #{updateTime}, #{oweId}, #{ownerId}, #{feeId},
12-
#{amountOwed}, #{payerObjName}, #{ownerName}, #{configId}, #{feeName}, #{endTime}, #{communityId},
13-
#{payerObjType}, #{payerObjId})
12+
#{amountOwed}, #{payerObjName}, #{ownerName}, #{configId}, #{feeName}, #{endTime}, #{communityId},
13+
#{payerObjType}, #{payerObjId})
1414
</insert>
1515

1616
<!-- 查询欠费统计信息 add by wuxw 2018-07-03 -->
@@ -764,10 +764,10 @@
764764
<select id="queryInvalidOweFee" parameterType="Map" resultType="Map">
765765
select t.fee_id feeId
766766
from pay_fee t
767-
inner join pay_fee_config pfc on t.config_id = pfc.config_id
768-
inner join report_owe_fee rof on t.fee_id = rof.fee_id
767+
inner join pay_fee_config pfc on t.config_id = pfc.config_id
768+
inner join report_owe_fee rof on t.fee_id = rof.fee_id
769769
where (t.status_cd = '1' or pfc.status_cd = '1')
770-
and t.community_id = #{communityId}
770+
and t.community_id = #{communityId}
771771
</select>
772772

773773
<update id="deleteInvalidFee" parameterType="Map">
@@ -800,4 +800,78 @@
800800
</foreach>
801801
group by t.payer_obj_id
802802
</select>
803+
804+
<!-- 查询业主欠费信息 add by wuxw 2018-07-03 t.owner_tel,t.owner_tel ownerTel,-->
805+
<select id="queryOwnerOweFee" parameterType="Map" resultType="Map">
806+
select t.config_name configName,t.deadline_time deadlineTime,t.update_time updateTime,t.owe_id,t.owe_id
807+
oweId,t.fee_id,t.fee_id feeId,t.amount_owed,t.amount_owed amountOwed,t.payer_obj_name,t.payer_obj_name
808+
payerObjName,t.config_id,t.config_id configId,t.fee_name,t.fee_name
809+
feeName,t.end_time,t.end_time endTime,t.community_id,t.community_id
810+
communityId,t.payer_obj_type,t.payer_obj_type payerObjType,t.payer_obj_id,t.payer_obj_id payerObjId
811+
from report_owe_fee t
812+
where 1 =1
813+
and t.amount_owed &gt; 0
814+
<if test="configName !=null and configName != ''">
815+
and t.config_name= #{configName}
816+
</if>
817+
<if test="ownerTel !=null and ownerTel != ''">
818+
and t.owner_tel= #{ownerTel}
819+
</if>
820+
821+
<if test="oweId !=null and oweId != ''">
822+
and t.owe_id= #{oweId}
823+
</if>
824+
<if test="ownerId !=null and ownerId != ''">
825+
and t.owner_id= #{ownerId}
826+
</if>
827+
828+
<if test="ownerIds !=null">
829+
and t.owner_id in
830+
<foreach collection="ownerIds" item="item" index="index" open="(" close=")" separator=",">
831+
#{item}
832+
</foreach>
833+
</if>
834+
<if test="feeId !=null and feeId != ''">
835+
and t.fee_id= #{feeId}
836+
</if>
837+
838+
<if test="payerObjName !=null and payerObjName != ''">
839+
and t.payer_obj_name= #{payerObjName}
840+
</if>
841+
<if test="ownerName !=null and ownerName != ''">
842+
and bo.name= #{ownerName}
843+
</if>
844+
<if test="configId !=null and configId != ''">
845+
and t.config_id= #{configId}
846+
</if>
847+
<if test="configIds !=null">
848+
and t.config_id in
849+
<foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
850+
#{item}
851+
</foreach>
852+
</if>
853+
<if test="feeName !=null and feeName != ''">
854+
and t.fee_name= #{feeName}
855+
</if>
856+
857+
<if test="communityId !=null and communityId != ''">
858+
and t.community_id= #{communityId}
859+
</if>
860+
<if test="payerObjType !=null and payerObjType != ''">
861+
and t.payer_obj_type= #{payerObjType}
862+
</if>
863+
<if test="payerObjId !=null and payerObjId != ''">
864+
and t.payer_obj_id= #{payerObjId}
865+
</if>
866+
<if test="payerObjIds !=null">
867+
and t.payer_obj_id in
868+
<foreach collection="payerObjIds" item="item" index="index" open="(" close=")" separator=",">
869+
#{item}
870+
</foreach>
871+
</if>
872+
order by t.create_time desc
873+
<if test="page != -1 and page != null ">
874+
limit #{page}, #{row}
875+
</if>
876+
</select>
803877
</mapper>

java110-interface/src/main/java/com/java110/intf/report/IReportOweFeeInnerServiceSMO.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,4 +105,7 @@ public interface IReportOweFeeInnerServiceSMO {
105105

106106
@RequestMapping(value = "/queryOweFeesByRoomIds", method = RequestMethod.POST)
107107
List<Map> queryOweFeesByRoomIds(@RequestBody Map info);
108+
109+
@RequestMapping(value = "/queryOwnerOweFee", method = RequestMethod.POST)
110+
List<ReportOweFeeDto> queryOwnerOweFee(@RequestBody ReportOweFeeDto reportOweFeeDto);
108111
}
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
package com.java110.common.bmo.mall.impl;
2+
3+
import com.alibaba.fastjson.JSONObject;
4+
import com.java110.common.bmo.mall.IMallCommonApiBmo;
5+
import com.java110.core.context.ICmdDataFlowContext;
6+
import com.java110.core.log.LoggerFactory;
7+
import com.java110.core.smo.IComputeFeeSMO;
8+
import com.java110.dto.fee.FeeDto;
9+
import com.java110.dto.owner.OwnerDto;
10+
import com.java110.dto.reportFee.ReportOweFeeDto;
11+
import com.java110.intf.fee.IFeeInnerServiceSMO;
12+
import com.java110.intf.report.IReportOweFeeInnerServiceSMO;
13+
import com.java110.intf.user.IOwnerInnerServiceSMO;
14+
import com.java110.utils.exception.CmdException;
15+
import com.java110.utils.util.Assert;
16+
import com.java110.utils.util.ListUtil;
17+
import com.java110.utils.util.MoneyUtil;
18+
import com.java110.utils.util.StringUtil;
19+
import com.java110.vo.ResultVo;
20+
import org.slf4j.Logger;
21+
import org.springframework.beans.factory.annotation.Autowired;
22+
import org.springframework.stereotype.Service;
23+
24+
import java.util.ArrayList;
25+
import java.util.List;
26+
27+
/**
28+
* 查询业主费用
29+
*/
30+
@Service("getOwnerFeeImpl")
31+
public class GetOwnerFeeImpl implements IMallCommonApiBmo {
32+
private final static Logger logger = LoggerFactory.getLogger(GetOwnerFeeImpl.class);
33+
34+
@Autowired
35+
private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl;
36+
37+
@Autowired
38+
private IReportOweFeeInnerServiceSMO reportOweFeeInnerServiceSMOImpl;
39+
40+
@Autowired
41+
private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
42+
43+
@Autowired
44+
private IComputeFeeSMO computeFeeSMOImpl;
45+
46+
47+
@Override
48+
public void validate(ICmdDataFlowContext context, JSONObject reqJson) {
49+
Assert.hasKeyAndValue(reqJson, "tel", "未包含手机号");
50+
}
51+
52+
@Override
53+
public void doCmd(ICmdDataFlowContext context, JSONObject reqJson) {
54+
OwnerDto ownerDto = new OwnerDto();
55+
ownerDto.setLink(reqJson.getString("tel"));
56+
List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
57+
if (ListUtil.isNull(ownerDtos)) {
58+
throw new CmdException("业主不存在");
59+
}
60+
61+
List<String> ownerIds = new ArrayList<>();
62+
for (OwnerDto tmpOwnerDto : ownerDtos) {
63+
ownerIds.add(tmpOwnerDto.getOwnerId());
64+
}
65+
66+
ReportOweFeeDto reportOweFeeDto = new ReportOweFeeDto();
67+
reportOweFeeDto.setOwnerIds(ownerIds.toArray(new String[ownerIds.size()]));
68+
List<ReportOweFeeDto> reportOweFeeDtos = reportOweFeeInnerServiceSMOImpl.queryOwnerOweFee(reportOweFeeDto);
69+
if (ListUtil.isNull(reportOweFeeDtos)) {
70+
throw new CmdException("未包含费用");
71+
}
72+
// todo 这里取一个房屋欠费即可
73+
String roomId = reportOweFeeDtos.get(0).getPayerObjId();
74+
String communityId = reportOweFeeDtos.get(0).getCommunityId();
75+
76+
FeeDto feeDto = new FeeDto();
77+
feeDto.setState(FeeDto.STATE_DOING);
78+
feeDto.setPayerObjId(roomId);
79+
feeDto.setCommunityId(communityId);
80+
List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
81+
if (ListUtil.isNull(feeDtos)) {
82+
throw new CmdException("未包含费用");
83+
}
84+
List<FeeDto> tmpFeeDtos = new ArrayList<>();
85+
86+
for (FeeDto tmpFeeDto : feeDtos) {
87+
try {
88+
computeFeeSMOImpl.computeEveryOweFee(tmpFeeDto);//计算欠费金额
89+
//如果金额为0 就排除
90+
tmpFeeDto.setFeeTotalPrice(
91+
MoneyUtil.computePriceScale(
92+
tmpFeeDto.getFeeTotalPrice(),
93+
tmpFeeDto.getScale(),
94+
Integer.parseInt(tmpFeeDto.getDecimalPlace())
95+
)
96+
);
97+
98+
if (tmpFeeDto.getFeeTotalPrice() != 0) {
99+
tmpFeeDtos.add(tmpFeeDto);
100+
}
101+
} catch (Exception e) {
102+
logger.error("可能费用资料有问题导致算费失败", e);
103+
}
104+
}
105+
106+
context.setResponseEntity(ResultVo.createResponseEntity(tmpFeeDtos));
107+
}
108+
}

service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@ public ResponseEntity<String> query(FeeDto feeDto) {
7878

7979
//查询费用信息arrearsEndTime
8080
// todo 这里考虑预付期的费用 所以查询全量再用费用
81-
//feeDto.setArrearsEndTime(DateUtil.getCurrentDate());
8281
feeDto.setState(FeeDto.STATE_DOING);
8382
List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
8483

service-report/src/main/java/com/java110/report/dao/IReportOweFeeServiceDao.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,4 +92,6 @@ public interface IReportOweFeeServiceDao {
9292
List<Map> queryOweFeesByOwnerIds(Map info);
9393

9494
List<Map> queryOweFeesByRoomIds(Map info);
95+
96+
List<Map> queryOwnerOweFee(Map info);
9597
}

service-report/src/main/java/com/java110/report/dao/impl/ReportOweFeeServiceDaoImpl.java

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@ public void saveReportOweFeeInfo(Map info) throws DAOException {
5151
public List<Map> getReportOweFeeInfo(Map info) throws DAOException {
5252
logger.debug("查询欠费统计信息 入参 info : {}", info);
5353

54-
List<Map> businessReportOweFeeInfos = sqlSessionTemplate.selectList("reportOweFeeServiceDaoImpl.getReportOweFeeInfo", info);
54+
List<Map> infos = sqlSessionTemplate.selectList("reportOweFeeServiceDaoImpl.getReportOweFeeInfo", info);
5555

56-
return businessReportOweFeeInfos;
56+
return infos;
5757
}
5858

5959

@@ -100,21 +100,21 @@ public int deleteReportOweFeeInfo(Map info) throws DAOException {
100100
public int queryReportOweFeesCount(Map info) {
101101
logger.debug("查询欠费统计数据 入参 info : {}", info);
102102

103-
List<Map> businessReportOweFeeInfos = sqlSessionTemplate.selectList("reportOweFeeServiceDaoImpl.queryReportOweFeesCount", info);
104-
if (businessReportOweFeeInfos.size() < 1) {
103+
List<Map> infos = sqlSessionTemplate.selectList("reportOweFeeServiceDaoImpl.queryReportOweFeesCount", info);
104+
if (infos.size() < 1) {
105105
return 0;
106106
}
107107

108-
return Integer.parseInt(businessReportOweFeeInfos.get(0).get("count").toString());
108+
return Integer.parseInt(infos.get(0).get("count").toString());
109109
}
110110

111111
@Override
112112
public List<Map> queryReportAllOweFees(Map info) {
113113
logger.debug("queryReportAllOweFees 入参 info : {}", info);
114114

115-
List<Map> businessReportOweFeeInfos = sqlSessionTemplate.selectList("reportOweFeeServiceDaoImpl.queryReportAllOweFees", info);
115+
List<Map> infos = sqlSessionTemplate.selectList("reportOweFeeServiceDaoImpl.queryReportAllOweFees", info);
116116

117-
return businessReportOweFeeInfos;
117+
return infos;
118118
}
119119

120120
@Override
@@ -147,17 +147,17 @@ public List<Map> queryReportAllOweFeesByContract(Map info) {
147147

148148
@Override
149149
public double computeReportOweFeeTotalAmount(Map info) {
150-
List<Map> businessReportOweFeeInfos = sqlSessionTemplate.selectList("reportOweFeeServiceDaoImpl.computeReportOweFeeTotalAmount", info);
151-
if (businessReportOweFeeInfos.size() < 1) {
150+
List<Map> infos = sqlSessionTemplate.selectList("reportOweFeeServiceDaoImpl.computeReportOweFeeTotalAmount", info);
151+
if (infos.size() < 1) {
152152
return 0;
153153
}
154-
return Double.parseDouble(businessReportOweFeeInfos.get(0).get("total").toString());
154+
return Double.parseDouble(infos.get(0).get("total").toString());
155155
}
156156

157157
@Override
158158
public List<Map> computeReportOweFeeItemAmount(Map info) {
159-
List<Map> businessReportOweFeeInfos = sqlSessionTemplate.selectList("reportOweFeeServiceDaoImpl.computeReportOweFeeItemAmount", info);
160-
return businessReportOweFeeInfos;
159+
List<Map> infos = sqlSessionTemplate.selectList("reportOweFeeServiceDaoImpl.computeReportOweFeeItemAmount", info);
160+
return infos;
161161
}
162162

163163
@Override
@@ -171,20 +171,26 @@ public int deleteInvalidFee(Map info) {
171171

172172
@Override
173173
public List<Map> queryInvalidOweFee(Map info) {
174-
List<Map> businessReportOweFeeInfos = sqlSessionTemplate.selectList("reportOweFeeServiceDaoImpl.queryInvalidOweFee", info);
175-
return businessReportOweFeeInfos;
174+
List<Map> infos = sqlSessionTemplate.selectList("reportOweFeeServiceDaoImpl.queryInvalidOweFee", info);
175+
return infos;
176176
}
177177

178178
@Override
179179
public List<Map> queryOweFeesByOwnerIds(Map info) {
180-
List<Map> businessReportOweFeeInfos = sqlSessionTemplate.selectList("reportOweFeeServiceDaoImpl.queryOweFeesByOwnerIds", info);
181-
return businessReportOweFeeInfos;
180+
List<Map> infos = sqlSessionTemplate.selectList("reportOweFeeServiceDaoImpl.queryOweFeesByOwnerIds", info);
181+
return infos;
182182
}
183183

184184
@Override
185185
public List<Map> queryOweFeesByRoomIds(Map info) {
186-
List<Map> businessReportOweFeeInfos = sqlSessionTemplate.selectList("reportOweFeeServiceDaoImpl.queryOweFeesByRoomIds", info);
187-
return businessReportOweFeeInfos;
186+
List<Map> infos = sqlSessionTemplate.selectList("reportOweFeeServiceDaoImpl.queryOweFeesByRoomIds", info);
187+
return infos;
188+
}
189+
190+
@Override
191+
public List<Map> queryOwnerOweFee(Map info) {
192+
List<Map> infos = sqlSessionTemplate.selectList("reportOweFeeServiceDaoImpl.queryOwnerOweFee", info);
193+
return infos;
188194
}
189195

190196

service-report/src/main/java/com/java110/report/smo/impl/ReportOweFeeInnerServiceSMOImpl.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public int deleteReportOweFee(@RequestBody ReportOweFeePo reportOweFeePo) {
5959
* @param reportOweFeeDto 数据对象分享
6060
* @return 小区下的小区楼记录数
6161
*/
62-
public int deleteInvalidFee(@RequestBody Map reportOweFeeDto){
62+
public int deleteInvalidFee(@RequestBody Map reportOweFeeDto) {
6363
return reportOweFeeServiceDaoImpl.deleteInvalidFee(reportOweFeeDto);
6464
}
6565

@@ -73,6 +73,23 @@ public List<Map> queryOweFeesByRoomIds(@RequestBody Map info) {
7373
return reportOweFeeServiceDaoImpl.queryOweFeesByRoomIds(info);
7474
}
7575

76+
@Override
77+
public List<ReportOweFeeDto> queryOwnerOweFee(@RequestBody ReportOweFeeDto reportOweFeeDto) {
78+
//校验是否传了 分页信息
79+
80+
int page = reportOweFeeDto.getPage();
81+
82+
if (page != PageDto.DEFAULT_PAGE) {
83+
reportOweFeeDto.setPage((page - 1) * reportOweFeeDto.getRow());
84+
}
85+
86+
List<ReportOweFeeDto> reportOweFees = BeanConvertUtil.covertBeanList(
87+
reportOweFeeServiceDaoImpl.queryOwnerOweFee(BeanConvertUtil.beanCovertMap(reportOweFeeDto)),
88+
ReportOweFeeDto.class);
89+
90+
return reportOweFees;
91+
}
92+
7693
@Override
7794
public List<ReportOweFeeDto> queryReportOweFees(@RequestBody ReportOweFeeDto reportOweFeeDto) {
7895

@@ -138,7 +155,6 @@ public List<ReportOweFeeDto> queryReportAllOweFeesByContract(@RequestBody Report
138155
}
139156

140157

141-
142158
@Override
143159
public double computeReportOweFeeTotalAmount(@RequestBody ReportOweFeeDto reportOweFeeDto) {
144160
return reportOweFeeServiceDaoImpl.computeReportOweFeeTotalAmount(BeanConvertUtil.beanCovertMap(reportOweFeeDto));

0 commit comments

Comments
 (0)