|  | @ -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);
 | 
												
											
												
													
														
															|  | @ -47,4 +65,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;
 | 
												
													
														
															|  | 
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | }
 |  | }
 |