wuxw
2020-01-27 959db7dce6fca5b6224ca20078646840d051300b
优化 临时车缴费功能
1个文件已删除
6个文件已修改
1个文件已添加
361 ■■■■ 已修改文件
Api/src/main/java/com/java110/api/listener/machineTranslate/MachineRoadGateOpenListener.java 206 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Api/src/test/java/com/java110/AppTest.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Api/src/test/java/com/java110/api/listener/floor/MachineRoadGateOpenTest.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FeeService/src/main/java/com/java110/fee/listener/fee/AbstractFeeBusinessServiceDataFlowListener.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebService/src/main/resources/components/carInoutPackage/carIn-manage/carInManage.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/FeeDto.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/fee/FeeServiceDaoImplMapper.xml 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-utils/src/main/java/com/java110/utils/util/DateUtil.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Api/src/main/java/com/java110/api/listener/machineTranslate/MachineRoadGateOpenListener.java
@@ -5,12 +5,14 @@
import com.java110.core.annotation.Java110Listener;
import com.java110.core.context.DataFlowContext;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.core.smo.community.ICommunityInnerServiceSMO;
import com.java110.core.smo.fee.IFeeConfigInnerServiceSMO;
import com.java110.core.smo.fee.IFeeInnerServiceSMO;
import com.java110.core.smo.hardwareAdapation.ICarBlackWhiteInnerServiceSMO;
import com.java110.core.smo.hardwareAdapation.ICarInoutInnerServiceSMO;
import com.java110.core.smo.hardwareAdapation.IMachineInnerServiceSMO;
import com.java110.core.smo.owner.IOwnerCarInnerServiceSMO;
import com.java110.dto.CommunityMemberDto;
import com.java110.dto.FeeConfigDto;
import com.java110.dto.FeeDto;
import com.java110.dto.hardwareAdapation.CarBlackWhiteDto;
@@ -21,6 +23,7 @@
import com.java110.event.service.api.ServiceDataFlowEvent;
import com.java110.utils.constant.BusinessTypeConstant;
import com.java110.utils.constant.CommonConstant;
import com.java110.utils.constant.CommunityMemberTypeConstant;
import com.java110.utils.constant.FeeTypeConstant;
import com.java110.utils.constant.ServiceCodeMachineTranslateConstant;
import com.java110.utils.util.Assert;
@@ -56,6 +59,8 @@
    private static final String MACHINE_DIRECTION_OUT = "3307"; //出去
    private static final String HIRE_SELL_OUT = "hireSellOut"; // 出租或出售车辆出场
    private static final String CAR_BLACK = "1111"; // 车辆黑名单
    private static final String CAR_WHITE = "2222"; // 车辆白名单
@@ -76,6 +81,9 @@
    @Autowired
    private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl;
    @Autowired
    private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
    @Override
    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
@@ -154,6 +162,14 @@
            return;
        }
        //标识支付完成,检查是否为支付超时
        if (judgeCarOutTimeOut(event, context, reqJson, tmpCarInoutDto, machineDto)) {
            JSONObject data = computeHourAndMoney(tmpCarInoutDto.getCommunityId(), new Date(), reqJson.getDate("feeRestartTime"));
            context.setResponseEntity(MachineResDataVo.getResData(MachineResDataVo.CODE_ERROR, "支付已超时,请重新支付", data));
            return;
        }
        modifyCarInoutInfo(event, context, reqJson, tmpCarInoutDto, machineDto);
        ResponseEntity<String> responseEntity = context.getResponseEntity();
@@ -162,6 +178,67 @@
            return;
        }
        context.setResponseEntity(MachineResDataVo.getResData(MachineResDataVo.CODE_SUCCESS, "成功"));
    }
    /**
     * 判断车辆出场是否已经超时
     *
     * @param event
     * @param context
     * @param reqJson
     * @param tmpCarInoutDto
     * @param machineDto
     * @return
     */
    private boolean judgeCarOutTimeOut(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson, CarInoutDto tmpCarInoutDto, MachineDto machineDto) {
        CommunityMemberDto communityMemberDto = new CommunityMemberDto();
        communityMemberDto.setCommunityId(machineDto.getCommunityId());
        communityMemberDto.setMemberTypeCd(CommunityMemberTypeConstant.PROPERTY);
        List<CommunityMemberDto> communityMemberDtos = communityInnerServiceSMOImpl.getCommunityMembers(communityMemberDto);
        String storeId = "-1";
        if (communityMemberDtos != null && communityMemberDtos.size() > 0) {
            storeId = communityMemberDtos.get(0).getMemberId();
        }
        FeeDto feeDto = new FeeDto();
        feeDto.setCommunityId(machineDto.getCommunityId());
        feeDto.setPayerObjId(reqJson.getString("inoutId"));
        feeDto.setIncomeObjId(storeId);
        feeDto.setFeeTypeCd(FeeTypeConstant.FEE_TYPE_TEMP_DOWN_PARKING_SPACE);
        feeDto.setState("2009001");
        feeDto.setFeeFlag("2006012");
        List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
        if (feeDtos == null || feeDtos.size() < 1) {
            return false;
        }
        FeeDto tmpFeeDto = feeDtos.get(0);
        long dffMin = new Date().getTime() - tmpFeeDto.getEndTime().getTime();
        if (dffMin < 15 * 1000 * 60) {
            return false;
        }
        //重新插入 一条 收费记录 收费
        HttpHeaders header = new HttpHeaders();
        context.getRequestCurrentHeaders().put(CommonConstant.HTTP_ORDER_TYPE_CD, "D");
        JSONArray businesses = new JSONArray();
        AppService service = event.getAppService();
        //添加单元信息
        businesses.add(modifyCarInout(reqJson, context, tmpCarInoutDto, "100600", ""));
        businesses.add(addCarInoutFee(reqJson, context, tmpCarInoutDto.getCommunityId(), DateUtil.getFormatTimeString(tmpFeeDto.getEndTime(), DateUtil.DATE_FORMATE_STRING_A)));
        JSONObject paramInObj = super.restToCenterProtocol(businesses, context.getRequestCurrentHeaders());
        //将 rest header 信息传递到下层服务中去
        super.freshHttpHeader(header, context.getRequestCurrentHeaders());
        ResponseEntity<String> responseEntity = this.callService(context, service.getServiceCode(), paramInObj);
        context.setResponseEntity(responseEntity);
        reqJson.put("feeRestartTime", tmpFeeDto.getEndTime());
        return true;
    }
    /**
@@ -210,7 +287,7 @@
                long day = betweenTime / (60 * 60 * 24 * 1000);
                JSONObject data = new JSONObject();
                data.put("day", day);//还剩余多少天
                modifyCarInoutInfo(event, context, reqJson, tmpCarInoutDto, machineDto);
                modifyCarInoutInfo(event, context, reqJson, tmpCarInoutDto, machineDto, HIRE_SELL_OUT);
                context.setResponseEntity(MachineResDataVo.getResData(MachineResDataVo.CODE_SUCCESS, "成功", data));
                return;
            }
@@ -226,8 +303,14 @@
            return;
        }
        JSONObject data = computeHourAndMoney(tmpCarInoutDto.getCommunityId(), nowTime, inTime);
        context.setResponseEntity(MachineResDataVo.getResData(MachineResDataVo.CODE_ERROR, "车辆未支付,请先支付", data));
    }
    private JSONObject computeHourAndMoney(String communityId, Date nowTime, Date inTime) {
        FeeConfigDto feeConfigDto = new FeeConfigDto();
        feeConfigDto.setCommunityId(tmpCarInoutDto.getCommunityId());
        feeConfigDto.setCommunityId(communityId);
        feeConfigDto.setFeeTypeCd(FeeTypeConstant.FEE_TYPE_TEMP_DOWN_PARKING_SPACE);
        List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
@@ -258,11 +341,14 @@
        data.put("money", money);//缴费金额
        data.put("hour", new Double(hour).intValue());//停车时间
        data.put("min", new Double(min).intValue());//停车时间
        context.setResponseEntity(MachineResDataVo.getResData(MachineResDataVo.CODE_ERROR, "车辆未支付,请先支付", data));
        return data;
    }
    private void modifyCarInoutInfo(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson, CarInoutDto tmpCarInoutDto, MachineDto machineDto) {
        modifyCarInoutInfo(event, context, reqJson, tmpCarInoutDto, machineDto, "");
    }
    private void modifyCarInoutInfo(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson, CarInoutDto tmpCarInoutDto, MachineDto machineDto, String from) {
        HttpHeaders header = new HttpHeaders();
        context.getRequestCurrentHeaders().put(CommonConstant.HTTP_ORDER_TYPE_CD, "D");
        JSONArray businesses = new JSONArray();
@@ -271,6 +357,12 @@
        businesses.add(modifyCarInout(reqJson, context, tmpCarInoutDto));
        reqJson.put("inoutId", tmpCarInoutDto.getInoutId());
        businesses.add(addCarInoutDetail(reqJson, context, tmpCarInoutDto.getCommunityId(), machineDto));
        if (HIRE_SELL_OUT.equals(from)) {
            JSONObject tmpModifyCarInoutFee = modifyCarInoutFee(reqJson, context, tmpCarInoutDto.getCommunityId(), machineDto);
            if (tmpModifyCarInoutFee != null) {
                businesses.add(tmpModifyCarInoutFee);
            }
        }
        JSONObject paramInObj = super.restToCenterProtocol(businesses, context.getRequestCurrentHeaders());
        //将 rest header 信息传递到下层服务中去
        super.freshHttpHeader(header, context.getRequestCurrentHeaders());
@@ -279,14 +371,18 @@
    }
    private JSONObject modifyCarInout(JSONObject reqJson, DataFlowContext context, CarInoutDto carInoutDto) {
        return modifyCarInout(reqJson, context, carInoutDto, "100500", DateUtil.getFormatTimeString(new Date(), DateUtil.DATE_FORMATE_STRING_A));
    }
    private JSONObject modifyCarInout(JSONObject reqJson, DataFlowContext context, CarInoutDto carInoutDto, String state, String endTime) {
        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_CAR_INOUT);
        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);
        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
        JSONObject businessCarInout = new JSONObject();
        businessCarInout.putAll(BeanConvertUtil.beanCovertMap(carInoutDto));
        businessCarInout.put("state", "100500");
        businessCarInout.put("outTime", DateUtil.getFormatTimeString(new Date(), DateUtil.DATE_FORMATE_STRING_A));
        businessCarInout.put("state", state);
        businessCarInout.put("outTime", endTime);
        //计算 应收金额
        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessCarInout", businessCarInout);
        return business;
@@ -321,6 +417,7 @@
        //添加单元信息
        businesses.add(addCarInout(reqJson, context, communityId));
        businesses.add(addCarInoutDetail(reqJson, context, communityId, machineDto));
        businesses.add(addCarInoutFee(reqJson, context, communityId));
        JSONObject paramInObj = super.restToCenterProtocol(businesses, context.getRequestCurrentHeaders());
@@ -335,6 +432,103 @@
        context.setResponseEntity(MachineResDataVo.getResData(MachineResDataVo.CODE_SUCCESS, "成功"));
    }
    /**
     * 添加物业费用
     *
     * @param paramInJson     接口调用放传入入参
     * @param dataFlowContext 数据上下文
     * @return 订单服务能够接受的报文
     */
    private JSONObject addCarInoutFee(JSONObject paramInJson, DataFlowContext dataFlowContext, String communityId) {
        return addCarInoutFee(paramInJson, dataFlowContext, communityId, DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
    }
    /**
     * 添加物业费用
     *
     * @param paramInJson     接口调用放传入入参
     * @param dataFlowContext 数据上下文
     * @return 订单服务能够接受的报文
     */
    private JSONObject addCarInoutFee(JSONObject paramInJson, DataFlowContext dataFlowContext, String communityId, String startTime) {
        CommunityMemberDto communityMemberDto = new CommunityMemberDto();
        communityMemberDto.setCommunityId(communityId);
        communityMemberDto.setMemberTypeCd(CommunityMemberTypeConstant.PROPERTY);
        List<CommunityMemberDto> communityMemberDtos = communityInnerServiceSMOImpl.getCommunityMembers(communityMemberDto);
        String storeId = "-1";
        if (communityMemberDtos != null && communityMemberDtos.size() > 0) {
            storeId = communityMemberDtos.get(0).getMemberId();
        }
        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FEE_INFO);
        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ + 1);
        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
        JSONObject businessUnit = new JSONObject();
        businessUnit.put("feeId", "-1");
        businessUnit.put("feeTypeCd", FeeTypeConstant.FEE_TYPE_TEMP_DOWN_PARKING_SPACE);
        businessUnit.put("incomeObjId", storeId);
        businessUnit.put("amount", "-1.00");
        businessUnit.put("startTime", startTime);
        businessUnit.put("endTime", DateUtil.getLastTime()); // 临时车将结束时间刷成2038年
        businessUnit.put("communityId", communityId);
        businessUnit.put("payerObjId", paramInJson.getString("inoutId"));
        businessUnit.put("feeFlag", "2006012"); // 一次性费用
        businessUnit.put("state", "2008001"); // 收费中
        businessUnit.put("userId", "-1");
        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessFee", businessUnit);
        return business;
    }
    /**
     * 出租或出售 车辆出场
     *
     * @param reqJson
     * @param context
     * @param communityId
     * @param machineDto
     * @return
     */
    private JSONObject modifyCarInoutFee(JSONObject reqJson, DataFlowContext context, String communityId, MachineDto machineDto) {
        CommunityMemberDto communityMemberDto = new CommunityMemberDto();
        communityMemberDto.setCommunityId(communityId);
        communityMemberDto.setMemberTypeCd(CommunityMemberTypeConstant.PROPERTY);
        List<CommunityMemberDto> communityMemberDtos = communityInnerServiceSMOImpl.getCommunityMembers(communityMemberDto);
        String storeId = "-1";
        if (communityMemberDtos != null && communityMemberDtos.size() > 0) {
            storeId = communityMemberDtos.get(0).getMemberId();
        }
        FeeDto feeDto = new FeeDto();
        feeDto.setCommunityId(communityId);
        feeDto.setPayerObjId(reqJson.getString("inoutId"));
        feeDto.setIncomeObjId(storeId);
        feeDto.setFeeTypeCd(FeeTypeConstant.FEE_TYPE_TEMP_DOWN_PARKING_SPACE);
        feeDto.setState("2008001");
        feeDto.setFeeFlag("2006012");
        List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
        if (feeDtos == null || feeDtos.size() < 1) {
            return null;
        }
        FeeDto tmpFeeDto = feeDtos.get(0);
        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_FEE_INFO);
        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ + 1);
        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
        JSONObject businessUnit = new JSONObject();
        businessUnit.putAll(BeanConvertUtil.beanCovertMap(tmpFeeDto));
        businessUnit.put("endTime", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
        businessUnit.put("state", "2009001"); // 收费中
        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessFee", businessUnit);
        return business;
    }
    /**
     * 添加小区信息
Api/src/test/java/com/java110/AppTest.java
File was deleted
Api/src/test/java/com/java110/api/listener/floor/MachineRoadGateOpenTest.java
New file
@@ -0,0 +1,29 @@
package com.java110.api.listener.floor;
import com.java110.utils.util.DateUtil;
import org.junit.Test;
import java.text.ParseException;
import java.util.Date;
/**
 * @ClassName MachineRoadGateOpenTest
 * @Description TODO
 * @Author wuxw
 * @Date 2020/1/27 12:14
 * @Version 1.0
 * add by wuxw 2020/1/27
 **/
public class MachineRoadGateOpenTest {
    @Test
    public void soService() throws ParseException {
        Date aDate = DateUtil.getDateFromString("2020-01-27 12:16:00", DateUtil.DATE_FORMATE_STRING_A);
        Date bDate = DateUtil.getDateFromString("2020-01-27 12:31:00", DateUtil.DATE_FORMATE_STRING_A);
        long diffMin = bDate.getTime() - aDate.getTime();
        System.out.println("diffMin:" + diffMin);
        System.out.println("15 min:" + 15 * 60 * 1000);
    }
}
FeeService/src/main/java/com/java110/fee/listener/fee/AbstractFeeBusinessServiceDataFlowListener.java
@@ -47,6 +47,8 @@
        businessFeeInfo.put("feeId", businessFeeInfo.get("fee_id"));
        businessFeeInfo.put("userId", businessFeeInfo.get("user_id"));
        businessFeeInfo.put("payerObjId", businessFeeInfo.get("payer_obj_id"));
        businessFeeInfo.put("feeFlag", businessFeeInfo.get("fee_flag"));
        businessFeeInfo.put("state", businessFeeInfo.get("state"));
        businessFeeInfo.remove("bId");
        businessFeeInfo.put("statusCd", statusCd);
    }
@@ -82,7 +84,8 @@
        currentFeeInfo.put("feeId", currentFeeInfo.get("fee_id"));
        currentFeeInfo.put("userId", currentFeeInfo.get("user_id"));
        currentFeeInfo.put("payerObjId", currentFeeInfo.get("payer_obj_id"));
        currentFeeInfo.put("feeFlag", currentFeeInfo.get("fee_flag"));
        currentFeeInfo.put("state", currentFeeInfo.get("state"));
        currentFeeInfo.put("operate", StatusConstant.OPERATE_DEL);
        getFeeServiceDaoImpl().saveBusinessFeeInfo(currentFeeInfo);
WebService/src/main/resources/components/carInoutPackage/carIn-manage/carInManage.html
@@ -70,7 +70,7 @@
                            <th class="text-center">车牌号</th>
                            <th class="text-center">进场时间</th>
                            <th class="text-center">在场时间(小时)</th>
                            <th class="text-center">产生费用(元)</th>
                            <th class="text-center">产生费用</th>
                        </tr>
                        </thead>
                        <tbody>
@@ -80,7 +80,7 @@
                            <td class="text-center">{{carIn.carNum}}</td>
                            <td class="text-center">{{carIn.inTime}}</td>
                            <td class="text-center">{{carIn.continueHours}}</td>
                            <td class="text-center">{{carIn.money}}</td>
                            <td class="text-center">{{carIn.money}}元</td>
                        </tr>
                        </tbody>
                        <tfoot>
java110-bean/src/main/java/com/java110/dto/FeeDto.java
@@ -26,6 +26,8 @@
    private String squarePrice;
    private String additionalAmount;
    private String state;
    private String feeFlag;
    private Date arrearsEndTime;
@@ -156,4 +158,20 @@
    public void setAdditionalAmount(String additionalAmount) {
        this.additionalAmount = additionalAmount;
    }
    public String getState() {
        return state;
    }
    public void setState(String state) {
        this.state = state;
    }
    public String getFeeFlag() {
        return feeFlag;
    }
    public void setFeeFlag(String feeFlag) {
        this.feeFlag = feeFlag;
    }
}
java110-db/src/main/resources/mapper/fee/FeeServiceDaoImplMapper.xml
@@ -7,9 +7,10 @@
    <!-- 保存费用信息 add by wuxw 2018-07-03 -->
    <insert id="saveBusinessFeeInfo" parameterType="Map">
        insert into business_pay_fee(
        amount,operate,income_obj_id,fee_type_cd,start_time,end_time,community_id,b_id,fee_id,user_id,payer_obj_id
        amount,operate,income_obj_id,fee_type_cd,start_time,end_time,community_id,b_id,fee_id,user_id,payer_obj_id,fee_flag,state
        ) values (
        #{amount},#{operate},#{incomeObjId},#{feeTypeCd},#{startTime},#{endTime},#{communityId},#{bId},#{feeId},#{userId},#{payerObjId}
        #{amount},#{operate},#{incomeObjId},#{feeTypeCd},#{startTime},#{endTime},#{communityId},#{bId},#{feeId},#{userId},#{payerObjId},
        #{feeFlag},#{state}
        )
    </insert>
@@ -19,7 +20,7 @@
        select t.amount,t.operate,t.income_obj_id,t.income_obj_id incomeObjId,t.fee_type_cd,t.fee_type_cd
        feeTypeCd,t.start_time,t.start_time startTime,t.end_time,t.end_time endTime,t.community_id,t.community_id
        communityId,t.b_id,t.b_id bId,t.fee_id,t.fee_id feeId,t.user_id,t.user_id userId,t.payer_obj_id,t.payer_obj_id
        payerObjId
        payerObjId,t.fee_flag,t.fee_flag feeFlag,t.state
        from business_pay_fee t
        where 1 =1
        <if test="amount !=null and amount != ''">
@@ -55,6 +56,12 @@
        <if test="payerObjId !=null and payerObjId != ''">
            and t.payer_obj_id= #{payerObjId}
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        <if test="feeFlag !=null and feeFlag != ''">
            and t.fee_flag= #{feeFlag}
        </if>
    </select>
@@ -62,9 +69,10 @@
    <!-- 保存费用信息至 instance表中 add by wuxw 2018-07-03 -->
    <insert id="saveFeeInfoInstance" parameterType="Map">
        insert into pay_fee(
        amount,income_obj_id,fee_type_cd,start_time,status_cd,end_time,community_id,b_id,fee_id,user_id,payer_obj_id
        amount,income_obj_id,fee_type_cd,start_time,status_cd,end_time,community_id,b_id,fee_id,user_id,payer_obj_id,fee_flag,state
        ) select
        t.amount,t.income_obj_id,t.fee_type_cd,t.start_time,'0',t.end_time,t.community_id,t.b_id,t.fee_id,t.user_id,t.payer_obj_id
        ,t.fee_flag,t.state
        from business_pay_fee t where 1=1
        <if test="amount !=null and amount != ''">
            and t.amount= #{amount}
@@ -97,6 +105,12 @@
        <if test="payerObjId !=null and payerObjId != ''">
            and t.payer_obj_id= #{payerObjId}
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        <if test="feeFlag !=null and feeFlag != ''">
            and t.fee_flag= #{feeFlag}
        </if>
    </insert>
@@ -106,7 +120,8 @@
        select t.amount,t.income_obj_id,t.income_obj_id incomeObjId,t.fee_type_cd,t.fee_type_cd
        feeTypeCd,t.start_time,t.start_time startTime,t.status_cd,t.status_cd statusCd,t.end_time,t.end_time
        endTime,t.community_id,t.community_id communityId,t.b_id,t.b_id bId,t.fee_id,t.fee_id feeId,t.user_id,t.user_id
        userId,t.payer_obj_id,t.payer_obj_id payerObjId,pfc.square_price squarePrice,pfc.additional_amount additionalAmount
        userId,t.payer_obj_id,t.payer_obj_id payerObjId,pfc.square_price squarePrice,pfc.additional_amount
        additionalAmount,t.fee_flag feeFlag,t.state
        from pay_fee t,pay_fee_config pfc
        where 1 =1
        and t.fee_type_cd = pfc.fee_type_cd
@@ -154,6 +169,12 @@
        <if test="payerObjId !=null and payerObjId != ''">
            and t.payer_obj_id= #{payerObjId}
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        <if test="feeFlag !=null and feeFlag != ''">
            and t.fee_flag= #{feeFlag}
        </if>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
@@ -191,6 +212,12 @@
        </if>
        <if test="payerObjId !=null and payerObjId != ''">
            , t.payer_obj_id= #{payerObjId}
        </if>
        <if test="state !=null and state != ''">
            , t.state= #{state}
        </if>
        <if test="feeFlag !=null and feeFlag != ''">
            , t.fee_flag= #{feeFlag}
        </if>
        where 1=1
        <if test="bId !=null and bId != ''">
@@ -252,6 +279,12 @@
        <if test="payerObjId !=null and payerObjId != ''">
            and t.payer_obj_id= #{payerObjId}
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        <if test="feeFlag !=null and feeFlag != ''">
            and t.fee_flag= #{feeFlag}
        </if>
    </select>
java110-utils/src/main/java/com/java110/utils/util/DateUtil.java
@@ -16,6 +16,8 @@
    private static DateFormat dateFormat = new SimpleDateFormat("yyyyMMddhhmmss");
    private static final String LAST_TIME = "2038-01-01 00:00:00";
    private static Map<String, SimpleDateFormat> formats = new HashMap();
    public static final String DATE_FORMATE_STRING_DEFAULT = "yyyyMMddHHmmss";
    public static final String DATE_FORMATE_STRING_A = "yyyy-MM-dd HH:mm:ss";
@@ -146,6 +148,10 @@
        return getFormatTimeString(new Date(), pattern);
    }
    public static String getLastTime(){
        return LAST_TIME;
    }
    public static String getNowII() {
        return getFormatTimeString(new Date(), "yyyyMMdd");
    }