|
@ -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")
|