java110
2021-05-15 e6b3de184bb4b3299129ff39aae27db71ed9f078
欠费统计功能
3个文件已修改
16个文件已添加
1163 ■■■■■ 已修改文件
java110-bean/src/main/java/com/java110/dto/reportOweFee/ReportOweFeeDto.java 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/po/reportOweFee/ReportOweFeePo.java 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-core/src/main/java/com/java110/core/factory/AuthenticationFactory.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/report/ReportOweFeeServiceDaoImplMapper.xml 205 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-generator/src/main/resources/newBack/template_1.json 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-interface/src/main/java/com/java110/intf/report/IReportOweFeeInnerServiceSMO.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-job/src/main/java/com/java110/job/task/fee/GenerateOweFeeTemplate.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-report/src/main/java/com/java110/report/api/ReportOweFeeApi.java 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-report/src/main/java/com/java110/report/bmo/reportOweFee/IDeleteReportOweFeeBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-report/src/main/java/com/java110/report/bmo/reportOweFee/IGetReportOweFeeBMO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-report/src/main/java/com/java110/report/bmo/reportOweFee/ISaveReportOweFeeBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-report/src/main/java/com/java110/report/bmo/reportOweFee/IUpdateReportOweFeeBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-report/src/main/java/com/java110/report/bmo/reportOweFee/impl/DeleteReportOweFeeBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-report/src/main/java/com/java110/report/bmo/reportOweFee/impl/GetReportOweFeeBMOImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-report/src/main/java/com/java110/report/bmo/reportOweFee/impl/SaveReportOweFeeBMOImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-report/src/main/java/com/java110/report/bmo/reportOweFee/impl/UpdateReportOweFeeBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-report/src/main/java/com/java110/report/dao/IReportOweFeeServiceDao.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-report/src/main/java/com/java110/report/dao/impl/ReportOweFeeServiceDaoImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-report/src/main/java/com/java110/report/smo/impl/ReportOweFeeInnerServiceSMOImpl.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/reportOweFee/ReportOweFeeDto.java
New file
@@ -0,0 +1,153 @@
package com.java110.dto.reportOweFee;
import com.java110.dto.PageDto;
import java.io.Serializable;
import java.util.Date;
/**
 * @ClassName FloorDto
 * @Description 欠费统计数据层封装
 * @Author wuxw
 * @Date 2019/4/24 8:52
 * @Version 1.0
 * add by wuxw 2019/4/24
 **/
public class ReportOweFeeDto extends PageDto implements Serializable {
    private String configName;
private String deadlineTime;
private String ownerTel;
private String updateTime;
private String oweId;
private String ownerId;
private String feeId;
private String amountOwed;
private String payerObjName;
private String ownerName;
private String configId;
private String feeName;
private String endTime;
private String communityId;
private String payerObjType;
private String payerObjId;
    private Date createTime;
    private String statusCd = "0";
    public String getConfigName() {
        return configName;
    }
public void setConfigName(String configName) {
        this.configName = configName;
    }
public String getDeadlineTime() {
        return deadlineTime;
    }
public void setDeadlineTime(String deadlineTime) {
        this.deadlineTime = deadlineTime;
    }
public String getOwnerTel() {
        return ownerTel;
    }
public void setOwnerTel(String ownerTel) {
        this.ownerTel = ownerTel;
    }
public String getUpdateTime() {
        return updateTime;
    }
public void setUpdateTime(String updateTime) {
        this.updateTime = updateTime;
    }
public String getOweId() {
        return oweId;
    }
public void setOweId(String oweId) {
        this.oweId = oweId;
    }
public String getOwnerId() {
        return ownerId;
    }
public void setOwnerId(String ownerId) {
        this.ownerId = ownerId;
    }
public String getFeeId() {
        return feeId;
    }
public void setFeeId(String feeId) {
        this.feeId = feeId;
    }
public String getAmountOwed() {
        return amountOwed;
    }
public void setAmountOwed(String amountOwed) {
        this.amountOwed = amountOwed;
    }
public String getPayerObjName() {
        return payerObjName;
    }
public void setPayerObjName(String payerObjName) {
        this.payerObjName = payerObjName;
    }
public String getOwnerName() {
        return ownerName;
    }
public void setOwnerName(String ownerName) {
        this.ownerName = ownerName;
    }
public String getConfigId() {
        return configId;
    }
public void setConfigId(String configId) {
        this.configId = configId;
    }
public String getFeeName() {
        return feeName;
    }
public void setFeeName(String feeName) {
        this.feeName = feeName;
    }
public String getEndTime() {
        return endTime;
    }
public void setEndTime(String endTime) {
        this.endTime = endTime;
    }
public String getCommunityId() {
        return communityId;
    }
public void setCommunityId(String communityId) {
        this.communityId = communityId;
    }
public String getPayerObjType() {
        return payerObjType;
    }
public void setPayerObjType(String payerObjType) {
        this.payerObjType = payerObjType;
    }
public String getPayerObjId() {
        return payerObjId;
    }
public void setPayerObjId(String payerObjId) {
        this.payerObjId = payerObjId;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public String getStatusCd() {
        return statusCd;
    }
    public void setStatusCd(String statusCd) {
        this.statusCd = statusCd;
    }
}
java110-bean/src/main/java/com/java110/po/reportOweFee/ReportOweFeePo.java
New file
@@ -0,0 +1,130 @@
package com.java110.po.reportOweFee;
import java.io.Serializable;
import java.util.Date;
public class ReportOweFeePo implements Serializable {
    private String configName;
private String deadlineTime;
private String ownerTel;
private String updateTime;
private String statusCd = "0";
private String oweId;
private String ownerId;
private String feeId;
private String amountOwed;
private String payerObjName;
private String ownerName;
private String configId;
private String feeName;
private String endTime;
private String communityId;
private String payerObjType;
private String payerObjId;
public String getConfigName() {
        return configName;
    }
public void setConfigName(String configName) {
        this.configName = configName;
    }
public String getDeadlineTime() {
        return deadlineTime;
    }
public void setDeadlineTime(String deadlineTime) {
        this.deadlineTime = deadlineTime;
    }
public String getOwnerTel() {
        return ownerTel;
    }
public void setOwnerTel(String ownerTel) {
        this.ownerTel = ownerTel;
    }
public String getUpdateTime() {
        return updateTime;
    }
public void setUpdateTime(String updateTime) {
        this.updateTime = updateTime;
    }
public String getStatusCd() {
        return statusCd;
    }
public void setStatusCd(String statusCd) {
        this.statusCd = statusCd;
    }
public String getOweId() {
        return oweId;
    }
public void setOweId(String oweId) {
        this.oweId = oweId;
    }
public String getOwnerId() {
        return ownerId;
    }
public void setOwnerId(String ownerId) {
        this.ownerId = ownerId;
    }
public String getFeeId() {
        return feeId;
    }
public void setFeeId(String feeId) {
        this.feeId = feeId;
    }
public String getAmountOwed() {
        return amountOwed;
    }
public void setAmountOwed(String amountOwed) {
        this.amountOwed = amountOwed;
    }
public String getPayerObjName() {
        return payerObjName;
    }
public void setPayerObjName(String payerObjName) {
        this.payerObjName = payerObjName;
    }
public String getOwnerName() {
        return ownerName;
    }
public void setOwnerName(String ownerName) {
        this.ownerName = ownerName;
    }
public String getConfigId() {
        return configId;
    }
public void setConfigId(String configId) {
        this.configId = configId;
    }
public String getFeeName() {
        return feeName;
    }
public void setFeeName(String feeName) {
        this.feeName = feeName;
    }
public String getEndTime() {
        return endTime;
    }
public void setEndTime(String endTime) {
        this.endTime = endTime;
    }
public String getCommunityId() {
        return communityId;
    }
public void setCommunityId(String communityId) {
        this.communityId = communityId;
    }
public String getPayerObjType() {
        return payerObjType;
    }
public void setPayerObjType(String payerObjType) {
        this.payerObjType = payerObjType;
    }
public String getPayerObjId() {
        return payerObjId;
    }
public void setPayerObjId(String payerObjId) {
        this.payerObjId = payerObjId;
    }
}
java110-core/src/main/java/com/java110/core/factory/AuthenticationFactory.java
@@ -536,7 +536,7 @@
//        PrivateKey privateKey = keyPair.getPrivate();
//        System.out.println("私钥:" + new String(Base64.getEncoder().encode(privateKey.getEncoded())));
        System.out.printf("passwdMd5 " + passwdMd5("wuxw2015"));
        System.out.printf("passwdMd5 " + passwdMd5("397301"));
    }
java110-db/src/main/resources/mapper/report/ReportOweFeeServiceDaoImplMapper.xml
New file
@@ -0,0 +1,205 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="reportOweFeeServiceDaoImpl">
    <!-- 保存欠费统计信息 add by wuxw 2018-07-03 -->
    <insert id="saveReportOweFeeInfo" parameterType="Map">
        insert into report_owe_fee(
config_name,deadline_time,owner_tel,update_time,owe_id,owner_id,fee_id,amount_owed,payer_obj_name,owner_name,config_id,fee_name,end_time,community_id,payer_obj_type,payer_obj_id
) values (
#{configName},#{deadlineTime},#{ownerTel},#{updateTime},#{oweId},#{ownerId},#{feeId},#{amountOwed},#{payerObjName},#{ownerName},#{configId},#{feeName},#{endTime},#{communityId},#{payerObjType},#{payerObjId}
)
    </insert>
    <!-- 查询欠费统计信息 add by wuxw 2018-07-03 -->
    <select id="getReportOweFeeInfo" parameterType="Map" resultType="Map">
        select  t.config_name,t.config_name configName,t.deadline_time,t.deadline_time deadlineTime,t.owner_tel,t.owner_tel ownerTel,t.update_time,t.update_time updateTime,t.status_cd,t.status_cd statusCd,t.owe_id,t.owe_id oweId,t.owner_id,t.owner_id ownerId,t.fee_id,t.fee_id feeId,t.amount_owed,t.amount_owed amountOwed,t.payer_obj_name,t.payer_obj_name payerObjName,t.owner_name,t.owner_name ownerName,t.config_id,t.config_id configId,t.fee_name,t.fee_name feeName,t.end_time,t.end_time endTime,t.community_id,t.community_id communityId,t.payer_obj_type,t.payer_obj_type payerObjType,t.payer_obj_id,t.payer_obj_id payerObjId
from report_owe_fee t
where 1 =1
<if test="configName !=null and configName != ''">
   and t.config_name= #{configName}
</if>
<if test="deadlineTime !=null and deadlineTime != ''">
   and t.deadline_time= #{deadlineTime}
</if>
<if test="ownerTel !=null and ownerTel != ''">
   and t.owner_tel= #{ownerTel}
</if>
<if test="updateTime !=null and updateTime != ''">
   and t.update_time= #{updateTime}
</if>
<if test="statusCd !=null and statusCd != ''">
   and t.status_cd= #{statusCd}
</if>
<if test="oweId !=null and oweId != ''">
   and t.owe_id= #{oweId}
</if>
<if test="ownerId !=null and ownerId != ''">
   and t.owner_id= #{ownerId}
</if>
<if test="feeId !=null and feeId != ''">
   and t.fee_id= #{feeId}
</if>
<if test="amountOwed !=null and amountOwed != ''">
   and t.amount_owed= #{amountOwed}
</if>
<if test="payerObjName !=null and payerObjName != ''">
   and t.payer_obj_name= #{payerObjName}
</if>
<if test="ownerName !=null and ownerName != ''">
   and t.owner_name= #{ownerName}
</if>
<if test="configId !=null and configId != ''">
   and t.config_id= #{configId}
</if>
<if test="feeName !=null and feeName != ''">
   and t.fee_name= #{feeName}
</if>
<if test="endTime !=null and endTime != ''">
   and t.end_time= #{endTime}
</if>
<if test="communityId !=null and communityId != ''">
   and t.community_id= #{communityId}
</if>
<if test="payerObjType !=null and payerObjType != ''">
   and t.payer_obj_type= #{payerObjType}
</if>
<if test="payerObjId !=null and payerObjId != ''">
   and t.payer_obj_id= #{payerObjId}
</if>
order by t.create_time desc
<if test="page != -1 and page != null ">
   limit #{page}, #{row}
</if>
    </select>
    <!-- 修改欠费统计信息 add by wuxw 2018-07-03 -->
    <update id="updateReportOweFeeInfo" parameterType="Map">
        update  report_owe_fee t set t.status_cd = #{statusCd}
<if test="newBId != null and newBId != ''">
,t.b_id = #{newBId}
</if>
<if test="configName !=null and configName != ''">
, t.config_name= #{configName}
</if>
<if test="deadlineTime !=null and deadlineTime != ''">
, t.deadline_time= #{deadlineTime}
</if>
<if test="ownerTel !=null and ownerTel != ''">
, t.owner_tel= #{ownerTel}
</if>
<if test="updateTime !=null and updateTime != ''">
, t.update_time= #{updateTime}
</if>
<if test="ownerId !=null and ownerId != ''">
, t.owner_id= #{ownerId}
</if>
<if test="feeId !=null and feeId != ''">
, t.fee_id= #{feeId}
</if>
<if test="amountOwed !=null and amountOwed != ''">
, t.amount_owed= #{amountOwed}
</if>
<if test="payerObjName !=null and payerObjName != ''">
, t.payer_obj_name= #{payerObjName}
</if>
<if test="ownerName !=null and ownerName != ''">
, t.owner_name= #{ownerName}
</if>
<if test="configId !=null and configId != ''">
, t.config_id= #{configId}
</if>
<if test="feeName !=null and feeName != ''">
, t.fee_name= #{feeName}
</if>
<if test="endTime !=null and endTime != ''">
, t.end_time= #{endTime}
</if>
<if test="communityId !=null and communityId != ''">
, t.community_id= #{communityId}
</if>
<if test="payerObjType !=null and payerObjType != ''">
, t.payer_obj_type= #{payerObjType}
</if>
<if test="payerObjId !=null and payerObjId != ''">
, t.payer_obj_id= #{payerObjId}
</if>
 where 1=1 <if test="oweId !=null and oweId != ''">
and t.owe_id= #{oweId}
</if>
    </update>
    <!-- 查询欠费统计数量 add by wuxw 2018-07-03 -->
     <select id="queryReportOweFeesCount" parameterType="Map" resultType="Map">
        select  count(1) count
from report_owe_fee t
where 1 =1
<if test="configName !=null and configName != ''">
   and t.config_name= #{configName}
</if>
<if test="deadlineTime !=null and deadlineTime != ''">
   and t.deadline_time= #{deadlineTime}
</if>
<if test="ownerTel !=null and ownerTel != ''">
   and t.owner_tel= #{ownerTel}
</if>
<if test="updateTime !=null and updateTime != ''">
   and t.update_time= #{updateTime}
</if>
<if test="statusCd !=null and statusCd != ''">
   and t.status_cd= #{statusCd}
</if>
<if test="oweId !=null and oweId != ''">
   and t.owe_id= #{oweId}
</if>
<if test="ownerId !=null and ownerId != ''">
   and t.owner_id= #{ownerId}
</if>
<if test="feeId !=null and feeId != ''">
   and t.fee_id= #{feeId}
</if>
<if test="amountOwed !=null and amountOwed != ''">
   and t.amount_owed= #{amountOwed}
</if>
<if test="payerObjName !=null and payerObjName != ''">
   and t.payer_obj_name= #{payerObjName}
</if>
<if test="ownerName !=null and ownerName != ''">
   and t.owner_name= #{ownerName}
</if>
<if test="configId !=null and configId != ''">
   and t.config_id= #{configId}
</if>
<if test="feeName !=null and feeName != ''">
   and t.fee_name= #{feeName}
</if>
<if test="endTime !=null and endTime != ''">
   and t.end_time= #{endTime}
</if>
<if test="communityId !=null and communityId != ''">
   and t.community_id= #{communityId}
</if>
<if test="payerObjType !=null and payerObjType != ''">
   and t.payer_obj_type= #{payerObjType}
</if>
<if test="payerObjId !=null and payerObjId != ''">
   and t.payer_obj_id= #{payerObjId}
</if>
     </select>
</mapper>
java110-generator/src/main/resources/newBack/template_1.json
@@ -1,34 +1,35 @@
{
  "autoMove": true,
  "id": "settingId",
  "name": "systemGoldSetting",
  "desc": "金币设置",
  "shareParam": "settingId",
  "shareColumn": "settingId",
  "shareName": "acct",
  "tableName": "system_gold_setting",
  "id": "oweId",
  "name": "reportOweFee",
  "desc": "欠费统计",
  "shareParam": "communityId",
  "shareColumn": "community_id",
  "shareName": "report",
  "tableName": "report_owe_fee",
  "param": {
    "settingId": "setting_id",
    "goldName": "gold_name",
    "goldType": "gold_type",
    "buyPrice": "buy_price",
    "usePrice": "use_price",
    "validity": "validity",
    "state": "state",
    "oweId": "owe_id",
    "configId": "config_id",
    "configName": "config_name",
    "feeId": "fee_id",
    "feeName": "fee_name",
    "amountOwed": "amount_owed",
    "ownerId": "owner_id",
    "ownerName": "owner_name",
    "ownerTel": "owner_tel",
    "payerObjId": "payer_obj_id",
    "payerObjName": "payer_obj_name",
    "payerObjType": "payer_obj_type",
    "communityId": "community_id",
    "updateTime": "update_time",
    "endTime": "end_time",
    "deadlineTime": "deadline_time",
    "statusCd": "status_cd"
  },
  "required": [
    {
      "code": "buyPrice",
      "msg": "购买价不能为空"
    },
    {
      "code": "usePrice",
      "msg": "使用价不能为空"
    },
    {
      "code": "validity",
      "msg": "有效期不能为空"
      "code": "configName",
      "msg": "费用项不能为空"
    }
  ]
}
java110-interface/src/main/java/com/java110/intf/report/IReportOweFeeInnerServiceSMO.java
New file
@@ -0,0 +1,53 @@
package com.java110.intf.report;
import com.java110.config.feign.FeignConfiguration;
import com.java110.dto.reportOweFee.ReportOweFeeDto;
import com.java110.po.reportOweFee.ReportOweFeePo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import java.util.List;
/**
 * @ClassName IReportOweFeeInnerServiceSMO
 * @Description 欠费统计接口类
 * @Author wuxw
 * @Date 2019/4/24 9:04
 * @Version 1.0
 * add by wuxw 2019/4/24
 **/
@FeignClient(name = "report-service", configuration = {FeignConfiguration.class})
@RequestMapping("/reportOweFeeApi")
public interface IReportOweFeeInnerServiceSMO {
    @RequestMapping(value = "/saveReportOweFee", method = RequestMethod.POST)
    public int saveReportOweFee(@RequestBody ReportOweFeePo reportOweFeePo);
    @RequestMapping(value = "/updateReportOweFee", method = RequestMethod.POST)
    public int updateReportOweFee(@RequestBody  ReportOweFeePo reportOweFeePo);
    @RequestMapping(value = "/deleteReportOweFee", method = RequestMethod.POST)
    public int deleteReportOweFee(@RequestBody  ReportOweFeePo reportOweFeePo);
    /**
     * <p>查询小区楼信息</p>
     *
     *
     * @param reportOweFeeDto 数据对象分享
     * @return ReportOweFeeDto 对象数据
     */
    @RequestMapping(value = "/queryReportOweFees", method = RequestMethod.POST)
    List<ReportOweFeeDto> queryReportOweFees(@RequestBody ReportOweFeeDto reportOweFeeDto);
    /**
     * 查询<p>小区楼</p>总记录数
     *
     * @param reportOweFeeDto 数据对象分享
     * @return 小区下的小区楼记录数
     */
    @RequestMapping(value = "/queryReportOweFeesCount", method = RequestMethod.POST)
    int queryReportOweFeesCount(@RequestBody ReportOweFeeDto reportOweFeeDto);
}
service-job/src/main/java/com/java110/job/task/fee/GenerateOweFeeTemplate.java
@@ -13,6 +13,7 @@
import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
import com.java110.intf.fee.IFeeDetailInnerServiceSMO;
import com.java110.intf.fee.IFeeInnerServiceSMO;
import com.java110.intf.report.IReportFeeYearCollectionDetailInnerServiceSMO;
import com.java110.intf.user.IOwnerCarInnerServiceSMO;
import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
import com.java110.job.quartz.TaskSystemQuartz;
@@ -41,8 +42,6 @@
public class GenerateOweFeeTemplate extends TaskSystemQuartz {
    private static final String TASK_ATTR_VALUE_ONCE_MONTH = "005"; //一次性按月出账
    @Autowired
    private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl;
@@ -66,7 +65,6 @@
    @Autowired
    private IComputeFeeSMO computeFeeSMOImpl;
    @Override
    protected void process(TaskDto taskDto) throws Exception {
@@ -144,6 +142,9 @@
        computeFeeSMOImpl.computeEveryOweFee(feeDto);
        //保存数据
    }
@@ -154,7 +155,6 @@
     * @param feeDto
     */
    private void getParkingSpaceInfo(BillOweFeeDto billOweFeeDto, FeeDto feeDto) {
        OwnerCarDto ownerCarDto = new OwnerCarDto();
        ownerCarDto.setWithOwner(true);
service-report/src/main/java/com/java110/report/api/ReportOweFeeApi.java
New file
@@ -0,0 +1,104 @@
package com.java110.report.api;
import com.alibaba.fastjson.JSONObject;
import com.java110.dto.reportOweFee.ReportOweFeeDto;
import com.java110.po.reportOweFee.ReportOweFeePo;
import com.java110.report.bmo.reportOweFee.IDeleteReportOweFeeBMO;
import com.java110.report.bmo.reportOweFee.IGetReportOweFeeBMO;
import com.java110.report.bmo.reportOweFee.ISaveReportOweFeeBMO;
import com.java110.report.bmo.reportOweFee.IUpdateReportOweFeeBMO;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping(value = "/reportOweFee")
public class ReportOweFeeApi {
    @Autowired
    private ISaveReportOweFeeBMO saveReportOweFeeBMOImpl;
    @Autowired
    private IUpdateReportOweFeeBMO updateReportOweFeeBMOImpl;
    @Autowired
    private IDeleteReportOweFeeBMO deleteReportOweFeeBMOImpl;
    @Autowired
    private IGetReportOweFeeBMO getReportOweFeeBMOImpl;
    /**
     * 微信保存消息模板
     *
     * @param reqJson
     * @return
     * @serviceCode /reportOweFee/saveReportOweFee
     * @path /app/reportOweFee/saveReportOweFee
     */
    @RequestMapping(value = "/saveReportOweFee", method = RequestMethod.POST)
    public ResponseEntity<String> saveReportOweFee(@RequestBody JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "configName", "请求报文中未包含configName");
        ReportOweFeePo reportOweFeePo = BeanConvertUtil.covertBean(reqJson, ReportOweFeePo.class);
        return saveReportOweFeeBMOImpl.save(reportOweFeePo);
    }
    /**
     * 微信修改消息模板
     *
     * @param reqJson
     * @return
     * @serviceCode /reportOweFee/updateReportOweFee
     * @path /app/reportOweFee/updateReportOweFee
     */
    @RequestMapping(value = "/updateReportOweFee", method = RequestMethod.POST)
    public ResponseEntity<String> updateReportOweFee(@RequestBody JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "configName", "请求报文中未包含configName");
        Assert.hasKeyAndValue(reqJson, "oweId", "oweId不能为空");
        ReportOweFeePo reportOweFeePo = BeanConvertUtil.covertBean(reqJson, ReportOweFeePo.class);
        return updateReportOweFeeBMOImpl.update(reportOweFeePo);
    }
    /**
     * 微信删除消息模板
     *
     * @param reqJson
     * @return
     * @serviceCode /reportOweFee/deleteReportOweFee
     * @path /app/reportOweFee/deleteReportOweFee
     */
    @RequestMapping(value = "/deleteReportOweFee", method = RequestMethod.POST)
    public ResponseEntity<String> deleteReportOweFee(@RequestBody JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "communityId", "小区ID不能为空");
        Assert.hasKeyAndValue(reqJson, "oweId", "oweId不能为空");
        ReportOweFeePo reportOweFeePo = BeanConvertUtil.covertBean(reqJson, ReportOweFeePo.class);
        return deleteReportOweFeeBMOImpl.delete(reportOweFeePo);
    }
    /**
     * 微信删除消息模板
     *
     * @param communityId 小区ID
     * @return
     * @serviceCode /reportOweFee/queryReportOweFee
     * @path /app/reportOweFee/queryReportOweFee
     */
    @RequestMapping(value = "/queryReportOweFee", method = RequestMethod.GET)
    public ResponseEntity<String> queryReportOweFee(@RequestParam(value = "communityId") String communityId,
                                                    @RequestParam(value = "page") int page,
                                                    @RequestParam(value = "row") int row) {
        ReportOweFeeDto reportOweFeeDto = new ReportOweFeeDto();
        reportOweFeeDto.setPage(page);
        reportOweFeeDto.setRow(row);
        reportOweFeeDto.setCommunityId(communityId);
        return getReportOweFeeBMOImpl.get(reportOweFeeDto);
    }
}
service-report/src/main/java/com/java110/report/bmo/reportOweFee/IDeleteReportOweFeeBMO.java
New file
@@ -0,0 +1,17 @@
package com.java110.report.bmo.reportOweFee;
import com.java110.po.reportOweFee.ReportOweFeePo;
import org.springframework.http.ResponseEntity;
public interface IDeleteReportOweFeeBMO {
    /**
     * 修改欠费统计
     * add by wuxw
     * @param reportOweFeePo
     * @return
     */
    ResponseEntity<String> delete(ReportOweFeePo reportOweFeePo);
}
service-report/src/main/java/com/java110/report/bmo/reportOweFee/IGetReportOweFeeBMO.java
New file
@@ -0,0 +1,16 @@
package com.java110.report.bmo.reportOweFee;
import com.java110.dto.reportOweFee.ReportOweFeeDto;
import org.springframework.http.ResponseEntity;
public interface IGetReportOweFeeBMO {
    /**
     * 查询欠费统计
     * add by wuxw
     * @param  reportOweFeeDto
     * @return
     */
    ResponseEntity<String> get(ReportOweFeeDto reportOweFeeDto);
}
service-report/src/main/java/com/java110/report/bmo/reportOweFee/ISaveReportOweFeeBMO.java
New file
@@ -0,0 +1,17 @@
package com.java110.report.bmo.reportOweFee;
import com.java110.po.reportOweFee.ReportOweFeePo;
import org.springframework.http.ResponseEntity;
public interface ISaveReportOweFeeBMO {
    /**
     * 添加欠费统计
     * add by wuxw
     * @param reportOweFeePo
     * @return
     */
    ResponseEntity<String> save(ReportOweFeePo reportOweFeePo);
}
service-report/src/main/java/com/java110/report/bmo/reportOweFee/IUpdateReportOweFeeBMO.java
New file
@@ -0,0 +1,17 @@
package com.java110.report.bmo.reportOweFee;
import com.java110.po.reportOweFee.ReportOweFeePo;
import org.springframework.http.ResponseEntity;
public interface IUpdateReportOweFeeBMO {
    /**
     * 修改欠费统计
     * add by wuxw
     * @param reportOweFeePo
     * @return
     */
    ResponseEntity<String> update(ReportOweFeePo reportOweFeePo);
}
service-report/src/main/java/com/java110/report/bmo/reportOweFee/impl/DeleteReportOweFeeBMOImpl.java
New file
@@ -0,0 +1,34 @@
package com.java110.report.bmo.reportOweFee.impl;
import com.java110.core.annotation.Java110Transactional;
import com.java110.intf.report.IReportOweFeeInnerServiceSMO;
import com.java110.po.reportOweFee.ReportOweFeePo;
import com.java110.report.bmo.reportOweFee.IDeleteReportOweFeeBMO;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
@Service("deleteReportOweFeeBMOImpl")
public class DeleteReportOweFeeBMOImpl implements IDeleteReportOweFeeBMO {
    @Autowired
    private IReportOweFeeInnerServiceSMO reportOweFeeInnerServiceSMOImpl;
    /**
     * @param reportOweFeePo 数据
     * @return 订单服务能够接受的报文
     */
    @Java110Transactional
    public ResponseEntity<String> delete(ReportOweFeePo reportOweFeePo) {
        int flag = reportOweFeeInnerServiceSMOImpl.deleteReportOweFee(reportOweFeePo);
        if (flag > 0) {
            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
        }
        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
    }
}
service-report/src/main/java/com/java110/report/bmo/reportOweFee/impl/GetReportOweFeeBMOImpl.java
New file
@@ -0,0 +1,44 @@
package com.java110.report.bmo.reportOweFee.impl;
import com.java110.dto.reportOweFee.ReportOweFeeDto;
import com.java110.intf.report.IReportOweFeeInnerServiceSMO;
import com.java110.report.bmo.reportOweFee.IGetReportOweFeeBMO;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service("getReportOweFeeBMOImpl")
public class GetReportOweFeeBMOImpl implements IGetReportOweFeeBMO {
    @Autowired
    private IReportOweFeeInnerServiceSMO reportOweFeeInnerServiceSMOImpl;
    /**
     * @param reportOweFeeDto
     * @return 订单服务能够接受的报文
     */
    public ResponseEntity<String> get(ReportOweFeeDto reportOweFeeDto) {
        int count = reportOweFeeInnerServiceSMOImpl.queryReportOweFeesCount(reportOweFeeDto);
        List<ReportOweFeeDto> reportOweFeeDtos = null;
        if (count > 0) {
            reportOweFeeDtos = reportOweFeeInnerServiceSMOImpl.queryReportOweFees(reportOweFeeDto);
        } else {
            reportOweFeeDtos = new ArrayList<>();
        }
        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reportOweFeeDto.getRow()), count, reportOweFeeDtos);
        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
        return responseEntity;
    }
}
service-report/src/main/java/com/java110/report/bmo/reportOweFee/impl/SaveReportOweFeeBMOImpl.java
New file
@@ -0,0 +1,38 @@
package com.java110.report.bmo.reportOweFee.impl;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.intf.report.IReportOweFeeInnerServiceSMO;
import com.java110.po.reportOweFee.ReportOweFeePo;
import com.java110.report.bmo.reportOweFee.ISaveReportOweFeeBMO;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
@Service("saveReportOweFeeBMOImpl")
public class SaveReportOweFeeBMOImpl implements ISaveReportOweFeeBMO {
    @Autowired
    private IReportOweFeeInnerServiceSMO reportOweFeeInnerServiceSMOImpl;
    /**
     * 添加小区信息
     *
     * @param reportOweFeePo
     * @return 订单服务能够接受的报文
     */
    @Java110Transactional
    public ResponseEntity<String> save(ReportOweFeePo reportOweFeePo) {
        reportOweFeePo.setOweId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_oweId));
        int flag = reportOweFeeInnerServiceSMOImpl.saveReportOweFee(reportOweFeePo);
        if (flag > 0) {
            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
        }
        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
    }
}
service-report/src/main/java/com/java110/report/bmo/reportOweFee/impl/UpdateReportOweFeeBMOImpl.java
New file
@@ -0,0 +1,34 @@
package com.java110.report.bmo.reportOweFee.impl;
import com.java110.core.annotation.Java110Transactional;
import com.java110.intf.report.IReportOweFeeInnerServiceSMO;
import com.java110.po.reportOweFee.ReportOweFeePo;
import com.java110.report.bmo.reportOweFee.IUpdateReportOweFeeBMO;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
@Service("updateReportOweFeeBMOImpl")
public class UpdateReportOweFeeBMOImpl implements IUpdateReportOweFeeBMO {
    @Autowired
    private IReportOweFeeInnerServiceSMO reportOweFeeInnerServiceSMOImpl;
    /**
     * @param reportOweFeePo
     * @return 订单服务能够接受的报文
     */
    @Java110Transactional
    public ResponseEntity<String> update(ReportOweFeePo reportOweFeePo) {
        int flag = reportOweFeeInnerServiceSMOImpl.updateReportOweFee(reportOweFeePo);
        if (flag > 0) {
            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
        }
        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
    }
}
service-report/src/main/java/com/java110/report/dao/IReportOweFeeServiceDao.java
New file
@@ -0,0 +1,61 @@
package com.java110.report.dao;
import com.java110.utils.exception.DAOException;
import com.java110.entity.merchant.BoMerchant;
import com.java110.entity.merchant.BoMerchantAttr;
import com.java110.entity.merchant.Merchant;
import com.java110.entity.merchant.MerchantAttr;
import java.util.List;
import java.util.Map;
/**
 * 欠费统计组件内部之间使用,没有给外围系统提供服务能力
 * 欠费统计服务接口类,要求全部以字符串传输,方便微服务化
 * 新建客户,修改客户,删除客户,查询客户等功能
 *
 * Created by wuxw on 2016/12/27.
 */
public interface IReportOweFeeServiceDao {
    /**
     * 保存 欠费统计信息
     * @param info
     * @throws DAOException DAO异常
     */
    void saveReportOweFeeInfo(Map info) throws DAOException;
    /**
     * 查询欠费统计信息(instance过程)
     * 根据bId 查询欠费统计信息
     * @param info bId 信息
     * @return 欠费统计信息
     * @throws DAOException DAO异常
     */
    List<Map> getReportOweFeeInfo(Map info) throws DAOException;
    /**
     * 修改欠费统计信息
     * @param info 修改信息
     * @throws DAOException DAO异常
     */
    void updateReportOweFeeInfo(Map info) throws DAOException;
    /**
     * 查询欠费统计总数
     *
     * @param info 欠费统计信息
     * @return 欠费统计数量
     */
    int queryReportOweFeesCount(Map info);
}
service-report/src/main/java/com/java110/report/dao/impl/ReportOweFeeServiceDaoImpl.java
New file
@@ -0,0 +1,98 @@
package com.java110.report.dao.impl;
import com.alibaba.fastjson.JSONObject;
import com.java110.utils.constant.ResponseConstant;
import com.java110.utils.exception.DAOException;
import com.java110.utils.util.DateUtil;
import com.java110.core.base.dao.BaseServiceDao;
import com.java110.report.dao.IReportOweFeeServiceDao;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
/**
 * 欠费统计服务 与数据库交互
 * Created by wuxw on 2017/4/5.
 */
@Service("reportOweFeeServiceDaoImpl")
//@Transactional
public class ReportOweFeeServiceDaoImpl extends BaseServiceDao implements IReportOweFeeServiceDao {
    private static Logger logger = LoggerFactory.getLogger(ReportOweFeeServiceDaoImpl.class);
    /**
     * 保存欠费统计信息 到 instance
     * @param info   bId 信息
     * @throws DAOException DAO异常
     */
    @Override
    public void saveReportOweFeeInfo(Map info) throws DAOException {
        logger.debug("保存欠费统计信息Instance 入参 info : {}",info);
        int saveFlag = sqlSessionTemplate.insert("reportOweFeeServiceDaoImpl.saveReportOweFeeInfo",info);
        if(saveFlag < 1){
            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"保存欠费统计信息Instance数据失败:"+ JSONObject.toJSONString(info));
        }
    }
    /**
     * 查询欠费统计信息(instance)
     * @param info bId 信息
     * @return List<Map>
     * @throws DAOException DAO异常
     */
    @Override
    public List<Map> getReportOweFeeInfo(Map info) throws DAOException {
        logger.debug("查询欠费统计信息 入参 info : {}",info);
        List<Map> businessReportOweFeeInfos = sqlSessionTemplate.selectList("reportOweFeeServiceDaoImpl.getReportOweFeeInfo",info);
        return businessReportOweFeeInfos;
    }
    /**
     * 修改欠费统计信息
     * @param info 修改信息
     * @throws DAOException DAO异常
     */
    @Override
    public void updateReportOweFeeInfo(Map info) throws DAOException {
        logger.debug("修改欠费统计信息Instance 入参 info : {}",info);
        int saveFlag = sqlSessionTemplate.update("reportOweFeeServiceDaoImpl.updateReportOweFeeInfo",info);
        if(saveFlag < 1){
            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"修改欠费统计信息Instance数据失败:"+ JSONObject.toJSONString(info));
        }
    }
     /**
     * 查询欠费统计数量
     * @param info 欠费统计信息
     * @return 欠费统计数量
     */
    @Override
    public int queryReportOweFeesCount(Map info) {
        logger.debug("查询欠费统计数据 入参 info : {}",info);
        List<Map> businessReportOweFeeInfos = sqlSessionTemplate.selectList("reportOweFeeServiceDaoImpl.queryReportOweFeesCount", info);
        if (businessReportOweFeeInfos.size() < 1) {
            return 0;
        }
        return Integer.parseInt(businessReportOweFeeInfos.get(0).get("count").toString());
    }
}
service-report/src/main/java/com/java110/report/smo/impl/ReportOweFeeInnerServiceSMOImpl.java
New file
@@ -0,0 +1,83 @@
package com.java110.report.smo.impl;
import com.java110.core.base.smo.BaseServiceSMO;
import com.java110.dto.PageDto;
import com.java110.dto.reportOweFee.ReportOweFeeDto;
import com.java110.intf.report.IReportOweFeeInnerServiceSMO;
import com.java110.po.reportOweFee.ReportOweFeePo;
import com.java110.report.dao.IReportOweFeeServiceDao;
import com.java110.utils.util.BeanConvertUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * @ClassName FloorInnerServiceSMOImpl
 * @Description 欠费统计内部服务实现类
 * @Author wuxw
 * @Date 2019/4/24 9:20
 * @Version 1.0
 * add by wuxw 2019/4/24
 **/
@RestController
public class ReportOweFeeInnerServiceSMOImpl extends BaseServiceSMO implements IReportOweFeeInnerServiceSMO {
    @Autowired
    private IReportOweFeeServiceDao reportOweFeeServiceDaoImpl;
    @Override
    public int saveReportOweFee(@RequestBody ReportOweFeePo reportOweFeePo) {
        int saveFlag = 1;
        reportOweFeeServiceDaoImpl.saveReportOweFeeInfo(BeanConvertUtil.beanCovertMap(reportOweFeePo));
        return saveFlag;
    }
    @Override
    public int updateReportOweFee(@RequestBody ReportOweFeePo reportOweFeePo) {
        int saveFlag = 1;
        reportOweFeeServiceDaoImpl.updateReportOweFeeInfo(BeanConvertUtil.beanCovertMap(reportOweFeePo));
        return saveFlag;
    }
    @Override
    public int deleteReportOweFee(@RequestBody ReportOweFeePo reportOweFeePo) {
        int saveFlag = 1;
        reportOweFeePo.setStatusCd("1");
        reportOweFeeServiceDaoImpl.updateReportOweFeeInfo(BeanConvertUtil.beanCovertMap(reportOweFeePo));
        return saveFlag;
    }
    @Override
    public List<ReportOweFeeDto> queryReportOweFees(@RequestBody ReportOweFeeDto reportOweFeeDto) {
        //校验是否传了 分页信息
        int page = reportOweFeeDto.getPage();
        if (page != PageDto.DEFAULT_PAGE) {
            reportOweFeeDto.setPage((page - 1) * reportOweFeeDto.getRow());
        }
        List<ReportOweFeeDto> reportOweFees = BeanConvertUtil.covertBeanList(reportOweFeeServiceDaoImpl.getReportOweFeeInfo(BeanConvertUtil.beanCovertMap(reportOweFeeDto)), ReportOweFeeDto.class);
        return reportOweFees;
    }
    @Override
    public int queryReportOweFeesCount(@RequestBody ReportOweFeeDto reportOweFeeDto) {
        return reportOweFeeServiceDaoImpl.queryReportOweFeesCount(BeanConvertUtil.beanCovertMap(reportOweFeeDto));
    }
    public IReportOweFeeServiceDao getReportOweFeeServiceDaoImpl() {
        return reportOweFeeServiceDaoImpl;
    }
    public void setReportOweFeeServiceDaoImpl(IReportOweFeeServiceDao reportOweFeeServiceDaoImpl) {
        this.reportOweFeeServiceDaoImpl = reportOweFeeServiceDaoImpl;
    }
}