Procházet zdrojové kódy

Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

java110 před 4 roky
rodič
revize
0bd2299894

+ 9 - 0
java110-bean/src/main/java/com/java110/dto/reportFeeMonthStatistics/ReportFeeMonthStatisticsDto.java

@@ -42,6 +42,7 @@ public class ReportFeeMonthStatisticsDto extends PageDto implements Serializable
     private String carNum;
     private String contractCode;
     private String payerObjType;
+    private String ownerName;
 
     private String objCount;
     private String normalCount;
@@ -482,4 +483,12 @@ public class ReportFeeMonthStatisticsDto extends PageDto implements Serializable
     public void setContractCode(String contractCode) {
         this.contractCode = contractCode;
     }
+
+    public String getOwnerName() {
+        return ownerName;
+    }
+
+    public void setOwnerName(String ownerName) {
+        this.ownerName = ownerName;
+    }
 }

+ 3 - 1
java110-db/src/main/resources/mapper/report/ReportFeeMonthStatisticsServiceDaoImplMapper.xml

@@ -912,11 +912,12 @@
 
     <!-- 查询费用月统计信息 add by wuxw 2018-07-03 -->
     <select id="queryPayFeeDetail" parameterType="Map" resultType="Map">
+
         select pfc.fee_name feeName,f.floor_num floorNum,bu.unit_num unitNum,br.room_num roomNum,oc.car_num carNum,
         pf.payer_obj_type payerObjType,t.start_time startTime,t.end_time endTime,t.create_time createTime,
         t.receivable_amount receivableAmount,t.received_amount receivedAmount,pfa.`value`
         importFeeName,t.prime_rate,d.name primeRate,fdr.discount_small_type discountSmallType,fdr.rule_name
-        ruleName,pfdd.discount_price discountPrice,co.contract_code contractCode
+        ruleName,pfdd.discount_price discountPrice,co.contract_code contractCode,pfo.`value` ownerName
         from pay_fee_detail t
         INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
         inner join pay_fee_config pfc on pf.config_id = pfc.config_id and pfc.status_cd = '0'
@@ -925,6 +926,7 @@
         left join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
         left join owner_car oc on pf.payer_obj_id = oc.car_id and oc.status_cd = '0'  and oc.car_type_cd='1001'
         left join pay_fee_attrs pfa on t.fee_id = pfa.fee_id and pfa.spec_cd = '390002'
+        left join pay_fee_attrs pfo on t.fee_id = pfo.fee_id and pfo.spec_cd = '390008'
         left join pay_fee_detail_discount pfdd on t.detail_id = pfdd.detail_id and pfdd.status_cd = '0'
         left join fee_discount fd on pfdd.discount_id = fd.discount_id and fd.status_cd = '0'
         left join fee_discount_rule fdr on fd.rule_id = fdr.rule_id and fdr.status_cd = '0'

+ 16 - 9
service-api/src/main/java/com/java110/api/listener/advert/ListAdvertPhotoListener.java

@@ -5,13 +5,15 @@ import com.alibaba.fastjson.JSONObject;
 import com.java110.api.listener.AbstractServiceApiListener;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
-import com.java110.intf.common.IAdvertInnerServiceSMO;
-import com.java110.intf.common.IAdvertItemInnerServiceSMO;
+import com.java110.core.event.service.api.ServiceDataFlowEvent;
 import com.java110.dto.advert.AdvertDto;
 import com.java110.dto.advert.AdvertItemDto;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.intf.common.IAdvertInnerServiceSMO;
+import com.java110.intf.common.IAdvertItemInnerServiceSMO;
+import com.java110.utils.cache.MappingCache;
 import com.java110.utils.constant.ServiceCodeAdvertConstant;
-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.http.HttpMethod;
 import org.springframework.http.HttpStatus;
@@ -33,7 +35,6 @@ public class ListAdvertPhotoListener extends AbstractServiceApiListener {
     private IAdvertItemInnerServiceSMO advertItemInnerServiceSMOImpl;
 
 
-
     @Override
     public String getServiceCode() {
         return ServiceCodeAdvertConstant.LIST_ADVERT_PHOTO;
@@ -62,7 +63,6 @@ public class ListAdvertPhotoListener extends AbstractServiceApiListener {
     @Override
     protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
         //super.validatePageInfo(reqJson);
-        Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含小区信息");
     }
 
     @Override
@@ -76,7 +76,12 @@ public class ListAdvertPhotoListener extends AbstractServiceApiListener {
 
         //如果是大门 则只获取小区的广告
 
-        getCommunityAdvert(reqJson.getString("communityId"), advertPhoto);
+        AdvertDto advertDto = BeanConvertUtil.covertBean(reqJson, AdvertDto.class);
+        List<AdvertDto> advertDtos = advertInnerServiceSMOImpl.queryAdverts(advertDto);
+
+        if (advertDtos != null && advertDtos.size() != 0) {
+            this.getAdvertItem(advertDtos, advertPhoto);
+        }
 
         responseEntity = new ResponseEntity<String>(advertPhoto.toJSONString(), HttpStatus.OK);
 
@@ -106,7 +111,8 @@ public class ListAdvertPhotoListener extends AbstractServiceApiListener {
      */
     private void getAdvertItem(List<AdvertDto> advertDtos, JSONArray advertPhotoAndVideos) {
         JSONObject photoAndVideo = null;
-
+        String imgUrl = MappingCache.getValue("IMG_PATH");
+        imgUrl += (!StringUtil.isEmpty(imgUrl) && imgUrl.endsWith("/") ? "" : "/");
         for (AdvertDto advertDto : advertDtos) {
 
             AdvertItemDto advertItemDto = new AdvertItemDto();
@@ -119,7 +125,8 @@ public class ListAdvertPhotoListener extends AbstractServiceApiListener {
                 if ("8888".equals(tmpAdvertItemDto.getItemTypeCd())) {
                     photoAndVideo = new JSONObject();
                     photoAndVideo.put("suffix", "JPEG");
-                    photoAndVideo.put("url", "/callComponent/download/getFile/file?fileId=" + tmpAdvertItemDto.getUrl() + "&communityId=" + advertDto.getCommunityId());
+                    //photoAndVideo.put("url", "/callComponent/download/getFile/file?fileId=" + tmpAdvertItemDto.getUrl() + "&communityId=" + advertDto.getCommunityId());
+                    photoAndVideo.put("url", imgUrl + tmpAdvertItemDto.getUrl());
                     photoAndVideo.put("seq", tmpAdvertItemDto.getSeq());
                     advertPhotoAndVideos.add(photoAndVideo);
                 }

+ 42 - 5
service-api/src/main/java/com/java110/api/listener/meterWater/SaveMeterWaterListener.java

@@ -11,6 +11,8 @@ import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.fee.FeeAttrDto;
 import com.java110.dto.fee.FeeConfigDto;
 import com.java110.dto.fee.FeeDto;
+import com.java110.dto.owner.OwnerDto;
+import com.java110.intf.user.IOwnerInnerServiceSMO;
 import com.java110.po.fee.FeeAttrPo;
 import com.java110.po.fee.PayFeePo;
 import com.java110.utils.constant.BusinessTypeConstant;
@@ -18,10 +20,11 @@ import com.java110.utils.constant.CommonConstant;
 import com.java110.utils.constant.ServiceCodeMeterWaterConstant;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
-import com.java110.utils.util.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpMethod;
 
+import java.util.List;
+
 /**
  * 保存商户侦听
  * add by wuxw 2019-06-30
@@ -35,6 +38,9 @@ public class SaveMeterWaterListener extends AbstractServiceApiPlusListener {
     @Autowired
     private IFeeBMO feeBMOImpl;
 
+    @Autowired
+    private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl;
+
     @Override
     protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
         //Assert.hasKeyAndValue(reqJson, "xxx", "xxx");
@@ -57,9 +63,9 @@ public class SaveMeterWaterListener extends AbstractServiceApiPlusListener {
 
         if (FeeConfigDto.FEE_TYPE_CD_WATER.equals(reqJson.getString("feeTypeCd"))) {
             reqJson.put("meterType", "1010");
-        } else if(FeeConfigDto.FEE_TYPE_CD_GAS.equals(reqJson.getString("feeTypeCd"))){
+        } else if (FeeConfigDto.FEE_TYPE_CD_GAS.equals(reqJson.getString("feeTypeCd"))) {
             reqJson.put("meterType", "3030");
-        }else {
+        } else {
             reqJson.put("meterType", "2020");
         }
 
@@ -84,9 +90,40 @@ public class SaveMeterWaterListener extends AbstractServiceApiPlusListener {
         feeAttrPo.setValue(reqJson.getString("curReadingTime"));
         feeAttrPo.setFeeId(payFeePo.getFeeId());
         feeAttrPo.setAttrId("-1");
-        super.insert(context,feeAttrPo,BusinessTypeConstant.BUSINESS_TYPE_SAVE_FEE_INFO);
+        super.insert(context, feeAttrPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FEE_INFO);
+
+        OwnerDto ownerDto = new OwnerDto();
+        ownerDto.setCommunityId(reqJson.getString("communityId"));
+        ownerDto.setRoomId(reqJson.getString("objId"));
+        List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnersByRoom(ownerDto);
+
+        if (ownerDtos != null && ownerDtos.size() > 0) {
+            feeAttrPo = new FeeAttrPo();
+            feeAttrPo.setCommunityId(reqJson.getString("communityId"));
+            feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_ID);
+            feeAttrPo.setValue(ownerDtos.get(0).getOwnerId());
+            feeAttrPo.setFeeId(payFeePo.getFeeId());
+            feeAttrPo.setAttrId("-2");
+            super.insert(context, feeAttrPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FEE_INFO);
+
+            feeAttrPo = new FeeAttrPo();
+            feeAttrPo.setCommunityId(reqJson.getString("communityId"));
+            feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_LINK);
+            feeAttrPo.setValue(ownerDtos.get(0).getLink());
+            feeAttrPo.setFeeId(payFeePo.getFeeId());
+            feeAttrPo.setAttrId("-3");
+            super.insert(context, feeAttrPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FEE_INFO);
+
+            feeAttrPo = new FeeAttrPo();
+            feeAttrPo.setCommunityId(reqJson.getString("communityId"));
+            feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_NAME);
+            feeAttrPo.setValue(ownerDtos.get(0).getName());
+            feeAttrPo.setFeeId(payFeePo.getFeeId());
+            feeAttrPo.setAttrId("-4");
+            super.insert(context, feeAttrPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FEE_INFO);
+        }
 
-        reqJson.put("feeId",payFeePo.getFeeId());
+        reqJson.put("feeId", payFeePo.getFeeId());
 
         meterWaterBMOImpl.addMeterWater(reqJson, context);
     }

+ 38 - 0
service-fee/src/main/java/com/java110/fee/bmo/meterWater/impl/QueryPreMeterWaterImpl.java

@@ -10,6 +10,7 @@ import com.java110.dto.fee.FeeConfigDto;
 import com.java110.dto.fee.FeeDto;
 import com.java110.dto.meterWater.ImportExportMeterWaterDto;
 import com.java110.dto.meterWater.MeterWaterDto;
+import com.java110.dto.owner.OwnerDto;
 import com.java110.dto.parking.ParkingSpaceDto;
 import com.java110.fee.bmo.meterWater.IQueryPreMeterWater;
 import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
@@ -18,9 +19,11 @@ import com.java110.intf.fee.IFeeAttrInnerServiceSMO;
 import com.java110.intf.fee.IFeeInnerServiceSMO;
 import com.java110.intf.fee.IMeterWaterInnerServiceSMO;
 import com.java110.intf.store.IContractRoomInnerServiceSMO;
+import com.java110.intf.user.IOwnerInnerServiceSMO;
 import com.java110.po.fee.FeeAttrPo;
 import com.java110.po.fee.PayFeePo;
 import com.java110.po.meterWater.MeterWaterPo;
+import com.java110.utils.constant.BusinessTypeConstant;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
@@ -61,6 +64,9 @@ public class QueryPreMeterWaterImpl implements IQueryPreMeterWater {
     @Autowired
     private IFeeAttrInnerServiceSMO feeAttrInnerServiceSMOImpl;
 
+    @Autowired
+    private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl;
+
 
     @Override
     public ResponseEntity<String> query(MeterWaterDto meterWaterDto, String roomNum) {
@@ -205,6 +211,38 @@ public class QueryPreMeterWaterImpl implements IQueryPreMeterWater {
             feeAttrPo.setFeeId(payFeePo.getFeeId());
             feeAttrPos.add(feeAttrPo);
         }
+
+        OwnerDto ownerDto = new OwnerDto();
+        ownerDto.setCommunityId(communityId);
+        ownerDto.setRoomId(roomDtos.get(0).getRoomId());
+        List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnersByRoom(ownerDto);
+
+        if (ownerDtos != null && ownerDtos.size() > 0) {
+            FeeAttrPo feeAttrPo = new FeeAttrPo();
+            feeAttrPo.setCommunityId(communityId);
+            feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_ID);
+            feeAttrPo.setValue(ownerDtos.get(0).getOwnerId());
+            feeAttrPo.setFeeId(payFeePo.getFeeId());
+            feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+            feeAttrPos.add(feeAttrPo);
+
+            feeAttrPo = new FeeAttrPo();
+            feeAttrPo.setCommunityId(communityId);
+            feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_LINK);
+            feeAttrPo.setValue(ownerDtos.get(0).getLink());
+            feeAttrPo.setFeeId(payFeePo.getFeeId());
+            feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+            feeAttrPos.add(feeAttrPo);
+
+            feeAttrPo = new FeeAttrPo();
+            feeAttrPo.setCommunityId(communityId);
+            feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_NAME);
+            feeAttrPo.setValue(ownerDtos.get(0).getName());
+            feeAttrPo.setFeeId(payFeePo.getFeeId());
+            feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+            feeAttrPos.add(feeAttrPo);
+
+        }
         payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE);
         payFeePo.setState(FeeDto.STATE_DOING);
         payFeePo.setUserId(userId);