Przeglądaj źródła

优化加入欠费催缴手工触发和登记功能

java110 2 lat temu
rodzic
commit
78485c6929

+ 153 - 0
java110-bean/src/main/java/com/java110/dto/oweFeeCallable/OweFeeCallableDto.java

@@ -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;
+    }
+}

+ 185 - 0
java110-bean/src/main/java/com/java110/po/oweFeeCallable/OweFeeCallablePo.java

@@ -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;
+    }
+}

+ 201 - 0
java110-db/src/main/resources/mapper/fee/OweFeeCallableV1ServiceDaoImplMapper.xml

@@ -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>

+ 68 - 0
java110-interface/src/main/java/com/java110/intf/fee/IOweFeeCallableV1InnerServiceSMO.java

@@ -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);
+}

+ 71 - 0
service-fee/src/main/java/com/java110/fee/cmd/oweFeeCallable/DeleteOweFeeCallableCmd.java

@@ -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());
+    }
+}

+ 85 - 0
service-fee/src/main/java/com/java110/fee/cmd/oweFeeCallable/ListOweFeeCallableCmd.java

@@ -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);
+    }
+}

+ 89 - 0
service-fee/src/main/java/com/java110/fee/cmd/oweFeeCallable/SaveOweFeeCallableCmd.java

@@ -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());
+    }
+}

+ 73 - 0
service-fee/src/main/java/com/java110/fee/dao/IOweFeeCallableV1ServiceDao.java

@@ -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);
+
+}

+ 112 - 0
service-fee/src/main/java/com/java110/fee/dao/impl/OweFeeCallableV1ServiceDaoImpl.java

@@ -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());
+    }
+
+
+}

+ 89 - 0
service-fee/src/main/java/com/java110/fee/smo/impl/OweFeeCallableV1InnerServiceSMOImpl.java

@@ -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));    }
+
+}