ソースを参照

历史导航记录获取,包含设施关联服务、是否评价

zdm 6 年 前
コミット
681befb5e2

+ 2 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/health/house/HealthyHouseMapping.java

@ -99,6 +99,8 @@ public class HealthyHouseMapping {
            public static final String GET_FACILITY_USED_RECORD_AND_COUNT_BY_ID = "/getFacilityUsedRecordAndCountById";
            public static final String COUNT_FACILITY_USED_RECORD_BY_USERID = "/countFacilityUsedRecordByUserId";
            public static final String GET_FACILITY_USED_RECORD_DETAIL = "/getUsedRecordDetail";
            public static final String PAGE_FACILITY_USED_RECORD_BY_USERID = "/page/facilityUsedRecordsByUserId";
        }
        //服务评价

+ 3 - 3
svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/controller/user/AppealController.java

@ -54,9 +54,9 @@ public class AppealController extends EnvelopRestEndpoint {
    public ObjEnvelop<Appeal> createAppeal(
            @ApiParam(name = "Appeal", value = "账号申诉JSON结构")
            @RequestBody Appeal appeal) throws IOException {
        if(StringUtils.isEmpty(appeal.getCreateUser())){
            return failed("账号申诉人(createUser)不能为空!",ObjEnvelop.class);
        }
//        if(StringUtils.isEmpty(appeal.getCreateUser())){
//            return failed("账号申诉人(createUser)不能为空!",ObjEnvelop.class);
//        }
        appeal = AppealService.save(appeal);
        return success(appeal);
    }

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

@ -3,9 +3,13 @@ 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.facility.FacilityServerRelation;
import com.yihu.jw.healthyhouse.model.user.FacilityUsedRecord;
import com.yihu.jw.healthyhouse.model.user.NavigationServiceEvaluation;
import com.yihu.jw.healthyhouse.service.facility.FacilityServerRelationService;
import com.yihu.jw.healthyhouse.service.facility.FacilityService;
import com.yihu.jw.healthyhouse.service.user.FacilityUsedRecordService;
import com.yihu.jw.healthyhouse.service.user.NavigationServiceEvaluationService;
import com.yihu.jw.healthyhouse.service.user.UserService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
@ -18,12 +22,14 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@ -41,6 +47,10 @@ public class FacilityUsedRecordController extends EnvelopRestEndpoint {
    private UserService userService;
    @Autowired
    private FacilityService facilityService;
    @Autowired
    private NavigationServiceEvaluationService navigationServiceEvaluationService;
    @Autowired
    private FacilityServerRelationService facilityServerRelationService;
    @ApiOperation(value = "获取用户使用导航记录列表--分页(web)", responseContainer = "List")
    @GetMapping(value = HealthyHouseMapping.HealthyHouse.FacilityUsedRecord.PAGE)
@ -60,12 +70,13 @@ public class FacilityUsedRecordController extends EnvelopRestEndpoint {
    }
    @ApiOperation(value = "创建/更新(id存在)用户使用导航记录")
    @Transactional(rollbackFor = Exception.class)
    @PostMapping(value = HealthyHouseMapping.HealthyHouse.FacilityUsedRecord.CREATE)
    public ObjEnvelop<FacilityUsedRecord> createFacilityUsedRecord(
            @ApiParam(name = "facilityUsedRecord", value = "用户使用导航记录JSON结构")
            @RequestBody FacilityUsedRecord facilityUsedRecord) throws IOException, ManageException {
        facilityUsedRecord = facilityUsedRecordService.save(facilityUsedRecord);
        userService.updateFacilityUse(facilityUsedRecord.getUserId());
        userService.updateFacilityUse(facilityUsedRecord.getCreateUser());
        return success(facilityUsedRecord);
    }
@ -170,5 +181,34 @@ public class FacilityUsedRecordController extends EnvelopRestEndpoint {
        return success(usedRecordDetail);
    }
    @ApiOperation(value = "获取用户使用导航记录列表--分页(app)", responseContainer = "List")
    @GetMapping(value = HealthyHouseMapping.HealthyHouse.FacilityUsedRecord.PAGE_FACILITY_USED_RECORD_BY_USERID)
    public PageEnvelop<FacilityUsedRecord> getFacilityUsedRecordsByUserId(
            @ApiParam(name = "userId", value = "必输参数:登录用户id", defaultValue = "")
            @RequestParam(value = "userId") String userId,
            @ApiParam(name = "sorts", value = "排序", defaultValue = "-createTime")
            @RequestParam(value = "sorts", required = false) String sorts,
            @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 {
        String filters="createUser="+userId;
        List<FacilityUsedRecord> facilityUsedRecordList = facilityUsedRecordService.search("", filters, sorts, page, size);
        for(FacilityUsedRecord record:facilityUsedRecordList){
            //根据设施编码获取关联服务的名称
            String facilityCode = record.getFacilitieCode();
            List<FacilityServerRelation> facilityServerRelations = facilityServerRelationService.findByField("facilitieCode",facilityCode);
            List<String> services = facilityServerRelations.stream().map(FacilityServerRelation::getServiceName).collect(Collectors.toList());
            record.setFacilityRelationServiceName(services);
            //根据记录获取评价记录
            NavigationServiceEvaluation comment = navigationServiceEvaluationService.findByUseRecordId(record.getId());
            if (comment ==null) {
                record.setNavigationServiceEvaluationFlag("未评价");
            }else {
                record.setNavigationServiceEvaluationFlag("已评价");
            }
        }
        return success(facilityUsedRecordList, (null == facilityUsedRecordList) ? 0 : facilityUsedRecordList.size(), page, size);
    }
}

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

@ -7,6 +7,7 @@ import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.List;
/**
 * 用户导航记录
@ -41,10 +42,10 @@ public class FacilityUsedRecord extends UuidIdentityEntityWithOperator {
    //设施id
    @Column(name = "facilitie_id")
    private String facilitieId;
    //服务编码
    //使用的服务编码--冗余
    @Column(name = "service_code")
    private String serviceCode;
    //服务名称
    //使用的服务名称--冗余
    @Column(name = "service_name")
    private String serviceName;
    //导航时长
@ -61,6 +62,12 @@ public class FacilityUsedRecord extends UuidIdentityEntityWithOperator {
    @Column(name = "num")
    private Integer num;
    //设施关联的服务名称
    private List<String> facilityRelationServiceName;
    //评价记录
    private String navigationServiceEvaluationFlag;
    public double getUserInitialLongitude() {
        return userInitialLongitude;
    }
@ -172,4 +179,20 @@ public class FacilityUsedRecord extends UuidIdentityEntityWithOperator {
    public void setFacilitieId(String facilitieId) {
        this.facilitieId = facilitieId;
    }
    @Transient
    public List<String> getFacilityRelationServiceName() {
        return facilityRelationServiceName;
    }
    public void setFacilityRelationServiceName(List<String> facilityRelationServiceName) {
        this.facilityRelationServiceName =facilityRelationServiceName;
    }
    @Transient
    public String getNavigationServiceEvaluationFlag() {
        return navigationServiceEvaluationFlag;
    }
    public void setNavigationServiceEvaluationFlag(String navigationServiceEvaluationFlag) {
        this.navigationServiceEvaluationFlag = navigationServiceEvaluationFlag;
    }
}

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

@ -268,4 +268,17 @@ public class User extends UuidIdentityEntityWithOperator {
        }
        return address;
    }
    @Transient
    public String getGenderValue(){
        String genderValue ="";
        if (this.getGender().equals("0")) {
            genderValue="男";
        }
        if (this.getGender().equals("1")) {
            genderValue="女";
        }
        return genderValue;
    }
}

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

@ -25,4 +25,8 @@ public class NavigationServiceEvaluationService extends BaseJpaService<Navigatio
        return  navigationServiceEvaluationDao.findById(id);
    }
    public NavigationServiceEvaluation findByUseRecordId(String useRecordId) {
        return  navigationServiceEvaluationDao.findByUseRecordId(useRecordId);
    }
}