java110
2023-08-17 78485c6929b0955ef4045a781a4cbf734c44732e
优化加入欠费催缴手工触发和登记功能
10个文件已添加
1126 ■■■■■ 已修改文件
java110-bean/src/main/java/com/java110/dto/oweFeeCallable/OweFeeCallableDto.java 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/po/oweFeeCallable/OweFeeCallablePo.java 185 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/fee/OweFeeCallableV1ServiceDaoImplMapper.xml 201 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-interface/src/main/java/com/java110/intf/fee/IOweFeeCallableV1InnerServiceSMO.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/cmd/oweFeeCallable/DeleteOweFeeCallableCmd.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/cmd/oweFeeCallable/ListOweFeeCallableCmd.java 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/cmd/oweFeeCallable/SaveOweFeeCallableCmd.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/dao/IOweFeeCallableV1ServiceDao.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/dao/impl/OweFeeCallableV1ServiceDaoImpl.java 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/smo/impl/OweFeeCallableV1InnerServiceSMOImpl.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/oweFeeCallable/OweFeeCallableDto.java
New file
@@ -0,0 +1,153 @@
package com.java110.dto.oweFeeCallable;
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 OweFeeCallableDto extends PageDto implements Serializable {
    private String remark;
private String ofcId;
private String ownerId;
private String callableWay;
private String feeId;
private String payerObjName;
private String ownerName;
private String configId;
private String feeName;
private String staffName;
private String amountdOwed;
private String state;
private String communityId;
private String payerObjType;
private String staffId;
private String payerObjId;
    private Date createTime;
    private String statusCd = "0";
    public String getRemark() {
        return remark;
    }
public void setRemark(String remark) {
        this.remark = remark;
    }
public String getOfcId() {
        return ofcId;
    }
public void setOfcId(String ofcId) {
        this.ofcId = ofcId;
    }
public String getOwnerId() {
        return ownerId;
    }
public void setOwnerId(String ownerId) {
        this.ownerId = ownerId;
    }
public String getCallableWay() {
        return callableWay;
    }
public void setCallableWay(String callableWay) {
        this.callableWay = callableWay;
    }
public String getFeeId() {
        return feeId;
    }
public void setFeeId(String feeId) {
        this.feeId = feeId;
    }
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 getStaffName() {
        return staffName;
    }
public void setStaffName(String staffName) {
        this.staffName = staffName;
    }
public String getAmountdOwed() {
        return amountdOwed;
    }
public void setAmountdOwed(String amountdOwed) {
        this.amountdOwed = amountdOwed;
    }
public String getState() {
        return state;
    }
public void setState(String state) {
        this.state = state;
    }
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 getStaffId() {
        return staffId;
    }
public void setStaffId(String staffId) {
        this.staffId = staffId;
    }
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/oweFeeCallable/OweFeeCallablePo.java
New file
@@ -0,0 +1,185 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.po.oweFeeCallable;
import java.io.Serializable;
import java.util.Date;
/**
 * 类表述: Po 数据模型实体对象 基本保持与数据库模型一直 用于 增加修改删除 等时的数据载体
 * add by 吴学文 at 2023-08-17 15:05:16 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
public class OweFeeCallablePo implements Serializable {
    private String remark;
    private String ofcId;
    private String ownerId;
    private String callableWay;
    private String feeId;
    private String payerObjName;
    private String ownerName;
    private String configId;
    private String feeName;
    private String staffName;
    private String amountdOwed;
    private String state;
    private String communityId;
    private String payerObjType;
    private String staffId;
    private String payerObjId;
    private String statusCd = "0";
    public String getRemark() {
        return remark;
    }
    public void setRemark(String remark) {
        this.remark = remark;
    }
    public String getOfcId() {
        return ofcId;
    }
    public void setOfcId(String ofcId) {
        this.ofcId = ofcId;
    }
    public String getOwnerId() {
        return ownerId;
    }
    public void setOwnerId(String ownerId) {
        this.ownerId = ownerId;
    }
    public String getCallableWay() {
        return callableWay;
    }
    public void setCallableWay(String callableWay) {
        this.callableWay = callableWay;
    }
    public String getFeeId() {
        return feeId;
    }
    public void setFeeId(String feeId) {
        this.feeId = feeId;
    }
    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 getStaffName() {
        return staffName;
    }
    public void setStaffName(String staffName) {
        this.staffName = staffName;
    }
    public String getAmountdOwed() {
        return amountdOwed;
    }
    public void setAmountdOwed(String amountdOwed) {
        this.amountdOwed = amountdOwed;
    }
    public String getState() {
        return state;
    }
    public void setState(String state) {
        this.state = state;
    }
    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 getStaffId() {
        return staffId;
    }
    public void setStaffId(String staffId) {
        this.staffId = staffId;
    }
    public String getPayerObjId() {
        return payerObjId;
    }
    public void setPayerObjId(String payerObjId) {
        this.payerObjId = payerObjId;
    }
    public String getStatusCd() {
        return statusCd;
    }
    public void setStatusCd(String statusCd) {
        this.statusCd = statusCd;
    }
}
java110-db/src/main/resources/mapper/fee/OweFeeCallableV1ServiceDaoImplMapper.xml
New file
@@ -0,0 +1,201 @@
<?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="oweFeeCallableV1ServiceDaoImpl">
    <!-- 保存催缴记录信息 add by wuxw 2018-07-03 -->
    <insert id="saveOweFeeCallableInfo" parameterType="Map">
        insert into owe_fee_callable(
        remark,ofc_id,owner_id,callable_way,fee_id,payer_obj_name,owner_name,config_id,fee_name,staff_name,amountd_owed,state,community_id,payer_obj_type,staff_id,payer_obj_id
        ) values (
        #{remark},#{ofcId},#{ownerId},#{callableWay},#{feeId},#{payerObjName},#{ownerName},#{configId},#{feeName},#{staffName},#{amountdOwed},#{state},#{communityId},#{payerObjType},#{staffId},#{payerObjId}
        )
    </insert>
    <!-- 查询催缴记录信息 add by wuxw 2018-07-03 -->
    <select id="getOweFeeCallableInfo" parameterType="Map" resultType="Map">
        select t.remark,t.ofc_id,t.ofc_id ofcId,t.owner_id,t.owner_id ownerId,t.callable_way,t.callable_way
        callableWay,t.fee_id,t.fee_id feeId,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.staff_name,t.staff_name
        staffName,t.amountd_owed,t.amountd_owed amountdOwed,t.state,t.community_id,t.community_id
        communityId,t.payer_obj_type,t.payer_obj_type payerObjType,t.staff_id,t.staff_id
        staffId,t.payer_obj_id,t.payer_obj_id payerObjId
        from owe_fee_callable t
        where 1 =1
        and t.status_cd = '0'
        <if test="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="ofcId !=null and ofcId != ''">
            and t.ofc_id= #{ofcId}
        </if>
        <if test="ownerId !=null and ownerId != ''">
            and t.owner_id= #{ownerId}
        </if>
        <if test="callableWay !=null and callableWay != ''">
            and t.callable_way= #{callableWay}
        </if>
        <if test="feeId !=null and feeId != ''">
            and t.fee_id= #{feeId}
        </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="staffName !=null and staffName != ''">
            and t.staff_name= #{staffName}
        </if>
        <if test="amountdOwed !=null and amountdOwed != ''">
            and t.amountd_owed= #{amountdOwed}
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </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="staffId !=null and staffId != ''">
            and t.staff_id= #{staffId}
        </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="updateOweFeeCallableInfo" parameterType="Map">
        update owe_fee_callable t set t.status_cd = #{statusCd}
        <if test="newBId != null and newBId != ''">
            ,t.b_id = #{newBId}
        </if>
        <if test="remark !=null and remark != ''">
            , t.remark= #{remark}
        </if>
        <if test="ownerId !=null and ownerId != ''">
            , t.owner_id= #{ownerId}
        </if>
        <if test="callableWay !=null and callableWay != ''">
            , t.callable_way= #{callableWay}
        </if>
        <if test="feeId !=null and feeId != ''">
            , t.fee_id= #{feeId}
        </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="staffName !=null and staffName != ''">
            , t.staff_name= #{staffName}
        </if>
        <if test="amountdOwed !=null and amountdOwed != ''">
            , t.amountd_owed= #{amountdOwed}
        </if>
        <if test="state !=null and state != ''">
            , t.state= #{state}
        </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="staffId !=null and staffId != ''">
            , t.staff_id= #{staffId}
        </if>
        <if test="payerObjId !=null and payerObjId != ''">
            , t.payer_obj_id= #{payerObjId}
        </if>
        where 1=1
        <if test="ofcId !=null and ofcId != ''">
            and t.ofc_id= #{ofcId}
        </if>
    </update>
    <!-- 查询催缴记录数量 add by wuxw 2018-07-03 -->
    <select id="queryOweFeeCallablesCount" parameterType="Map" resultType="Map">
        select count(1) count
        from owe_fee_callable t
        where 1 =1
        and t.status_cd = '0'
        <if test="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="ofcId !=null and ofcId != ''">
            and t.ofc_id= #{ofcId}
        </if>
        <if test="ownerId !=null and ownerId != ''">
            and t.owner_id= #{ownerId}
        </if>
        <if test="callableWay !=null and callableWay != ''">
            and t.callable_way= #{callableWay}
        </if>
        <if test="feeId !=null and feeId != ''">
            and t.fee_id= #{feeId}
        </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="staffName !=null and staffName != ''">
            and t.staff_name= #{staffName}
        </if>
        <if test="amountdOwed !=null and amountdOwed != ''">
            and t.amountd_owed= #{amountdOwed}
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </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="staffId !=null and staffId != ''">
            and t.staff_id= #{staffId}
        </if>
        <if test="payerObjId !=null and payerObjId != ''">
            and t.payer_obj_id= #{payerObjId}
        </if>
    </select>
</mapper>
java110-interface/src/main/java/com/java110/intf/fee/IOweFeeCallableV1InnerServiceSMO.java
New file
@@ -0,0 +1,68 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.intf.fee;
import com.java110.config.feign.FeignConfiguration;
import com.java110.dto.oweFeeCallable.OweFeeCallableDto;
import com.java110.po.oweFeeCallable.OweFeeCallablePo;
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;
/**
 * 类表述: 服务之前调用的接口类,不对外提供接口能力 只用于接口建调用
 * add by 吴学文 at 2023-08-17 15:05:16 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@FeignClient(name = "fee-service", configuration = {FeignConfiguration.class})
@RequestMapping("/oweFeeCallableV1Api")
public interface IOweFeeCallableV1InnerServiceSMO {
    @RequestMapping(value = "/saveOweFeeCallable", method = RequestMethod.POST)
    public int saveOweFeeCallable(@RequestBody  OweFeeCallablePo oweFeeCallablePo);
    @RequestMapping(value = "/updateOweFeeCallable", method = RequestMethod.POST)
    public int updateOweFeeCallable(@RequestBody  OweFeeCallablePo oweFeeCallablePo);
    @RequestMapping(value = "/deleteOweFeeCallable", method = RequestMethod.POST)
    public int deleteOweFeeCallable(@RequestBody  OweFeeCallablePo oweFeeCallablePo);
    /**
     * <p>查询小区楼信息</p>
     *
     *
     * @param oweFeeCallableDto 数据对象分享
     * @return OweFeeCallableDto 对象数据
     */
    @RequestMapping(value = "/queryOweFeeCallables", method = RequestMethod.POST)
    List<OweFeeCallableDto> queryOweFeeCallables(@RequestBody OweFeeCallableDto oweFeeCallableDto);
    /**
     * 查询<p>小区楼</p>总记录数
     *
     * @param oweFeeCallableDto 数据对象分享
     * @return 小区下的小区楼记录数
     */
    @RequestMapping(value = "/queryOweFeeCallablesCount", method = RequestMethod.POST)
    int queryOweFeeCallablesCount(@RequestBody OweFeeCallableDto oweFeeCallableDto);
}
service-fee/src/main/java/com/java110/fee/cmd/oweFeeCallable/DeleteOweFeeCallableCmd.java
New file
@@ -0,0 +1,71 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.fee.cmd.oweFeeCallable;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.intf.fee.IOweFeeCallableV1InnerServiceSMO;
import com.java110.po.oweFeeCallable.OweFeeCallablePo;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
 * 类表述:删除
 * 服务编码:oweFeeCallable.deleteOweFeeCallable
 * 请求路劲:/app/oweFeeCallable.DeleteOweFeeCallable
 * add by 吴学文 at 2023-08-17 15:05:16 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@Java110Cmd(serviceCode = "oweFeeCallable.deleteOweFeeCallable")
public class DeleteOweFeeCallableCmd extends Cmd {
  private static Logger logger = LoggerFactory.getLogger(DeleteOweFeeCallableCmd.class);
    @Autowired
    private IOweFeeCallableV1InnerServiceSMO oweFeeCallableV1InnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "ofcId", "ofcId不能为空");
Assert.hasKeyAndValue(reqJson, "communityId", "communityId不能为空");
    }
    @Override
    @Java110Transactional
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
       OweFeeCallablePo oweFeeCallablePo = BeanConvertUtil.covertBean(reqJson, OweFeeCallablePo.class);
        int flag = oweFeeCallableV1InnerServiceSMOImpl.deleteOweFeeCallable(oweFeeCallablePo);
        if (flag < 1) {
            throw new CmdException("删除数据失败");
        }
        cmdDataFlowContext.setResponseEntity(ResultVo.success());
    }
}
service-fee/src/main/java/com/java110/fee/cmd/oweFeeCallable/ListOweFeeCallableCmd.java
New file
@@ -0,0 +1,85 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.fee.cmd.oweFeeCallable;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.intf.fee.IOweFeeCallableV1InnerServiceSMO;
import com.java110.po.oweFeeCallable.OweFeeCallablePo;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import com.java110.dto.oweFeeCallable.OweFeeCallableDto;
import java.util.List;
import java.util.ArrayList;
import org.springframework.http.ResponseEntity;
import org.springframework.http.HttpStatus;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
 * 类表述:查询
 * 服务编码:oweFeeCallable.listOweFeeCallable
 * 请求路劲:/app/oweFeeCallable.ListOweFeeCallable
 * add by 吴学文 at 2023-08-17 15:05:16 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@Java110Cmd(serviceCode = "oweFeeCallable.listOweFeeCallable")
public class ListOweFeeCallableCmd extends Cmd {
  private static Logger logger = LoggerFactory.getLogger(ListOweFeeCallableCmd.class);
    @Autowired
    private IOweFeeCallableV1InnerServiceSMO oweFeeCallableV1InnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        super.validatePageInfo(reqJson);
        Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId");
    }
    @Override
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
           OweFeeCallableDto oweFeeCallableDto = BeanConvertUtil.covertBean(reqJson, OweFeeCallableDto.class);
           int count = oweFeeCallableV1InnerServiceSMOImpl.queryOweFeeCallablesCount(oweFeeCallableDto);
           List<OweFeeCallableDto> oweFeeCallableDtos = null;
           if (count > 0) {
               oweFeeCallableDtos = oweFeeCallableV1InnerServiceSMOImpl.queryOweFeeCallables(oweFeeCallableDto);
           } else {
               oweFeeCallableDtos = new ArrayList<>();
           }
           ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, oweFeeCallableDtos);
           ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
           cmdDataFlowContext.setResponseEntity(responseEntity);
    }
}
service-fee/src/main/java/com/java110/fee/cmd/oweFeeCallable/SaveOweFeeCallableCmd.java
New file
@@ -0,0 +1,89 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.fee.cmd.oweFeeCallable;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.intf.fee.IOweFeeCallableV1InnerServiceSMO;
import com.java110.po.oweFeeCallable.OweFeeCallablePo;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
 * 类表述:保存
 * 服务编码:oweFeeCallable.saveOweFeeCallable
 * 请求路劲:/app/oweFeeCallable.SaveOweFeeCallable
 * add by 吴学文 at 2023-08-17 15:05:16 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@Java110Cmd(serviceCode = "oweFeeCallable.saveOweFeeCallable")
public class SaveOweFeeCallableCmd extends Cmd {
    private static Logger logger = LoggerFactory.getLogger(SaveOweFeeCallableCmd.class);
    public static final String CODE_PREFIX_ID = "10";
    @Autowired
    private IOweFeeCallableV1InnerServiceSMO oweFeeCallableV1InnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId");
        Assert.hasKeyAndValue(reqJson, "ownerName", "请求报文中未包含ownerName");
        Assert.hasKeyAndValue(reqJson, "ownerId", "请求报文中未包含ownerId");
        Assert.hasKeyAndValue(reqJson, "payerObjType", "请求报文中未包含payerObjType");
        Assert.hasKeyAndValue(reqJson, "payerObjId", "请求报文中未包含payerObjId");
        Assert.hasKeyAndValue(reqJson, "payerObjName", "请求报文中未包含payerObjName");
        Assert.hasKeyAndValue(reqJson, "configId", "请求报文中未包含configId");
        Assert.hasKeyAndValue(reqJson, "feeId", "请求报文中未包含feeId");
        Assert.hasKeyAndValue(reqJson, "feeName", "请求报文中未包含feeName");
        Assert.hasKeyAndValue(reqJson, "amountdOwed", "请求报文中未包含amountdOwed");
        Assert.hasKeyAndValue(reqJson, "callableWay", "请求报文中未包含callableWay");
        Assert.hasKeyAndValue(reqJson, "staffId", "请求报文中未包含staffId");
        Assert.hasKeyAndValue(reqJson, "staffName", "请求报文中未包含staffName");
        Assert.hasKeyAndValue(reqJson, "state", "请求报文中未包含state");
        Assert.hasKeyAndValue(reqJson, "remark", "请求报文中未包含remark");
    }
    @Override
    @Java110Transactional
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
        OweFeeCallablePo oweFeeCallablePo = BeanConvertUtil.covertBean(reqJson, OweFeeCallablePo.class);
        oweFeeCallablePo.setOfcId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
        int flag = oweFeeCallableV1InnerServiceSMOImpl.saveOweFeeCallable(oweFeeCallablePo);
        if (flag < 1) {
            throw new CmdException("保存数据失败");
        }
        cmdDataFlowContext.setResponseEntity(ResultVo.success());
    }
}
service-fee/src/main/java/com/java110/fee/dao/IOweFeeCallableV1ServiceDao.java
New file
@@ -0,0 +1,73 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.fee.dao;
import com.java110.utils.exception.DAOException;
import java.util.List;
import java.util.Map;
/**
 * 类表述:
 * add by 吴学文 at 2023-08-17 15:05:16 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
public interface IOweFeeCallableV1ServiceDao {
    /**
     * 保存 催缴记录信息
     * @param info
     * @throws DAOException DAO异常
     */
    int saveOweFeeCallableInfo(Map info) throws DAOException;
    /**
     * 查询催缴记录信息(instance过程)
     * 根据bId 查询催缴记录信息
     * @param info bId 信息
     * @return 催缴记录信息
     * @throws DAOException DAO异常
     */
    List<Map> getOweFeeCallableInfo(Map info) throws DAOException;
    /**
     * 修改催缴记录信息
     * @param info 修改信息
     * @throws DAOException DAO异常
     */
    int updateOweFeeCallableInfo(Map info) throws DAOException;
    /**
     * 查询催缴记录总数
     *
     * @param info 催缴记录信息
     * @return 催缴记录数量
     */
    int queryOweFeeCallablesCount(Map info);
}
service-fee/src/main/java/com/java110/fee/dao/impl/OweFeeCallableV1ServiceDaoImpl.java
New file
@@ -0,0 +1,112 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.fee.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.fee.dao.IOweFeeCallableV1ServiceDao;
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;
/**
 * 类表述:
 * add by 吴学文 at 2023-08-17 15:05:16 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@Service("oweFeeCallableV1ServiceDaoImpl")
public class OweFeeCallableV1ServiceDaoImpl extends BaseServiceDao implements IOweFeeCallableV1ServiceDao {
    private static Logger logger = LoggerFactory.getLogger(OweFeeCallableV1ServiceDaoImpl.class);
    /**
     * 保存催缴记录信息 到 instance
     * @param info   bId 信息
     * @throws DAOException DAO异常
     */
    @Override
    public int saveOweFeeCallableInfo(Map info) throws DAOException {
        logger.debug("保存 saveOweFeeCallableInfo 入参 info : {}",info);
        int saveFlag = sqlSessionTemplate.insert("oweFeeCallableV1ServiceDaoImpl.saveOweFeeCallableInfo",info);
        return saveFlag;
    }
    /**
     * 查询催缴记录信息(instance)
     * @param info bId 信息
     * @return List<Map>
     * @throws DAOException DAO异常
     */
    @Override
    public List<Map> getOweFeeCallableInfo(Map info) throws DAOException {
        logger.debug("查询 getOweFeeCallableInfo 入参 info : {}",info);
        List<Map> businessOweFeeCallableInfos = sqlSessionTemplate.selectList("oweFeeCallableV1ServiceDaoImpl.getOweFeeCallableInfo",info);
        return businessOweFeeCallableInfos;
    }
    /**
     * 修改催缴记录信息
     * @param info 修改信息
     * @throws DAOException DAO异常
     */
    @Override
    public int updateOweFeeCallableInfo(Map info) throws DAOException {
        logger.debug("修改 updateOweFeeCallableInfo 入参 info : {}",info);
        int saveFlag = sqlSessionTemplate.update("oweFeeCallableV1ServiceDaoImpl.updateOweFeeCallableInfo",info);
        return saveFlag;
    }
     /**
     * 查询催缴记录数量
     * @param info 催缴记录信息
     * @return 催缴记录数量
     */
    @Override
    public int queryOweFeeCallablesCount(Map info) {
        logger.debug("查询 queryOweFeeCallablesCount 入参 info : {}",info);
        List<Map> businessOweFeeCallableInfos = sqlSessionTemplate.selectList("oweFeeCallableV1ServiceDaoImpl.queryOweFeeCallablesCount", info);
        if (businessOweFeeCallableInfos.size() < 1) {
            return 0;
        }
        return Integer.parseInt(businessOweFeeCallableInfos.get(0).get("count").toString());
    }
}
service-fee/src/main/java/com/java110/fee/smo/impl/OweFeeCallableV1InnerServiceSMOImpl.java
New file
@@ -0,0 +1,89 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.fee.smo.impl;
import com.java110.fee.dao.IOweFeeCallableV1ServiceDao;
import com.java110.intf.fee.IOweFeeCallableV1InnerServiceSMO;
import com.java110.dto.oweFeeCallable.OweFeeCallableDto;
import com.java110.po.oweFeeCallable.OweFeeCallablePo;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.core.base.smo.BaseServiceSMO;
import com.java110.dto.user.UserDto;
import com.java110.dto.PageDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
/**
 * 类表述: 服务之前调用的接口实现类,不对外提供接口能力 只用于接口建调用
 * add by 吴学文 at 2023-08-17 15:05:16 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@RestController
public class OweFeeCallableV1InnerServiceSMOImpl extends BaseServiceSMO implements IOweFeeCallableV1InnerServiceSMO {
    @Autowired
    private IOweFeeCallableV1ServiceDao oweFeeCallableV1ServiceDaoImpl;
    @Override
    public int saveOweFeeCallable(@RequestBody  OweFeeCallablePo oweFeeCallablePo) {
        int saveFlag = oweFeeCallableV1ServiceDaoImpl.saveOweFeeCallableInfo(BeanConvertUtil.beanCovertMap(oweFeeCallablePo));
        return saveFlag;
    }
     @Override
    public int updateOweFeeCallable(@RequestBody  OweFeeCallablePo oweFeeCallablePo) {
        int saveFlag = oweFeeCallableV1ServiceDaoImpl.updateOweFeeCallableInfo(BeanConvertUtil.beanCovertMap(oweFeeCallablePo));
        return saveFlag;
    }
     @Override
    public int deleteOweFeeCallable(@RequestBody  OweFeeCallablePo oweFeeCallablePo) {
       oweFeeCallablePo.setStatusCd("1");
       int saveFlag = oweFeeCallableV1ServiceDaoImpl.updateOweFeeCallableInfo(BeanConvertUtil.beanCovertMap(oweFeeCallablePo));
       return saveFlag;
    }
    @Override
    public List<OweFeeCallableDto> queryOweFeeCallables(@RequestBody  OweFeeCallableDto oweFeeCallableDto) {
        //校验是否传了 分页信息
        int page = oweFeeCallableDto.getPage();
        if (page != PageDto.DEFAULT_PAGE) {
            oweFeeCallableDto.setPage((page - 1) * oweFeeCallableDto.getRow());
        }
        List<OweFeeCallableDto> oweFeeCallables = BeanConvertUtil.covertBeanList(oweFeeCallableV1ServiceDaoImpl.getOweFeeCallableInfo(BeanConvertUtil.beanCovertMap(oweFeeCallableDto)), OweFeeCallableDto.class);
        return oweFeeCallables;
    }
    @Override
    public int queryOweFeeCallablesCount(@RequestBody OweFeeCallableDto oweFeeCallableDto) {
        return oweFeeCallableV1ServiceDaoImpl.queryOweFeeCallablesCount(BeanConvertUtil.beanCovertMap(oweFeeCallableDto));    }
}