| 
					
				 | 
			
			
				@ -1,8 +1,10 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.healthyhouse.controller.user; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.healthyhouse.model.facility.Facility; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.exception.business.ManageException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.healthyhouse.model.user.FacilityUsedRecord; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.healthyhouse.service.facility.FacilityService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.healthyhouse.service.user.FacilityUsedRecordService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.healthyhouse.service.user.UserService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.Envelop; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -19,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.web.bind.annotation.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.io.IOException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -35,6 +38,8 @@ public class FacilityUsedRecordController extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private FacilityUsedRecordService facilityUsedRecordService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private UserService userService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private FacilityService facilityService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "获取用户使用导航记录列表--分页(web)", responseContainer = "List") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @GetMapping(value = HealthyHouseMapping.HealthyHouse.FacilityUsedRecord.PAGE) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -96,23 +101,44 @@ public class FacilityUsedRecordController extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return success("success"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "获取用户查找导航记录,包含设施使用次数统计") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "获取用户查找历史导航记录,及所有设施包含设施使用次数统计") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @GetMapping(value = HealthyHouseMapping.HealthyHouse.FacilityUsedRecord.GET_FACILITY_USED_RECORD_AND_COUNT_BY_ID) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public PageEnvelop<FacilityUsedRecord> getFacilityUsedRecordAndCountById( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public ListEnvelop<FacilityUsedRecord> getFacilityUsedRecordAndCountById( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "userId", value = "用户ID", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "userId") String userId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "size", value = "分页大小", defaultValue = "15") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "size", required = false) Integer size, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "page", value = "页码", defaultValue = "1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "page", required = false) Integer page) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //根据用户id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<FacilityUsedRecord> facilityUsedRecordList = facilityUsedRecordService.countDistinctByFacilitieCodeAndUserId(userId, page, size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (FacilityUsedRecord facilityUsedRecord1 : facilityUsedRecordList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            long count = facilityUsedRecordService.countByFacilitieCodeAndUserId(facilityUsedRecord1.getFacilitieCode(), userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            facilityUsedRecord1.setNum((int) count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "filters", value = "检索字段", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "filters",required = false) String filters, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "nearbyFlag", value = "是否为“附近”的功能", defaultValue = "false") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "nearbyFlag") boolean nearbyFlag) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<FacilityUsedRecord> facilityUsedRecordList =new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        FacilityUsedRecord facilityUsedRecord; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(nearbyFlag){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isNotEmpty(filters)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                filters=  "name?"+filters+" g1;cityName?"+filters+" g1;countyName?"+filters+" g1;street?"+filters+" g1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //获取所有设施,并根据设施编码及用户id查找使用次数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<Facility> facilityList = facilityService.search(filters); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(Facility facility:facilityList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                facilityUsedRecord=new FacilityUsedRecord(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                facilityUsedRecord.setFacilitieCode(facility.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                facilityUsedRecord.setFacilitieName(facility.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                facilityUsedRecord.setFacilitieLongitude(facility.getLongitude()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                facilityUsedRecord.setFacilitieLatitudes(facility.getLatitude()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                facilityUsedRecord.setFacilitieAddr(facility.getAddress()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                facilityUsedRecord.setCreateUser(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                long count = facilityUsedRecordService.countByFacilitieCodeAndUserId(facility.getCode(), userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                facilityUsedRecord.setNum((int)count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                facilityUsedRecordList.add(facilityUsedRecord); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //根据用户id,获取我的历史记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            facilityUsedRecordList = facilityUsedRecordService.countDistinctByFacilitieCodeAndUserId(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (FacilityUsedRecord facilityUsedRecord1 : facilityUsedRecordList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                long count = facilityUsedRecordService.countByFacilitieCodeAndUserId(facilityUsedRecord1.getFacilitieCode(), userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                facilityUsedRecord1.setNum((int) count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int total=(int)facilityUsedRecordService.countPageDistinctByFacilitieCodeAndUserId(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return success(facilityUsedRecordList, total, page, size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return success(facilityUsedRecordList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "app-用户使用设施次数", responseContainer = "List") 
			 |