java110
2020-11-20 3ab8d7f1247da110b65bbaeb1906787a7b762ca6
优化代码
2个文件已修改
2个文件已添加
159 ■■■■■ 已修改文件
java110-bean/src/main/java/com/java110/dto/owner/OwnerDto.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-user/src/main/java/com/java110/user/api/OwnerApi.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-user/src/main/java/com/java110/user/bmo/owner/IComprehensiveQuery.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-user/src/main/java/com/java110/user/bmo/owner/impl/ComprehensiveQueryImpl.java 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/owner/OwnerDto.java
@@ -1,6 +1,7 @@
package com.java110.dto.owner;
import com.java110.dto.PageDto;
import com.java110.dto.RoomDto;
import java.io.Serializable;
import java.util.Date;
@@ -51,6 +52,8 @@
    private String userName;
    private List<OwnerAttrDto> ownerAttrDtos;
    private List<RoomDto> rooms;
    private Date createTime;
@@ -275,4 +278,12 @@
    public void setOwnerIds(String[] ownerIds) {
        this.ownerIds = ownerIds;
    }
    public List<RoomDto> getRooms() {
        return rooms;
    }
    public void setRooms(List<RoomDto> rooms) {
        this.rooms = rooms;
    }
}
service-user/src/main/java/com/java110/user/api/OwnerApi.java
@@ -3,16 +3,13 @@
import com.alibaba.fastjson.JSONObject;
import com.java110.po.owner.OwnerPo;
import com.java110.user.bmo.owner.IChangeOwnerPhone;
import com.java110.user.bmo.owner.IComprehensiveQuery;
import com.java110.user.bmo.owner.IQueryTenants;
import com.java110.user.bmo.owner.IVisitorRecord;
import com.java110.utils.util.Assert;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping(value = "/ownerApi")
@@ -26,6 +23,10 @@
    @Autowired
    private IChangeOwnerPhone changeOwnerPhoneImpl;
    @Autowired
    private IComprehensiveQuery comprehensiveQueryImpl;
    @RequestMapping(value = "/tenants")
    public ResponseEntity<String> tenants(@RequestBody JSONObject reqJson) {
@@ -49,10 +50,10 @@
     */
    @RequestMapping(value = "/changeOwnerPhone", method = RequestMethod.POST)
    public ResponseEntity<String> changeOwnerPhone(@RequestBody JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson,"link","请求报文中未包含手机号");
        Assert.hasKeyAndValue(reqJson,"userId","请求报文中未包含用户ID");
        Assert.hasKeyAndValue(reqJson,"memberId","请求报文中未包含业主信息");
        Assert.hasKeyAndValue(reqJson,"communityId","请求报文中未包含小区信息");
        Assert.hasKeyAndValue(reqJson, "link", "请求报文中未包含手机号");
        Assert.hasKeyAndValue(reqJson, "userId", "请求报文中未包含用户ID");
        Assert.hasKeyAndValue(reqJson, "memberId", "请求报文中未包含业主信息");
        Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含小区信息");
        OwnerPo ownerPo = new OwnerPo();
        ownerPo.setLink(reqJson.getString("link"));
        ownerPo.setMemberId(reqJson.getString("memberId"));
@@ -61,4 +62,19 @@
        return changeOwnerPhoneImpl.change(ownerPo);
    }
    /**
     * 综合查询
     *
     * @param communityId 小区ID
     * @return
     * @service /ownerApi/comprehensiveQuery
     * @path /app/ownerApi/comprehensiveQuery
     */
    @RequestMapping(value = "/comprehensiveQuery", method = RequestMethod.GET)
    public ResponseEntity<String> comprehensiveQuery(@RequestParam(value = "communityId") String communityId,
                                                     @RequestParam(value = "searchValue") String searchValue,
                                                     @RequestParam(value = "searchType") String searchType) {
        return comprehensiveQueryImpl.query(communityId, searchValue, searchType);
    }
}
service-user/src/main/java/com/java110/user/bmo/owner/IComprehensiveQuery.java
New file
@@ -0,0 +1,13 @@
package com.java110.user.bmo.owner;
import org.springframework.http.ResponseEntity;
public interface IComprehensiveQuery {
    /**
     * 综合查询
     *
     * @return
     */
    ResponseEntity<String> query(String communityId, String searchValue, String searchType);
}
service-user/src/main/java/com/java110/user/bmo/owner/impl/ComprehensiveQueryImpl.java
New file
@@ -0,0 +1,101 @@
package com.java110.user.bmo.owner.impl;
import com.java110.dto.RoomDto;
import com.java110.dto.owner.OwnerDto;
import com.java110.intf.common.IFileInnerServiceSMO;
import com.java110.intf.common.IFileRelInnerServiceSMO;
import com.java110.intf.community.IRoomInnerServiceSMO;
import com.java110.intf.user.IOwnerInnerServiceSMO;
import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
import com.java110.user.bmo.owner.IComprehensiveQuery;
import com.java110.utils.util.Assert;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class ComprehensiveQueryImpl implements IComprehensiveQuery {
    public static final String SEARCH_TYPE_ROOM = "1"; //根据房屋来查
    public static final String SEARCH_TYPE_OWNER_NAME = "2"; //根据业主名称查询
    public static final String SEARCH_TYPE_OWNER_TEL = "3"; //根据业主手机号
    public static final String SEARCH_TYPE_OWNER_IDCARD = "4"; //根据业主身份证
    public static final String SEARCH_TYPE_OWNER_CAR = "5"; //根据业主车牌号
    public static final String SEARCH_TYPE_OWNER_MEMBER_NAME = "6"; //根据家庭成员名称
    public static final String SEARCH_TYPE_OWNER_MEMBER_TEL = "7"; //根据家庭成员电话
    public static final String SEARCH_TYPE_OWNER_MEMBER_IDCARD = "8"; //根据家庭成员身份证
    @Autowired
    private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl;
    @Autowired
    private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
    @Autowired
    private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl;
    @Autowired
    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
    @Autowired
    private IFileInnerServiceSMO fileInnerServiceSMOImpl;
    @Override
    public ResponseEntity<String> query(String communityId, String searchValue, String searchType) {
        OwnerDto ownerDto = null;
        switch (searchType) {
            case SEARCH_TYPE_ROOM:
                ownerDto = queryByRoom(communityId, searchValue);
                break;
        }
        return ResultVo.createResponseEntity(1, 1, ownerDto);
    }
    /**
     * 根据房屋查询
     *
     * @param communityId
     * @param searchValue
     * @return
     */
    private OwnerDto queryByRoom(String communityId, String searchValue) {
        if (!searchValue.contains("-")) {
            throw new IllegalArgumentException("查询内容格式错误,请输入 楼栋-单元-房屋 如 1-1-1");
        }
        String[] values = searchValue.split("-");
        if (values.length != 3) {
            throw new IllegalArgumentException("查询内容格式错误,请输入 楼栋-单元-房屋 如 1-1-1");
        }
        RoomDto roomDto = new RoomDto();
        roomDto.setFloorNum(values[0]);
        roomDto.setUnitNum(values[1]);
        roomDto.setRoomNum(values[2]);
        roomDto.setCommunityId(communityId);
        List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
        Assert.listOnlyOne(roomDtos, "未找到房屋信息");
        OwnerDto ownerDto = new OwnerDto();
        ownerDto.setCommunityId(communityId);
        ownerDto.setRoomId(roomDtos.get(0).getRoomId());
        List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
        Assert.listOnlyOne(ownerDtos, "未找到业主信息");
        OwnerDto resOwnerDto = ownerDtos.get(0);
        resOwnerDto.setRooms(roomDtos);
        return resOwnerDto;
    }
}