java110 лет назад: 5
Родитель
Сommit
f1d9bedb3b

+ 22 - 0
java110-bean/src/main/java/com/java110/dto/owner/OwnerCarDto.java

@@ -19,6 +19,10 @@ public class OwnerCarDto extends PageDto implements Serializable {
     public static final String STATE_OWE = "2002";
     public static final String STATE_FINISH = "3003";
 
+
+    public static final String CAR_TYPE_PRIMARY = "1001"; //主车辆
+    public static final String CAR_TYPE_MEMBER = "1002"; //车辆成员
+
     private String carColor;
     private String carBrand;
     private String carType;
@@ -57,6 +61,8 @@ public class OwnerCarDto extends PageDto implements Serializable {
     private String valid;
 
     private String bId;
+    private String carTypeCd;
+    private String memberId;
 
 
     public String getCarColor() {
@@ -291,4 +297,20 @@ public class OwnerCarDto extends PageDto implements Serializable {
     public void setRoomName(String roomName) {
         this.roomName = roomName;
     }
+
+    public String getCarTypeCd() {
+        return carTypeCd;
+    }
+
+    public void setCarTypeCd(String carTypeCd) {
+        this.carTypeCd = carTypeCd;
+    }
+
+    public String getMemberId() {
+        return memberId;
+    }
+
+    public void setMemberId(String memberId) {
+        this.memberId = memberId;
+    }
 }

+ 21 - 0
java110-bean/src/main/java/com/java110/po/car/OwnerCarPo.java

@@ -12,6 +12,8 @@ import java.io.Serializable;
  **/
 public class OwnerCarPo implements Serializable {
 
+
+
     private String carId;
     private String ownerId;
     private String carNum;
@@ -29,6 +31,9 @@ public class OwnerCarPo implements Serializable {
     private String state;
 
     private String communityId;
+    private String carTypeCd;
+    private String memberId;
+
 
     public String getCarId() {
         return carId;
@@ -133,4 +138,20 @@ public class OwnerCarPo implements Serializable {
     public void setState(String state) {
         this.state = state;
     }
+
+    public String getCarTypeCd() {
+        return carTypeCd;
+    }
+
+    public void setCarTypeCd(String carTypeCd) {
+        this.carTypeCd = carTypeCd;
+    }
+
+    public String getMemberId() {
+        return memberId;
+    }
+
+    public void setMemberId(String memberId) {
+        this.memberId = memberId;
+    }
 }

+ 19 - 0
java110-bean/src/main/java/com/java110/vo/api/owner/ApiOwnerCarDataVo.java

@@ -23,6 +23,9 @@ public class ApiOwnerCarDataVo extends Vo {
     private String ownerId;
     private String userId;
     private String carId;
+    private String carTypeCd;
+    private String memberId;
+
 
 
     private String createTime;
@@ -114,4 +117,20 @@ public class ApiOwnerCarDataVo extends Vo {
     public void setCreateTime(String createTime) {
         this.createTime = createTime;
     }
+
+    public String getCarTypeCd() {
+        return carTypeCd;
+    }
+
+    public void setCarTypeCd(String carTypeCd) {
+        this.carTypeCd = carTypeCd;
+    }
+
+    public String getMemberId() {
+        return memberId;
+    }
+
+    public void setMemberId(String memberId) {
+        this.memberId = memberId;
+    }
 }

+ 8 - 0
java110-core/src/main/java/com/java110/core/smo/impl/ComputeFeeSMOImpl.java

@@ -757,6 +757,10 @@ public class ComputeFeeSMOImpl implements IComputeFeeSMO {
             valueObj = new BigDecimal(0);
         }
 
+        if(valueObj.doubleValue() < 0){
+            return new BigDecimal(0);
+        }
+
         return valueObj;
     }
 
@@ -811,6 +815,10 @@ public class ComputeFeeSMOImpl implements IComputeFeeSMO {
             valueObj = new BigDecimal(0);
         }
 
+        if(valueObj.doubleValue() < 0){
+            return new BigDecimal(0);
+        }
+
         return valueObj;
 
     }

+ 53 - 6
java110-db/src/main/resources/mapper/user/OwnerCarServiceDaoImplMapper.xml

@@ -7,10 +7,11 @@
     <!-- 保存车辆管理信息 add by wuxw 2018-07-03 -->
     <insert id="saveBusinessOwnerCarInfo" parameterType="Map">
         insert into business_owner_car(
-        car_color,car_brand,car_type,operate,car_num,ps_id,remark,owner_id,b_id,user_id,car_id,community_id,start_time,end_time,state
+        car_color,car_brand,car_type,operate,car_num,ps_id,remark,owner_id,b_id,user_id,car_id,community_id,start_time,
+        end_time,state,car_type_cd,member_id
         ) values (
         #{carColor},#{carBrand},#{carType},#{operate},#{carNum},#{psId},#{remark},#{ownerId},#{bId},#{userId},#{carId},#{communityId},
-        #{startTime},#{endTime},#{state}
+        #{startTime},#{endTime},#{state},#{carTypeCd},#{memberId}
         )
     </insert>
 
@@ -20,7 +21,8 @@
         select t.car_color,t.car_color carColor,t.car_brand,t.car_brand carBrand,t.car_type,t.car_type
         carType,t.operate,t.car_num,t.car_num carNum,t.ps_id,t.ps_id psId,t.remark,t.owner_id,t.owner_id
         ownerId,t.b_id,t.b_id bId,t.user_id,t.user_id userId,t.car_id,t.car_id carId,t.community_id,t.community_id
-        communityId,t.start_time,t.end_time,t.state,t.start_time startTime,t.end_time endTime
+        communityId,t.start_time,t.end_time,t.state,t.start_time startTime,t.end_time endTime,t.car_type_cd,
+        t.car_type_cd carTypeCd,t.member_id,t.member_id memberId
         from business_owner_car t
         where 1 =1
         <if test="carColor !=null and carColor != ''">
@@ -32,6 +34,9 @@
         <if test="carType !=null and carType != ''">
             and t.car_type= #{carType}
         </if>
+        <if test="carTypeCd !=null and carTypeCd != ''">
+            and t.car_type_cd= #{carTypeCd}
+        </if>
         <if test="operate !=null and operate != ''">
             and t.operate= #{operate}
         </if>
@@ -56,6 +61,9 @@
         <if test="carId !=null and carId != ''">
             and t.car_id= #{carId}
         </if>
+        <if test="memberId !=null and memberId != ''">
+            and t.member_id= #{memberId}
+        </if>
         <if test="communityId !=null and communityId != ''">
             and t.community_id= #{communityId}
         </if>
@@ -66,9 +74,11 @@
     <!-- 保存车辆管理信息至 instance表中 add by wuxw 2018-07-03 -->
     <insert id="saveOwnerCarInfoInstance" parameterType="Map">
         insert into owner_car(
-        car_color,car_brand,car_type,car_num,ps_id,remark,status_cd,owner_id,b_id,user_id,car_id,community_id,start_time,end_time,state
+        car_color,car_brand,car_type,car_num,ps_id,remark,status_cd,owner_id,b_id,user_id,car_id,community_id,
+        start_time,end_time,state,car_type_cd,member_id
         ) select
-        t.car_color,t.car_brand,t.car_type,t.car_num,t.ps_id,t.remark,'0',t.owner_id,t.b_id,t.user_id,t.car_id,t.community_id,t.start_time,t.end_time,t.state
+        t.car_color,t.car_brand,t.car_type,t.car_num,t.ps_id,t.remark,'0',t.owner_id,t.b_id,t.user_id,t.car_id,t.community_id,
+        t.start_time,t.end_time,t.state,  t.car_type_cd,t.member_id
         from business_owner_car t where 1=1
         <if test="carColor !=null and carColor != ''">
             and t.car_color= #{carColor}
@@ -79,6 +89,9 @@
         <if test="carType !=null and carType != ''">
             and t.car_type= #{carType}
         </if>
+        <if test="carTypeCd !=null and carTypeCd != ''">
+            and t.car_type_cd= #{carTypeCd}
+        </if>
         and t.operate= 'ADD'
         <if test="carNum !=null and carNum != ''">
             and t.car_num= #{carNum}
@@ -101,6 +114,9 @@
         <if test="carId !=null and carId != ''">
             and t.car_id= #{carId}
         </if>
+        <if test="memberId !=null and memberId != ''">
+            and t.member_id= #{memberId}
+        </if>
         <if test="communityId !=null and communityId != ''">
             and t.community_id= #{communityId}
         </if>
@@ -115,7 +131,8 @@
         t.car_num,t.car_num carNum,t.ps_id,t.ps_id psId,t.remark,t.status_cd,t.status_cd statusCd,t.owner_id,
         t.owner_id ownerId,t.b_id,t.b_id bId,t.user_id,t.user_id userId,t.car_id,t.car_id carId ,t.create_time
         createTime,t.community_id communityId,bow.name ownerName,bow.id_card idCard,bow.link,t2.name stateName,
-        t.start_time,t.start_time startTime,t.end_time,t.end_time endTime,t.state
+        t.start_time,t.start_time startTime,t.end_time,t.end_time endTime,t.state,
+        t.car_type_cd,t.car_type_cd carTypeCd,t.member_id,t.member_id memberId
         from owner_car t
         left join t_dict t1 on t.car_type=t1.status_cd and t1.table_name='owner_car' and t1.table_columns = 'car_type'
         left join t_dict t2 on t.state=t2.status_cd and t2.table_name='owner_car' and t2.table_columns = 'state'
@@ -134,6 +151,9 @@
         <if test="carType !=null and carType != ''">
             and t.car_type= #{carType}
         </if>
+        <if test="carTypeCd !=null and carTypeCd != ''">
+            and t.car_type_cd= #{carTypeCd}
+        </if>
         <if test="carNum !=null and carNum != ''">
             and t.car_num= #{carNum}
         </if>
@@ -170,6 +190,15 @@
         <if test="carId !=null and carId != ''">
             and t.car_id= #{carId}
         </if>
+        <if test="memberId !=null and memberId != ''">
+            and t.member_id= #{memberId}
+        </if>
+        <if test="memberIds !=null">
+            and t.member_id in
+            <foreach collection="memberIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="carIds !=null">
             and t.car_id in
             <foreach collection="carIds" item="item" index="index" open="(" close=")" separator=",">
@@ -239,9 +268,15 @@
         <if test="carId !=null and carId != ''">
             and t.car_id= #{carId}
         </if>
+        <if test="memberId !=null and memberId != ''">
+            and t.member_id= #{memberId}
+        </if>
         <if test="communityId !=null and communityId != ''">
             and t.community_id= #{communityId}
         </if>
+        <if test="carTypeCd !=null and carTypeCd != ''">
+            and t.car_type_cd= #{carTypeCd}
+        </if>
 
     </update>
 
@@ -266,6 +301,9 @@
         <if test="carType !=null and carType != ''">
             and t.car_type= #{carType}
         </if>
+        <if test="carTypeCd !=null and carTypeCd != ''">
+            and t.car_type_cd= #{carTypeCd}
+        </if>
         <if test="carNum !=null and carNum != ''">
             and t.car_num= #{carNum}
         </if>
@@ -296,6 +334,15 @@
         <if test="carId !=null and carId != ''">
             and t.car_id= #{carId}
         </if>
+        <if test="memberId !=null and memberId != ''">
+            and t.member_id= #{memberId}
+        </if>
+        <if test="memberIds !=null">
+            and t.member_id in
+            <foreach collection="memberIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="carIds !=null">
             and t.car_id in
             <foreach collection="carIds" item="item" index="index" open="(" close=")" separator=",">

+ 15 - 5
service-api/src/main/java/com/java110/api/bmo/parkingSpace/impl/ParkingSpaceBMOImpl.java

@@ -4,13 +4,14 @@ import com.alibaba.fastjson.JSONObject;
 import com.java110.api.bmo.ApiBaseBMO;
 import com.java110.api.bmo.parkingSpace.IParkingSpaceBMO;
 import com.java110.core.context.DataFlowContext;
-import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
-import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
-import com.java110.intf.fee.IFeeInnerServiceSMO;
+import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.fee.FeeConfigDto;
 import com.java110.dto.fee.FeeDto;
 import com.java110.dto.owner.OwnerCarDto;
 import com.java110.dto.parking.ParkingSpaceDto;
+import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
+import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
+import com.java110.intf.fee.IFeeInnerServiceSMO;
 import com.java110.po.car.OwnerCarPo;
 import com.java110.po.fee.PayFeeDetailPo;
 import com.java110.po.fee.PayFeePo;
@@ -22,6 +23,7 @@ import com.java110.utils.constant.ResponseConstant;
 import com.java110.utils.exception.ListenerExecuteException;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -212,9 +214,17 @@ public class ParkingSpaceBMOImpl extends ApiBaseBMO implements IParkingSpaceBMO
 
         JSONObject businessOwnerCar = new JSONObject();
         businessOwnerCar.putAll(paramInJson);
-        businessOwnerCar.put("carId", "-1");
+        businessOwnerCar.put("memberId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_carId));
+        if (!paramInJson.containsKey("carId") || paramInJson.getString("carId").startsWith("-")) {
+            businessOwnerCar.put("carId", businessOwnerCar.getString("memberId"));
+        }
         OwnerCarPo ownerCarPo = BeanConvertUtil.covertBean(businessOwnerCar, OwnerCarPo.class);
         ownerCarPo.setState(OwnerCarDto.STATE_NORMAL);
+
+        //没有指定时为主要车辆
+        if (!paramInJson.containsKey("carTypeCd") || StringUtil.isEmpty(paramInJson.getString("carTypeCd"))) {
+            ownerCarPo.setCarTypeCd(OwnerCarDto.CAR_TYPE_PRIMARY);
+        }
         super.insert(dataFlowContext, ownerCarPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_OWNER_CAR);
     }
 
@@ -233,7 +243,7 @@ public class ParkingSpaceBMOImpl extends ApiBaseBMO implements IParkingSpaceBMO
 
         if (parkingSpaceDtos == null || parkingSpaceDtos.size() != 1) {
             //throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "未查询到停车位信息" + JSONObject.toJSONString(parkingSpaceDto));
-            return ;
+            return;
         }
 
         parkingSpaceDto = parkingSpaceDtos.get(0);

+ 5 - 0
service-user/src/main/java/com/java110/user/listener/car/AbstractOwnerCarBusinessServiceDataFlowListener.java

@@ -40,6 +40,7 @@ public abstract class AbstractOwnerCarBusinessServiceDataFlowListener extends Ab
         businessOwnerCarInfo.put("carColor", businessOwnerCarInfo.get("car_color"));
         businessOwnerCarInfo.put("carBrand", businessOwnerCarInfo.get("car_brand"));
         businessOwnerCarInfo.put("carType", businessOwnerCarInfo.get("car_type"));
+        businessOwnerCarInfo.put("carTypeCd", businessOwnerCarInfo.get("car_type_cd"));
         businessOwnerCarInfo.put("operate", businessOwnerCarInfo.get("operate"));
         businessOwnerCarInfo.put("carNum", businessOwnerCarInfo.get("car_num"));
         businessOwnerCarInfo.put("psId", businessOwnerCarInfo.get("ps_id"));
@@ -47,6 +48,8 @@ public abstract class AbstractOwnerCarBusinessServiceDataFlowListener extends Ab
         businessOwnerCarInfo.put("ownerId", businessOwnerCarInfo.get("owner_id"));
         businessOwnerCarInfo.put("userId", businessOwnerCarInfo.get("user_id"));
         businessOwnerCarInfo.put("carId", businessOwnerCarInfo.get("car_id"));
+        businessOwnerCarInfo.put("memberId", businessOwnerCarInfo.get("member_id"));
+
         businessOwnerCarInfo.remove("bId");
         businessOwnerCarInfo.put("statusCd", statusCd);
     }
@@ -74,6 +77,7 @@ public abstract class AbstractOwnerCarBusinessServiceDataFlowListener extends Ab
         currentOwnerCarInfo.put("carColor", currentOwnerCarInfo.get("car_color"));
         currentOwnerCarInfo.put("carBrand", currentOwnerCarInfo.get("car_brand"));
         currentOwnerCarInfo.put("carType", currentOwnerCarInfo.get("car_type"));
+        currentOwnerCarInfo.put("carTypeCd", currentOwnerCarInfo.get("car_type_cd"));
         currentOwnerCarInfo.put("operate", currentOwnerCarInfo.get("operate"));
         currentOwnerCarInfo.put("carNum", currentOwnerCarInfo.get("car_num"));
         currentOwnerCarInfo.put("psId", currentOwnerCarInfo.get("ps_id"));
@@ -81,6 +85,7 @@ public abstract class AbstractOwnerCarBusinessServiceDataFlowListener extends Ab
         currentOwnerCarInfo.put("ownerId", currentOwnerCarInfo.get("owner_id"));
         currentOwnerCarInfo.put("userId", currentOwnerCarInfo.get("user_id"));
         currentOwnerCarInfo.put("carId", currentOwnerCarInfo.get("car_id"));
+        currentOwnerCarInfo.put("memberId", currentOwnerCarInfo.get("member_id"));
 
 
         currentOwnerCarInfo.put("operate", StatusConstant.OPERATE_DEL);