chengf
2025-08-05 c4a333b83ba54bcadf2a6a2b34fe66ab88a6ba9d
service-community/src/main/java/com/java110/community/cmd/parkingSpaceApply/UpdateParkingSpaceApplyCmd.java
@@ -19,31 +19,28 @@
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.AbstractServiceCmdListener;
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.CommunityMemberDto;
import com.java110.dto.fee.FeeConfigDto;
import com.java110.core.log.LoggerFactory;
import com.java110.dto.fee.PayFeeDto;
import com.java110.dto.owner.OwnerCarDto;
import com.java110.dto.parkingSpaceApply.ParkingSpaceApplyDto;
import com.java110.dto.parking.ParkingSpaceApplyDto;
import com.java110.intf.community.ICommunityMemberV1InnerServiceSMO;
import com.java110.intf.community.IParkingSpaceApplyV1InnerServiceSMO;
import com.java110.intf.community.IParkingSpaceV1InnerServiceSMO;
import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
import com.java110.intf.fee.IPayFeeNewV1InnerServiceSMO;
import com.java110.intf.fee.IPayFeeV1InnerServiceSMO;
import com.java110.intf.user.IOwnerCarV1InnerServiceSMO;
import com.java110.po.car.OwnerCarPo;
import com.java110.po.fee.PayFeePo;
import com.java110.po.parkingSpaceApply.ParkingSpaceApplyPo;
import com.java110.po.parking.ParkingSpaceApplyPo;
import com.java110.utils.constant.CommonConstant;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.StringUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
@@ -59,7 +56,7 @@
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@Java110Cmd(serviceCode = "parkingSpaceApply.updateParkingSpaceApply")
public class UpdateParkingSpaceApplyCmd extends AbstractServiceCmdListener {
public class UpdateParkingSpaceApplyCmd extends Cmd {
    private static Logger logger = LoggerFactory.getLogger(UpdateParkingSpaceApplyCmd.class);
@@ -69,11 +66,14 @@
    @Autowired
    private IOwnerCarV1InnerServiceSMO ownerCarV1InnerServiceSMOImpl;
    @Autowired
    private IPayFeeNewV1InnerServiceSMO payFeeNewV1InnerServiceSMOImpl;
    private IPayFeeV1InnerServiceSMO payFeeV1InnerServiceSMOImpl;
    @Autowired
    private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl;
    @Autowired
    private ICommunityMemberV1InnerServiceSMO communityMemberV1InnerServiceSMOImpl;
    @Autowired
    private IParkingSpaceV1InnerServiceSMO parkingSpaceV1InnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
@@ -87,10 +87,6 @@
        String userId = cmdDataFlowContext.getReqHeaders().get(CommonConstant.USER_ID);
        ParkingSpaceApplyPo parkingSpaceApplyPo = BeanConvertUtil.covertBean(reqJson, ParkingSpaceApplyPo.class);
        PayFeePo payFeePo = new PayFeePo();
        payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
        parkingSpaceApplyPo.setFeeId(payFeePo.getFeeId());
        int flag = parkingSpaceApplyV1InnerServiceSMOImpl.updateParkingSpaceApply(parkingSpaceApplyPo);
        if (flag < 1) {
@@ -110,64 +106,36 @@
        OwnerCarDto ownerCarDto = new OwnerCarDto();
        ownerCarDto.setCarNum(parkingSpaceApplyPo.getCarNum());
        ownerCarDto.setCommunityId(parkingSpaceApplyPo.getCommunityId());
        ownerCarDto.setLeaseType(OwnerCarDto.LEASE_TYPE_RESERVE);
        List<OwnerCarDto> ownerCarDtos = ownerCarV1InnerServiceSMOImpl.queryOwnerCars(ownerCarDto);
        String catId = "";
        OwnerCarPo ownerCarPo = new OwnerCarPo();
        if (ownerCarDtos == null || ownerCarDtos.size() < 1) {
            ownerCarPo.setCarId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
            ownerCarPo.setOwnerId(parkingSpaceApply.getApplyPersonId());
            ownerCarPo.setbId("-1");
            ownerCarPo.setCarNum(parkingSpaceApply.getCarNum());
            ownerCarPo.setCarColor(parkingSpaceApply.getCarColor());
            ownerCarPo.setCarBrand(parkingSpaceApply.getCarBrand());
            ownerCarPo.setCarType(parkingSpaceApply.getCarType());
            ownerCarPo.setCarTypeCd("1001");
            ownerCarPo.setCommunityId(parkingSpaceApply.getCommunityId());
            ownerCarPo.setMemberId(ownerCarPo.getCarId());
            return;
        } else {
            catId = ownerCarDtos.get(0).getCarId();
            OwnerCarPo ownerCarPo = new OwnerCarPo();
            ownerCarPo.setCarId(catId);
            ownerCarPo.setStartTime(parkingSpaceApply.getStartTime());
            ownerCarPo.setEndTime(parkingSpaceApply.getEndTime());
            ownerCarPo.setPsId(parkingSpaceApply.getPsId());
            ownerCarPo.setState("1001");
            ownerCarPo.setUserId(userId);
            ownerCarPo.setRemark("车位申请,系统自动写入");
            flag = ownerCarV1InnerServiceSMOImpl.saveOwnerCar(ownerCarPo);
            flag = ownerCarV1InnerServiceSMOImpl.updateOwnerCar(ownerCarPo);
            if (flag < 1) {
                throw new CmdException("更新数据失败");
            }
            catId = ownerCarPo.getCarId();
        }else {
            catId = ownerCarDtos.get(0).getCarId();
        }
        PayFeeDto feeDto = new PayFeeDto();
        feeDto.setFeeId(parkingSpaceApply.getFeeId());
        feeDto.setCommunityId(parkingSpaceApply.getCommunityId());
        feeDto.setConfigId(parkingSpaceApply.getConfigId());
        List<PayFeeDto> payFeeDtos =  payFeeV1InnerServiceSMOImpl.queryPayFees(feeDto);
        if(payFeeDtos == null || payFeeDtos.size() <1){
            return ;
        }
        PayFeePo payFeePo = new PayFeePo();
        payFeePo.setCommunityId(payFeeDtos.get(0).getCommunityId());
        payFeePo.setFeeId(payFeeDtos.get(0).getFeeId());
        payFeePo.setEndTime(parkingSpaceApply.getStartTime());
        FeeConfigDto feeConfigDto = new FeeConfigDto();
        feeConfigDto.setConfigId(parkingSpaceApply.getConfigId());
        List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
        if (feeConfigDtos == null || feeConfigDtos.size() < 1) {
            throw new CmdException("未查询到相关费用项设置,请联系管理员");
        }
        CommunityMemberDto communityMemberDto = new CommunityMemberDto();
        communityMemberDto.setCommunityId(parkingSpaceApply.getCommunityId());
        communityMemberDto.setMemberTypeCd("390001200002");
        List<CommunityMemberDto> communityMemberDtos = communityMemberV1InnerServiceSMOImpl.queryCommunityMembers(communityMemberDto);
        if (communityMemberDtos == null || communityMemberDtos.size() < 1) {
            throw new CmdException("未查询到小区和商户的关系,请联系管理员");
        }
        FeeConfigDto feeConfig = feeConfigDtos.get(0);
        payFeePo.setCommunityId(feeConfig.getCommunityId());
        payFeePo.setConfigId(feeConfig.getConfigId());
        payFeePo.setFeeTypeCd(feeConfig.getFeeTypeCd());
        payFeePo.setPayerObjId(catId);
        payFeePo.setIncomeObjId(communityMemberDtos.get(0).getMemberId());//根据小区ID查询storeId
        payFeePo.setStartTime(parkingSpaceApply.getStartTime());
        payFeePo.setEndTime(parkingSpaceApply.getEndTime());
        payFeePo.setAmount("0");
        payFeePo.setFeeFlag("1003006");
        payFeePo.setState("2009001");
        payFeePo.setPayerObjType("6666");
        payFeePo.setBatchId("-1");
        payFeePo.setbId("-1");
        payFeePo.setUserId(userId);
        flag = payFeeNewV1InnerServiceSMOImpl.savePayFeeNew(payFeePo);
        flag = payFeeV1InnerServiceSMOImpl.updatePayFee(payFeePo);
        if (flag < 1) {
            throw new CmdException("更新数据失败");
        }