ソースを参照

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

wuxw 3 年 前
コミット
38c28eef9b

+ 9 - 0
java110-bean/src/main/java/com/java110/dto/notice/NoticeDto.java

@@ -28,6 +28,7 @@ public class NoticeDto extends PageDto implements Serializable {
     public static final String NOTICE_TYPE_OWNER_WECHAT = "1003";//发送给业主微信
 
     private String noticeTypeCd;
+    private String[] noticeTypeCds;
     private String context;
     private String startTime;
     private String endTime;
@@ -175,4 +176,12 @@ public class NoticeDto extends PageDto implements Serializable {
     public void setObjName(String objName) {
         this.objName = objName;
     }
+
+    public String[] getNoticeTypeCds() {
+        return noticeTypeCds;
+    }
+
+    public void setNoticeTypeCds(String[] noticeTypeCds) {
+        this.noticeTypeCds = noticeTypeCds;
+    }
 }

+ 12 - 0
java110-db/src/main/resources/mapper/community/NoticeServiceDaoImplMapper.xml

@@ -104,6 +104,12 @@
         <if test="noticeTypeCd !=null and noticeTypeCd != ''">
             and t.notice_type_cd= #{noticeTypeCd}
         </if>
+        <if test="noticeTypeCds !=null">
+            and t.notice_type_cd in
+            <foreach collection="noticeTypeCds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="context !=null and context != ''">
             and t.context= #{context}
         </if>
@@ -181,6 +187,12 @@
         <if test="noticeTypeCd !=null and noticeTypeCd != ''">
             and t.notice_type_cd= #{noticeTypeCd}
         </if>
+        <if test="noticeTypeCds !=null">
+            and t.notice_type_cd in
+            <foreach collection="noticeTypeCds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="context !=null and context != ''">
             and t.context= #{context}
         </if>

+ 1 - 1
java110-db/src/main/resources/mapper/user/OwnerServiceDaoImplMapper.xml

@@ -533,7 +533,7 @@
         SELECT t.sex,t.name,t.link,t.status_cd,t.status_cd statusCd,t.remark,t.owner_id,t.owner_id ownerId,t.b_id,t.b_id
         bId,
         t.user_id,t.user_id userId,t.age,t.member_id,t.member_id memberId,t.owner_type_cd,t.owner_type_cd ownerTypeCd,
-        r.`room_id` roomId,r.`room_num` roomNum,t.community_id,t.community_id communityId,t.id_card, t.id_card idCard
+        r.`room_id` roomId,r.`room_num` roomNum,t.community_id,t.community_id communityId,t.id_card, t.id_card idCard,orr.start_time startTime ,orr.end_time endTime
         FROM building_room r,building_owner_room_rel orr,building_owner t
         WHERE r.`room_id` = orr.`room_id`
         AND orr.`owner_id` = t.`owner_id`

+ 20 - 50
service-api/src/main/java/com/java110/api/listener/notice/ListNoticesListener.java

@@ -1,27 +1,22 @@
-package com.java110.api.listener.notice;
+package com.java110.community.cmd.notice;
 
 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.core.event.service.api.ServiceDataFlowEvent;
+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.FloorDto;
 import com.java110.dto.RoomDto;
 import com.java110.dto.community.CommunityDto;
 import com.java110.dto.notice.NoticeDto;
 import com.java110.dto.unit.FloorAndUnitDto;
-import com.java110.intf.community.ICommunityInnerServiceSMO;
-import com.java110.intf.community.IFloorInnerServiceSMO;
-import com.java110.intf.community.INoticeInnerServiceSMO;
-import com.java110.intf.community.IRoomInnerServiceSMO;
-import com.java110.intf.community.IUnitInnerServiceSMO;
-import com.java110.utils.constant.ServiceCodeConstant;
+import com.java110.intf.community.*;
+import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.StringUtil;
 import com.java110.vo.api.notice.ApiNoticeDataVo;
 import com.java110.vo.api.notice.ApiNoticeVo;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 
@@ -30,12 +25,8 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
-
-/**
- * 查询小区侦听类
- */
-@Java110Listener("listNoticesListener")
-public class ListNoticesListener extends AbstractServiceApiListener {
+@Java110Cmd(serviceCode = "notice.listNotices")
+public class ListNoticesCmd extends Cmd {
 
     @Autowired
     private INoticeInnerServiceSMO noticeInnerServiceSMOImpl;
@@ -53,46 +44,26 @@ public class ListNoticesListener extends AbstractServiceApiListener {
     private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
 
     @Override
-    public String getServiceCode() {
-        return ServiceCodeConstant.SERVICE_CODE_LIST_NOTICES;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.GET;
-    }
-
-
-    @Override
-    public int getOrder() {
-        return DEFAULT_ORDER;
-    }
-
-
-    public INoticeInnerServiceSMO getNoticeInnerServiceSMOImpl() {
-        return noticeInnerServiceSMOImpl;
-    }
-
-    public void setNoticeInnerServiceSMOImpl(INoticeInnerServiceSMO noticeInnerServiceSMOImpl) {
-        this.noticeInnerServiceSMOImpl = noticeInnerServiceSMOImpl;
-    }
-
-    @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
+    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
         super.validatePageInfo(reqJson);
     }
 
     @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-
+    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
         NoticeDto noticeDto = BeanConvertUtil.covertBean(reqJson, NoticeDto.class);
-        if(!StringUtil.isEmpty("clientType") && "H5".equals(reqJson.get("clientType"))){
-            Date day=new Date();
+        if (!StringUtil.isEmpty("clientType") && "H5".equals(reqJson.get("clientType"))) {
+            Date day = new Date();
             SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
             noticeDto.setStartTime(df.format(day));
             noticeDto.setEndTime(df.format(day));
         }
 
+        // 多类型同时查询
+        if (!StringUtil.isEmpty(noticeDto.getNoticeTypeCd()) && noticeDto.getNoticeTypeCd().contains(",")) {
+            noticeDto.setNoticeTypeCds(noticeDto.getNoticeTypeCd().split(","));
+            noticeDto.setNoticeTypeCd("");
+        }
+
         int count = noticeInnerServiceSMOImpl.queryNoticesCount(noticeDto);
 
         List<ApiNoticeDataVo> notices = null;
@@ -112,8 +83,7 @@ public class ListNoticesListener extends AbstractServiceApiListener {
 
         ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiNoticeVo), HttpStatus.OK);
 
-        context.setResponseEntity(responseEntity);
-
+        cmdDataFlowContext.setResponseEntity(responseEntity);
     }
 
     private void refreshNotice(List<ApiNoticeDataVo> notices) {

+ 34 - 26
service-community/src/main/java/com/java110/community/cmd/room/QueryRoomsCmd.java

@@ -9,7 +9,6 @@ import com.java110.dto.FloorDto;
 import com.java110.dto.RoomDto;
 import com.java110.dto.basePrivilege.BasePrivilegeDto;
 import com.java110.dto.owner.OwnerDto;
-import com.java110.dto.owner.OwnerRoomRelDto;
 import com.java110.intf.community.IFloorInnerServiceSMO;
 import com.java110.intf.community.IMenuInnerServiceSMO;
 import com.java110.intf.community.IRoomInnerServiceSMO;
@@ -21,6 +20,7 @@ import com.java110.utils.exception.CmdException;
 import com.java110.utils.exception.SMOException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.DateUtil;
 import com.java110.vo.api.ApiRoomDataVo;
 import com.java110.vo.api.ApiRoomVo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -126,33 +126,41 @@ public class QueryRoomsCmd extends Cmd {
         List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnersByRoom(ownerDto);
         for (RoomDto roomDto : roomDtos) {
             for (OwnerDto tmpOwnerDto : ownerDtos) {
-                if (roomDto.getRoomId().equals(tmpOwnerDto.getRoomId())) {
-                    roomDto.setOwnerId(tmpOwnerDto.getOwnerId());
-                    roomDto.setOwnerName(tmpOwnerDto.getName());
-                    //对业主身份证号隐藏处理
-                    String idCard = tmpOwnerDto.getIdCard();
-                    if (mark.size() == 0 && idCard != null && !idCard.equals("") && idCard.length() > 15) {
-                        idCard = idCard.substring(0, 6) + "**********" + idCard.substring(16);
-                    }
-                    //对业主手机号隐藏处理
-                    String link = tmpOwnerDto.getLink();
-                    if (mark.size() == 0 && link != null && !link.equals("") && link.length() > 10) {
-                        link = link.substring(0, 3) + "****" + link.substring(7);
-                    }
-                    roomDto.setIdCard(idCard);
-                    roomDto.setLink(link);
+                if (!roomDto.getRoomId().equals(tmpOwnerDto.getRoomId())) {
+                    continue;
                 }
-                //商铺类型查询起租时间
-                if (roomDto.getRoomType().equals(RoomDto.ROOM_TYPE_SHOPS)) {
-                    OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
-                    ownerRoomRelDto.setRoomId(roomDto.getRoomId());
-                    ownerRoomRelDto.setStatusCd("0");
-                    List<OwnerRoomRelDto> ownerRoomRelDtoList = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
-                    if (ownerRoomRelDtoList != null && ownerRoomRelDtoList.size() == 1) {
-                        roomDto.setStartTime(ownerRoomRelDtoList.get(0).getStartTime());
-                        roomDto.setEndTime(ownerRoomRelDtoList.get(0).getEndTime());
-                    }
+                try {
+                    roomDto.setStartTime(DateUtil.getDateFromString(tmpOwnerDto.getStartTime(), DateUtil.DATE_FORMATE_STRING_A));
+                    roomDto.setEndTime(DateUtil.getDateFromString(tmpOwnerDto.getEndTime(), DateUtil.DATE_FORMATE_STRING_A));
+                }catch (Exception e){
+                    //
+                }
+                roomDto.setOwnerId(tmpOwnerDto.getOwnerId());
+                roomDto.setOwnerName(tmpOwnerDto.getName());
+                //对业主身份证号隐藏处理
+                String idCard = tmpOwnerDto.getIdCard();
+                if (mark.size() == 0 && idCard != null && !idCard.equals("") && idCard.length() > 15) {
+                    idCard = idCard.substring(0, 6) + "**********" + idCard.substring(16);
+                }
+                //对业主手机号隐藏处理
+                String link = tmpOwnerDto.getLink();
+                if (mark.size() == 0 && link != null && !link.equals("") && link.length() > 10) {
+                    link = link.substring(0, 3) + "****" + link.substring(7);
                 }
+                roomDto.setIdCard(idCard);
+                roomDto.setLink(link);
+
+                //商铺类型查询起租时间
+//                if (roomDto.getRoomType().equals(RoomDto.ROOM_TYPE_SHOPS)) {
+//                    OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
+//                    ownerRoomRelDto.setRoomId(roomDto.getRoomId());
+//                    ownerRoomRelDto.setStatusCd("0");
+//                    List<OwnerRoomRelDto> ownerRoomRelDtoList = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
+//                    if (ownerRoomRelDtoList != null && ownerRoomRelDtoList.size() == 1) {
+//                        roomDto.setStartTime(ownerRoomRelDtoList.get(0).getStartTime());
+//                        roomDto.setEndTime(ownerRoomRelDtoList.get(0).getEndTime());
+//                    }
+//                }
             }
         }
     }

+ 2 - 2
service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeeCmd.java

@@ -164,8 +164,8 @@ public class PayFeeCmd extends Cmd {
         if (feeConfigDtos != null && feeConfigDtos.size() == 1) {
             try {
                 Date configEndTime = DateUtil.getDateFromString(feeConfigDtos.get(0).getEndTime(), DateUtil.DATE_FORMATE_STRING_A);
-
-                Date newDate = DateUtil.stepMonth(endTime, reqJson.getInteger("cycles") - 1);
+                configEndTime = DateUtil.stepDay(configEndTime,5);
+                Date newDate = DateUtil.stepMonth(endTime, reqJson.getInteger("cycles"));
 
                 if (newDate.getTime() > configEndTime.getTime()) {
                     throw new IllegalArgumentException("缴费周期超过 缴费结束时间");

+ 41 - 0
service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeePreCmd.java

@@ -13,6 +13,7 @@ import com.java110.dto.account.AccountDto;
 import com.java110.dto.community.CommunityDto;
 import com.java110.dto.couponUser.CouponUserDto;
 import com.java110.dto.fee.FeeAttrDto;
+import com.java110.dto.fee.FeeConfigDto;
 import com.java110.dto.fee.FeeDetailDto;
 import com.java110.dto.fee.FeeDto;
 import com.java110.dto.feeDiscount.ComputeDiscountDto;
@@ -39,6 +40,7 @@ import java.math.BigDecimal;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -108,6 +110,45 @@ public class PayFeePreCmd extends Cmd {
         Assert.hasLength(reqJson.getString("receivedAmount"), "实收金额不能为空");
         Assert.hasLength(reqJson.getString("feeId"), "费用ID不能为空");
         Assert.hasLength(reqJson.getString("appId"), "appId不能为空");
+
+
+        //判断是否 费用状态为缴费结束
+        FeeDto feeDto = new FeeDto();
+        feeDto.setFeeId(reqJson.getString("feeId"));
+        feeDto.setCommunityId(reqJson.getString("communityId"));
+        List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
+
+        Assert.listOnlyOne(feeDtos, "传入费用ID错误");
+
+        feeDto = feeDtos.get(0);
+
+        if (FeeDto.STATE_FINISH.equals(feeDto.getState())) {
+            throw new IllegalArgumentException("收费已经结束,不能再缴费");
+        }
+
+        Date endTime = feeDto.getEndTime();
+
+        FeeConfigDto feeConfigDto = new FeeConfigDto();
+        feeConfigDto.setConfigId(feeDto.getConfigId());
+        feeConfigDto.setCommunityId(reqJson.getString("communityId"));
+        List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
+
+        if (feeConfigDtos != null && feeConfigDtos.size() == 1) {
+            try {
+                Date configEndTime = DateUtil.getDateFromString(feeConfigDtos.get(0).getEndTime(), DateUtil.DATE_FORMATE_STRING_A);
+                configEndTime = DateUtil.stepDay(configEndTime,5);
+
+                Date newDate = DateUtil.stepMonth(endTime, reqJson.getInteger("cycles"));
+
+                if (newDate.getTime() > configEndTime.getTime()) {
+                    throw new IllegalArgumentException("缴费周期超过 缴费结束时间");
+                }
+
+            } catch (Exception e) {
+                logger.error("比较费用日期失败", e);
+            }
+        }
+
     }
 
     @Override

+ 2 - 2
service-report/src/main/java/com/java110/report/api/ReportInfoSettingTitleApi.java

@@ -118,7 +118,7 @@ public class ReportInfoSettingTitleApi {
                                                               @RequestParam(value = "titleType",required = false) String titleType,
                                                               @RequestParam(value = "title",required = false) String title,
                                                               @RequestParam(value = "titleId",required = false) String titleId,
-                                                              @RequestParam(value = "settingid",required = false) String settingid,
+                                                              @RequestParam(value = "settingId",required = false) String settingId,
                                                       @RequestParam(value = "page") int page,
                                                       @RequestParam(value = "row") int row) {
         ReportInfoSettingTitleDto reportInfoSettingTitleDto = new ReportInfoSettingTitleDto();
@@ -127,7 +127,7 @@ public class ReportInfoSettingTitleApi {
         reportInfoSettingTitleDto.setTitleType(titleType);
         reportInfoSettingTitleDto.setTitleLike(title);
         reportInfoSettingTitleDto.setTitleId(titleId);
-        reportInfoSettingTitleDto.setSettingId(settingid);
+        reportInfoSettingTitleDto.setSettingId(settingId);
         reportInfoSettingTitleDto.setCommunityId(communityId);
         return getReportInfoSettingTitleBMOImpl.get(reportInfoSettingTitleDto);
     }

+ 6 - 0
service-report/src/main/java/com/java110/report/bmo/customReport/ReportInfoAwnerData.java

@@ -108,6 +108,12 @@ public class ReportInfoAwnerData implements ReportExecute {
             sql += "and t.`person_name` like CONCAT('%',?,'%') \n";
             sqlParams.add(params.get("personName"));
         }
+        if (params.containsKey("projectName") && !StringUtils.isEmpty(params.getString("projectName"))) {
+            sql += "and rrs.`name` like CONCAT('%',?,'%') \n";
+            sqlParams.add(params.get("projectName"));
+        }
+
+        sql += " order by t.create_time desc \n";
 
         List datas = queryServiceDAOImpl.executeSql(sql, sqlParams.toArray());