his-uncles-father
2021-04-06 c2528fee65fa17a7434eb16deb782fd7c4e71523
Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity
7个文件已修改
16个文件已添加
1268 ■■■■■ 已修改文件
java110-bean/src/main/java/com/java110/dto/repair/RepairDto.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/repairReturnVisit/RepairReturnVisitDto.java 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/po/repairReturnVisit/RepairReturnVisitPo.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/community/RepairReturnVisitServiceDaoImplMapper.xml 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/community/RepairServiceDaoImplMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-generator/src/main/resources/newBack/template_1.json 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-interface/src/main/java/com/java110/intf/community/IRepairReturnVisitInnerServiceSMO.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-utils/src/main/java/com/java110/utils/constant/ServiceCodeRepairDispatchStepConstant.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-api/src/main/java/com/java110/api/listener/fee/PayFeePreListener.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-api/src/main/java/com/java110/api/listener/ownerRepair/RepairForceFinishListener.java 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/api/RepairApi.java 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/IDeleteRepairReturnVisitBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/IGetRepairReturnVisitBMO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/ISaveRepairReturnVisitBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/IUpdateRepairReturnVisitBMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/impl/DeleteRepairReturnVisitBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/impl/GetRepairReturnVisitBMOImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/impl/SaveRepairReturnVisitBMOImpl.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/impl/UpdateRepairReturnVisitBMOImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/dao/IRepairReturnVisitServiceDao.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/dao/impl/RepairReturnVisitServiceDaoImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/smo/impl/RepairReturnVisitInnerServiceSMOImpl.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/repair/RepairDto.java
@@ -92,6 +92,8 @@
    private String repairChannel;
    private String maintenanceType;
    private String reqSource;
    private String visitType;
    private String visitContext;
    private List<String> repairChannels;
    //业主上传维修图片
@@ -432,4 +434,20 @@
    public void setRepairChannels(List<String> repairChannels) {
        this.repairChannels = repairChannels;
    }
    public String getVisitType() {
        return visitType;
    }
    public void setVisitType(String visitType) {
        this.visitType = visitType;
    }
    public String getVisitContext() {
        return visitContext;
    }
    public void setVisitContext(String visitContext) {
        this.visitContext = visitContext;
    }
}
java110-bean/src/main/java/com/java110/dto/repairReturnVisit/RepairReturnVisitDto.java
New file
@@ -0,0 +1,114 @@
package com.java110.dto.repairReturnVisit;
import com.java110.dto.PageDto;
import com.java110.dto.repair.RepairDto;
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 RepairReturnVisitDto extends RepairDto implements Serializable {
    private String visitId;
    private String context;
    private String repairId;
    private String communityId;
    private String visitPersonName;
    private String visitPersonId;
    private String visitType;
    private String state;
    private Date createTime;
    private String statusCd = "0";
    public String getVisitId() {
        return visitId;
    }
    public void setVisitId(String visitId) {
        this.visitId = visitId;
    }
    public String getContext() {
        return context;
    }
    public void setContext(String context) {
        this.context = context;
    }
    public String getRepairId() {
        return repairId;
    }
    public void setRepairId(String repairId) {
        this.repairId = repairId;
    }
    public String getCommunityId() {
        return communityId;
    }
    public void setCommunityId(String communityId) {
        this.communityId = communityId;
    }
    public String getVisitPersonName() {
        return visitPersonName;
    }
    public void setVisitPersonName(String visitPersonName) {
        this.visitPersonName = visitPersonName;
    }
    public String getVisitPersonId() {
        return visitPersonId;
    }
    public void setVisitPersonId(String visitPersonId) {
        this.visitPersonId = visitPersonId;
    }
    public String getVisitType() {
        return visitType;
    }
    public void setVisitType(String visitType) {
        this.visitType = visitType;
    }
    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;
    }
    public String getState() {
        return state;
    }
    public void setState(String state) {
        this.state = state;
    }
}
java110-bean/src/main/java/com/java110/po/repairReturnVisit/RepairReturnVisitPo.java
New file
@@ -0,0 +1,67 @@
package com.java110.po.repairReturnVisit;
import java.io.Serializable;
import java.util.Date;
public class RepairReturnVisitPo implements Serializable {
    private String visitId;
private String context;
private String repairId;
private String statusCd = "0";
private String communityId;
private String visitPersonName;
private String visitPersonId;
private String visitType;
public String getVisitId() {
        return visitId;
    }
public void setVisitId(String visitId) {
        this.visitId = visitId;
    }
public String getContext() {
        return context;
    }
public void setContext(String context) {
        this.context = context;
    }
public String getRepairId() {
        return repairId;
    }
public void setRepairId(String repairId) {
        this.repairId = repairId;
    }
public String getStatusCd() {
        return statusCd;
    }
public void setStatusCd(String statusCd) {
        this.statusCd = statusCd;
    }
public String getCommunityId() {
        return communityId;
    }
public void setCommunityId(String communityId) {
        this.communityId = communityId;
    }
public String getVisitPersonName() {
        return visitPersonName;
    }
public void setVisitPersonName(String visitPersonName) {
        this.visitPersonName = visitPersonName;
    }
public String getVisitPersonId() {
        return visitPersonId;
    }
public void setVisitPersonId(String visitPersonId) {
        this.visitPersonId = visitPersonId;
    }
public String getVisitType() {
        return visitType;
    }
public void setVisitType(String visitType) {
        this.visitType = visitType;
    }
}
java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java
@@ -188,6 +188,7 @@
    public static final String CODE_PREFIX_collectionId = "23";
    public static final String CODE_PREFIX_authId = "23";
    public static final String CODE_PREFIX_planId = "24";
    public static final String CODE_PREFIX_visitId = "24";
    /**
java110-db/src/main/resources/mapper/community/RepairReturnVisitServiceDaoImplMapper.xml
New file
@@ -0,0 +1,164 @@
<?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="repairReturnVisitServiceDaoImpl">
    <!-- 保存报修回访信息 add by wuxw 2018-07-03 -->
    <insert id="saveRepairReturnVisitInfo" parameterType="Map">
        insert into r_repair_return_visit(
        visit_id,context,repair_id,community_id,visit_person_name,visit_person_id,visit_type
        ) values (
        #{visitId},#{context},#{repairId},#{communityId},#{visitPersonName},#{visitPersonId},#{visitType}
        )
    </insert>
    <!-- 查询报修回访信息 add by wuxw 2018-07-03 -->
    <select id="getRepairReturnVisitInfo" parameterType="Map" resultType="Map">
        select t.visit_id,t.visit_id visitId,t.context,t.repair_id
        statusCd,t.community_id,t.community_id communityId,t.visit_person_name,t.visit_person_name
        visitPersonName,t.visit_person_id,t.visit_person_id visitPersonId,t.visit_type,t.visit_type visitType,
        rrp.repair_id repairId,rrp.repair_obj_name repairObjName,rs.repair_type_name repairTypeName,rrp.tel,rrp.repair_name repairName,
        rrp.appointment_time appointmentTime
        from r_repair_pool rrp
        LEFT JOIN r_repair_return_visit t on t.repair_id = rrp.repair_id and t.community_id = rrp.community_id and t.status_cd = '0'
        left join t_dict d on rrp.state = d.status_cd and d.table_name = 'r_repair_pool' and d.table_columns = 'state'
        left join r_repair_setting rs on rs.repair_type = rrp.repair_type and rs.status_cd = '0'
        where 1 = 1
        and rs.return_visit_flag in ('002','003')
        <if test="state == 'waiting'">
            and rrp.state = '1800'
            and t.repair_id is null
        </if>
        <if test="state == 'finish'">
            and rrp.state = '1900'
            and t.repair_id is not null
        </if>
        <if test="visitId !=null and visitId != ''">
            and t.visit_id= #{visitId}
        </if>
        <if test="context !=null and context != ''">
            and t.context= #{context}
        </if>
        <if test="repairId !=null and repairId != ''">
            and rrp.repair_id= #{repairId}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and rrp.status_cd= #{statusCd}
        </if>
        <if test="communityId !=null and communityId != ''">
            and rrp.community_id= #{communityId}
        </if>
        <if test="visitPersonName !=null and visitPersonName != ''">
            and t.visit_person_name= #{visitPersonName}
        </if>
        <if test="visitPersonId !=null and visitPersonId != ''">
            and t.visit_person_id= #{visitPersonId}
        </if>
        <if test="visitType !=null and visitType != ''">
            and t.visit_type= #{visitType}
        </if>
        <if test="repairType !=null and repairType != ''">
            and rrp.repair_type= #{repairType}
        </if>
        <if test="repairName !=null and repairName != ''">
            and rrp.repair_name like '%${repairName}%'
        </if>
        <if test="tel !=null and tel != ''">
            and rrp.tel= #{tel}
        </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="updateRepairReturnVisitInfo" parameterType="Map">
        update r_repair_return_visit t set t.status_cd = #{statusCd}
        <if test="newBId != null and newBId != ''">
            ,t.b_id = #{newBId}
        </if>
        <if test="context !=null and context != ''">
            , t.context= #{context}
        </if>
        <if test="repairId !=null and repairId != ''">
            , t.repair_id= #{repairId}
        </if>
        <if test="communityId !=null and communityId != ''">
            , t.community_id= #{communityId}
        </if>
        <if test="visitPersonName !=null and visitPersonName != ''">
            , t.visit_person_name= #{visitPersonName}
        </if>
        <if test="visitPersonId !=null and visitPersonId != ''">
            , t.visit_person_id= #{visitPersonId}
        </if>
        <if test="visitType !=null and visitType != ''">
            , t.visit_type= #{visitType}
        </if>
        where 1=1
        <if test="visitId !=null and visitId != ''">
            and t.visit_id= #{visitId}
        </if>
    </update>
    <!-- 查询报修回访数量 add by wuxw 2018-07-03 -->
    <select id="queryRepairReturnVisitsCount" parameterType="Map" resultType="Map">
        select count(1) count
        from r_repair_pool rrp
        LEFT JOIN r_repair_return_visit t on t.repair_id = rrp.repair_id and t.community_id = rrp.community_id and t.status_cd = '0'
        left join t_dict d on rrp.state = d.status_cd and d.table_name = 'r_repair_pool' and d.table_columns = 'state'
        left join r_repair_setting rs on rs.repair_type = rrp.repair_type and rs.status_cd = '0'
        where 1 = 1
        and rrp.state = '1800'
        and rs.return_visit_flag in ('002','003')
        <if test="state == 'waiting'">
            and t.repair_id is null
        </if>
        <if test="state == 'finish'">
            and t.repair_id is not null
        </if>
        <if test="visitId !=null and visitId != ''">
            and t.visit_id= #{visitId}
        </if>
        <if test="context !=null and context != ''">
            and t.context= #{context}
        </if>
        <if test="repairId !=null and repairId != ''">
            and rrp.repair_id= #{repairId}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and rrp.status_cd= #{statusCd}
        </if>
        <if test="communityId !=null and communityId != ''">
            and rrp.community_id= #{communityId}
        </if>
        <if test="visitPersonName !=null and visitPersonName != ''">
            and t.visit_person_name= #{visitPersonName}
        </if>
        <if test="visitPersonId !=null and visitPersonId != ''">
            and t.visit_person_id= #{visitPersonId}
        </if>
        <if test="visitType !=null and visitType != ''">
            and t.visit_type= #{visitType}
        </if>
        <if test="repairType !=null and repairType != ''">
            and rrp.repair_type= #{repairType}
        </if>
        <if test="repairName !=null and repairName != ''">
            and rrp.repair_name like '%${repairName}%'
        </if>
        <if test="tel !=null and tel != ''">
            and rrp.tel= #{tel}
        </if>
    </select>
</mapper>
java110-db/src/main/resources/mapper/community/RepairServiceDaoImplMapper.xml
@@ -116,13 +116,14 @@
        bId, d.name stateName,t.maintenance_type maintenanceType,t.repair_channel repairChannel,
        rs.repair_type_name repairTypeName,rs.repair_way repairWay,rs.return_visit_flag returnVisitFlag,
        t.repair_obj_type,t.repair_obj_id,t.repair_obj_name,t.repair_obj_type repairObjType,t.repair_obj_id repairObjId,
        t.repair_obj_name repairObjName
        t.repair_obj_name repairObjName,rrv.visit_type visitType,rrv.context visitContext
        <if test="staffId != null and staffId != ''">
            ,rru.state repairDispatchState,rru.context repairDispatchContext,td.name repairDispatchStateName
        </if>
        from r_repair_pool t
        left join t_dict d on t.state = d.status_cd and d.table_name = 'r_repair_pool' and d.table_columns = 'state'
        left join r_repair_setting rs on rs.repair_type = t.repair_type and rs.status_cd = '0'
        left join r_repair_return_visit rrv on t.repair_id = rrv.repair_id and rrv.community_id = t.community_id and rrv.status_cd = '0'
        <if test="staffId != null and staffId != ''">
            ,r_repair_user rru
            ,t_dict td
java110-generator/src/main/resources/newBack/template_1.json
@@ -1,38 +1,38 @@
{
  "autoMove": true,
  "id": "planId",
  "name": "contractCollectionPlan",
  "desc": "合同收款计划",
  "shareParam": "storeId",
  "shareColumn": "store_id",
  "shareName": "store",
  "tableName": "contract_collection_plan",
  "id": "visitId",
  "name": "repairReturnVisit",
  "desc": "报修回访",
  "shareParam": "communityId",
  "shareColumn": "community_id",
  "shareName": "community",
  "tableName": "r_repair_return_visit",
  "param": {
    "storeId": "store_id",
    "planId": "plan_id",
    "contractId": "contract_id",
    "planName": "plan_name",
    "feeId": "fee_id",
    "feeName": "fee_name",
    "remark": "remark",
    "visitId": "visit_id",
    "repairId": "repair_id",
    "communityId": "community_id",
    "visitPersonId": "visit_person_id",
    "visitPersonName": "visit_person_name",
    "visitType": "visit_type",
    "context": "context",
    "statusCd": "status_cd"
  },
  "required": [
    {
      "code": "contractId",
      "msg": "合同ID不能为空"
      "code": "repairId",
      "msg": "报修单不能为空"
    },
    {
      "code": "feeId",
      "msg": "费用不能为空"
      "code": "visitPersonId",
      "msg": "回访人不能为空"
    },
    {
      "code": "storeId",
      "msg": "商户ID不能为空"
      "code": "communityId",
      "msg": "小区不能为空"
    },
    {
      "code": "planName",
      "msg": "收款计划名称不能为空"
      "code": "context",
      "msg": "回访内容不能为空"
    }
  ]
}
java110-interface/src/main/java/com/java110/intf/community/IRepairReturnVisitInnerServiceSMO.java
New file
@@ -0,0 +1,53 @@
package com.java110.intf.community;
import com.java110.config.feign.FeignConfiguration;
import com.java110.dto.repairReturnVisit.RepairReturnVisitDto;
import com.java110.po.repairReturnVisit.RepairReturnVisitPo;
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 IRepairReturnVisitInnerServiceSMO
 * @Description 报修回访接口类
 * @Author wuxw
 * @Date 2019/4/24 9:04
 * @Version 1.0
 * add by wuxw 2019/4/24
 **/
@FeignClient(name = "community-service", configuration = {FeignConfiguration.class})
@RequestMapping("/repairReturnVisitApi")
public interface IRepairReturnVisitInnerServiceSMO {
    @RequestMapping(value = "/saveRepairReturnVisit", method = RequestMethod.POST)
    public int saveRepairReturnVisit(@RequestBody RepairReturnVisitPo repairReturnVisitPo);
    @RequestMapping(value = "/updateRepairReturnVisit", method = RequestMethod.POST)
    public int updateRepairReturnVisit(@RequestBody  RepairReturnVisitPo repairReturnVisitPo);
    @RequestMapping(value = "/deleteRepairReturnVisit", method = RequestMethod.POST)
    public int deleteRepairReturnVisit(@RequestBody  RepairReturnVisitPo repairReturnVisitPo);
    /**
     * <p>查询小区楼信息</p>
     *
     *
     * @param repairReturnVisitDto 数据对象分享
     * @return RepairReturnVisitDto 对象数据
     */
    @RequestMapping(value = "/queryRepairReturnVisits", method = RequestMethod.POST)
    List<RepairReturnVisitDto> queryRepairReturnVisits(@RequestBody RepairReturnVisitDto repairReturnVisitDto);
    /**
     * 查询<p>小区楼</p>总记录数
     *
     * @param repairReturnVisitDto 数据对象分享
     * @return 小区下的小区楼记录数
     */
    @RequestMapping(value = "/queryRepairReturnVisitsCount", method = RequestMethod.POST)
    int queryRepairReturnVisitsCount(@RequestBody RepairReturnVisitDto repairReturnVisitDto);
}
java110-utils/src/main/java/com/java110/utils/constant/ServiceCodeRepairDispatchStepConstant.java
@@ -28,6 +28,11 @@
     */
    public static final String BINDING_REPAIR_FINISH = "ownerRepair.repairFinish";
    /**
     * 强制回单
     */
    public static final String BINDING_REPAIR_FORCE_FINISH = "ownerRepair.repairForceFinish";
    /**
     * 抢单
     */
service-api/src/main/java/com/java110/api/listener/fee/PayFeePreListener.java
@@ -9,17 +9,27 @@
import com.java110.core.context.DataFlowContext;
import com.java110.core.event.service.api.ServiceDataFlowEvent;
import com.java110.dto.app.AppDto;
import com.java110.dto.fee.FeeAttrDto;
import com.java110.dto.fee.FeeDetailDto;
import com.java110.dto.feeDiscount.ComputeDiscountDto;
import com.java110.dto.repair.RepairDto;
import com.java110.dto.repair.RepairUserDto;
import com.java110.entity.center.AppService;
import com.java110.entity.order.Orders;
import com.java110.intf.community.IRepairUserInnerServiceSMO;
import com.java110.intf.community.IRoomInnerServiceSMO;
import com.java110.intf.fee.IFeeAttrInnerServiceSMO;
import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
import com.java110.intf.fee.IFeeDiscountInnerServiceSMO;
import com.java110.intf.fee.IFeeInnerServiceSMO;
import com.java110.po.owner.RepairPoolPo;
import com.java110.po.owner.RepairUserPo;
import com.java110.utils.constant.BusinessTypeConstant;
import com.java110.utils.constant.CommonConstant;
import com.java110.utils.constant.ServiceCodeConstant;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.DateUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -62,6 +72,12 @@
    @Autowired
    private IPayFeeDetailDiscountBMO payFeeDetailDiscountBMOImpl;
    @Autowired
    private IFeeAttrInnerServiceSMO feeAttrInnerServiceSMOImpl;
    @Autowired
    private IRepairUserInnerServiceSMO repairUserInnerServiceSMO;
    @Override
    public String getServiceCode() {
@@ -111,6 +127,46 @@
            addDiscount(paramObj, businesses, dataFlowContext);
        }
        //判断是否有派单属性ID
        FeeAttrDto feeAttrDto = new FeeAttrDto();
        feeAttrDto.setCommunityId(paramObj.getString("communityId"));
        feeAttrDto.setFeeId(paramObj.getString("feeId"));
        feeAttrDto.setSpecCd(FeeAttrDto.SPEC_CD_REPAIR);
        List<FeeAttrDto> feeAttrDtos = feeAttrInnerServiceSMOImpl.queryFeeAttrs(feeAttrDto);
        //修改 派单状态
        if (feeAttrDtos != null && feeAttrDtos.size() > 0) {
            JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
            business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_REPAIR);
            business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ + 2);
            business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
            RepairPoolPo repairPoolPo = new RepairPoolPo();
            repairPoolPo.setRepairId(feeAttrDtos.get(0).getValue());
            repairPoolPo.setCommunityId(paramObj.getString("communityId"));
            repairPoolPo.setState(RepairDto.STATE_APPRAISE);
            business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put(RepairPoolPo.class.getSimpleName(), BeanConvertUtil.beanCovertMap(repairPoolPo));
            businesses.add(business);
        }
        //修改报修派单状态
        if (feeAttrDtos != null && feeAttrDtos.size() > 0) {
            JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
            business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_REPAIR_USER);
            business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ + 3);
            business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
            RepairUserDto repairUserDto = new RepairUserDto();
            repairUserDto.setRepairId(feeAttrDtos.get(0).getValue());
            repairUserDto.setState(RepairUserDto.STATE_PAY_FEE);
            //查询待支付状态的记录
            List<RepairUserDto> repairUserDtoList = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
            Assert.listOnlyOne(repairUserDtoList, "信息错误!");
            RepairUserPo repairUserPo = new RepairUserPo();
            repairUserPo.setRuId(repairUserDtoList.get(0).getRuId());
            repairUserPo.setState(RepairUserDto.STATE_EVALUATE);
            //如果是待评价状态,就更新开始时间
            repairUserPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
            repairUserPo.setContext("待评价");
            business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put(RepairUserPo.class.getSimpleName(), BeanConvertUtil.beanCovertMap(repairUserPo));
            businesses.add(business);
        }
        dataFlowContext.getRequestCurrentHeaders().put(CommonConstant.ORDER_PROCESS, Orders.ORDER_PROCESS_ORDER_PRE_SUBMIT);
        ResponseEntity<String> responseEntity = feeBMOImpl.callService(dataFlowContext, service.getServiceCode(), businesses);
service-api/src/main/java/com/java110/api/listener/ownerRepair/RepairForceFinishListener.java
New file
@@ -0,0 +1,143 @@
package com.java110.api.listener.ownerRepair;
import com.alibaba.fastjson.JSONObject;
import com.java110.api.bmo.ownerRepair.IOwnerRepairBMO;
import com.java110.api.listener.AbstractServiceApiPlusListener;
import com.java110.core.annotation.Java110Listener;
import com.java110.core.context.DataFlowContext;
import com.java110.core.event.service.api.ServiceDataFlowEvent;
import com.java110.dto.repair.RepairDto;
import com.java110.dto.repair.RepairUserDto;
import com.java110.intf.common.IFileInnerServiceSMO;
import com.java110.intf.community.IRepairInnerServiceSMO;
import com.java110.intf.community.IRepairUserInnerServiceSMO;
import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
import com.java110.intf.user.IOwnerInnerServiceSMO;
import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
import com.java110.po.owner.RepairUserPo;
import com.java110.utils.constant.BusinessTypeConstant;
import com.java110.utils.constant.ServiceCodeRepairDispatchStepConstant;
import com.java110.utils.util.Assert;
import com.java110.utils.util.DateUtil;
import com.java110.vo.ResultVo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import java.util.List;
/**
 * 强制回单
 * add by wuxw 2019-06-30
 */
@Java110Listener("repairForceFinishListener")
public class RepairForceFinishListener extends AbstractServiceApiPlusListener {
    private static Logger logger = LoggerFactory.getLogger(RepairForceFinishListener.class);
    @Autowired
    private IOwnerRepairBMO ownerRepairBMOImpl;
    @Autowired
    private IRepairUserInnerServiceSMO repairUserInnerServiceSMOImpl;
    @Autowired
    private IRepairInnerServiceSMO repairInnerServiceSMOImpl;
    @Autowired
    private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl;
    @Autowired
    private IFileInnerServiceSMO fileInnerServiceSMOImpl;
    @Autowired
    private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMO;
    @Autowired
    private IOwnerInnerServiceSMO ownerInnerServiceSMO;
    @Override
    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "repairId", "未包含报修单信息");
        Assert.hasKeyAndValue(reqJson, "context", "未包含派单内容");
        Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区信息");
    }
    @Override
    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
        String userId = reqJson.getString("userId");
        String userName = reqJson.getString("userName");
        RepairDto repairDto = new RepairDto();
        repairDto.setRepairId(reqJson.getString("repairId"));
        repairDto.setCommunityId(reqJson.getString("communityId"));
        repairDto.setState(RepairDto.STATE_TAKING);
        List<RepairDto> repairDtos = repairInnerServiceSMOImpl.queryRepairs(repairDto);
        Assert.listOnlyOne(repairDtos, "当前没有需要处理订单");
        //查询正在处理 工单的师傅
        RepairUserDto repairUserDto = new RepairUserDto();
        repairUserDto.setRepairId(reqJson.getString("repairId"));
        repairUserDto.setCommunityId(reqJson.getString("communityId"));
        repairUserDto.setState(RepairUserDto.STATE_DOING);
        List<RepairUserDto> repairUserDtos = repairUserInnerServiceSMOImpl.queryRepairUsers(repairUserDto);
        if (repairUserDtos != null && repairUserDtos.size() > 0) {
            // 1.0 关闭自己订单
            RepairUserPo repairUserPo = new RepairUserPo();
            repairUserPo.setRuId(repairUserDtos.get(0).getRuId());
            repairUserPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
            repairUserPo.setState(RepairUserDto.STATE_CLOSE);
            repairUserPo.setContext(userName + " 强制回单");
            repairUserPo.setCommunityId(reqJson.getString("communityId"));
            super.update(context, repairUserPo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_REPAIR_USER);
            repairUserPo = new RepairUserPo();
            repairUserPo.setRuId("-1");
            repairUserPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
            repairUserPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
            repairUserPo.setState(RepairUserDto.STATE_CLOSE);
            repairUserPo.setRepairId(reqJson.getString("repairId"));
            repairUserPo.setPreStaffId(repairUserDtos.get(0).getStaffId());
            repairUserPo.setPreStaffName(repairUserDtos.get(0).getStaffName());
            repairUserPo.setStaffId(userId);
            repairUserPo.setStaffName(userName);
            repairUserPo.setPreRuId(repairUserDtos.get(0).getRuId());
            repairUserPo.setRepairEvent(RepairUserDto.REPAIR_EVENT_AUDIT_USER);
            repairUserPo.setContext(reqJson.getString("context"));
            repairUserPo.setCommunityId(reqJson.getString("communityId"));
            super.insert(context, repairUserPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_REPAIR_USER);
        }
        reqJson.put("state", RepairDto.STATE_RETURN_VISIT);
        ownerRepairBMOImpl.modifyBusinessRepairDispatch(reqJson, context, RepairDto.STATE_RETURN_VISIT);
        ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_OK, ResultVo.MSG_OK);
        context.setResponseEntity(responseEntity);
    }
    @Override
    public String getServiceCode() {
        return ServiceCodeRepairDispatchStepConstant.BINDING_REPAIR_FORCE_FINISH;
    }
    @Override
    public HttpMethod getHttpMethod() {
        return HttpMethod.POST;
    }
    @Override
    public int getOrder() {
        return DEFAULT_ORDER;
    }
    public IRepairInnerServiceSMO getRepairInnerServiceSMOImpl() {
        return repairInnerServiceSMOImpl;
    }
    public void setRepairInnerServiceSMOImpl(IRepairInnerServiceSMO repairInnerServiceSMOImpl) {
        this.repairInnerServiceSMOImpl = repairInnerServiceSMOImpl;
    }
}
service-community/src/main/java/com/java110/community/api/RepairApi.java
@@ -2,14 +2,18 @@
import com.alibaba.fastjson.JSONObject;
import com.java110.community.bmo.repair.IAppraiseRepairBMO;
import com.java110.community.bmo.repairReturnVisit.IDeleteRepairReturnVisitBMO;
import com.java110.community.bmo.repairReturnVisit.IGetRepairReturnVisitBMO;
import com.java110.community.bmo.repairReturnVisit.ISaveRepairReturnVisitBMO;
import com.java110.community.bmo.repairReturnVisit.IUpdateRepairReturnVisitBMO;
import com.java110.dto.appraise.AppraiseDto;
import com.java110.dto.repairReturnVisit.RepairReturnVisitDto;
import com.java110.po.repairReturnVisit.RepairReturnVisitPo;
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.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
/**
 * 报修 控制类
@@ -20,6 +24,17 @@
    @Autowired
    private IAppraiseRepairBMO appraiseRepairBMOImpl;
    @Autowired
    private ISaveRepairReturnVisitBMO saveRepairReturnVisitBMOImpl;
    @Autowired
    private IUpdateRepairReturnVisitBMO updateRepairReturnVisitBMOImpl;
    @Autowired
    private IDeleteRepairReturnVisitBMO deleteRepairReturnVisitBMOImpl;
    @Autowired
    private IGetRepairReturnVisitBMO getRepairReturnVisitBMOImpl;
    /**
     * 报修评价
     *
@@ -28,7 +43,105 @@
     */
    @RequestMapping(value = "/appraiseRepair", method = RequestMethod.POST)
    public ResponseEntity<String> appraiseRepair(@RequestBody JSONObject reqJson) {
        AppraiseDto appraiseDto = BeanConvertUtil.covertBean(reqJson,AppraiseDto.class);
        AppraiseDto appraiseDto = BeanConvertUtil.covertBean(reqJson, AppraiseDto.class);
        return appraiseRepairBMOImpl.appraiseRepair(appraiseDto);
    }
    /**
     * 微信保存消息模板
     *
     * @param reqJson
     * @return
     * @serviceCode /repair/saveRepairReturnVisit
     * @path /app/repair/saveRepairReturnVisit
     */
    @RequestMapping(value = "/saveRepairReturnVisit", method = RequestMethod.POST)
    public ResponseEntity<String> saveRepairReturnVisit(
            @RequestHeader(value = "user-id") String userId,
            @RequestHeader(value = "user-name") String userName,
            @RequestBody JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "repairId", "请求报文中未包含repairId");
        Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId");
        Assert.hasKeyAndValue(reqJson, "visitType", "请求报文中未包含满意度");
        Assert.hasKeyAndValue(reqJson, "context", "请求报文中未包含context");
        RepairReturnVisitPo repairReturnVisitPo = BeanConvertUtil.covertBean(reqJson, RepairReturnVisitPo.class);
        repairReturnVisitPo.setVisitPersonId(userId);
        repairReturnVisitPo.setVisitPersonName(userName);
        return saveRepairReturnVisitBMOImpl.save(repairReturnVisitPo);
    }
    /**
     * 微信修改消息模板
     *
     * @param reqJson
     * @return
     * @serviceCode /repair/updateRepairReturnVisit
     * @path /app/repair/updateRepairReturnVisit
     */
    @RequestMapping(value = "/updateRepairReturnVisit", method = RequestMethod.POST)
    public ResponseEntity<String> updateRepairReturnVisit(@RequestBody JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "repairId", "请求报文中未包含repairId");
        Assert.hasKeyAndValue(reqJson, "visitPersonId", "请求报文中未包含visitPersonId");
        Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId");
        Assert.hasKeyAndValue(reqJson, "context", "请求报文中未包含context");
        Assert.hasKeyAndValue(reqJson, "visitId", "visitId不能为空");
        RepairReturnVisitPo repairReturnVisitPo = BeanConvertUtil.covertBean(reqJson, RepairReturnVisitPo.class);
        return updateRepairReturnVisitBMOImpl.update(repairReturnVisitPo);
    }
    /**
     * 微信删除消息模板
     *
     * @param reqJson
     * @return
     * @serviceCode /repair/deleteRepairReturnVisit
     * @path /app/repair/deleteRepairReturnVisit
     */
    @RequestMapping(value = "/deleteRepairReturnVisit", method = RequestMethod.POST)
    public ResponseEntity<String> deleteRepairReturnVisit(@RequestBody JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "communityId", "小区ID不能为空");
        Assert.hasKeyAndValue(reqJson, "visitId", "visitId不能为空");
        RepairReturnVisitPo repairReturnVisitPo = BeanConvertUtil.covertBean(reqJson, RepairReturnVisitPo.class);
        return deleteRepairReturnVisitBMOImpl.delete(repairReturnVisitPo);
    }
    /**
     * 微信删除消息模板
     *
     * @param communityId 小区ID
     * @return
     * @serviceCode /repair/queryRepairReturnVisit
     * @path /app/repair/queryRepairReturnVisit
     */
    @RequestMapping(value = "/queryRepairReturnVisit", method = RequestMethod.GET)
    public ResponseEntity<String> queryRepairReturnVisit(@RequestParam(value = "communityId") String communityId,
                                                         @RequestParam(value = "repairId",required = false) String repairId,
                                                         @RequestParam(value = "repairName",required = false) String repairName,
                                                         @RequestParam(value = "tel",required = false) String tel,
                                                         @RequestParam(value = "repairType",required = false) String repairType,
                                                         @RequestParam(value = "state") String state,
                                                         @RequestParam(value = "page") int page,
                                                         @RequestParam(value = "row") int row) {
        RepairReturnVisitDto repairReturnVisitDto = new RepairReturnVisitDto();
        repairReturnVisitDto.setPage(page);
        repairReturnVisitDto.setRow(row);
        repairReturnVisitDto.setCommunityId(communityId);
        repairReturnVisitDto.setRepairId(repairId);
        repairReturnVisitDto.setRepairName(repairName);
        repairReturnVisitDto.setTel(tel);
        repairReturnVisitDto.setRepairType(repairType);
        repairReturnVisitDto.setState(state);
        return getRepairReturnVisitBMOImpl.get(repairReturnVisitDto);
    }
}
service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/IDeleteRepairReturnVisitBMO.java
New file
@@ -0,0 +1,17 @@
package com.java110.community.bmo.repairReturnVisit;
import com.java110.po.repairReturnVisit.RepairReturnVisitPo;
import org.springframework.http.ResponseEntity;
public interface IDeleteRepairReturnVisitBMO {
    /**
     * 修改报修回访
     * add by wuxw
     * @param repairReturnVisitPo
     * @return
     */
    ResponseEntity<String> delete(RepairReturnVisitPo repairReturnVisitPo);
}
service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/IGetRepairReturnVisitBMO.java
New file
@@ -0,0 +1,16 @@
package com.java110.community.bmo.repairReturnVisit;
import com.java110.dto.repairReturnVisit.RepairReturnVisitDto;
import org.springframework.http.ResponseEntity;
public interface IGetRepairReturnVisitBMO {
    /**
     * 查询报修回访
     * add by wuxw
     * @param  repairReturnVisitDto
     * @return
     */
    ResponseEntity<String> get(RepairReturnVisitDto repairReturnVisitDto);
}
service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/ISaveRepairReturnVisitBMO.java
New file
@@ -0,0 +1,17 @@
package com.java110.community.bmo.repairReturnVisit;
import com.java110.po.repairReturnVisit.RepairReturnVisitPo;
import org.springframework.http.ResponseEntity;
public interface ISaveRepairReturnVisitBMO {
    /**
     * 添加报修回访
     * add by wuxw
     * @param repairReturnVisitPo
     * @return
     */
    ResponseEntity<String> save(RepairReturnVisitPo repairReturnVisitPo);
}
service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/IUpdateRepairReturnVisitBMO.java
New file
@@ -0,0 +1,17 @@
package com.java110.community.bmo.repairReturnVisit;
import com.java110.po.repairReturnVisit.RepairReturnVisitPo;
import org.springframework.http.ResponseEntity;
public interface IUpdateRepairReturnVisitBMO {
    /**
     * 修改报修回访
     * add by wuxw
     * @param repairReturnVisitPo
     * @return
     */
    ResponseEntity<String> update(RepairReturnVisitPo repairReturnVisitPo);
}
service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/impl/DeleteRepairReturnVisitBMOImpl.java
New file
@@ -0,0 +1,34 @@
package com.java110.community.bmo.repairReturnVisit.impl;
import com.java110.community.bmo.repairReturnVisit.IDeleteRepairReturnVisitBMO;
import com.java110.core.annotation.Java110Transactional;
import com.java110.intf.community.IRepairReturnVisitInnerServiceSMO;
import com.java110.po.repairReturnVisit.RepairReturnVisitPo;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
@Service("deleteRepairReturnVisitBMOImpl")
public class DeleteRepairReturnVisitBMOImpl implements IDeleteRepairReturnVisitBMO {
    @Autowired
    private IRepairReturnVisitInnerServiceSMO repairReturnVisitInnerServiceSMOImpl;
    /**
     * @param repairReturnVisitPo 数据
     * @return 订单服务能够接受的报文
     */
    @Java110Transactional
    public ResponseEntity<String> delete(RepairReturnVisitPo repairReturnVisitPo) {
        int flag = repairReturnVisitInnerServiceSMOImpl.deleteRepairReturnVisit(repairReturnVisitPo);
        if (flag > 0) {
            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
        }
        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
    }
}
service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/impl/GetRepairReturnVisitBMOImpl.java
New file
@@ -0,0 +1,44 @@
package com.java110.community.bmo.repairReturnVisit.impl;
import com.java110.community.bmo.repairReturnVisit.IGetRepairReturnVisitBMO;
import com.java110.dto.repairReturnVisit.RepairReturnVisitDto;
import com.java110.intf.community.IRepairReturnVisitInnerServiceSMO;
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("getRepairReturnVisitBMOImpl")
public class GetRepairReturnVisitBMOImpl implements IGetRepairReturnVisitBMO {
    @Autowired
    private IRepairReturnVisitInnerServiceSMO repairReturnVisitInnerServiceSMOImpl;
    /**
     * @param repairReturnVisitDto
     * @return 订单服务能够接受的报文
     */
    public ResponseEntity<String> get(RepairReturnVisitDto repairReturnVisitDto) {
        int count = repairReturnVisitInnerServiceSMOImpl.queryRepairReturnVisitsCount(repairReturnVisitDto);
        List<RepairReturnVisitDto> repairReturnVisitDtos = null;
        if (count > 0) {
            repairReturnVisitDtos = repairReturnVisitInnerServiceSMOImpl.queryRepairReturnVisits(repairReturnVisitDto);
        } else {
            repairReturnVisitDtos = new ArrayList<>();
        }
        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) repairReturnVisitDto.getRow()), count, repairReturnVisitDtos);
        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
        return responseEntity;
    }
}
service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/impl/SaveRepairReturnVisitBMOImpl.java
New file
@@ -0,0 +1,56 @@
package com.java110.community.bmo.repairReturnVisit.impl;
import com.java110.community.bmo.repairReturnVisit.ISaveRepairReturnVisitBMO;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.repair.RepairDto;
import com.java110.intf.community.IRepairInnerServiceSMO;
import com.java110.intf.community.IRepairReturnVisitInnerServiceSMO;
import com.java110.po.owner.RepairPoolPo;
import com.java110.po.repairReturnVisit.RepairReturnVisitPo;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
@Service("saveRepairReturnVisitBMOImpl")
public class SaveRepairReturnVisitBMOImpl implements ISaveRepairReturnVisitBMO {
    @Autowired
    private IRepairReturnVisitInnerServiceSMO repairReturnVisitInnerServiceSMOImpl;
    @Autowired
    private IRepairInnerServiceSMO repairInnerServiceSMOImpl;
    /**
     * 添加小区信息
     *
     * @param repairReturnVisitPo
     * @return 订单服务能够接受的报文
     */
    @Java110Transactional
    public ResponseEntity<String> save(RepairReturnVisitPo repairReturnVisitPo) {
        repairReturnVisitPo.setVisitId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_visitId));
        int flag = repairReturnVisitInnerServiceSMOImpl.saveRepairReturnVisit(repairReturnVisitPo);
        if (flag < 0) {
            return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
        }
        RepairPoolPo repairPoolPo = new RepairPoolPo();
        repairPoolPo.setRepairId(repairReturnVisitPo.getRepairId());
        repairPoolPo.setState(RepairDto.STATE_COMPLATE);
        repairPoolPo.setCommunityId(repairReturnVisitPo.getCommunityId());
        repairPoolPo.setStatusCd("0");
        flag = repairInnerServiceSMOImpl.updateRepair(repairPoolPo);
        if (flag < 0) {
            return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
        }
        return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
    }
}
service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/impl/UpdateRepairReturnVisitBMOImpl.java
New file
@@ -0,0 +1,34 @@
package com.java110.community.bmo.repairReturnVisit.impl;
import com.java110.community.bmo.repairReturnVisit.IUpdateRepairReturnVisitBMO;
import com.java110.core.annotation.Java110Transactional;
import com.java110.intf.community.IRepairReturnVisitInnerServiceSMO;
import com.java110.po.repairReturnVisit.RepairReturnVisitPo;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
@Service("updateRepairReturnVisitBMOImpl")
public class UpdateRepairReturnVisitBMOImpl implements IUpdateRepairReturnVisitBMO {
    @Autowired
    private IRepairReturnVisitInnerServiceSMO repairReturnVisitInnerServiceSMOImpl;
    /**
     * @param repairReturnVisitPo
     * @return 订单服务能够接受的报文
     */
    @Java110Transactional
    public ResponseEntity<String> update(RepairReturnVisitPo repairReturnVisitPo) {
        int flag = repairReturnVisitInnerServiceSMOImpl.updateRepairReturnVisit(repairReturnVisitPo);
        if (flag > 0) {
            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
        }
        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
    }
}
service-community/src/main/java/com/java110/community/dao/IRepairReturnVisitServiceDao.java
New file
@@ -0,0 +1,61 @@
package com.java110.community.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 IRepairReturnVisitServiceDao {
    /**
     * 保存 报修回访信息
     * @param info
     * @throws DAOException DAO异常
     */
    void saveRepairReturnVisitInfo(Map info) throws DAOException;
    /**
     * 查询报修回访信息(instance过程)
     * 根据bId 查询报修回访信息
     * @param info bId 信息
     * @return 报修回访信息
     * @throws DAOException DAO异常
     */
    List<Map> getRepairReturnVisitInfo(Map info) throws DAOException;
    /**
     * 修改报修回访信息
     * @param info 修改信息
     * @throws DAOException DAO异常
     */
    void updateRepairReturnVisitInfo(Map info) throws DAOException;
    /**
     * 查询报修回访总数
     *
     * @param info 报修回访信息
     * @return 报修回访数量
     */
    int queryRepairReturnVisitsCount(Map info);
}
service-community/src/main/java/com/java110/community/dao/impl/RepairReturnVisitServiceDaoImpl.java
New file
@@ -0,0 +1,98 @@
package com.java110.community.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.community.dao.IRepairReturnVisitServiceDao;
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("repairReturnVisitServiceDaoImpl")
//@Transactional
public class RepairReturnVisitServiceDaoImpl extends BaseServiceDao implements IRepairReturnVisitServiceDao {
    private static Logger logger = LoggerFactory.getLogger(RepairReturnVisitServiceDaoImpl.class);
    /**
     * 保存报修回访信息 到 instance
     * @param info   bId 信息
     * @throws DAOException DAO异常
     */
    @Override
    public void saveRepairReturnVisitInfo(Map info) throws DAOException {
        logger.debug("保存报修回访信息Instance 入参 info : {}",info);
        int saveFlag = sqlSessionTemplate.insert("repairReturnVisitServiceDaoImpl.saveRepairReturnVisitInfo",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> getRepairReturnVisitInfo(Map info) throws DAOException {
        logger.debug("查询报修回访信息 入参 info : {}",info);
        List<Map> businessRepairReturnVisitInfos = sqlSessionTemplate.selectList("repairReturnVisitServiceDaoImpl.getRepairReturnVisitInfo",info);
        return businessRepairReturnVisitInfos;
    }
    /**
     * 修改报修回访信息
     * @param info 修改信息
     * @throws DAOException DAO异常
     */
    @Override
    public void updateRepairReturnVisitInfo(Map info) throws DAOException {
        logger.debug("修改报修回访信息Instance 入参 info : {}",info);
        int saveFlag = sqlSessionTemplate.update("repairReturnVisitServiceDaoImpl.updateRepairReturnVisitInfo",info);
        if(saveFlag < 1){
            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"修改报修回访信息Instance数据失败:"+ JSONObject.toJSONString(info));
        }
    }
     /**
     * 查询报修回访数量
     * @param info 报修回访信息
     * @return 报修回访数量
     */
    @Override
    public int queryRepairReturnVisitsCount(Map info) {
        logger.debug("查询报修回访数据 入参 info : {}",info);
        List<Map> businessRepairReturnVisitInfos = sqlSessionTemplate.selectList("repairReturnVisitServiceDaoImpl.queryRepairReturnVisitsCount", info);
        if (businessRepairReturnVisitInfos.size() < 1) {
            return 0;
        }
        return Integer.parseInt(businessRepairReturnVisitInfos.get(0).get("count").toString());
    }
}
service-community/src/main/java/com/java110/community/smo/impl/RepairReturnVisitInnerServiceSMOImpl.java
New file
@@ -0,0 +1,83 @@
package com.java110.community.smo.impl;
import com.java110.community.dao.IRepairReturnVisitServiceDao;
import com.java110.core.base.smo.BaseServiceSMO;
import com.java110.dto.PageDto;
import com.java110.dto.repairReturnVisit.RepairReturnVisitDto;
import com.java110.intf.community.IRepairReturnVisitInnerServiceSMO;
import com.java110.po.repairReturnVisit.RepairReturnVisitPo;
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 RepairReturnVisitInnerServiceSMOImpl extends BaseServiceSMO implements IRepairReturnVisitInnerServiceSMO {
    @Autowired
    private IRepairReturnVisitServiceDao repairReturnVisitServiceDaoImpl;
    @Override
    public int saveRepairReturnVisit(@RequestBody RepairReturnVisitPo repairReturnVisitPo) {
        int saveFlag = 1;
        repairReturnVisitServiceDaoImpl.saveRepairReturnVisitInfo(BeanConvertUtil.beanCovertMap(repairReturnVisitPo));
        return saveFlag;
    }
    @Override
    public int updateRepairReturnVisit(@RequestBody RepairReturnVisitPo repairReturnVisitPo) {
        int saveFlag = 1;
        repairReturnVisitServiceDaoImpl.updateRepairReturnVisitInfo(BeanConvertUtil.beanCovertMap(repairReturnVisitPo));
        return saveFlag;
    }
    @Override
    public int deleteRepairReturnVisit(@RequestBody RepairReturnVisitPo repairReturnVisitPo) {
        int saveFlag = 1;
        repairReturnVisitPo.setStatusCd("1");
        repairReturnVisitServiceDaoImpl.updateRepairReturnVisitInfo(BeanConvertUtil.beanCovertMap(repairReturnVisitPo));
        return saveFlag;
    }
    @Override
    public List<RepairReturnVisitDto> queryRepairReturnVisits(@RequestBody RepairReturnVisitDto repairReturnVisitDto) {
        //校验是否传了 分页信息
        int page = repairReturnVisitDto.getPage();
        if (page != PageDto.DEFAULT_PAGE) {
            repairReturnVisitDto.setPage((page - 1) * repairReturnVisitDto.getRow());
        }
        List<RepairReturnVisitDto> repairReturnVisits = BeanConvertUtil.covertBeanList(repairReturnVisitServiceDaoImpl.getRepairReturnVisitInfo(BeanConvertUtil.beanCovertMap(repairReturnVisitDto)), RepairReturnVisitDto.class);
        return repairReturnVisits;
    }
    @Override
    public int queryRepairReturnVisitsCount(@RequestBody RepairReturnVisitDto repairReturnVisitDto) {
        return repairReturnVisitServiceDaoImpl.queryRepairReturnVisitsCount(BeanConvertUtil.beanCovertMap(repairReturnVisitDto));
    }
    public IRepairReturnVisitServiceDao getRepairReturnVisitServiceDaoImpl() {
        return repairReturnVisitServiceDaoImpl;
    }
    public void setRepairReturnVisitServiceDaoImpl(IRepairReturnVisitServiceDao repairReturnVisitServiceDaoImpl) {
        this.repairReturnVisitServiceDaoImpl = repairReturnVisitServiceDaoImpl;
    }
}