Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity
| New file |
| | |
| | | package com.java110.dto.meterType; |
| | | |
| | | import com.java110.dto.PageDto; |
| | | |
| | | 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 MeterTypeDto extends PageDto implements Serializable { |
| | | |
| | | private String typeName; |
| | | private String typeId; |
| | | private String remark; |
| | | private String communityId; |
| | | |
| | | |
| | | private Date createTime; |
| | | |
| | | private String statusCd = "0"; |
| | | |
| | | |
| | | public String getTypeName() { |
| | | return typeName; |
| | | } |
| | | |
| | | public void setTypeName(String typeName) { |
| | | this.typeName = typeName; |
| | | } |
| | | |
| | | public String getTypeId() { |
| | | return typeId; |
| | | } |
| | | |
| | | public void setTypeId(String typeId) { |
| | | this.typeId = typeId; |
| | | } |
| | | |
| | | public String getRemark() { |
| | | return remark; |
| | | } |
| | | |
| | | public void setRemark(String remark) { |
| | | this.remark = remark; |
| | | } |
| | | |
| | | public String getCommunityId() { |
| | | return communityId; |
| | | } |
| | | |
| | | public void setCommunityId(String communityId) { |
| | | this.communityId = communityId; |
| | | } |
| | | |
| | | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | |
| | | private String idCard; |
| | | |
| | | private String ownerTypeCd; |
| | | |
| | | private String parentOwnerId; |
| | | |
| | | public String getOwnerNum() { |
| | | return ownerNum; |
| | | } |
| | |
| | | public void setIdCard(String idCard) { |
| | | this.idCard = idCard; |
| | | } |
| | | |
| | | public String getOwnerTypeCd() { |
| | | return ownerTypeCd; |
| | | } |
| | | |
| | | public void setOwnerTypeCd(String ownerTypeCd) { |
| | | this.ownerTypeCd = ownerTypeCd; |
| | | } |
| | | |
| | | public String getParentOwnerId() { |
| | | return parentOwnerId; |
| | | } |
| | | |
| | | public void setParentOwnerId(String parentOwnerId) { |
| | | this.parentOwnerId = parentOwnerId; |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * Copyright 2017-2020 吴学文 and java110 team. |
| | | * |
| | | * Licensed under the Apache License, Version 2.0 (the "License"); |
| | | * you may not use this file except in compliance with the License. |
| | | * You may obtain a copy of the License at |
| | | * |
| | | * http://www.apache.org/licenses/LICENSE-2.0 |
| | | * |
| | | * Unless required by applicable law or agreed to in writing, software |
| | | * distributed under the License is distributed on an "AS IS" BASIS, |
| | | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| | | * See the License for the specific language governing permissions and |
| | | * limitations under the License. |
| | | */ |
| | | package com.java110.po.meterType; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | /** |
| | | * 类表述: Po 数据模型实体对象 基本保持与数据库模型一直 用于 增加修改删除 等时的数据载体 |
| | | * add by 吴学文 at 2021-09-21 23:01:49 mail: 928255095@qq.com |
| | | * open source address: https://gitee.com/wuxw7/MicroCommunity |
| | | * 官网:http://www.homecommunity.cn |
| | | * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下 |
| | | * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行 |
| | | */ |
| | | public class MeterTypePo implements Serializable { |
| | | |
| | | private String typeName; |
| | | private String typeId; |
| | | private String remark; |
| | | private String statusCd = "0"; |
| | | private String communityId; |
| | | public String getTypeName() { |
| | | return typeName; |
| | | } |
| | | public void setTypeName(String typeName) { |
| | | this.typeName = typeName; |
| | | } |
| | | public String getTypeId() { |
| | | return typeId; |
| | | } |
| | | public void setTypeId(String typeId) { |
| | | this.typeId = typeId; |
| | | } |
| | | public String getRemark() { |
| | | return remark; |
| | | } |
| | | public void setRemark(String remark) { |
| | | this.remark = remark; |
| | | } |
| | | 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; |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| New file |
| | |
| | | <?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="meterTypeV1ServiceDaoImpl"> |
| | | |
| | | |
| | | <!-- 保存抄表类型信息 add by wuxw 2018-07-03 --> |
| | | <insert id="saveMeterTypeInfo" parameterType="Map"> |
| | | insert into meter_type( |
| | | type_name,type_id,remark,community_id |
| | | ) values ( |
| | | #{typeName},#{typeId},#{remark},#{communityId} |
| | | ) |
| | | </insert> |
| | | |
| | | |
| | | <!-- 查询抄表类型信息 add by wuxw 2018-07-03 --> |
| | | <select id="getMeterTypeInfo" parameterType="Map" resultType="Map"> |
| | | select t.type_name,t.type_name typeName,t.type_id,t.type_id typeId,t.remark,t.status_cd,t.status_cd |
| | | statusCd,t.community_id,t.community_id communityId,t.create_time createTime |
| | | from meter_type t |
| | | where 1 =1 |
| | | <if test="typeName !=null and typeName != ''"> |
| | | and t.type_name= #{typeName} |
| | | </if> |
| | | <if test="typeId !=null and typeId != ''"> |
| | | and t.type_id= #{typeId} |
| | | </if> |
| | | <if test="remark !=null and remark != ''"> |
| | | and t.remark= #{remark} |
| | | </if> |
| | | <if test="statusCd !=null and statusCd != ''"> |
| | | and t.status_cd= #{statusCd} |
| | | </if> |
| | | <if test="communityId !=null and communityId != ''"> |
| | | and t.community_id= #{communityId} |
| | | </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="updateMeterTypeInfo" parameterType="Map"> |
| | | update meter_type t set t.status_cd = #{statusCd} |
| | | <if test="newBId != null and newBId != ''"> |
| | | ,t.b_id = #{newBId} |
| | | </if> |
| | | <if test="typeName !=null and typeName != ''"> |
| | | , t.type_name= #{typeName} |
| | | </if> |
| | | <if test="remark !=null and remark != ''"> |
| | | , t.remark= #{remark} |
| | | </if> |
| | | <if test="communityId !=null and communityId != ''"> |
| | | , t.community_id= #{communityId} |
| | | </if> |
| | | where 1=1 |
| | | <if test="typeId !=null and typeId != ''"> |
| | | and t.type_id= #{typeId} |
| | | </if> |
| | | |
| | | </update> |
| | | |
| | | <!-- 查询抄表类型数量 add by wuxw 2018-07-03 --> |
| | | <select id="queryMeterTypesCount" parameterType="Map" resultType="Map"> |
| | | select count(1) count |
| | | from meter_type t |
| | | where 1 =1 |
| | | <if test="typeName !=null and typeName != ''"> |
| | | and t.type_name= #{typeName} |
| | | </if> |
| | | <if test="typeId !=null and typeId != ''"> |
| | | and t.type_id= #{typeId} |
| | | </if> |
| | | <if test="remark !=null and remark != ''"> |
| | | and t.remark= #{remark} |
| | | </if> |
| | | <if test="statusCd !=null and statusCd != ''"> |
| | | and t.status_cd= #{statusCd} |
| | | </if> |
| | | <if test="communityId !=null and communityId != ''"> |
| | | and t.community_id= #{communityId} |
| | | </if> |
| | | |
| | | |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | public class TableToJson { |
| | | |
| | | //show create table c_orders 用这个语句获取 |
| | | public static final String createTableSql = "CREATE TABLE `workflow` (\n" + |
| | | " `flow_id` varchar(30) NOT NULL COMMENT '流程ID',\n" + |
| | | " `flow_name` varchar(200) NOT NULL COMMENT '流程名称',\n" + |
| | | " `describle` longtext COMMENT '描述',\n" + |
| | | " `skip_level` varchar(12) NOT NULL COMMENT '跳过',\n" + |
| | | " `community_id` varchar(30) NOT NULL COMMENT '小区ID,分片',\n" + |
| | | " `b_id` varchar(30) NOT NULL COMMENT '业务Id',\n" + |
| | | " `store_id` varchar(30) NOT NULL COMMENT '商户ID,用来做分区',\n" + |
| | | public static final String createTableSql = "CREATE TABLE `meter_type` (\n" + |
| | | " `type_id` varchar(30) NOT NULL COMMENT '类型ID',\n" + |
| | | " `type_name` varchar(12) NOT NULL COMMENT '名称',\n" + |
| | | " `community_id` varchar(30) NOT NULL COMMENT '小区ID',\n" + |
| | | " `remark` varchar(200) DEFAULT NULL COMMENT '说明',\n" + |
| | | " `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',\n" + |
| | | " `status_cd` varchar(2) NOT NULL DEFAULT '0' COMMENT '数据状态,详细参考t_dict表,0, 在用 1失效',\n" + |
| | | " `flow_type` varchar(12) NOT NULL COMMENT '流程类型,10001 投诉建议 20002 报修 30003 采购',\n" + |
| | | " `process_definition_key` varchar(64) DEFAULT NULL COMMENT '工作流部署ID'\n" + |
| | | " `status_cd` varchar(2) NOT NULL DEFAULT '0' COMMENT '数据状态,详细参考c_status表,0, 在用 1失效',\n" + |
| | | " PRIMARY KEY (`type_id`)\n" + |
| | | ")"; |
| | | |
| | | public static void main(String[] args) { |
| | |
| | | public class TableToJsonWeb { |
| | | |
| | | //show create table c_orders 用这个语句获取 |
| | | public static final String createTableSql = "CREATE TABLE `fee_print_page` (\n" + |
| | | " `page_id` varchar(30) NOT NULL COMMENT '页面ID',\n" + |
| | | " `page_name` varchar(128) NOT NULL COMMENT '名称',\n" + |
| | | public static final String createTableSql = "CREATE TABLE `meter_type` (\n" + |
| | | " `type_id` varchar(30) NOT NULL COMMENT '类型ID',\n" + |
| | | " `type_name` varchar(12) NOT NULL COMMENT '名称',\n" + |
| | | " `community_id` varchar(30) NOT NULL COMMENT '小区ID',\n" + |
| | | " `page_url` varchar(512) NOT NULL COMMENT '收据页面',\n" + |
| | | " `state` varchar(12) NOT NULL DEFAULT 'F' COMMENT '状态 T 有效 F为无效',\n" + |
| | | " `remark` varchar(200) DEFAULT NULL COMMENT '说明',\n" + |
| | | " `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',\n" + |
| | | " `status_cd` varchar(2) NOT NULL DEFAULT '0' COMMENT '数据状态 1表示 失效 0 有效'\n" + |
| | | " `status_cd` varchar(2) NOT NULL DEFAULT '0' COMMENT '数据状态,详细参考c_status表,0, 在用 1失效'\n" + |
| | | ")"; |
| | | |
| | | public static void main(String[] args) { |
| | |
| | | } |
| | | String comment = rowSql.contains("COMMENT") ? rowSql.substring(rowSql.indexOf("COMMENT '") + 9) : StringUtil.lineToHump(key); |
| | | comment = comment.trim(); |
| | | if(comment.contains(",")){ |
| | | if (comment.contains(",")) { |
| | | comment = comment.split(",")[0]; |
| | | } |
| | | if(comment.contains(" ")){ |
| | | if (comment.contains(" ")) { |
| | | comment = comment.split(" ")[0]; |
| | | } |
| | | paramColumn.put("desc", comment); |
| | |
| | | condition.put("code", StringUtil.lineToHump(key)); |
| | | condition.put("whereCondition", "equal"); |
| | | conditions.add(condition); |
| | | paramColumn.put("desc", "必填,"+comment); |
| | | paramColumn.put("desc", "必填," + comment); |
| | | } |
| | | String limit = rowSql.substring(rowSql.indexOf("(") + 1,rowSql.indexOf(")")); |
| | | if(limit.contains(",")){ |
| | | String limit = rowSql.substring(rowSql.indexOf("(") + 1, rowSql.indexOf(")")); |
| | | if (limit.contains(",")) { |
| | | limit = limit.split(",")[0]; |
| | | } |
| | | |
| | |
| | | paramColumn.put("hasDefaultValue", false); |
| | | paramColumn.put("inputType", "input"); |
| | | paramColumn.put("limit", "maxLength"); |
| | | paramColumn.put("limitParam",limit ); |
| | | paramColumn.put("limitErrInfo", comment+"不能超过"+limit); |
| | | paramColumn.put("limitParam", limit); |
| | | paramColumn.put("limitErrInfo", comment + "不能超过" + limit); |
| | | paramColumn.put("show", true); |
| | | paramColumns.add(paramColumn); |
| | | } |
| | |
| | | generatorInnerServiceSMOImpl.generator(data); |
| | | |
| | | GeneratorDtoBean generatorDtoBean = new GeneratorDtoBean(); |
| | | //generatorDtoBean.generator(data); |
| | | generatorDtoBean.generator(data); |
| | | |
| | | GeneratorIInnerServiceSMO generatorIInnerServiceSMO = new GeneratorIInnerServiceSMO(); |
| | | generatorIInnerServiceSMO.generator(data); |
| | |
| | | * @param data |
| | | */ |
| | | public void generator(Data data) throws Exception { |
| | | //genneratorPo(data); //API DataVo对象 |
| | | genneratorPo(data); //API DataVo对象 |
| | | genneratorSaveCmd(data); //Api BmoImpl |
| | | genneratorUpdateBmoImpl(data); //Api BmoImpl |
| | | genneratorDeleteBmoImpl(data); //Api BmoImpl |
| | |
| | | { |
| | | "param": { |
| | | "skipLevel": "skip_level", |
| | | "describle": "describle", |
| | | "typeName": "type_name", |
| | | "typeId": "type_id", |
| | | "remark": "remark", |
| | | "statusCd": "status_cd", |
| | | "communityId": "community_id", |
| | | "storeId": "store_id", |
| | | "flowId": "flow_id", |
| | | "flowName": "flow_name", |
| | | "flowType": "flow_type", |
| | | "processDefinitionKey": "process_definition_key" |
| | | "communityId": "community_id" |
| | | }, |
| | | "name": "workflow", |
| | | "name": "meterType", |
| | | "shareColumn": "community_id", |
| | | "id": "flowId", |
| | | "shareName": "common", |
| | | "id": "typeId", |
| | | "shareName": "fee", |
| | | "autoMove": true, |
| | | "required": [ |
| | | { |
| | | "msg": "流程ID不能为空", |
| | | "code": "flowId" |
| | | }, |
| | | { |
| | | "msg": "流程名称不能为空", |
| | | "code": "flowName" |
| | | }, |
| | | { |
| | | "msg": "跳过不能为空", |
| | | "code": "skipLevel" |
| | | "msg": "名称不能为空", |
| | | "code": "typeName" |
| | | }, |
| | | { |
| | | "msg": "小区ID不能为空", |
| | | "code": "communityId" |
| | | }, |
| | | { |
| | | "msg": "商户ID,用来做分区不能为空", |
| | | "code": "storeId" |
| | | }, |
| | | { |
| | | "msg": "数据状态不能为空", |
| | | "code": "statusCd" |
| | | }, |
| | | { |
| | | "msg": "流程类型不能为空", |
| | | "code": "flowType" |
| | | } |
| | | ], |
| | | "desc": "工作流程", |
| | | "desc": "抄表类型", |
| | | "shareParam": "communityId", |
| | | "tableName": "workflow" |
| | | "tableName": "meter_type" |
| | | } |
| | |
| | | { |
| | | "templateName":"收据模板", |
| | | "templateKeyName": "抄表类型", |
| | | "templateName": "抄表类型", |
| | | "searchName": "抄表类型", |
| | | "directories": "property", |
| | | "templateCode":"feePrintPage", |
| | | "templateKey":"pageId", |
| | | "templateKeyName":"收据ID", |
| | | "searchCode": "pageId", |
| | | "searchName": "收据ID", |
| | | "conditions": [ |
| | | { |
| | | "whereCondition": "equal", |
| | | "code": "pageId", |
| | | "name": "页面ID", |
| | | "inputType": "input" |
| | | }, |
| | | { |
| | | "whereCondition": "equal", |
| | | "code": "pageName", |
| | | "name": "名称", |
| | | "inputType": "input" |
| | | }, |
| | | { |
| | | "whereCondition": "equal", |
| | | "code": "state", |
| | | "name": "状态", |
| | | "inputType": "input" |
| | | } |
| | | ], |
| | | "searchCode": "typeId", |
| | | "templateCode": "meterType", |
| | | "templateKey": "typeId", |
| | | "columns": [ |
| | | { |
| | | "hasDefaultValue": false, |
| | | "limitParam": "128", |
| | | "code": "pageName", |
| | | "limitErrInfo": "名称不能超过128", |
| | | "limitParam": "12", |
| | | "code": "typeName", |
| | | "limitErrInfo": "名称不能超过12", |
| | | "cnCode": "名称", |
| | | "limit": "maxLength", |
| | | "show": true, |
| | |
| | | }, |
| | | { |
| | | "hasDefaultValue": false, |
| | | "limitParam": "30", |
| | | "code": "communityId", |
| | | "limitErrInfo": "小区ID不能超过30", |
| | | "cnCode": "小区ID", |
| | | "limitParam": "200", |
| | | "code": "remark", |
| | | "limitErrInfo": "说明不能超过200", |
| | | "cnCode": "说明", |
| | | "limit": "maxLength", |
| | | "show": true, |
| | | "inputType": "input", |
| | | "required": true, |
| | | "desc": "必填,小区ID" |
| | | "desc": "说明" |
| | | } |
| | | ], |
| | | "conditions": [ |
| | | { |
| | | "whereCondition": "equal", |
| | | "code": "typeId", |
| | | "name": "类型ID", |
| | | "inputType": "input" |
| | | }, |
| | | { |
| | | "hasDefaultValue": false, |
| | | "limitParam": "512", |
| | | "code": "pageUrl", |
| | | "limitErrInfo": "收据页面不能超过512", |
| | | "cnCode": "收据页面", |
| | | "limit": "maxLength", |
| | | "show": true, |
| | | "inputType": "input", |
| | | "required": true, |
| | | "desc": "必填,收据页面" |
| | | "whereCondition": "equal", |
| | | "code": "typeName", |
| | | "name": "名称", |
| | | "inputType": "input" |
| | | } |
| | | ] |
| | | |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * Copyright 2017-2020 吴学文 and java110 team. |
| | | * |
| | | * Licensed under the Apache License, Version 2.0 (the "License"); |
| | | * you may not use this file except in compliance with the License. |
| | | * You may obtain a copy of the License at |
| | | * |
| | | * http://www.apache.org/licenses/LICENSE-2.0 |
| | | * |
| | | * Unless required by applicable law or agreed to in writing, software |
| | | * distributed under the License is distributed on an "AS IS" BASIS, |
| | | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| | | * See the License for the specific language governing permissions and |
| | | * limitations under the License. |
| | | */ |
| | | package com.java110.intf.fee; |
| | | |
| | | import com.java110.config.feign.FeignConfiguration; |
| | | import com.java110.dto.meterType.MeterTypeDto; |
| | | import com.java110.po.meterType.MeterTypePo; |
| | | 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; |
| | | |
| | | /** |
| | | * 类表述: 服务之前调用的接口类,不对外提供接口能力 只用于接口建调用 |
| | | * add by 吴学文 at 2021-09-21 23:01:49 mail: 928255095@qq.com |
| | | * open source address: https://gitee.com/wuxw7/MicroCommunity |
| | | * 官网:http://www.homecommunity.cn |
| | | * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下 |
| | | * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行 |
| | | */ |
| | | @FeignClient(name = "fee-service", configuration = {FeignConfiguration.class}) |
| | | @RequestMapping("/meterTypeV1Api") |
| | | public interface IMeterTypeV1InnerServiceSMO { |
| | | |
| | | |
| | | @RequestMapping(value = "/saveMeterType", method = RequestMethod.POST) |
| | | public int saveMeterType(@RequestBody MeterTypePo meterTypePo); |
| | | |
| | | @RequestMapping(value = "/updateMeterType", method = RequestMethod.POST) |
| | | public int updateMeterType(@RequestBody MeterTypePo meterTypePo); |
| | | |
| | | @RequestMapping(value = "/deleteMeterType", method = RequestMethod.POST) |
| | | public int deleteMeterType(@RequestBody MeterTypePo meterTypePo); |
| | | |
| | | /** |
| | | * <p>查询小区楼信息</p> |
| | | * |
| | | * |
| | | * @param meterTypeDto 数据对象分享 |
| | | * @return MeterTypeDto 对象数据 |
| | | */ |
| | | @RequestMapping(value = "/queryMeterTypes", method = RequestMethod.POST) |
| | | List<MeterTypeDto> queryMeterTypes(@RequestBody MeterTypeDto meterTypeDto); |
| | | |
| | | /** |
| | | * 查询<p>小区楼</p>总记录数 |
| | | * |
| | | * @param meterTypeDto 数据对象分享 |
| | | * @return 小区下的小区楼记录数 |
| | | */ |
| | | @RequestMapping(value = "/queryMeterTypesCount", method = RequestMethod.POST) |
| | | int queryMeterTypesCount(@RequestBody MeterTypeDto meterTypeDto); |
| | | } |
| | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.api.smo.DefaultAbstractComponentSMO; |
| | | import com.java110.core.component.BaseComponentSMO; |
| | | import com.java110.api.smo.assetImport.IAssetImportSMO; |
| | | import com.java110.core.context.IPageData; |
| | | import com.java110.core.smo.ISaveTransactionLogSMO; |
| | | import com.java110.dto.RoomDto; |
| | | import com.java110.dto.assetImportLog.AssetImportLogDto; |
| | | import com.java110.dto.assetImportLogDetail.AssetImportLogDetailDto; |
| | | import com.java110.entity.assetImport.*; |
| | | import com.java110.dto.owner.OwnerDto; |
| | | import com.java110.entity.assetImport.ImportFee; |
| | | import com.java110.entity.assetImport.ImportFloor; |
| | | import com.java110.entity.assetImport.ImportOwner; |
| | | import com.java110.entity.assetImport.ImportParkingSpace; |
| | | import com.java110.entity.assetImport.ImportRoom; |
| | | import com.java110.entity.component.ComponentValidateResult; |
| | | import com.java110.api.smo.assetImport.IAssetImportSMO; |
| | | import com.java110.utils.constant.ServiceConstant; |
| | | import com.java110.utils.util.*; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.CommonUtil; |
| | | import com.java110.utils.util.DateUtil; |
| | | import com.java110.utils.util.ImportExcelUtils; |
| | | import com.java110.utils.util.StringUtil; |
| | | import com.java110.vo.ResultVo; |
| | | import org.apache.poi.ss.usermodel.Sheet; |
| | | import org.apache.poi.ss.usermodel.Workbook; |
| | |
| | | paramIn.put("age", owner.getAge()); |
| | | paramIn.put("link", owner.getTel()); |
| | | paramIn.put("sex", owner.getSex()); |
| | | paramIn.put("ownerTypeCd", "1001"); |
| | | paramIn.put("ownerTypeCd", owner.getOwnerTypeCd()); |
| | | paramIn.put("idCard", owner.getIdCard()); |
| | | paramIn.put("source", "BatchImport"); |
| | | if (!OwnerDto.OWNER_TYPE_CD_OWNER.equals(owner.getOwnerTypeCd())) { |
| | | //查询业主ID |
| | | paramIn.put("ownerId", getOwnerId(owners, owner)); |
| | | } |
| | | responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(), apiUrl, HttpMethod.POST); |
| | | |
| | | /***************************************导入日志记录****************************************************/ |
| | |
| | | } |
| | | |
| | | return responseEntity; |
| | | } |
| | | |
| | | private String getOwnerId(List<ImportOwner> owners, ImportOwner owner) { |
| | | for (ImportOwner owner1 : owners) { |
| | | if (owner1.getOwnerNum().equals(owner.getParentOwnerId())) { |
| | | return owner1.getOwnerId(); |
| | | } |
| | | } |
| | | throw new IllegalArgumentException("请将业主成员放到业主后面,或者业主成员未找到对应的业主"); |
| | | } |
| | | |
| | | /** |
| | |
| | | String apiUrl = ""; |
| | | ResponseEntity<String> responseEntity = null; |
| | | apiUrl = "owner.queryOwners?page=1&row=1&communityId=" + result.getCommunityId() |
| | | + "&ownerTypeCd=1001&name=" + importOwner.getOwnerName() + "&link=" + importOwner.getTel(); |
| | | + "&ownerTypeCd=" + importOwner.getOwnerTypeCd() + "&name=" + importOwner.getOwnerName() + "&link=" + importOwner.getTel(); |
| | | responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET); |
| | | |
| | | if (responseEntity.getStatusCode() != HttpStatus.OK) { //跳过 保存单元信息 |
| | |
| | | Assert.hasValue(os[2], "业主信息选项中" + (osIndex + 1) + "行业主性别为空"); |
| | | String tel = StringUtil.isNullOrNone(os[4]) ? "19999999999" : os[4].toString(); |
| | | String idCard = StringUtil.isNullOrNone(os[5]) ? "10000000000000000001" : os[5].toString(); |
| | | String ownerTypeCd = StringUtil.isNullOrNone(os[6]) ? "1001" : os[6].toString(); |
| | | String parentOwnerId = StringUtil.isNullOrNone(os[7]) ? os[0].toString() : os[7].toString(); |
| | | |
| | | if (os[4].toString().length() > 11) { |
| | | throw new IllegalArgumentException(os[1].toString() + " 的手机号超过11位,请核实"); |
| | |
| | | importOwner.setAge(Integer.parseInt(age)); |
| | | importOwner.setTel(tel); |
| | | importOwner.setIdCard(idCard); |
| | | importOwner.setOwnerTypeCd(ownerTypeCd); |
| | | importOwner.setParentOwnerId(parentOwnerId); |
| | | owners.add(importOwner); |
| | | } catch (Exception e) { |
| | | logger.error("第" + (osIndex + 1) + "行数据出现问题", e); |
| New file |
| | |
| | | /* |
| | | * Copyright 2017-2020 吴学文 and java110 team. |
| | | * |
| | | * Licensed under the Apache License, Version 2.0 (the "License"); |
| | | * you may not use this file except in compliance with the License. |
| | | * You may obtain a copy of the License at |
| | | * |
| | | * http://www.apache.org/licenses/LICENSE-2.0 |
| | | * |
| | | * Unless required by applicable law or agreed to in writing, software |
| | | * distributed under the License is distributed on an "AS IS" BASIS, |
| | | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| | | * See the License for the specific language governing permissions and |
| | | * limitations under the License. |
| | | */ |
| | | package com.java110.fee.cmd.meterType; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | 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.CmdEvent; |
| | | import com.java110.intf.fee.IMeterTypeV1InnerServiceSMO; |
| | | import com.java110.po.meterType.MeterTypePo; |
| | | import com.java110.utils.exception.CmdException; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | | import com.java110.vo.ResultVo; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | |
| | | /** |
| | | * 类表述:删除 |
| | | * 服务编码:meterType.deleteMeterType |
| | | * 请求路劲:/app/meterType.DeleteMeterType |
| | | * add by 吴学文 at 2021-09-21 23:01:49 mail: 928255095@qq.com |
| | | * open source address: https://gitee.com/wuxw7/MicroCommunity |
| | | * 官网:http://www.homecommunity.cn |
| | | * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下 |
| | | * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行 |
| | | */ |
| | | @Java110Cmd(serviceCode = "meterType.deleteMeterType") |
| | | public class DeleteMeterTypeCmd extends AbstractServiceCmdListener { |
| | | private static Logger logger = LoggerFactory.getLogger(DeleteMeterTypeCmd.class); |
| | | |
| | | @Autowired |
| | | private IMeterTypeV1InnerServiceSMO meterTypeV1InnerServiceSMOImpl; |
| | | |
| | | @Override |
| | | public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) { |
| | | Assert.hasKeyAndValue(reqJson, "typeId", "typeId不能为空"); |
| | | Assert.hasKeyAndValue(reqJson, "communityId", "communityId不能为空"); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | @Java110Transactional |
| | | public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException { |
| | | |
| | | MeterTypePo meterTypePo = BeanConvertUtil.covertBean(reqJson, MeterTypePo.class); |
| | | int flag = meterTypeV1InnerServiceSMOImpl.deleteMeterType(meterTypePo); |
| | | |
| | | if (flag < 1) { |
| | | throw new CmdException("删除数据失败"); |
| | | } |
| | | |
| | | cmdDataFlowContext.setResponseEntity(ResultVo.success()); |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * Copyright 2017-2020 吴学文 and java110 team. |
| | | * |
| | | * Licensed under the Apache License, Version 2.0 (the "License"); |
| | | * you may not use this file except in compliance with the License. |
| | | * You may obtain a copy of the License at |
| | | * |
| | | * http://www.apache.org/licenses/LICENSE-2.0 |
| | | * |
| | | * Unless required by applicable law or agreed to in writing, software |
| | | * distributed under the License is distributed on an "AS IS" BASIS, |
| | | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| | | * See the License for the specific language governing permissions and |
| | | * limitations under the License. |
| | | */ |
| | | package com.java110.fee.cmd.meterType; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | 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.CmdEvent; |
| | | import com.java110.core.factory.GenerateCodeFactory; |
| | | import com.java110.intf.fee.IMeterTypeV1InnerServiceSMO; |
| | | import com.java110.po.meterType.MeterTypePo; |
| | | import com.java110.utils.exception.CmdException; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | | import com.java110.vo.ResultVo; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import com.java110.dto.meterType.MeterTypeDto; |
| | | import java.util.List; |
| | | import java.util.ArrayList; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.http.HttpStatus; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | |
| | | |
| | | /** |
| | | * 类表述:查询 |
| | | * 服务编码:meterType.listMeterType |
| | | * 请求路劲:/app/meterType.ListMeterType |
| | | * add by 吴学文 at 2021-09-21 23:01:49 mail: 928255095@qq.com |
| | | * open source address: https://gitee.com/wuxw7/MicroCommunity |
| | | * 官网:http://www.homecommunity.cn |
| | | * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下 |
| | | * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行 |
| | | */ |
| | | @Java110Cmd(serviceCode = "meterType.listMeterType") |
| | | public class ListMeterTypeCmd extends AbstractServiceCmdListener { |
| | | |
| | | private static Logger logger = LoggerFactory.getLogger(ListMeterTypeCmd.class); |
| | | @Autowired |
| | | private IMeterTypeV1InnerServiceSMO meterTypeV1InnerServiceSMOImpl; |
| | | |
| | | @Override |
| | | public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) { |
| | | super.validatePageInfo(reqJson); |
| | | } |
| | | |
| | | @Override |
| | | public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException { |
| | | |
| | | MeterTypeDto meterTypeDto = BeanConvertUtil.covertBean(reqJson, MeterTypeDto.class); |
| | | |
| | | int count = meterTypeV1InnerServiceSMOImpl.queryMeterTypesCount(meterTypeDto); |
| | | |
| | | List<MeterTypeDto> meterTypeDtos = null; |
| | | |
| | | if (count > 0) { |
| | | meterTypeDtos = meterTypeV1InnerServiceSMOImpl.queryMeterTypes(meterTypeDto); |
| | | } else { |
| | | meterTypeDtos = new ArrayList<>(); |
| | | } |
| | | |
| | | ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, meterTypeDtos); |
| | | |
| | | ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK); |
| | | |
| | | cmdDataFlowContext.setResponseEntity(responseEntity); |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * Copyright 2017-2020 吴学文 and java110 team. |
| | | * |
| | | * Licensed under the Apache License, Version 2.0 (the "License"); |
| | | * you may not use this file except in compliance with the License. |
| | | * You may obtain a copy of the License at |
| | | * |
| | | * http://www.apache.org/licenses/LICENSE-2.0 |
| | | * |
| | | * Unless required by applicable law or agreed to in writing, software |
| | | * distributed under the License is distributed on an "AS IS" BASIS, |
| | | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| | | * See the License for the specific language governing permissions and |
| | | * limitations under the License. |
| | | */ |
| | | package com.java110.fee.cmd.meterType; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | 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.CmdEvent; |
| | | import com.java110.core.factory.GenerateCodeFactory; |
| | | import com.java110.intf.fee.IMeterTypeV1InnerServiceSMO; |
| | | import com.java110.po.meterType.MeterTypePo; |
| | | import com.java110.utils.exception.CmdException; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | | import com.java110.vo.ResultVo; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | |
| | | /** |
| | | * 类表述:保存 |
| | | * 服务编码:meterType.saveMeterType |
| | | * 请求路劲:/app/meterType.SaveMeterType |
| | | * add by 吴学文 at 2021-09-21 23:01:49 mail: 928255095@qq.com |
| | | * open source address: https://gitee.com/wuxw7/MicroCommunity |
| | | * 官网:http://www.homecommunity.cn |
| | | * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下 |
| | | * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行 |
| | | */ |
| | | @Java110Cmd(serviceCode = "meterType.saveMeterType") |
| | | public class SaveMeterTypeCmd extends AbstractServiceCmdListener { |
| | | |
| | | private static Logger logger = LoggerFactory.getLogger(SaveMeterTypeCmd.class); |
| | | |
| | | public static final String CODE_PREFIX_ID = "10"; |
| | | |
| | | @Autowired |
| | | private IMeterTypeV1InnerServiceSMO meterTypeV1InnerServiceSMOImpl; |
| | | |
| | | @Override |
| | | public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) { |
| | | Assert.hasKeyAndValue(reqJson, "typeName", "请求报文中未包含typeName"); |
| | | Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId"); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | @Java110Transactional |
| | | public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException { |
| | | |
| | | MeterTypePo meterTypePo = BeanConvertUtil.covertBean(reqJson, MeterTypePo.class); |
| | | meterTypePo.setTypeId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID)); |
| | | int flag = meterTypeV1InnerServiceSMOImpl.saveMeterType(meterTypePo); |
| | | |
| | | if (flag < 1) { |
| | | throw new CmdException("保存数据失败"); |
| | | } |
| | | |
| | | cmdDataFlowContext.setResponseEntity(ResultVo.success()); |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * Copyright 2017-2020 吴学文 and java110 team. |
| | | * |
| | | * Licensed under the Apache License, Version 2.0 (the "License"); |
| | | * you may not use this file except in compliance with the License. |
| | | * You may obtain a copy of the License at |
| | | * |
| | | * http://www.apache.org/licenses/LICENSE-2.0 |
| | | * |
| | | * Unless required by applicable law or agreed to in writing, software |
| | | * distributed under the License is distributed on an "AS IS" BASIS, |
| | | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| | | * See the License for the specific language governing permissions and |
| | | * limitations under the License. |
| | | */ |
| | | package com.java110.fee.cmd.meterType; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | 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.CmdEvent; |
| | | import com.java110.intf.fee.IMeterTypeV1InnerServiceSMO; |
| | | import com.java110.po.meterType.MeterTypePo; |
| | | import com.java110.utils.exception.CmdException; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | | import com.java110.vo.ResultVo; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | |
| | | |
| | | /** |
| | | * 类表述:更新 |
| | | * 服务编码:meterType.updateMeterType |
| | | * 请求路劲:/app/meterType.UpdateMeterType |
| | | * add by 吴学文 at 2021-09-21 23:01:49 mail: 928255095@qq.com |
| | | * open source address: https://gitee.com/wuxw7/MicroCommunity |
| | | * 官网:http://www.homecommunity.cn |
| | | * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下 |
| | | * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行 |
| | | */ |
| | | @Java110Cmd(serviceCode = "meterType.updateMeterType") |
| | | public class UpdateMeterTypeCmd extends AbstractServiceCmdListener { |
| | | |
| | | private static Logger logger = LoggerFactory.getLogger(UpdateMeterTypeCmd.class); |
| | | |
| | | |
| | | @Autowired |
| | | private IMeterTypeV1InnerServiceSMO meterTypeV1InnerServiceSMOImpl; |
| | | |
| | | @Override |
| | | public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) { |
| | | Assert.hasKeyAndValue(reqJson, "typeId", "typeId不能为空"); |
| | | Assert.hasKeyAndValue(reqJson, "communityId", "communityId不能为空"); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | @Java110Transactional |
| | | public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException { |
| | | |
| | | MeterTypePo meterTypePo = BeanConvertUtil.covertBean(reqJson, MeterTypePo.class); |
| | | int flag = meterTypeV1InnerServiceSMOImpl.updateMeterType(meterTypePo); |
| | | |
| | | if (flag < 1) { |
| | | throw new CmdException("更新数据失败"); |
| | | } |
| | | |
| | | cmdDataFlowContext.setResponseEntity(ResultVo.success()); |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * Copyright 2017-2020 吴学文 and java110 team. |
| | | * |
| | | * Licensed under the Apache License, Version 2.0 (the "License"); |
| | | * you may not use this file except in compliance with the License. |
| | | * You may obtain a copy of the License at |
| | | * |
| | | * http://www.apache.org/licenses/LICENSE-2.0 |
| | | * |
| | | * Unless required by applicable law or agreed to in writing, software |
| | | * distributed under the License is distributed on an "AS IS" BASIS, |
| | | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| | | * See the License for the specific language governing permissions and |
| | | * limitations under the License. |
| | | */ |
| | | package com.java110.fee.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; |
| | | |
| | | /** |
| | | * 类表述: |
| | | * add by 吴学文 at 2021-09-21 23:01:49 mail: 928255095@qq.com |
| | | * open source address: https://gitee.com/wuxw7/MicroCommunity |
| | | * 官网:http://www.homecommunity.cn |
| | | * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下 |
| | | * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行 |
| | | */ |
| | | public interface IMeterTypeV1ServiceDao { |
| | | |
| | | |
| | | /** |
| | | * 保存 抄表类型信息 |
| | | * @param info |
| | | * @throws DAOException DAO异常 |
| | | */ |
| | | int saveMeterTypeInfo(Map info) throws DAOException; |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 查询抄表类型信息(instance过程) |
| | | * 根据bId 查询抄表类型信息 |
| | | * @param info bId 信息 |
| | | * @return 抄表类型信息 |
| | | * @throws DAOException DAO异常 |
| | | */ |
| | | List<Map> getMeterTypeInfo(Map info) throws DAOException; |
| | | |
| | | |
| | | |
| | | /** |
| | | * 修改抄表类型信息 |
| | | * @param info 修改信息 |
| | | * @throws DAOException DAO异常 |
| | | */ |
| | | int updateMeterTypeInfo(Map info) throws DAOException; |
| | | |
| | | |
| | | /** |
| | | * 查询抄表类型总数 |
| | | * |
| | | * @param info 抄表类型信息 |
| | | * @return 抄表类型数量 |
| | | */ |
| | | int queryMeterTypesCount(Map info); |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * Copyright 2017-2020 吴学文 and java110 team. |
| | | * |
| | | * Licensed under the Apache License, Version 2.0 (the "License"); |
| | | * you may not use this file except in compliance with the License. |
| | | * You may obtain a copy of the License at |
| | | * |
| | | * http://www.apache.org/licenses/LICENSE-2.0 |
| | | * |
| | | * Unless required by applicable law or agreed to in writing, software |
| | | * distributed under the License is distributed on an "AS IS" BASIS, |
| | | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| | | * See the License for the specific language governing permissions and |
| | | * limitations under the License. |
| | | */ |
| | | package com.java110.fee.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.fee.dao.IMeterTypeV1ServiceDao; |
| | | 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; |
| | | |
| | | /** |
| | | * 类表述: |
| | | * add by 吴学文 at 2021-09-21 23:01:49 mail: 928255095@qq.com |
| | | * open source address: https://gitee.com/wuxw7/MicroCommunity |
| | | * 官网:http://www.homecommunity.cn |
| | | * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下 |
| | | * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行 |
| | | */ |
| | | @Service("meterTypeV1ServiceDaoImpl") |
| | | public class MeterTypeV1ServiceDaoImpl extends BaseServiceDao implements IMeterTypeV1ServiceDao { |
| | | |
| | | private static Logger logger = LoggerFactory.getLogger(MeterTypeV1ServiceDaoImpl.class); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 保存抄表类型信息 到 instance |
| | | * @param info bId 信息 |
| | | * @throws DAOException DAO异常 |
| | | */ |
| | | @Override |
| | | public int saveMeterTypeInfo(Map info) throws DAOException { |
| | | logger.debug("保存 saveMeterTypeInfo 入参 info : {}",info); |
| | | |
| | | int saveFlag = sqlSessionTemplate.insert("meterTypeV1ServiceDaoImpl.saveMeterTypeInfo",info); |
| | | |
| | | return saveFlag; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询抄表类型信息(instance) |
| | | * @param info bId 信息 |
| | | * @return List<Map> |
| | | * @throws DAOException DAO异常 |
| | | */ |
| | | @Override |
| | | public List<Map> getMeterTypeInfo(Map info) throws DAOException { |
| | | logger.debug("查询 getMeterTypeInfo 入参 info : {}",info); |
| | | |
| | | List<Map> businessMeterTypeInfos = sqlSessionTemplate.selectList("meterTypeV1ServiceDaoImpl.getMeterTypeInfo",info); |
| | | |
| | | return businessMeterTypeInfos; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 修改抄表类型信息 |
| | | * @param info 修改信息 |
| | | * @throws DAOException DAO异常 |
| | | */ |
| | | @Override |
| | | public int updateMeterTypeInfo(Map info) throws DAOException { |
| | | logger.debug("修改 updateMeterTypeInfo 入参 info : {}",info); |
| | | |
| | | int saveFlag = sqlSessionTemplate.update("meterTypeV1ServiceDaoImpl.updateMeterTypeInfo",info); |
| | | |
| | | return saveFlag; |
| | | } |
| | | |
| | | /** |
| | | * 查询抄表类型数量 |
| | | * @param info 抄表类型信息 |
| | | * @return 抄表类型数量 |
| | | */ |
| | | @Override |
| | | public int queryMeterTypesCount(Map info) { |
| | | logger.debug("查询 queryMeterTypesCount 入参 info : {}",info); |
| | | |
| | | List<Map> businessMeterTypeInfos = sqlSessionTemplate.selectList("meterTypeV1ServiceDaoImpl.queryMeterTypesCount", info); |
| | | if (businessMeterTypeInfos.size() < 1) { |
| | | return 0; |
| | | } |
| | | |
| | | return Integer.parseInt(businessMeterTypeInfos.get(0).get("count").toString()); |
| | | } |
| | | |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * Copyright 2017-2020 吴学文 and java110 team. |
| | | * |
| | | * Licensed under the Apache License, Version 2.0 (the "License"); |
| | | * you may not use this file except in compliance with the License. |
| | | * You may obtain a copy of the License at |
| | | * |
| | | * http://www.apache.org/licenses/LICENSE-2.0 |
| | | * |
| | | * Unless required by applicable law or agreed to in writing, software |
| | | * distributed under the License is distributed on an "AS IS" BASIS, |
| | | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| | | * See the License for the specific language governing permissions and |
| | | * limitations under the License. |
| | | */ |
| | | package com.java110.fee.smo.impl; |
| | | |
| | | |
| | | import com.java110.fee.dao.IMeterTypeV1ServiceDao; |
| | | import com.java110.intf.fee.IMeterTypeV1InnerServiceSMO; |
| | | import com.java110.dto.meterType.MeterTypeDto; |
| | | import com.java110.po.meterType.MeterTypePo; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | | import com.java110.core.base.smo.BaseServiceSMO; |
| | | import com.java110.dto.user.UserDto; |
| | | import com.java110.dto.PageDto; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 类表述: 服务之前调用的接口实现类,不对外提供接口能力 只用于接口建调用 |
| | | * add by 吴学文 at 2021-09-21 23:01:49 mail: 928255095@qq.com |
| | | * open source address: https://gitee.com/wuxw7/MicroCommunity |
| | | * 官网:http://www.homecommunity.cn |
| | | * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下 |
| | | * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行 |
| | | */ |
| | | @RestController |
| | | public class MeterTypeV1InnerServiceSMOImpl extends BaseServiceSMO implements IMeterTypeV1InnerServiceSMO { |
| | | |
| | | @Autowired |
| | | private IMeterTypeV1ServiceDao meterTypeV1ServiceDaoImpl; |
| | | |
| | | |
| | | @Override |
| | | public int saveMeterType(@RequestBody MeterTypePo meterTypePo) { |
| | | int saveFlag = meterTypeV1ServiceDaoImpl.saveMeterTypeInfo(BeanConvertUtil.beanCovertMap(meterTypePo)); |
| | | return saveFlag; |
| | | } |
| | | |
| | | @Override |
| | | public int updateMeterType(@RequestBody MeterTypePo meterTypePo) { |
| | | int saveFlag = meterTypeV1ServiceDaoImpl.updateMeterTypeInfo(BeanConvertUtil.beanCovertMap(meterTypePo)); |
| | | return saveFlag; |
| | | } |
| | | |
| | | @Override |
| | | public int deleteMeterType(@RequestBody MeterTypePo meterTypePo) { |
| | | meterTypePo.setStatusCd("1"); |
| | | int saveFlag = meterTypeV1ServiceDaoImpl.updateMeterTypeInfo(BeanConvertUtil.beanCovertMap(meterTypePo)); |
| | | return saveFlag; |
| | | } |
| | | |
| | | @Override |
| | | public List<MeterTypeDto> queryMeterTypes(@RequestBody MeterTypeDto meterTypeDto) { |
| | | |
| | | //校验是否传了 分页信息 |
| | | |
| | | int page = meterTypeDto.getPage(); |
| | | |
| | | if (page != PageDto.DEFAULT_PAGE) { |
| | | meterTypeDto.setPage((page - 1) * meterTypeDto.getRow()); |
| | | } |
| | | |
| | | List<MeterTypeDto> meterTypes = BeanConvertUtil.covertBeanList(meterTypeV1ServiceDaoImpl.getMeterTypeInfo(BeanConvertUtil.beanCovertMap(meterTypeDto)), MeterTypeDto.class); |
| | | |
| | | return meterTypes; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public int queryMeterTypesCount(@RequestBody MeterTypeDto meterTypeDto) { |
| | | return meterTypeV1ServiceDaoImpl.queryMeterTypesCount(BeanConvertUtil.beanCovertMap(meterTypeDto)); } |
| | | |
| | | } |
| | |
| | | //修改停车场 |
| | | public static final String EDIT_PARKING_AREA_ACTION = "EDIT_PARKING_AREA"; |
| | | |
| | | //添加停车场 |
| | | public static final String ADD_CAR_ACTION = "ADD_CAR"; |
| | | //修改停车场 |
| | | public static final String EDIT_CAR_ACTION = "EDIT_CAR"; |
| | | |
| | | //开门记录 |
| | | public static final String ADD_INOUT_RECORD_ACTION = "ADD_INOUT_RECORD"; |
| | | |
| New file |
| | |
| | | /* |
| | | * Copyright 2017-2020 吴学文 and java110 team. |
| | | * |
| | | * Licensed under the Apache License, Version 2.0 (the "License"); |
| | | * you may not use this file except in compliance with the License. |
| | | * You may obtain a copy of the License at |
| | | * |
| | | * http://www.apache.org/licenses/LICENSE-2.0 |
| | | * |
| | | * Unless required by applicable law or agreed to in writing, software |
| | | * distributed under the License is distributed on an "AS IS" BASIS, |
| | | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| | | * See the License for the specific language governing permissions and |
| | | * limitations under the License. |
| | | */ |
| | | package com.java110.job.adapt.hcGov.car; |
| | | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.dto.community.CommunityAttrDto; |
| | | import com.java110.dto.community.CommunityDto; |
| | | import com.java110.dto.owner.OwnerCarDto; |
| | | import com.java110.dto.parking.ParkingAreaDto; |
| | | import com.java110.dto.parking.ParkingSpaceDto; |
| | | import com.java110.dto.parkingAreaAttr.ParkingAreaAttrDto; |
| | | import com.java110.entity.order.Business; |
| | | import com.java110.intf.community.ICommunityInnerServiceSMO; |
| | | import com.java110.intf.community.IParkingAreaInnerServiceSMO; |
| | | import com.java110.intf.community.IParkingSpaceInnerServiceSMO; |
| | | import com.java110.intf.user.IOwnerCarInnerServiceSMO; |
| | | import com.java110.job.adapt.DatabusAdaptImpl; |
| | | import com.java110.job.adapt.hcGov.HcGovConstant; |
| | | import com.java110.job.adapt.hcGov.asyn.BaseHcGovSendAsyn; |
| | | import com.java110.po.car.OwnerCarPo; |
| | | import com.java110.utils.util.Assert; |
| | | 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.Component; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 新增车辆同步HC政务接口 |
| | | * <p> |
| | | * 接口协议地址: https://gitee.com/java110/microCommunityInformation/tree/master/info-doc#1%E6%A5%BC%E6%A0%8B%E4%B8%8A%E4%BC%A0 |
| | | * |
| | | * @desc add by 吴学文 16:20 |
| | | */ |
| | | @Component(value = "addCarToHcGovAdapt") |
| | | public class AddCarToHcGovAdapt extends DatabusAdaptImpl { |
| | | |
| | | @Autowired |
| | | private ICommunityInnerServiceSMO communityInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl; |
| | | @Autowired |
| | | private BaseHcGovSendAsyn baseHcGovSendAsynImpl; |
| | | |
| | | @Autowired |
| | | private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IParkingAreaInnerServiceSMO parkingAreaInnerServiceSMOImpl; |
| | | |
| | | |
| | | /** |
| | | * @param business 当前处理业务 |
| | | * @param businesses 所有业务信息 |
| | | */ |
| | | @Override |
| | | public void execute(Business business, List<Business> businesses) { |
| | | JSONObject data = business.getData(); |
| | | if (data.containsKey(OwnerCarPo.class.getSimpleName())) { |
| | | Object bObj = data.get(OwnerCarPo.class.getSimpleName()); |
| | | JSONArray businessOwnerCars = null; |
| | | if (bObj instanceof JSONObject) { |
| | | businessOwnerCars = new JSONArray(); |
| | | businessOwnerCars.add(bObj); |
| | | } else if (bObj instanceof List) { |
| | | businessOwnerCars = JSONArray.parseArray(JSONObject.toJSONString(bObj)); |
| | | } else { |
| | | businessOwnerCars = (JSONArray) bObj; |
| | | } |
| | | //JSONObject businessOwnerCar = data.getJSONObject("businessOwnerCar"); |
| | | for (int bOwnerCarIndex = 0; bOwnerCarIndex < businessOwnerCars.size(); bOwnerCarIndex++) { |
| | | JSONObject businessOwnerCar = businessOwnerCars.getJSONObject(bOwnerCarIndex); |
| | | doAddOwnerCar(business, businessOwnerCar); |
| | | } |
| | | } |
| | | } |
| | | |
| | | private void doAddOwnerCar(Business business, JSONObject businessFloor) { |
| | | |
| | | OwnerCarPo ownerCarPo = BeanConvertUtil.covertBean(businessFloor, OwnerCarPo.class); |
| | | |
| | | CommunityDto communityDto = new CommunityDto(); |
| | | communityDto.setCommunityId(ownerCarPo.getCommunityId()); |
| | | List<CommunityDto> communityDtos = communityInnerServiceSMOImpl.queryCommunitys(communityDto); |
| | | Assert.listNotNull(communityDtos, "未包含小区信息"); |
| | | CommunityDto tmpCommunityDto = communityDtos.get(0); |
| | | String extCommunityId = ""; |
| | | String communityId = tmpCommunityDto.getCommunityId(); |
| | | for (CommunityAttrDto communityAttrDto : tmpCommunityDto.getCommunityAttrDtos()) { |
| | | if (HcGovConstant.EXT_COMMUNITY_ID.equals(communityAttrDto.getSpecCd())) { |
| | | extCommunityId = communityAttrDto.getValue(); |
| | | } |
| | | } |
| | | //查询车辆 |
| | | OwnerCarDto ownerCarDto = new OwnerCarDto(); |
| | | ownerCarDto.setCommunityId(ownerCarPo.getCommunityId()); |
| | | ownerCarDto.setCarId(ownerCarPo.getCarId()); |
| | | List<OwnerCarDto> ownerCarDtos = ownerCarInnerServiceSMOImpl.queryOwnerCars(ownerCarDto); |
| | | |
| | | Assert.listOnlyOne(ownerCarDtos, "车辆不存在"); |
| | | |
| | | //查询外部停车场 |
| | | ParkingSpaceDto parkingSpaceDto = new ParkingSpaceDto(); |
| | | parkingSpaceDto.setPsId(ownerCarDtos.get(0).getPsId()); |
| | | List<ParkingSpaceDto> parkingSpaceDtos = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(parkingSpaceDto); |
| | | Assert.listOnlyOne(parkingSpaceDtos, "车位不存在"); |
| | | |
| | | //查询 外部停车 |
| | | ParkingAreaDto parkingAreaDto = new ParkingAreaDto(); |
| | | parkingAreaDto.setPaId(parkingSpaceDtos.get(0).getPaId()); |
| | | parkingAreaDto.setCommunityId(parkingSpaceDtos.get(0).getCommunityId()); |
| | | List<ParkingAreaDto> parkingAreaDtos = parkingAreaInnerServiceSMOImpl.queryParkingAreas(parkingAreaDto); |
| | | Assert.listOnlyOne(parkingAreaDtos, "停车场不存在"); |
| | | |
| | | String extPaId = getExtPaId(parkingAreaDtos.get(0).getAttrs()); |
| | | |
| | | if (StringUtil.isEmpty(extPaId)) { |
| | | return; |
| | | } |
| | | |
| | | |
| | | |
| | | JSONObject body = new JSONObject(); |
| | | body.put("carNum", ownerCarDtos.get(0).getCarNum()); |
| | | body.put("carBrand", ownerCarDtos.get(0).getCarBrand()); |
| | | body.put("carType", ownerCarDtos.get(0).getCarType()); |
| | | body.put("carColor", ownerCarDtos.get(0).getCarColor()); |
| | | body.put("startTime", DateUtil.getFormatTimeString(ownerCarDtos.get(0).getStartTime(), DateUtil.DATE_FORMATE_STRING_A)); |
| | | body.put("endTime", DateUtil.getFormatTimeString(ownerCarDtos.get(0).getEndTime(), DateUtil.DATE_FORMATE_STRING_A)); |
| | | body.put("personName", ownerCarDtos.get(0).getOwnerName()); |
| | | body.put("personTel", ownerCarDtos.get(0).getLink()); |
| | | body.put("extPaId", extPaId); |
| | | |
| | | JSONObject kafkaData = baseHcGovSendAsynImpl.createHeadersOrBody(body, extCommunityId, HcGovConstant.ADD_CAR_ACTION, HcGovConstant.COMMUNITY_SECURE); |
| | | baseHcGovSendAsynImpl.sendKafka(HcGovConstant.GOV_TOPIC, kafkaData, communityId, ownerCarPo.getCarId(), HcGovConstant.COMMUNITY_SECURE); |
| | | } |
| | | |
| | | private String getExtPaId(List<ParkingAreaAttrDto> attrs) { |
| | | |
| | | if (attrs == null || attrs.size() < 1) { |
| | | return ""; |
| | | } |
| | | |
| | | for (ParkingAreaAttrDto parkingAreaAttrDto : attrs) { |
| | | if (parkingAreaAttrDto.getSpecCd().equals(HcGovConstant.EXT_COMMUNITY_ID)) { |
| | | return parkingAreaAttrDto.getValue(); |
| | | } |
| | | } |
| | | return ""; |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * Copyright 2017-2020 吴学文 and java110 team. |
| | | * |
| | | * Licensed under the Apache License, Version 2.0 (the "License"); |
| | | * you may not use this file except in compliance with the License. |
| | | * You may obtain a copy of the License at |
| | | * |
| | | * http://www.apache.org/licenses/LICENSE-2.0 |
| | | * |
| | | * Unless required by applicable law or agreed to in writing, software |
| | | * distributed under the License is distributed on an "AS IS" BASIS, |
| | | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| | | * See the License for the specific language governing permissions and |
| | | * limitations under the License. |
| | | */ |
| | | package com.java110.job.adapt.hcGov.car; |
| | | |
| | | import com.java110.core.factory.GenerateCodeFactory; |
| | | import com.java110.dto.hcGovTranslate.HcGovTranslateDto; |
| | | import com.java110.dto.ownerCarAttr.OwnerCarAttrDto; |
| | | import com.java110.dto.reportData.ReportDataDto; |
| | | import com.java110.intf.common.IHcGovTranslateInnerServiceSMO; |
| | | import com.java110.intf.user.IOwnerCarAttrInnerServiceSMO; |
| | | import com.java110.job.adapt.hcGov.HcGovConstant; |
| | | import com.java110.job.adapt.hcGov.IReportReturnDataAdapt; |
| | | import com.java110.po.ownerCarAttr.OwnerCarAttrPo; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 新增楼栋同步HC政务接口 返回 |
| | | * <p> |
| | | * 接口协议地址: https://gitee.com/java110/microCommunityInformation/tree/master/info-doc#1%E6%A5%BC%E6%A0%8B%E4%B8%8A%E4%BC%A0 |
| | | * |
| | | * @desc add by 吴学文 16:20 |
| | | */ |
| | | @Component(value = "ADD_CAR_RETURN") |
| | | public class AddCarToHcGovReturnAdapt implements IReportReturnDataAdapt { |
| | | |
| | | @Autowired |
| | | private IOwnerCarAttrInnerServiceSMO ownerCarAttrInnerServiceSMOImpl; |
| | | @Autowired |
| | | private IHcGovTranslateInnerServiceSMO hcGovTranslateInnerServiceSMOImpl; |
| | | |
| | | @Override |
| | | public void reportReturn(ReportDataDto reportDataDto, String extCommunityId) { |
| | | |
| | | HcGovTranslateDto hcGovTranslateDto = new HcGovTranslateDto(); |
| | | hcGovTranslateDto.setTranId(reportDataDto.getReportDataHeaderDto().getTranId()); |
| | | hcGovTranslateDto.setServiceCode(reportDataDto.getReportDataHeaderDto().getServiceCode()); |
| | | List<HcGovTranslateDto> hcGovTranslateDtos = hcGovTranslateInnerServiceSMOImpl.queryHcGovTranslates(hcGovTranslateDto); |
| | | if (hcGovTranslateDtos == null || hcGovTranslateDtos.size() < 1) { |
| | | throw new IllegalArgumentException("查询推送报文失败。不是同一订单信息"); |
| | | } |
| | | |
| | | OwnerCarAttrDto ownerCarAttrDto = new OwnerCarAttrDto(); |
| | | ownerCarAttrDto.setCarId(hcGovTranslateDtos.get(0).getObjId()); |
| | | ownerCarAttrDto.setCommunityId(hcGovTranslateDtos.get(0).getCommunityId()); |
| | | ownerCarAttrDto.setSpecCd( HcGovConstant.EXT_COMMUNITY_ID); |
| | | List<OwnerCarAttrDto> ownerCarAttrDtos = ownerCarAttrInnerServiceSMOImpl.queryOwnerCarAttrs(ownerCarAttrDto); |
| | | |
| | | OwnerCarAttrPo ownerCarAttrPo = new OwnerCarAttrPo(); |
| | | ownerCarAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_floorId)); |
| | | ownerCarAttrPo.setCarId(ownerCarAttrDto.getCarId()); |
| | | ownerCarAttrPo.setCommunityId(ownerCarAttrDto.getCommunityId()); |
| | | ownerCarAttrPo.setSpecCd(ownerCarAttrDto.getSpecCd()); |
| | | ownerCarAttrPo.setValue(reportDataDto.getReportDataBodyDto().getString("extCarId")); |
| | | if (ownerCarAttrDtos == null || ownerCarAttrDtos.size() < 1) { |
| | | int flag = ownerCarAttrInnerServiceSMOImpl.saveOwnerCarAttr(ownerCarAttrPo); |
| | | if (flag < 1) { |
| | | throw new IllegalArgumentException("保存楼栋属性失败"); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * Copyright 2017-2020 吴学文 and java110 team. |
| | | * |
| | | * Licensed under the Apache License, Version 2.0 (the "License"); |
| | | * you may not use this file except in compliance with the License. |
| | | * You may obtain a copy of the License at |
| | | * |
| | | * http://www.apache.org/licenses/LICENSE-2.0 |
| | | * |
| | | * Unless required by applicable law or agreed to in writing, software |
| | | * distributed under the License is distributed on an "AS IS" BASIS, |
| | | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| | | * See the License for the specific language governing permissions and |
| | | * limitations under the License. |
| | | */ |
| | | package com.java110.job.adapt.hcGov.car; |
| | | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.dto.community.CommunityAttrDto; |
| | | import com.java110.dto.community.CommunityDto; |
| | | import com.java110.dto.owner.OwnerCarDto; |
| | | import com.java110.dto.ownerCarAttr.OwnerCarAttrDto; |
| | | import com.java110.dto.parking.ParkingAreaDto; |
| | | import com.java110.dto.parking.ParkingSpaceDto; |
| | | import com.java110.dto.parkingAreaAttr.ParkingAreaAttrDto; |
| | | import com.java110.entity.order.Business; |
| | | import com.java110.intf.community.ICommunityInnerServiceSMO; |
| | | import com.java110.intf.community.IParkingAreaInnerServiceSMO; |
| | | import com.java110.intf.community.IParkingSpaceInnerServiceSMO; |
| | | import com.java110.intf.user.IOwnerCarAttrInnerServiceSMO; |
| | | import com.java110.intf.user.IOwnerCarInnerServiceSMO; |
| | | import com.java110.job.adapt.DatabusAdaptImpl; |
| | | import com.java110.job.adapt.hcGov.HcGovConstant; |
| | | import com.java110.job.adapt.hcGov.asyn.BaseHcGovSendAsyn; |
| | | import com.java110.po.car.OwnerCarPo; |
| | | import com.java110.utils.util.Assert; |
| | | 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.Component; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 修改车辆同步HC政务接口 |
| | | * <p> |
| | | * 接口协议地址: https://gitee.com/java110/microCommunityInformation/tree/master/info-doc#1%E6%A5%BC%E6%A0%8B%E4%B8%8A%E4%BC%A0 |
| | | * |
| | | * @desc add by 吴学文 16:20 |
| | | */ |
| | | @Component(value = "editCarToHcGovAdapt") |
| | | public class EditCarToHcGovAdapt extends DatabusAdaptImpl { |
| | | |
| | | @Autowired |
| | | private ICommunityInnerServiceSMO communityInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IOwnerCarAttrInnerServiceSMO ownerCarAttrInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private BaseHcGovSendAsyn baseHcGovSendAsynImpl; |
| | | |
| | | @Autowired |
| | | private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IParkingAreaInnerServiceSMO parkingAreaInnerServiceSMOImpl; |
| | | |
| | | |
| | | /** |
| | | * @param business 当前处理业务 |
| | | * @param businesses 所有业务信息 |
| | | */ |
| | | @Override |
| | | public void execute(Business business, List<Business> businesses) { |
| | | JSONObject data = business.getData(); |
| | | if (data.containsKey(OwnerCarPo.class.getSimpleName())) { |
| | | Object bObj = data.get(OwnerCarPo.class.getSimpleName()); |
| | | JSONArray businessOwnerCars = null; |
| | | if (bObj instanceof JSONObject) { |
| | | businessOwnerCars = new JSONArray(); |
| | | businessOwnerCars.add(bObj); |
| | | } else if (bObj instanceof List) { |
| | | businessOwnerCars = JSONArray.parseArray(JSONObject.toJSONString(bObj)); |
| | | } else { |
| | | businessOwnerCars = (JSONArray) bObj; |
| | | } |
| | | //JSONObject businessOwnerCar = data.getJSONObject("businessOwnerCar"); |
| | | for (int bOwnerCarIndex = 0; bOwnerCarIndex < businessOwnerCars.size(); bOwnerCarIndex++) { |
| | | JSONObject businessOwnerCar = businessOwnerCars.getJSONObject(bOwnerCarIndex); |
| | | doEditOwnerCar(business, businessOwnerCar); |
| | | } |
| | | } |
| | | } |
| | | |
| | | private void doEditOwnerCar(Business business, JSONObject businessFloor) { |
| | | |
| | | OwnerCarPo ownerCarPo = BeanConvertUtil.covertBean(businessFloor, OwnerCarPo.class); |
| | | |
| | | CommunityDto communityDto = new CommunityDto(); |
| | | communityDto.setCommunityId(ownerCarPo.getCommunityId()); |
| | | List<CommunityDto> communityDtos = communityInnerServiceSMOImpl.queryCommunitys(communityDto); |
| | | Assert.listNotNull(communityDtos, "未包含小区信息"); |
| | | CommunityDto tmpCommunityDto = communityDtos.get(0); |
| | | String extCommunityId = ""; |
| | | String communityId = tmpCommunityDto.getCommunityId(); |
| | | for (CommunityAttrDto communityAttrDto : tmpCommunityDto.getCommunityAttrDtos()) { |
| | | if (HcGovConstant.EXT_COMMUNITY_ID.equals(communityAttrDto.getSpecCd())) { |
| | | extCommunityId = communityAttrDto.getValue(); |
| | | } |
| | | } |
| | | //查询车辆 |
| | | OwnerCarDto ownerCarDto = new OwnerCarDto(); |
| | | ownerCarDto.setCommunityId(ownerCarPo.getCommunityId()); |
| | | ownerCarDto.setCarId(ownerCarPo.getCarId()); |
| | | List<OwnerCarDto> ownerCarDtos = ownerCarInnerServiceSMOImpl.queryOwnerCars(ownerCarDto); |
| | | |
| | | Assert.listOnlyOne(ownerCarDtos, "车辆不存在"); |
| | | |
| | | //查询外部停车场 |
| | | ParkingSpaceDto parkingSpaceDto = new ParkingSpaceDto(); |
| | | parkingSpaceDto.setPsId(ownerCarDtos.get(0).getPsId()); |
| | | List<ParkingSpaceDto> parkingSpaceDtos = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(parkingSpaceDto); |
| | | Assert.listOnlyOne(parkingSpaceDtos, "车位不存在"); |
| | | |
| | | //查询 外部停车 |
| | | ParkingAreaDto parkingAreaDto = new ParkingAreaDto(); |
| | | parkingAreaDto.setPaId(parkingSpaceDtos.get(0).getPaId()); |
| | | parkingAreaDto.setCommunityId(parkingSpaceDtos.get(0).getCommunityId()); |
| | | List<ParkingAreaDto> parkingAreaDtos = parkingAreaInnerServiceSMOImpl.queryParkingAreas(parkingAreaDto); |
| | | Assert.listOnlyOne(parkingAreaDtos, "停车场不存在"); |
| | | |
| | | String extPaId = getExtPaId(parkingAreaDtos.get(0).getAttrs()); |
| | | |
| | | if (StringUtil.isEmpty(extPaId)) { |
| | | return; |
| | | } |
| | | |
| | | String extCarId = getExtCarId(ownerCarDtos.get(0)); |
| | | |
| | | |
| | | JSONObject body = new JSONObject(); |
| | | body.put("carNum", ownerCarDtos.get(0).getCarNum()); |
| | | body.put("carBrand", ownerCarDtos.get(0).getCarBrand()); |
| | | body.put("carType", ownerCarDtos.get(0).getCarType()); |
| | | body.put("carColor", ownerCarDtos.get(0).getCarColor()); |
| | | body.put("startTime", DateUtil.getFormatTimeString(ownerCarDtos.get(0).getStartTime(), DateUtil.DATE_FORMATE_STRING_A)); |
| | | body.put("endTime", DateUtil.getFormatTimeString(ownerCarDtos.get(0).getEndTime(), DateUtil.DATE_FORMATE_STRING_A)); |
| | | body.put("personName", ownerCarDtos.get(0).getOwnerName()); |
| | | body.put("personTel", ownerCarDtos.get(0).getLink()); |
| | | body.put("extPaId", extPaId); |
| | | if (StringUtil.isEmpty(extCarId)) { // 走添加 |
| | | JSONObject kafkaData = baseHcGovSendAsynImpl.createHeadersOrBody(body, extCommunityId, HcGovConstant.ADD_CAR_ACTION, HcGovConstant.COMMUNITY_SECURE); |
| | | baseHcGovSendAsynImpl.sendKafka(HcGovConstant.GOV_TOPIC, kafkaData, communityId, ownerCarPo.getCarId(), HcGovConstant.COMMUNITY_SECURE); |
| | | return; |
| | | } |
| | | body.put("extCarId", extCarId); |
| | | |
| | | JSONObject kafkaData = baseHcGovSendAsynImpl.createHeadersOrBody(body, extCommunityId, HcGovConstant.EDIT_CAR_ACTION, HcGovConstant.COMMUNITY_SECURE); |
| | | baseHcGovSendAsynImpl.sendKafka(HcGovConstant.GOV_TOPIC, kafkaData, communityId, ownerCarPo.getCarId(), HcGovConstant.COMMUNITY_SECURE); |
| | | } |
| | | |
| | | private String getExtCarId(OwnerCarDto ownerCarDto) { |
| | | |
| | | OwnerCarAttrDto ownerCarAttrDto = new OwnerCarAttrDto(); |
| | | ownerCarAttrDto.setCarId(ownerCarDto.getCarId()); |
| | | ownerCarAttrDto.setCommunityId(ownerCarDto.getCommunityId()); |
| | | ownerCarAttrDto.setSpecCd(HcGovConstant.EXT_COMMUNITY_ID); |
| | | List<OwnerCarAttrDto> ownerCarAttrDtos = ownerCarAttrInnerServiceSMOImpl.queryOwnerCarAttrs(ownerCarAttrDto); |
| | | if (ownerCarAttrDtos == null || ownerCarAttrDtos.size() < 1) { |
| | | return ""; |
| | | } |
| | | |
| | | return ownerCarAttrDtos.get(0).getValue(); |
| | | } |
| | | |
| | | private String getExtPaId(List<ParkingAreaAttrDto> attrs) { |
| | | |
| | | if (attrs == null || attrs.size() < 1) { |
| | | return ""; |
| | | } |
| | | |
| | | for (ParkingAreaAttrDto parkingAreaAttrDto : attrs) { |
| | | if (parkingAreaAttrDto.getSpecCd().equals(HcGovConstant.EXT_COMMUNITY_ID)) { |
| | | return parkingAreaAttrDto.getValue(); |
| | | } |
| | | } |
| | | return ""; |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * Copyright 2017-2020 吴学文 and java110 team. |
| | | * |
| | | * Licensed under the Apache License, Version 2.0 (the "License"); |
| | | * you may not use this file except in compliance with the License. |
| | | * You may obtain a copy of the License at |
| | | * |
| | | * http://www.apache.org/licenses/LICENSE-2.0 |
| | | * |
| | | * Unless required by applicable law or agreed to in writing, software |
| | | * distributed under the License is distributed on an "AS IS" BASIS, |
| | | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| | | * See the License for the specific language governing permissions and |
| | | * limitations under the License. |
| | | */ |
| | | package com.java110.job.adapt.hcGov.car; |
| | | |
| | | import com.java110.dto.hcGovTranslate.HcGovTranslateDto; |
| | | import com.java110.dto.reportData.ReportDataDto; |
| | | import com.java110.intf.common.IHcGovTranslateInnerServiceSMO; |
| | | import com.java110.intf.community.IFloorAttrInnerServiceSMO; |
| | | import com.java110.job.adapt.hcGov.IReportReturnDataAdapt; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 修改楼栋同步HC政务接口 返回 |
| | | * <p> |
| | | * 接口协议地址: https://gitee.com/java110/microCommunityInformation/tree/master/info-doc#1%E6%A5%BC%E6%A0%8B%E4%B8%8A%E4%BC%A0 |
| | | * |
| | | * @desc add by 吴学文 16:20 |
| | | */ |
| | | @Component(value = "EDIT_CAR_RETURN") |
| | | public class EditCarToHcGovReturnAdapt implements IReportReturnDataAdapt { |
| | | |
| | | @Autowired |
| | | private IFloorAttrInnerServiceSMO floorAttrInnerServiceSMOImpl; |
| | | @Autowired |
| | | private IHcGovTranslateInnerServiceSMO hcGovTranslateInnerServiceSMOImpl; |
| | | |
| | | |
| | | @Override |
| | | public void reportReturn(ReportDataDto reportDataDto, String extCommunityId) { |
| | | |
| | | HcGovTranslateDto hcGovTranslateDto = new HcGovTranslateDto(); |
| | | hcGovTranslateDto.setTranId(reportDataDto.getReportDataHeaderDto().getTranId()); |
| | | hcGovTranslateDto.setServiceCode(reportDataDto.getReportDataHeaderDto().getServiceCode()); |
| | | List<HcGovTranslateDto> hcGovTranslateDtos = hcGovTranslateInnerServiceSMOImpl.queryHcGovTranslates(hcGovTranslateDto); |
| | | if (hcGovTranslateDtos == null || hcGovTranslateDtos.size() < 1) { |
| | | throw new IllegalArgumentException("查询推送报文失败。不是同一订单信息"); |
| | | } |
| | | } |
| | | } |
| | |
| | | parkingAreaAttrPo.setPaId(parkingAreaAttrDto.getPaId()); |
| | | parkingAreaAttrPo.setCommunityId(parkingAreaAttrDto.getCommunityId()); |
| | | parkingAreaAttrPo.setSpecCd(parkingAreaAttrDto.getSpecCd()); |
| | | parkingAreaAttrPo.setValue(reportDataDto.getReportDataBodyDto().getString("extFloorId")); |
| | | parkingAreaAttrPo.setValue(reportDataDto.getReportDataBodyDto().getString("extPaId")); |
| | | if (parkingAreaAttrDtos == null || parkingAreaAttrDtos.size() < 1) { |
| | | int flag = parkingAreaAttrInnerServiceSMOImpl.saveParkingAreaAttr(parkingAreaAttrPo); |
| | | if (flag < 1) { |
| | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.dto.community.CommunityAttrDto; |
| | | import com.java110.dto.community.CommunityDto; |
| | | import com.java110.dto.parking.ParkingAreaDto; |
| | | import com.java110.dto.parking.ParkingSpaceDto; |
| | | import com.java110.dto.parkingAreaAttr.ParkingAreaAttrDto; |
| | | import com.java110.entity.order.Business; |
| | | import com.java110.intf.community.ICommunityInnerServiceSMO; |
| | | import com.java110.intf.community.IParkingAreaInnerServiceSMO; |
| | | import com.java110.intf.community.IParkingSpaceInnerServiceSMO; |
| | | import com.java110.job.adapt.DatabusAdaptImpl; |
| | | import com.java110.job.adapt.hcGov.HcGovConstant; |
| | |
| | | import com.java110.po.parking.ParkingAreaPo; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | | import com.java110.utils.util.StringUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | |
| | | private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl; |
| | | @Autowired |
| | | private BaseHcGovSendAsyn baseHcGovSendAsynImpl; |
| | | |
| | | @Autowired |
| | | private IParkingAreaInnerServiceSMO parkingAreaInnerServiceSMOImpl; |
| | | |
| | | /** |
| | | * @param business 当前处理业务 |
| | |
| | | parkingSpaceDto.setPaId(parkingAreaPo.getPaId()); |
| | | int count = parkingSpaceInnerServiceSMOImpl.queryParkingSpacesCount(parkingSpaceDto); |
| | | |
| | | //查询 外部停车 |
| | | ParkingAreaDto parkingAreaDto = new ParkingAreaDto(); |
| | | parkingAreaDto.setPaId(parkingAreaPo.getPaId()); |
| | | parkingAreaDto.setCommunityId(parkingAreaPo.getCommunityId()); |
| | | List<ParkingAreaDto> parkingAreaDtos = parkingAreaInnerServiceSMOImpl.queryParkingAreas(parkingAreaDto); |
| | | Assert.listOnlyOne(parkingAreaDtos, "停车场不存在"); |
| | | |
| | | String extPaId = getExtPaId(parkingAreaDtos.get(0).getAttrs()); |
| | | |
| | | JSONObject body = new JSONObject(); |
| | | body.put("num", parkingAreaPo.getNum()); |
| | | body.put("parkingCount", count); |
| | | body.put("typeCd", parkingAreaPo.getTypeCd()); |
| | | body.put("extPaId", parkingAreaPo.getPaId()); |
| | | //如果为空 走添加接口 |
| | | if (StringUtil.isEmpty(extPaId)) { |
| | | JSONObject kafkaData = baseHcGovSendAsynImpl.createHeadersOrBody(body, extCommunityId, HcGovConstant.ADD_PARKING_AREA_ACTION, HcGovConstant.COMMUNITY_SECURE); |
| | | baseHcGovSendAsynImpl.sendKafka(HcGovConstant.GOV_TOPIC, kafkaData, communityId, parkingAreaPo.getPaId(), HcGovConstant.COMMUNITY_SECURE); |
| | | return; |
| | | } |
| | | body.put("extPaId", extPaId); |
| | | |
| | | JSONObject kafkaData = baseHcGovSendAsynImpl.createHeadersOrBody(body, extCommunityId, HcGovConstant.EDIT_PARKING_AREA_ACTION, HcGovConstant.COMMUNITY_SECURE); |
| | | baseHcGovSendAsynImpl.sendKafka(HcGovConstant.GOV_TOPIC, kafkaData, communityId, parkingAreaPo.getPaId(), HcGovConstant.COMMUNITY_SECURE); |
| | | } |
| | | |
| | | |
| | | private String getExtPaId(List<ParkingAreaAttrDto> attrs) { |
| | | |
| | | if (attrs == null || attrs.size() < 1) { |
| | | return ""; |
| | | } |
| | | |
| | | for (ParkingAreaAttrDto parkingAreaAttrDto : attrs) { |
| | | if (parkingAreaAttrDto.getSpecCd().equals(HcGovConstant.EXT_COMMUNITY_ID)) { |
| | | return parkingAreaAttrDto.getValue(); |
| | | } |
| | | } |
| | | return ""; |
| | | } |
| | | |
| | | } |