Api/src/main/java/com/java110/api/listener/community/SaveCommunityListener.java
@@ -9,6 +9,7 @@ import com.java110.core.factory.GenerateCodeFactory; import com.java110.entity.center.AppService; import com.java110.event.service.api.ServiceDataFlowEvent; import com.java110.utils.util.DateUtil; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.http.ResponseEntity; @@ -44,6 +45,8 @@ //添加单元信息 businesses.add(addCommunity(reqJson, context)); businesses.addAll(addCommunityMember(reqJson)); //产生物业费配置信息 businesses.add(addFeeConfig(reqJson,context)); JSONObject paramInObj = super.restToCenterProtocol(businesses, context.getRequestCurrentHeaders()); @@ -55,6 +58,39 @@ context.setResponseEntity(responseEntity); } /** * 添加小区信息 * * @param paramInJson 接口调用放传入入参 * @param dataFlowContext 数据上下文 * @return 订单服务能够接受的报文 */ private JSONObject addFeeConfig(JSONObject paramInJson, DataFlowContext dataFlowContext) { paramInJson.put("configId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_configId)); JSONObject business = JSONObject.parseObject("{\"datas\":{}}"); business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FEE_CONFIG); business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ+1); business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S); JSONObject businessFeeConfig = new JSONObject(); businessFeeConfig.putAll(paramInJson); businessFeeConfig.put("feeTypeCd", FeeTypeConstant.FEE_TYPE_PROPERTY); businessFeeConfig.put("feeName", "物业费[系统默认]"); businessFeeConfig.put("feeFlag", "1003006"); businessFeeConfig.put("startTime", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A)); businessFeeConfig.put("endTime", DateUtil.LAST_TIME); businessFeeConfig.put("computingFormula", "1001"); businessFeeConfig.put("squarePrice", "0.00"); businessFeeConfig.put("additionalAmount", "0.00"); businessFeeConfig.put("communityId", paramInJson.getString("communityId")); businessFeeConfig.put("configId", paramInJson.getString("configId")); businessFeeConfig.put("isDefault", "T"); //计算 应收金额 business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessFeeConfig", businessFeeConfig); return business; } /** * 添加小区成员 开发者 代理商 运维 商户 Api/src/main/java/com/java110/api/listener/fee/SaveRoomCreateFeeListener.java
@@ -80,24 +80,28 @@ Assert.listOnlyOne(feeConfigDtos, "当前费用项ID不存在或存在多条" + reqJson.getString("configId")); reqJson.put("feeTypeCd", reqJson.getString("feeTypeCd")); //判断收费范围 RoomDto roomDto = new RoomDto(); if (reqJson.containsKey("roomState") && "2001".equals(reqJson.getString("roomState"))) { roomDto.setState("2001"); } if ("1000".equals(reqJson.getString("locationTypeCd"))) {//小区 RoomDto roomDto = new RoomDto(); roomDto.setCommunityId(reqJson.getString("communityId")); roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto); } else if ("4000".equals(reqJson.getString("locationTypeCd"))) {//楼栋 RoomDto roomDto = new RoomDto(); //RoomDto roomDto = new RoomDto(); roomDto.setCommunityId(reqJson.getString("communityId")); roomDto.setFloorId(reqJson.getString("locationObjId")); roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto); } else if ("2000".equals(reqJson.getString("locationTypeCd"))) {//单元 RoomDto roomDto = new RoomDto(); //RoomDto roomDto = new RoomDto(); roomDto.setCommunityId(reqJson.getString("communityId")); roomDto.setUnitId(reqJson.getString("locationObjId")); roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto); } else if ("3000".equals(reqJson.getString("locationTypeCd"))) {//房屋 RoomDto roomDto = new RoomDto(); //RoomDto roomDto = new RoomDto(); roomDto.setCommunityId(reqJson.getString("communityId")); roomDto.setRoomId(reqJson.getString("locationObjId")); roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto); @@ -125,6 +129,7 @@ int failRooms = 0; //添加单元信息 for (int roomIndex = 0; roomIndex < roomDtos.size(); roomIndex++) { businesses.add(addFee(roomDtos.get(0), reqJson, context)); if (roomIndex % DEFAULT_ADD_FEE_COUNT == 0 && roomIndex != 0) { Api/src/main/java/com/java110/api/listener/room/SellRoomListener.java
@@ -3,6 +3,9 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.java110.api.listener.AbstractServiceApiDataFlowListener; import com.java110.core.factory.GenerateCodeFactory; import com.java110.core.smo.fee.IFeeConfigInnerServiceSMO; import com.java110.dto.fee.FeeConfigDto; import com.java110.utils.constant.BusinessTypeConstant; import com.java110.utils.constant.CommonConstant; import com.java110.utils.constant.FeeTypeConstant; @@ -22,6 +25,8 @@ import org.springframework.http.HttpMethod; import org.springframework.http.ResponseEntity; import java.util.List; /** * @ClassName SaveUnitListener * @Description TODO 售卖房屋信息 @@ -40,6 +45,9 @@ @Autowired private ICommunityInnerServiceSMO communityInnerServiceSMOImpl; @Autowired private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMO; @Override public String getServiceCode() { @@ -74,7 +82,6 @@ //更新房屋信息为售出 businesses.add(updateRoom(paramObj, dataFlowContext)); //添加物业费用信息 businesses.add(addPropertyFee(paramObj, dataFlowContext)); @@ -121,14 +128,21 @@ * @return 订单服务能够接受的报文 */ private JSONObject addPropertyFee(JSONObject paramInJson, DataFlowContext dataFlowContext) { FeeConfigDto feeConfigDto = new FeeConfigDto(); feeConfigDto.setCommunityId(paramInJson.getString("communityId")); feeConfigDto.setIsDefault("T"); feeConfigDto.setFeeTypeCd(FeeTypeConstant.FEE_TYPE_PROPERTY); List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMO.queryFeeConfigs(feeConfigDto); Assert.listOnlyOne(feeConfigDtos, "物业费默认配置不存在或存在多条请检查"); JSONObject business = JSONObject.parseObject("{\"datas\":{}}"); business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FEE_INFO); business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ + 1); business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ + 2); business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S); JSONObject businessUnit = new JSONObject(); businessUnit.put("feeId", "-1"); businessUnit.put("configId", feeConfigDtos.get(0).getConfigId()); businessUnit.put("feeTypeCd", FeeTypeConstant.FEE_TYPE_PROPERTY); businessUnit.put("incomeObjId", paramInJson.getString("storeId")); businessUnit.put("amount", "-1.00"); WebService/src/main/resources/components/feePackage/roomCreateFeeAdd/roomCreateFeeAdd.html
@@ -72,7 +72,7 @@ </option> </select></div> </div> <div class="form-group row" v-if="roomCreateFeeAddInfo.computingFormula != '2002'"> <div class="form-group row" > <label class="col-sm-2 col-form-label">出账类型</label> <div class="col-sm-10"> <select class="custom-select" v-model="roomCreateFeeAddInfo.billType"> @@ -83,6 +83,16 @@ </select> </div> </div> <div class="form-group row" > <label class="col-sm-2 col-form-label">房屋状态</label> <div class="col-sm-10"> <select class="custom-select" v-model="roomCreateFeeAddInfo.roomState"> <option selected disabled value="">必填,请选择房屋状态</option> <option value="2001">已售房屋</option> <option value="0000">全部房屋</option> </select> </div> </div> <div class="ibox-content"> <button class="btn btn-primary float-right" type="button" v-on:click="saveRoomCreateFeeInfo()"><i class="fa fa-check"></i> 提交 WebService/src/main/resources/components/feePackage/roomCreateFeeAdd/roomCreateFeeAdd.js
@@ -15,7 +15,8 @@ roomId: '', feeTypeCd:'', configId:'', billType:'' billType:'', roomState:'' } }, _initMethod: function() { @@ -85,7 +86,13 @@ param: "", errInfo: "出账类型不能为空" } ] ], 'roomCreateFeeAddInfo.roomState': [{ limit: "required", param: "", errInfo: "出账类型不能为空" } ] }); }, saveRoomCreateFeeInfo: function() { java110-utils/src/main/java/com/java110/utils/util/DateUtil.java
@@ -16,7 +16,7 @@ private static DateFormat dateFormat = new SimpleDateFormat("yyyyMMddhhmmss"); private static final String LAST_TIME = "2038-01-01 00:00:00"; public static final String LAST_TIME = "2038-01-01 00:00:00"; private static Map<String, SimpleDateFormat> formats = new HashMap(); public static final String DATE_FORMATE_STRING_DEFAULT = "yyyyMMddHHmmss";