Explorar o código

Merge branch 'dev' of http://192.168.1.220:10080/jiwei/wlyy2.0 into dev

huangzhiyong %!s(int64=6) %!d(string=hai) anos
pai
achega
7305b6e922

+ 3 - 1
svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/controller/dfs/FastDFSController.java

@ -16,6 +16,7 @@ import io.swagger.annotations.ApiParam;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@ -84,13 +85,14 @@ public class FastDFSController extends EnvelopRestEndpoint {
     * @return
     * @throws Exception
     */
    @PostMapping(value = HealthyHouseMapping.HealthyHouse.FastDFS.UPLOADJSON)
    @PostMapping(value = HealthyHouseMapping.HealthyHouse.FastDFS.UPLOADJSON,consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "文件上传", notes = "返回相关索引信息,以及HttpUrl下载连接(兼容旧接口)")
    public ObjEnvelop<FileResource> upload(
            @ApiParam(name = "jsonData", value = "文件资源", required = true)
            @RequestBody String jsonData) throws Exception {
        Map<String, String> paramMap = toEntity(jsonData, Map.class);
        String fileStr = paramMap.get("fileStr");
        //解码
        byte[] bytes = Base64.getDecoder().decode(fileStr);
        InputStream inputStream = new ByteArrayInputStream(bytes);
        String fileName = paramMap.get("fileName");

+ 39 - 13
svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/controller/user/FacilityUsedRecordController.java

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

+ 1 - 1
svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/dao/user/FacilityUsedRecordDao.java

@ -15,6 +15,6 @@ public interface FacilityUsedRecordDao extends JpaRepository<FacilityUsedRecord,
    Long countByUserId(String userId);
    Long countAllByUserIdIsNotNull();
    long countByFacilitieCodeAndUserId(String facilitieCode,String userId);
    long countByFacilitieCodeAndCreateUser(String facilitieCode,String createUser);
}

+ 3 - 0
svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/model/facility/Facility.java

@ -58,6 +58,9 @@ public class Facility extends UuidIdentityEntityWithOperator {
    //街道
    @Column(name = "street")
    private String street;
    //地址
    @Column(name = "adress")
    private String adress;
    //服务时间:周一至周天,用逗号隔开
    @Column(name = "service_day")
    private String serviceDay ;

+ 12 - 0
svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/model/user/FacilityUsedRecord.java

@ -47,6 +47,10 @@ public class FacilityUsedRecord extends UuidIdentityEntityWithOperator {
    //导航时长
    @Column(name = "duration")
    private String duration;
    //导航距离
    @Column(name = "distance")
    private String distance;
    //用户id
    @Column(name = "user_id")
    private String userId;
@ -149,4 +153,12 @@ public class FacilityUsedRecord extends UuidIdentityEntityWithOperator {
    public void setNum(Integer num) {
        this.num = num;
    }
    public String getDistance() {
        return distance;
    }
    public void setDistance(String distance) {
        this.distance = distance;
    }
}

+ 4 - 2
svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/service/user/FacilityUsedRecordService.java

@ -28,6 +28,8 @@ public class FacilityUsedRecordService extends BaseJpaService<FacilityUsedRecord
        return facilityUsedRecordDao.findById(id);
    }
    public List<FacilityUsedRecord> countDistinctByFacilitieCodeAndUserId(String userId) throws Exception {
        String sql = "select fur.*  from facility_used_records  fur WHERE  fur.create_user=? GROUP BY fur.facilitie_code ";
    public Long countByUserId(String userId){
        return facilityUsedRecordDao.countByUserId(userId);
    }
@ -45,13 +47,13 @@ public class FacilityUsedRecordService extends BaseJpaService<FacilityUsedRecord
    }
    public long countPageDistinctByFacilitieCodeAndUserId(String userId) throws Exception {
        String sql = "select count(DISTINCT facilitie_code )  from facility_used_records  fur WHERE  fur.user_id=? ";
        String sql = "select count(DISTINCT facilitie_code )  from facility_used_records  fur WHERE  fur.create_user=? ";
        String count = jdbcTemplate.queryForObject(sql, String.class,userId);
        return Long.parseLong(count);
    }
    public long countByFacilitieCodeAndUserId(String facilitieCode,String userId) {
        return facilityUsedRecordDao.countByFacilitieCodeAndUserId( facilitieCode, userId);
        return facilityUsedRecordDao.countByFacilitieCodeAndCreateUser( facilitieCode, userId);
    }
}