Browse Source

健康小屋-历史记录-详情

huangzhiyong 6 years ago
parent
commit
982b08319a

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

@ -92,6 +92,7 @@ public class HealthyHouseMapping {
            public static final String UPDATE_FACILITY_USED_RECORD_BY_ID = "/updateFacilityUsedRecordById";
            public static final String UPDATE_FACILITY_USED_RECORD_BY_ID = "/updateFacilityUsedRecordById";
            public static final String GET_FACILITY_USED_RECORD_AND_COUNT_BY_ID = "/getFacilityUsedRecordAndCountById";
            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 COUNT_FACILITY_USED_RECORD_BY_USERID = "/countFacilityUsedRecordByUserId";
            public static final String GET_FACILITY_USED_RECORD_DETAIL = "/getUsedRecordDetail";
        }
        }
        //服务评价
        //服务评价

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

@ -25,7 +25,7 @@ import java.util.HashMap;
 * @author HZY
 * @author HZY
 * @created 2018/9/18 19:55
 * @created 2018/9/18 19:55
 */
 */
@Api(value = "LoginController", description = "登录管理", tags = {"登录","验证"})
@Api(value = "LoginController", description = "登录管理", tags = {"2登录及验证"})
@RestController
@RestController
public class LoginController extends EnvelopRestEndpoint {
public class LoginController extends EnvelopRestEndpoint {

+ 1 - 1
svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/controller/facilities/FacilitiesController.java

@ -45,7 +45,7 @@ import javax.servlet.http.HttpServletResponse;
 */
 */
@RestController
@RestController
@RequestMapping(HealthyHouseMapping.api_healthyHouse_common)
@RequestMapping(HealthyHouseMapping.api_healthyHouse_common)
@Api(value = "Facility", description = "设施管理", tags = {"设施管理"})
@Api(value = "Facility", description = "设施管理", tags = {"3设施管理"})
public class FacilitiesController extends EnvelopRestEndpoint {
public class FacilitiesController extends EnvelopRestEndpoint {
    @Autowired
    @Autowired

+ 1 - 1
svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/controller/facilities/FacilitiesServerController.java

@ -26,7 +26,7 @@ import java.util.List;
 */
 */
@RestController
@RestController
@RequestMapping(HealthyHouseMapping.api_healthyHouse_common)
@RequestMapping(HealthyHouseMapping.api_healthyHouse_common)
@Api(value = "FacilityServer", description = "设施服务管理", tags = {"设施服务管理"})
@Api(value = "FacilityServer", description = "设施服务管理", tags = {"4设施服务管理"})
public class FacilitiesServerController extends EnvelopRestEndpoint {
public class FacilitiesServerController extends EnvelopRestEndpoint {
    @Autowired
    @Autowired

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

@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.ArrayList;
import java.util.List;
import java.util.List;
import java.util.Map;
/**
/**
@ -31,7 +32,7 @@ import java.util.List;
 */
 */
@RestController
@RestController
@RequestMapping(HealthyHouseMapping.api_healthyHouse_common)
@RequestMapping(HealthyHouseMapping.api_healthyHouse_common)
@Api(value = "FacilityUsedRecord", description = "用户使用导航记录管理", tags = {"用户使用导航记录管理"})
@Api(value = "FacilityUsedRecord", description = "用户使用导航记录管理", tags = {"5用户使用导航记录管理"})
public class FacilityUsedRecordController extends EnvelopRestEndpoint {
public class FacilityUsedRecordController extends EnvelopRestEndpoint {
    @Autowired
    @Autowired
@ -159,4 +160,14 @@ public class FacilityUsedRecordController extends EnvelopRestEndpoint {
    }
    }
    @ApiOperation(value = "app-设施使用记录-详情页", responseContainer = "List")
    @GetMapping(value = HealthyHouseMapping.HealthyHouse.FacilityUsedRecord.GET_FACILITY_USED_RECORD_DETAIL)
    public ObjEnvelop facilityUsedRecordDetail(
            @ApiParam(name = "id", value = "使用记录ID", defaultValue = "")
            @RequestParam(value = "id") String id) throws Exception {
        Map<String, Object> usedRecordDetail = facilityUsedRecordService.getUsedRecordDetail(id);
        return success(usedRecordDetail);
    }
}
}

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

@ -38,7 +38,7 @@ import java.util.regex.Pattern;
 * @author HZY
 * @author HZY
 * @created 2018/9/19 17:29
 * @created 2018/9/19 17:29
 */
 */
@Api(value = "UserController", description = "用户管理信息", tags = {"用户管理"})
@Api(value = "UserController", description = "用户管理信息", tags = {"2用户管理"})
@RequestMapping(value = "/user", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@RequestMapping(value = "/user", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@RestController
@RestController
public class UserController  extends EnvelopRestEndpoint {
public class UserController  extends EnvelopRestEndpoint {

+ 1 - 0
svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/dao/facility/FacilityDao.java

@ -13,5 +13,6 @@ public interface FacilityDao extends JpaRepository<Facility, String> {
    Facility findById(String id);
    Facility findById(String id);
    Facility findByLongitudeAndLatitude(double longitude,double latitude);
    Facility findByLongitudeAndLatitude(double longitude,double latitude);
    Facility findByCode(String code);
}
}

+ 4 - 0
svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/dao/facility/FacilityServerRelationDao.java

@ -4,6 +4,8 @@ import com.yihu.jw.healthyhouse.model.facility.FacilityServerRelation;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Modifying;
import java.util.List;
/**
/**
 * 设施与服务关系 dao
 * 设施与服务关系 dao
 * @author zdm
 * @author zdm
@ -14,6 +16,8 @@ public interface FacilityServerRelationDao extends JpaRepository<FacilityServerR
    FacilityServerRelation findById(String id);
    FacilityServerRelation findById(String id);
    List<FacilityServerRelation> findByFacilitieCode(String facilityCode);
    @Modifying
    @Modifying
    void deleteByFacilitieCode(String facilitieCode);
    void deleteByFacilitieCode(String facilitieCode);
}
}

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

@ -12,5 +12,6 @@ import org.springframework.data.jpa.repository.JpaRepository;
public interface NavigationServiceEvaluationDao extends JpaRepository<NavigationServiceEvaluation, Long> {
public interface NavigationServiceEvaluationDao extends JpaRepository<NavigationServiceEvaluation, Long> {
    NavigationServiceEvaluation findById(String id);
    NavigationServiceEvaluation findById(String id);
    NavigationServiceEvaluation findByUseRecordId(String recordId);
}
}

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

@ -38,6 +38,9 @@ public class NavigationServiceEvaluation extends UuidIdentityEntityWithOperator
    //备注、意见或建议
    //备注、意见或建议
    @Column(name = "remark")
    @Column(name = "remark")
    private String remark;
    private String remark;
    //设施使用记录ID
    @Column(name = "use_record_id")
    private String useRecordId;
    public String getFacilitieCode() {
    public String getFacilitieCode() {
        return facilitieCode;
        return facilitieCode;
@ -94,4 +97,12 @@ public class NavigationServiceEvaluation extends UuidIdentityEntityWithOperator
    public void setRemark(String remark) {
    public void setRemark(String remark) {
        this.remark = remark;
        this.remark = remark;
    }
    }
    public String getUseRecordId() {
        return useRecordId;
    }
    public void setUseRecordId(String useRecordId) {
        this.useRecordId = useRecordId;
    }
}
}

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

@ -1,14 +1,26 @@
package com.yihu.jw.healthyhouse.service.user;
package com.yihu.jw.healthyhouse.service.user;
import com.yihu.jw.exception.business.ManageException;
import com.yihu.jw.healthyhouse.dao.facility.FacilityDao;
import com.yihu.jw.healthyhouse.dao.facility.FacilityServerRelationDao;
import com.yihu.jw.healthyhouse.dao.user.FacilityUsedRecordDao;
import com.yihu.jw.healthyhouse.dao.user.FacilityUsedRecordDao;
import com.yihu.jw.healthyhouse.dao.user.NavigationServiceEvaluationDao;
import com.yihu.jw.healthyhouse.model.facility.Facility;
import com.yihu.jw.healthyhouse.model.facility.FacilityServerRelation;
import com.yihu.jw.healthyhouse.model.user.FacilityUsedRecord;
import com.yihu.jw.healthyhouse.model.user.FacilityUsedRecord;
import com.yihu.jw.healthyhouse.model.user.NavigationServiceEvaluation;
import com.yihu.jw.healthyhouse.service.facility.FacilityService;
import com.yihu.mysql.query.BaseJpaService;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.stereotype.Service;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
/**
 * 用户导航记录.
 * 用户导航记录.
@ -23,6 +35,12 @@ public class FacilityUsedRecordService extends BaseJpaService<FacilityUsedRecord
    @Autowired
    @Autowired
    private FacilityUsedRecordDao facilityUsedRecordDao;
    private FacilityUsedRecordDao facilityUsedRecordDao;
    @Autowired
    private NavigationServiceEvaluationDao navigationServiceEvaluationDao;
    @Autowired
    private FacilityServerRelationDao facilityServerRelationDao;
    @Autowired
    private FacilityDao facilityDao;
    public FacilityUsedRecord findById(String id) {
    public FacilityUsedRecord findById(String id) {
        return facilityUsedRecordDao.findById(id);
        return facilityUsedRecordDao.findById(id);
@ -30,6 +48,10 @@ public class FacilityUsedRecordService extends BaseJpaService<FacilityUsedRecord
    public List<FacilityUsedRecord> countDistinctByFacilitieCodeAndUserId(String userId) throws Exception {
    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 ";
        String sql = "select fur.*  from facility_used_records  fur WHERE  fur.create_user=? GROUP BY fur.facilitie_code ";
        List<FacilityUsedRecord> facilityUsedRecords = jdbcTemplate.query(sql, new BeanPropertyRowMapper(FacilityUsedRecord.class), userId);
        return facilityUsedRecords;
    }
    public Long countByUserId(String userId){
    public Long countByUserId(String userId){
        return facilityUsedRecordDao.countByUserId(userId);
        return facilityUsedRecordDao.countByUserId(userId);
    }
    }
@ -56,4 +78,36 @@ public class FacilityUsedRecordService extends BaseJpaService<FacilityUsedRecord
    public long countByFacilitieCodeAndUserId(String facilitieCode,String userId) {
    public long countByFacilitieCodeAndUserId(String facilitieCode,String userId) {
        return facilityUsedRecordDao.countByFacilitieCodeAndCreateUser( facilitieCode, userId);
        return facilityUsedRecordDao.countByFacilitieCodeAndCreateUser( facilitieCode, userId);
    }
    }
    /**
     * 获取 用户使用记录详情
     * @param id
     * @return
     */
    public Map<String,Object> getUsedRecordDetail(String id) throws ManageException {
        Map<String,Object> result = new HashMap<>();
        FacilityUsedRecord record = findById(id);
        if (record == null ){
            throw new ManageException("使用记录不存在!");
        }
        String userId = record.getCreateUser();
        String facilityCode = record.getFacilitieCode();
        NavigationServiceEvaluation comment = navigationServiceEvaluationDao.findByUseRecordId(record.getId());
        long historyNum = countByFacilitieCodeAndUserId(facilityCode, userId);
        Facility facility = facilityDao.findByCode(facilityCode);
        List<FacilityServerRelation> facilityServerRelations = facilityServerRelationDao.findByFacilitieCode(facilityCode);
        List<String> services = facilityServerRelations.stream().map(FacilityServerRelation::getServiceName).collect(Collectors.toList());
        if (comment ==null) {
            result.put("Commented",false); //未评价
        }else {
            result.put("Commented",true);//已评价
            result.put("Star",comment.getScore());//评分
        }
        result.put("usedCount",historyNum);//前往设施次数
        result.put("serviceList",services);//设施包含服务
        result.put("facilityIcon",facility.getImgPath());//设施图片
        return result;
    }
}
}