service-acct/src/main/java/com/java110/acct/cmd/account/QueryAdminAccountDetailCmd.java
New file @@ -0,0 +1,50 @@ package com.java110.acct.cmd.account; import com.alibaba.fastjson.JSONObject; import com.java110.core.annotation.Java110Cmd; import com.java110.core.context.ICmdDataFlowContext; import com.java110.core.event.cmd.Cmd; import com.java110.core.event.cmd.CmdEvent; import com.java110.dto.account.AccountDetailDto; import com.java110.intf.acct.IAccountDetailInnerServiceSMO; import com.java110.utils.exception.CmdException; import com.java110.utils.util.BeanConvertUtil; import com.java110.vo.ResultVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import java.text.ParseException; import java.util.ArrayList; import java.util.List; @Java110Cmd(serviceCode = "account.queryAdminAccountDetail") public class QueryAdminAccountDetailCmd extends Cmd { @Autowired private IAccountDetailInnerServiceSMO accountDetailInnerServiceSMOImpl; @Override public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException { super.validateAdmin(context); super.validatePageInfo(reqJson); } @Override public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException { AccountDetailDto accountDetailDto = BeanConvertUtil.covertBean(reqJson,AccountDetailDto.class); int count = accountDetailInnerServiceSMOImpl.queryAccountDetailsCount(accountDetailDto); List<AccountDetailDto> accountDetailDtos = null; if (count > 0) { accountDetailDtos = accountDetailInnerServiceSMOImpl.queryAccountDetails(accountDetailDto); } else { accountDetailDtos = new ArrayList<>(); } ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) accountDetailDto.getRow()), count, accountDetailDtos); ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK); context.setResponseEntity(responseEntity); } } service-community/src/main/java/com/java110/community/cmd/parkingSpaceApply/ListAdminParkingSpaceApplyCmd.java
New file @@ -0,0 +1,82 @@ /* * 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.community.cmd.parkingSpaceApply; import com.alibaba.fastjson.JSONObject; import com.java110.core.annotation.Java110Cmd; import com.java110.core.context.ICmdDataFlowContext; import com.java110.core.event.cmd.Cmd; import com.java110.core.event.cmd.CmdEvent; import com.java110.core.log.LoggerFactory; import com.java110.dto.parking.ParkingSpaceApplyDto; import com.java110.intf.community.IParkingSpaceApplyV1InnerServiceSMO; import com.java110.utils.exception.CmdException; import com.java110.utils.util.BeanConvertUtil; import com.java110.vo.ResultVo; import org.slf4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import java.util.ArrayList; import java.util.List; /** * 类表述:查询 * 服务编码:parkingSpaceApply.listParkingSpaceApply * 请求路劲:/app/parkingSpaceApply.ListParkingSpaceApply * add by 吴学文 at 2021-10-18 13:00:02 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 = "parkingSpaceApply.listAdminParkingSpaceApply") public class ListAdminParkingSpaceApplyCmd extends Cmd { private static Logger logger = LoggerFactory.getLogger(ListAdminParkingSpaceApplyCmd.class); @Autowired private IParkingSpaceApplyV1InnerServiceSMO parkingSpaceApplyV1InnerServiceSMOImpl; @Override public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) { super.validatePageInfo(reqJson); super.validateAdmin(cmdDataFlowContext); } @Override public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException { ParkingSpaceApplyDto parkingSpaceApplyDto = BeanConvertUtil.covertBean(reqJson, ParkingSpaceApplyDto.class); int count = parkingSpaceApplyV1InnerServiceSMOImpl.queryParkingSpaceApplysCount(parkingSpaceApplyDto); List<ParkingSpaceApplyDto> parkingSpaceApplyDtos = null; if (count > 0) { parkingSpaceApplyDtos = parkingSpaceApplyV1InnerServiceSMOImpl.queryParkingSpaceApplys(parkingSpaceApplyDto); } else { parkingSpaceApplyDtos = new ArrayList<>(); } ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, parkingSpaceApplyDtos); ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK); cmdDataFlowContext.setResponseEntity(responseEntity); } } service-community/src/main/java/com/java110/community/cmd/parkingSpaceApply/ListParkingSpaceApplyCmd.java
@@ -54,6 +54,7 @@ @Override public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) { super.validatePageInfo(reqJson); super.validateProperty(cmdDataFlowContext); } @Override service-fee/src/main/java/com/java110/fee/cmd/feeConfig/ListFeeConfigsCmd.java
@@ -30,6 +30,7 @@ @Override public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException { super.validatePageInfo(reqJson); super.validateProperty(cmdDataFlowContext); Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区ID"); } service-fee/src/main/java/com/java110/fee/cmd/feeConfig/QueryAdminFeeConfigsCmd.java
New file @@ -0,0 +1,65 @@ package com.java110.fee.cmd.feeConfig; import com.alibaba.fastjson.JSONObject; import com.java110.core.annotation.Java110Cmd; import com.java110.core.context.ICmdDataFlowContext; import com.java110.core.event.cmd.Cmd; import com.java110.core.event.cmd.CmdEvent; import com.java110.dto.PageDto; import com.java110.dto.fee.FeeConfigDto; import com.java110.intf.fee.IFeeConfigInnerServiceSMO; import com.java110.utils.exception.CmdException; import com.java110.utils.util.Assert; import com.java110.utils.util.BeanConvertUtil; import com.java110.utils.util.StringUtil; import com.java110.vo.api.feeConfig.ApiFeeConfigDataVo; import com.java110.vo.api.feeConfig.ApiFeeConfigVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import java.util.ArrayList; import java.util.List; @Java110Cmd(serviceCode = "feeConfig.queryAdminFeeConfigs") public class QueryAdminFeeConfigsCmd extends Cmd { @Autowired private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl; @Override public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException { super.validatePageInfo(reqJson); super.validateAdmin(cmdDataFlowContext); } @Override public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException { FeeConfigDto feeConfigDto = BeanConvertUtil.covertBean(reqJson, FeeConfigDto.class); if (!StringUtil.isEmpty(reqJson.getString("isFlag")) && reqJson.getString("isFlag").equals("0")) { feeConfigDto.setPage(PageDto.DEFAULT_PAGE); } int count = feeConfigInnerServiceSMOImpl.queryFeeConfigsCount(feeConfigDto); List<ApiFeeConfigDataVo> feeConfigs = null; if (count > 0) { feeConfigs = BeanConvertUtil.covertBeanList(feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto), ApiFeeConfigDataVo.class); //处理 小数点后无效的0 for (ApiFeeConfigDataVo feeConfig : feeConfigs) { if (!StringUtil.isEmpty(feeConfig.getAdditionalAmount())) { feeConfig.setAdditionalAmount(Double.parseDouble(feeConfig.getAdditionalAmount()) + ""); } if (!StringUtil.isEmpty(feeConfig.getSquarePrice())) { feeConfig.setSquarePrice(Double.parseDouble(feeConfig.getSquarePrice()) + ""); } } } else { feeConfigs = new ArrayList<>(); } ApiFeeConfigVo apiFeeConfigVo = new ApiFeeConfigVo(); apiFeeConfigVo.setTotal(count); apiFeeConfigVo.setRecords((int) Math.ceil((double) count / (double) reqJson.getInteger("row"))); apiFeeConfigVo.setFeeConfigs(feeConfigs); ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiFeeConfigVo), HttpStatus.OK); cmdDataFlowContext.setResponseEntity(responseEntity); } } service-job/src/main/java/com/java110/job/cmd/iot/GetAdminOpenApiCmd.java
New file @@ -0,0 +1,78 @@ package com.java110.job.cmd.iot; import com.alibaba.fastjson.JSONObject; import com.java110.core.annotation.Java110Cmd; import com.java110.core.context.CmdContextUtils; import com.java110.core.context.ICmdDataFlowContext; import com.java110.core.event.cmd.Cmd; import com.java110.core.event.cmd.CmdEvent; import com.java110.dto.store.StoreDto; import com.java110.dto.user.UserDto; import com.java110.intf.store.IStoreUserV1InnerServiceSMO; import com.java110.intf.store.IStoreV1InnerServiceSMO; import com.java110.intf.user.IUserV1InnerServiceSMO; import com.java110.job.adapt.hcIot.http.ISendIot; import com.java110.utils.cache.MappingCache; import com.java110.utils.exception.CmdException; import com.java110.utils.util.Assert; import com.java110.vo.ResultVo; import org.springframework.beans.factory.annotation.Autowired; import java.text.ParseException; import java.util.List; @Java110Cmd(serviceCode = "iot.getAdminOpenApi") public class GetAdminOpenApiCmd extends Cmd { @Autowired private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl; @Autowired private IStoreUserV1InnerServiceSMO storeUserV1InnerServiceSMOImpl; @Autowired private IStoreV1InnerServiceSMO storeV1InnerServiceSMOImpl; @Autowired private ISendIot sendIotImpl; @Override public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException { Assert.hasKeyAndValue(reqJson, "iotApiCode", "未包含IOT接口编码"); String iotSwitch = MappingCache.getValue("IOT", "IOT_SWITCH"); if (!"ON".equals(iotSwitch)) { throw new CmdException("物联网系统未部署"); } String userId = CmdContextUtils.getUserId(context); UserDto userDto = new UserDto(); userDto.setUserId(userId); List<UserDto> userDtos = userV1InnerServiceSMOImpl.queryUsers(userDto); Assert.listOnlyOne(userDtos, "用户未登录"); String storeId = CmdContextUtils.getStoreId(context); reqJson.put("adminUserId", userDtos.get(0).getUserId()); reqJson.put("adminUserTel", userDtos.get(0).getTel()); reqJson.put("adminStoreId", storeId); super.validateAdmin(context); } @Override public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException { ResultVo resultVo = sendIotImpl.post("/iot/api/common.openCommonApi", reqJson); if (resultVo.getCode() != ResultVo.CODE_OK) { throw new CmdException(resultVo.getMsg()); } context.setResponseEntity(ResultVo.createResponseEntity(resultVo)); } } service-report/src/main/java/com/java110/report/cmd/car/QueryAdminHisOwnerCarCmd.java
New file @@ -0,0 +1,53 @@ package com.java110.report.cmd.car; import com.alibaba.fastjson.JSONObject; import com.java110.core.annotation.Java110Cmd; import com.java110.core.context.ICmdDataFlowContext; import com.java110.core.event.cmd.Cmd; import com.java110.core.event.cmd.CmdEvent; import com.java110.dto.owner.OwnerCarDto; import com.java110.intf.report.IReportCommunityInnerServiceSMO; 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 org.springframework.http.ResponseEntity; import java.text.ParseException; import java.util.ArrayList; import java.util.List; /** * 查询车辆变更记录 */ @Java110Cmd(serviceCode = "car.queryAdminHisOwnerCar") public class QueryAdminHisOwnerCarCmd extends Cmd { @Autowired private IReportCommunityInnerServiceSMO reportCommunityInnerServiceSMOImpl; @Override public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException { super.validatePageInfo(reqJson); super.validateAdmin(context); } @Override public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException { int row = reqJson.getInteger("row"); OwnerCarDto ownerCarDto = BeanConvertUtil.covertBean(reqJson, OwnerCarDto.class); int total = reportCommunityInnerServiceSMOImpl.queryHisOwnerCarCount(ownerCarDto); // int count = 0; List<OwnerCarDto> ownerCarDtos = null; if (total > 0) { ownerCarDtos = reportCommunityInnerServiceSMOImpl.queryHisOwnerCars(ownerCarDto); } else { ownerCarDtos = new ArrayList<>(); } ResponseEntity<String> responseEntity = ResultVo.createResponseEntity((int) Math.ceil((double) total / (double) row), total, ownerCarDtos); context.setResponseEntity(responseEntity); } } service-report/src/main/java/com/java110/report/cmd/car/QueryHisOwnerCarCmd.java
@@ -30,7 +30,7 @@ @Override public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException { Assert.hasKeyAndValue(reqJson,"communityId","未包含小区"); super.validateProperty(context); } @Override service-report/src/main/java/com/java110/report/cmd/community/QueryCommunityFeeTypeTreeCmd.java
New file @@ -0,0 +1,133 @@ package com.java110.report.cmd.community; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.java110.core.annotation.Java110Cmd; import com.java110.core.context.ICmdDataFlowContext; import com.java110.core.event.cmd.Cmd; import com.java110.core.event.cmd.CmdEvent; import com.java110.core.factory.GenerateCodeFactory; import com.java110.dto.community.CommunityDto; import com.java110.dto.dict.DictDto; import com.java110.dto.parking.ParkingAreaDto; import com.java110.intf.community.ICommunityV1InnerServiceSMO; import com.java110.intf.dev.IDictV1InnerServiceSMO; import com.java110.intf.report.IReportCommunityInnerServiceSMO; import com.java110.utils.exception.CmdException; import com.java110.utils.util.ListUtil; import com.java110.utils.util.StringUtil; import com.java110.vo.ResultVo; import org.springframework.beans.factory.annotation.Autowired; import java.text.ParseException; import java.util.List; /** * 查询小区费用项树 */ @Java110Cmd(serviceCode = "community.queryCommunityFeeTypeTree") public class QueryCommunityFeeTypeTreeCmd extends Cmd { @Autowired private ICommunityV1InnerServiceSMO communityV1InnerServiceSMOImpl; @Autowired private IDictV1InnerServiceSMO dictV1InnerServiceSMOImpl; @Override public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException { // must be administrator super.validateAdmin(context); } @Override public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException { List<CommunityDto> communityDtos = null; CommunityDto communityDto = new CommunityDto(); communityDtos = communityV1InnerServiceSMOImpl.queryCommunitys(communityDto); JSONArray communitys = new JSONArray(); if (ListUtil.isNull(communityDtos)) { context.setResponseEntity(ResultVo.createResponseEntity(communitys)); return; } JSONObject communityInfo = null; for (CommunityDto tmpCommunityDto : communityDtos) { communityInfo = new JSONObject(); communityInfo.put("id", "c_" + tmpCommunityDto.getCommunityId()); communityInfo.put("communityId", tmpCommunityDto.getCommunityId()); communityInfo.put("text", tmpCommunityDto.getName()); communityInfo.put("icon", "/img/org.png"); communityInfo.put("children", new JSONArray()); communitys.add(communityInfo); } DictDto dictDto = new DictDto(); dictDto.setTableName("pay_fee_config"); dictDto.setTableColumns("fee_type_cd"); List<DictDto> dictDtos = dictV1InnerServiceSMOImpl.queryDicts(dictDto); JSONObject community = null; for (int cIndex = 0; cIndex < communitys.size(); cIndex++) { community = communitys.getJSONObject(cIndex); // find floor data in unitDtos findFeeTypeCd(community, dictDtos); } context.setResponseEntity(ResultVo.createResponseEntity(communitys)); } /** * find community floor data * * @param community current community */ private void findFeeTypeCd(JSONObject community, List<DictDto> dictDtos) { JSONArray feeTypeCds = community.getJSONArray("children"); JSONObject feeTypeCd = null; for (DictDto tmpDictDto : dictDtos) { feeTypeCd = new JSONObject(); feeTypeCd.put("id", "f_" + GenerateCodeFactory.getUUID()); feeTypeCd.put("feeTypeCd", tmpDictDto.getStatusCd()); feeTypeCd.put("communityId", community.getString("communityId")); feeTypeCd.put("text", tmpDictDto.getName()); feeTypeCd.put("icon", "/img/floor.png"); feeTypeCd.put("children", new JSONArray()); feeTypeCds.add(feeTypeCd); } JSONObject feeFlag = null; JSONArray feeFlags = null; for (int cIndex = 0; cIndex < feeTypeCds.size(); cIndex++) { feeTypeCd = feeTypeCds.getJSONObject(cIndex); feeFlags = feeTypeCd.getJSONArray("children"); // find floor data in unitDtos feeFlag = new JSONObject(); feeFlag.put("id", "l_"+GenerateCodeFactory.getUUID()); feeFlag.put("feeFlag", "1003006"); feeFlag.put("communityId", community.getString("communityId")); feeFlag.put("feeTypeCd", feeTypeCd.getString("feeTypeCd")); feeFlag.put("text", "周期性费用"); feeFlag.put("icon", "/img/unit.png"); feeFlags.add(feeFlag); feeFlag = new JSONObject(); feeFlag.put("id", "l_"+GenerateCodeFactory.getUUID()); feeFlag.put("feeFlag", "2006012"); feeFlag.put("communityId", community.getString("communityId")); feeFlag.put("feeTypeCd", feeTypeCd.getString("feeTypeCd")); feeFlag.put("text", "一次性费用"); feeFlag.put("icon", "/img/unit.png"); feeFlags.add(feeFlag); } } } service-report/src/main/java/com/java110/report/cmd/community/QueryCommunityParkingTreeCmd.java
@@ -6,6 +6,7 @@ import com.java110.core.context.ICmdDataFlowContext; import com.java110.core.event.cmd.Cmd; import com.java110.core.event.cmd.CmdEvent; import com.java110.core.factory.GenerateCodeFactory; import com.java110.dto.dict.DictDto; import com.java110.dto.parking.ParkingAreaDto; import com.java110.dto.unit.UnitDto; @@ -117,7 +118,7 @@ JSONObject leaseTypeInfo = null; for (DictDto tmpDictDto : dictDtos) { leaseTypeInfo = new JSONObject(); leaseTypeInfo.put("id", "l_" + tmpDictDto.getStatusCd()); leaseTypeInfo.put("id", "l_" + GenerateCodeFactory.getUUID()); leaseTypeInfo.put("leaseType", tmpDictDto.getStatusCd()); leaseTypeInfo.put("text", tmpDictDto.getName()); leaseTypeInfo.put("icon", "/img/unit.png");