Browse Source

优化代码

Your Name 3 years ago
parent
commit
ddbc76a644

+ 11 - 0
java110-bean/src/main/java/com/java110/dto/machine/MachineTranslateDto.java

@@ -88,7 +88,10 @@ public class MachineTranslateDto extends PageDto implements Serializable {
     private String typeCdName;
     private String machineTranslateId;
     private String objId;
+
+    private String[] objIds;
     private String objName;
+
     private String state;
     private String stateName;
     private String communityId;
@@ -274,4 +277,12 @@ public class MachineTranslateDto extends PageDto implements Serializable {
     public void setIsNow(String isNow) {
         this.isNow = isNow;
     }
+
+    public String[] getObjIds() {
+        return objIds;
+    }
+
+    public void setObjIds(String[] objIds) {
+        this.objIds = objIds;
+    }
 }

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

@@ -70,6 +70,8 @@ public class OwnerCarDto extends PageDto implements Serializable {
     private Date endTime;
     private String state;
     private String stateName;
+    private String iotStateName;
+    private String iotRemark;
 
     private String areaNum;
 
@@ -500,4 +502,20 @@ public class OwnerCarDto extends PageDto implements Serializable {
     public void setMemberCarNumLike(String memberCarNumLike) {
         this.memberCarNumLike = memberCarNumLike;
     }
+
+    public String getIotStateName() {
+        return iotStateName;
+    }
+
+    public void setIotStateName(String iotStateName) {
+        this.iotStateName = iotStateName;
+    }
+
+    public String getIotRemark() {
+        return iotRemark;
+    }
+
+    public void setIotRemark(String iotRemark) {
+        this.iotRemark = iotRemark;
+    }
 }

+ 21 - 0
java110-db/src/main/resources/mapper/common/MachineTranslateV1ServiceDaoImplMapper.xml

@@ -165,4 +165,25 @@
 
     </select>
 
+    <select id="queryObjStateInMachineTranslates" parameterType="Map" resultType="Map">
+        select a.obj_id objId,a.state,a.remark,td1.name stateName
+        from machine_translate a
+        left join t_dict td1 on a.state=td1.status_cd and td1.table_name='machine_translate' and td1.table_columns='state'
+        where a.machine_translate_id in
+        (
+            select max(t.machine_translate_id) machineTranslateId
+            from machine_translate t
+            where t.status_cd = '0'
+            and t.obj_id in
+            <foreach collection="objIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+            <if test="communityId !=null and communityId != ''">
+                and t.community_id= #{communityId}
+            </if>
+            group by t.obj_id
+        )
+    </select>
+
+
 </mapper>

+ 3 - 0
java110-interface/src/main/java/com/java110/intf/common/IMachineTranslateV1InnerServiceSMO.java

@@ -65,4 +65,7 @@ public interface IMachineTranslateV1InnerServiceSMO {
      */
     @RequestMapping(value = "/queryMachineTranslatesCount", method = RequestMethod.POST)
     int queryMachineTranslatesCount(@RequestBody MachineTranslateDto machineTranslateDto);
+
+    @RequestMapping(value = "/queryMachineTranslates", method = RequestMethod.POST)
+    List<MachineTranslateDto> queryObjStateInMachineTranslates(@RequestBody MachineTranslateDto machineTranslateDto);
 }

+ 1 - 0
service-common/src/main/java/com/java110/common/dao/IMachineTranslateV1ServiceDao.java

@@ -74,4 +74,5 @@ public interface IMachineTranslateV1ServiceDao {
      */
     int queryMachineTranslatesCount(Map info);
 
+    List<Map> queryObjStateInMachineTranslates(Map info);
 }

+ 9 - 0
service-common/src/main/java/com/java110/common/dao/impl/MachineTranslateV1ServiceDaoImpl.java

@@ -108,5 +108,14 @@ public class MachineTranslateV1ServiceDaoImpl extends BaseServiceDao implements
         return Integer.parseInt(businessMachineTranslateInfos.get(0).get("count").toString());
     }
 
+    @Override
+    public List<Map> queryObjStateInMachineTranslates(Map info) {
+        logger.debug("查询 queryObjStateInMachineTranslates 入参 info : {}",info);
+
+        List<Map> businessMachineTranslateInfos = sqlSessionTemplate.selectList("machineTranslateV1ServiceDaoImpl.queryObjStateInMachineTranslates",info);
+
+        return businessMachineTranslateInfos;
+    }
+
 
 }

+ 6 - 0
service-common/src/main/java/com/java110/common/smo/impl/MachineTranslateV1InnerServiceSMOImpl.java

@@ -86,4 +86,10 @@ public class MachineTranslateV1InnerServiceSMOImpl extends BaseServiceSMO implem
     public int queryMachineTranslatesCount(@RequestBody MachineTranslateDto machineTranslateDto) {
         return machineTranslateV1ServiceDaoImpl.queryMachineTranslatesCount(BeanConvertUtil.beanCovertMap(machineTranslateDto));    }
 
+    @Override
+    public List<MachineTranslateDto> queryObjStateInMachineTranslates(@RequestBody MachineTranslateDto machineTranslateDto) {
+        List<MachineTranslateDto> machineTranslates = BeanConvertUtil.covertBeanList(machineTranslateV1ServiceDaoImpl.queryObjStateInMachineTranslates(BeanConvertUtil.beanCovertMap(machineTranslateDto)), MachineTranslateDto.class);
+
+        return machineTranslates;    }
+
 }

+ 41 - 0
service-user/src/main/java/com/java110/user/cmd/owner/QueryOwnerCarsCmd.java

@@ -8,9 +8,12 @@ import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.dto.RoomDto;
 import com.java110.dto.basePrivilege.BasePrivilegeDto;
+import com.java110.dto.machine.MachineTranslateDto;
 import com.java110.dto.owner.OwnerCarDto;
 import com.java110.dto.owner.OwnerRoomRelDto;
 import com.java110.dto.parking.ParkingSpaceDto;
+import com.java110.intf.common.IMachineTranslateInnerServiceSMO;
+import com.java110.intf.common.IMachineTranslateV1InnerServiceSMO;
 import com.java110.intf.community.IMenuInnerServiceSMO;
 import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
 import com.java110.intf.community.IRoomInnerServiceSMO;
@@ -46,6 +49,9 @@ public class QueryOwnerCarsCmd extends Cmd {
     @Autowired
     private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
 
+    @Autowired
+    private IMachineTranslateV1InnerServiceSMO machineTranslateV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
         Assert.jsonObjectHaveKey(reqJson, "page", "请求中未包含page信息");
@@ -86,6 +92,8 @@ public class QueryOwnerCarsCmd extends Cmd {
             if (row < 20) {
                 freshPs(ownerCarDtoList);
                 freshRoomInfo(ownerCarDtoList);
+                //刷入同步物联网状态
+                freshTransactionIotState(ownerCarDtoList);
             }
         } else {
             ownerCarDtoList = new ArrayList<>();
@@ -109,6 +117,39 @@ public class QueryOwnerCarsCmd extends Cmd {
         cmdDataFlowContext.setResponseEntity(responseEntity);
     }
 
+    private void freshTransactionIotState(List<OwnerCarDto> ownerCarDtoList) {
+        if (ownerCarDtoList == null || ownerCarDtoList.size() < 1) {
+            return;
+        }
+        List<String> memberIds = new ArrayList<>();
+        for (OwnerCarDto ownerCarDto : ownerCarDtoList) {
+            if (StringUtil.isEmpty(ownerCarDto.getPsId())) {
+                continue;
+            }
+            memberIds.add(ownerCarDto.getMemberId());
+        }
+
+        MachineTranslateDto machineTranslateDto = new MachineTranslateDto();
+        machineTranslateDto.setObjIds(memberIds.toArray(new String[memberIds.size()]));
+        List<MachineTranslateDto> machineTranslateDtos = machineTranslateV1InnerServiceSMOImpl.queryObjStateInMachineTranslates(machineTranslateDto);
+
+        if (machineTranslateDtos == null || machineTranslateDtos.size() < 1) {
+            return;
+        }
+
+        for (OwnerCarDto ownerCarDto : ownerCarDtoList) {
+            for (MachineTranslateDto tmpMachineTranslateDto : machineTranslateDtos) {
+                if (!ownerCarDto.getMemberId().equals(tmpMachineTranslateDto.getObjId())) {
+                    continue;
+                }
+                ownerCarDto.setIotStateName(tmpMachineTranslateDto.getStateName());
+                ownerCarDto.setIotRemark(tmpMachineTranslateDto.getRemark());
+            }
+        }
+
+
+    }
+
     private void freshPs(List<OwnerCarDto> ownerCarDtoList) {
         if (ownerCarDtoList == null || ownerCarDtoList.size() < 1) {
             return;

+ 6 - 12
service-user/src/main/java/com/java110/user/cmd/owner/SaveOwnerCarCmd.java

@@ -59,17 +59,11 @@ public class SaveOwnerCarCmd extends Cmd {
 
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
-        Assert.jsonObjectHaveKey(reqJson, "communityId", "未包含小区ID");
-        Assert.jsonObjectHaveKey(reqJson, "ownerId", "请求报文中未包含ownerId");
-        Assert.jsonObjectHaveKey(reqJson, "carNum", "请求报文中未包含carNum");
-        Assert.jsonObjectHaveKey(reqJson, "carBrand", "请求报文中未包含carBrand");
-        Assert.jsonObjectHaveKey(reqJson, "carType", "请求报文中未包含carType");
-        Assert.jsonObjectHaveKey(reqJson, "carColor", "未包含carColor");
-        Assert.jsonObjectHaveKey(reqJson, "psId", "未包含psId");
-        Assert.jsonObjectHaveKey(reqJson, "storeId", "未包含storeId");
-        Assert.hasLength(reqJson.getString("communityId"), "小区ID不能为空");
-        Assert.hasLength(reqJson.getString("ownerId"), "ownerId不能为空");
-        Assert.hasLength(reqJson.getString("psId"), "psId不能为空");
+        Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区ID");
+        Assert.hasKeyAndValue(reqJson, "ownerId", "请求报文中未包含ownerId");
+        Assert.hasKeyAndValue(reqJson, "carNum", "请求报文中未包含carNum");
+        Assert.hasKeyAndValue(reqJson, "carType", "请求报文中未包含carType");
+        Assert.hasKeyAndValue(reqJson, "psId", "未包含psId");
 
         //检查车位是否是空闲状态
         ParkingSpaceDto parkingSpaceDto = new ParkingSpaceDto();
@@ -127,7 +121,7 @@ public class SaveOwnerCarCmd extends Cmd {
 
         if (!OwnerCarDto.LEASE_TYPE_MONTH.equals(reqJson.getString("leaseType"))) {
             reqJson.put("startTime", DateUtil.getFormatTimeString(new Date(), DateUtil.DATE_FORMATE_STRING_B));
-            reqJson.put("endTime", "2037-01-01");
+            reqJson.put("endTime", "2050-01-01");
         }
         JSONObject businessOwnerCar = new JSONObject();
         businessOwnerCar.putAll(reqJson);