Parcourir la source

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

huangzhiyong il y a 6 ans
Parent
commit
9ea89ddd13
20 fichiers modifiés avec 409 ajouts et 78 suppressions
  1. 66 24
      common/common-entity/src/main/java/com/yihu/jw/entity/base/module/ModuleDO.java
  2. 1 1
      common/common-exception/src/main/java/com/yihu/jw/exception/code/BaseErrorCode.java
  3. 3 0
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java
  4. 4 0
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/health/house/HealthyHouseMapping.java
  5. 20 11
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/module/ModuleVO.java
  6. 13 0
      svr/svr-base/src/main/java/com/yihu/jw/base/contant/MenuContant.java
  7. 14 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/role/MenuDao.java
  8. 5 1
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/module/ModuleEndpoint.java
  9. 27 1
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/role/MenuEndpoint.java
  10. 62 1
      svr/svr-base/src/main/java/com/yihu/jw/base/service/role/MenuService.java
  11. 26 4
      svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/controller/facilities/FacilitiesController.java
  12. 3 3
      svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/controller/user/AppealController.java
  13. 52 10
      svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/controller/user/FacilityUsedRecordController.java
  14. 11 1
      svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/dao/facility/FacilityDao.java
  15. 25 17
      svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/model/facility/Facility.java
  16. 25 2
      svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/model/user/FacilityUsedRecord.java
  17. 14 1
      svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/model/user/User.java
  18. 7 0
      svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/service/facility/FacilityServerService.java
  19. 27 1
      svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/service/facility/FacilityService.java
  20. 4 0
      svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/service/user/NavigationServiceEvaluationService.java

+ 66 - 24
common/common-entity/src/main/java/com/yihu/jw/entity/base/module/ModuleDO.java

@ -17,33 +17,57 @@ import java.util.List;
@Table(name = "base_module")
public class ModuleDO extends UuidIdentityEntityWithOperator {
	/**
	 * 0 - 禁用
	 * 1 - 可用
	 * 2 - 不可用
	 */
    public enum Status {
		disable,
		available,
		delete
    }
	public enum Status {
		unAvailable("不可用", 0),
		available("可用", 1);
		private String name;
		private Integer value;
		Status(String name, Integer value) {
			this.name = name;
			this.value = value;
		}
		public String getName() {
			return name;
		}
		public void setName(String name) {
			this.name = name;
		}
		public Integer getValue() {
			return value;
		}
		public void setValue(Integer value) {
			this.value = value;
		}
	}
	//模块名称
	private String name;
	//模块连接
	private String url;
	//父id
	private String parentId;
	//状态
	private Status status;
	private Integer status;
	//类型
	private Integer type;
	//备注
	private String remark;
	//closed-表示有子节点,open-表示没有子节点
	private String state ;
	//0-表示有子节点,1-表示没有子节点
	private Integer isEnd ;
	//逻辑删除标志1正常,0删除
	private Integer del ;
	//子集
	private List<ModuleDO> children = new ArrayList<>();
	// Constructors
    @Column(name = "name", length = 200)
    @Column(name = "name")
    public String getName() {
        return this.name;
    }
@ -52,7 +76,7 @@ public class ModuleDO extends UuidIdentityEntityWithOperator {
        this.name = name;
    }
	@Column(name = "parent_id", length = 50)
	@Column(name = "parent_id")
	public String getParentId() {
		return parentId;
	}
@ -62,15 +86,15 @@ public class ModuleDO extends UuidIdentityEntityWithOperator {
	}
    @Column(name = "status")
    public Status getStatus() {
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Status status) {
    public void setStatus(Integer status) {
        this.status = status;
    }
	@Column(name = "remark", length = 1000)
	@Column(name = "remark")
	public String getRemark() {
		return this.remark;
	}
@ -79,16 +103,34 @@ public class ModuleDO extends UuidIdentityEntityWithOperator {
		this.remark = remark;
	}
    @Transient
	public String getState() {
		return state;
	@Column(name = "url")
	public String getUrl() {
		return url;
	}
	public void setUrl(String url) {
		this.url = url;
	}
	@Column(name = "is_end")
	public Integer getIsEnd() {
		return isEnd;
	}
	public void setIsEnd(Integer isEnd) {
		this.isEnd = isEnd;
	}
	@Column(name = "del")
	public Integer getDel() {
		return del;
	}
	public void setState(String state) {
		this.state = state;
	public void setDel(Integer del) {
		this.del = del;
	}
    @Transient
	@Transient
	public List<ModuleDO> getChildren() {
		return children;
	}

+ 1 - 1
common/common-exception/src/main/java/com/yihu/jw/exception/code/BaseErrorCode.java

@ -40,7 +40,7 @@ public class BaseErrorCode {
     * 菜单模块
     */
    public static class Menu{
        public static final String FINDDICTBYCODE = "-102000";
        public static final String NAME_IS_EXIST = "-102000";
    }
    /**

+ 3 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java

@ -129,6 +129,9 @@ public class BaseRequestMapping {
    public static class Menu extends Basic {
        public static final String PREFIX  = "/menu";
        public static final String STATUS  = "/status";
        public static final String ISNAMEEXIST  = "/isNameExist";
        public static final String MOVEUP  = "/moveUp";
        public static final String MOVEDOWN  = "/moveDown";
    }
    /**

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

@ -57,6 +57,8 @@ public class HealthyHouseMapping {
            public static final String UPDATE_FACILITIES_AND_RELATION = "/update/facilitieAndRelations";
            public static final String GET_ALL_FACILITIELISTS_BY_CATEGORY_AND_SERVERCODE = "/list/getAllFacilitiesByCategoryAndServerCode";
        }
        //设施服务
@ -97,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";
        }
        //服务评价

+ 20 - 11
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/module/ModuleVO.java

@ -1,6 +1,5 @@
package com.yihu.jw.restmodel.base.module;
import com.yihu.jw.entity.base.module.ModuleDO;
import com.yihu.jw.restmodel.UuidIdentityVOWithOperator;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -19,12 +18,14 @@ public class ModuleVO extends UuidIdentityVOWithOperator {
    private String name;
    @ApiModelProperty(value = "父ID", example = "402803ee656498890165649ad2da0000")
    private String parentId;
    @ApiModelProperty(value = "状态", example = "disable")
    private ModuleDO.Status status;
    @ApiModelProperty(value = "url", example = "/doctor/*")
    private String url;
    @ApiModelProperty(value = "状态", example = "1有效,0失效")
    private Integer status;
    @ApiModelProperty(value = "备注", example = "我是备注")
    private String remark;
    @ApiModelProperty(value = "节点信息(closed-表示有子节点,open-表示没有子节点)", example = "open")
    private String state ;
    @ApiModelProperty(value = "节点信息(0-表示有子节点,1-表示没有子节点)", example = "1")
    private Integer isEnd ;
    @ApiModelProperty(value = "子集")
    private List<ModuleVO> children = new ArrayList<>();
@ -44,11 +45,11 @@ public class ModuleVO extends UuidIdentityVOWithOperator {
        this.parentId = parentId;
    }
    public ModuleDO.Status getStatus() {
    public Integer getStatus() {
        return status;
    }
    public void setStatus(ModuleDO.Status status) {
    public void setStatus(Integer status) {
        this.status = status;
    }
@ -60,12 +61,20 @@ public class ModuleVO extends UuidIdentityVOWithOperator {
        this.remark = remark;
    }
    public String getState() {
        return state;
    public String getUrl() {
        return url;
    }
    public void setState(String state) {
        this.state = state;
    public void setUrl(String url) {
        this.url = url;
    }
    public Integer getIsEnd() {
        return isEnd;
    }
    public void setIsEnd(Integer isEnd) {
        this.isEnd = isEnd;
    }
    public List<ModuleVO> getChildren() {

+ 13 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/contant/MenuContant.java

@ -0,0 +1,13 @@
package com.yihu.jw.base.contant;
/**
 * 菜单常量
 * @author yeshijie on 2018/9/27.
 */
public class MenuContant {
    /**
     * 默认父类id 0
     */
    public static final String DEFAULT_PARENTID = "0";
}

+ 14 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/role/MenuDao.java

@ -14,4 +14,18 @@ public interface MenuDao extends PagingAndSortingRepository<MenuDO, String>, Jpa
    @Modifying
    @Query("update MenuDO p set p.status=?2 where p.id=?1")
    void updateStatus(String id,Integer status);
    @Modifying
    @Query("update MenuDO p set p.sort=p.sort+1 where p.parentId=?1 and p.sort=?2")
    void addSort(String parentId,Integer sort);
    @Modifying
    @Query("update MenuDO p set p.sort=p.sort-1 where p.parentId=?1 and p.sort=?2")
    void subSort(String parentId,Integer sort);
    @Query("select count(*) from MenuDO a where a.name = ?1 ")
    int isExistName(String name);
    @Query("select count(*) from MenuDO a where a.parentId = ?1 ")
    int countMenuByParentId(String parentId);
}

+ 5 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/module/ModuleEndpoint.java

@ -1,7 +1,9 @@
package com.yihu.jw.base.endpoint.module;
import com.yihu.jw.base.service.module.ModuleService;
import com.yihu.jw.base.util.ErrorCodeUtil;
import com.yihu.jw.entity.base.module.ModuleDO;
import com.yihu.jw.exception.code.BaseErrorCode;
import com.yihu.jw.restmodel.base.module.ModuleVO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
@ -29,6 +31,8 @@ public class ModuleEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private ModuleService moduleService;
    @Autowired
    private ErrorCodeUtil errorCodeUtil;
    @PostMapping(value = BaseRequestMapping.Module.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "创建")
@ -56,7 +60,7 @@ public class ModuleEndpoint extends EnvelopRestEndpoint {
            @RequestBody String jsonData) throws Exception {
        ModuleDO module = toEntity(jsonData, ModuleDO.class);
        if (null == module.getId()) {
            return failed("ID不能为空", ObjEnvelop.class);
            return failed(errorCodeUtil.getErrorMsg(BaseErrorCode.Common.ID_IS_NULL), ObjEnvelop.class);
        }
        module = moduleService.save(module);
        return success(module, ModuleVO.class);

+ 27 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/role/MenuEndpoint.java

@ -44,9 +44,27 @@ public class MenuEndpoint extends EnvelopRestEndpoint {
        return success(menuDO, MenuVO.class);
    }
    @PostMapping(value = BaseRequestMapping.Menu.MOVEDOWN)
    @ApiOperation(value = "下移")
    public Envelop moveDown(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id") String id) {
        menuService.moveDown(id);
        return success("修改成功");
    }
    @PostMapping(value = BaseRequestMapping.Menu.MOVEUP)
    @ApiOperation(value = "上移")
    public Envelop moveUp(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id") String id) {
        menuService.moveUp(id);
        return success("修改成功");
    }
    @PostMapping(value = BaseRequestMapping.Menu.STATUS)
    @ApiOperation(value = "生效/失效")
    public Envelop delete(
    public Envelop status(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id") String id,
            @ApiParam(name = "status", value = "1生效,0失效", required = true)
@ -55,6 +73,14 @@ public class MenuEndpoint extends EnvelopRestEndpoint {
        return success("修改成功");
    }
    @GetMapping(value = BaseRequestMapping.Menu.ISNAMEEXIST)
    @ApiOperation(value = "名称是否存在",notes = "返回值中的obj=1表示名称已经存在,0表示名称不存在")
    public ObjEnvelop isNameExist(
            @ApiParam(name = "name", value = "菜单名称", required = true)
            @RequestParam(value = "name") String name) {
        return success(menuService.isExistName(name));
    }
    @PostMapping(value = BaseRequestMapping.Menu.UPDATE,consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "更新")
    public Envelop update (

+ 62 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/service/role/MenuService.java

@ -1,8 +1,10 @@
package com.yihu.jw.base.service.role;
import com.yihu.jw.base.contant.MenuContant;
import com.yihu.jw.base.dao.role.MenuDao;
import com.yihu.jw.entity.base.role.MenuDO;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -14,6 +16,8 @@ import org.springframework.transaction.annotation.Transactional;
@Service
public class MenuService extends BaseJpaService<MenuDO, MenuDao> {
    @Autowired
    private MenuDao menuDao;
@ -22,8 +26,65 @@ public class MenuService extends BaseJpaService<MenuDO, MenuDao> {
     * @param id
     * @param status
     */
    @Transactional
    @Transactional(rollbackFor = Exception.class)
    public void updateStatus(String id,Integer status){
        menuDao.updateStatus(id,status);
    }
    /**
     * 新增菜单
     * @param menuDO
     * @return
     */
    public MenuDO addMenu(MenuDO menuDO){
        if(StringUtils.isBlank(menuDO.getParentId())){
            menuDO.setParentId(MenuContant.DEFAULT_PARENTID);
        }
        int sort = menuDao.countMenuByParentId(menuDO.getParentId())+1;
        menuDO.setSort(sort);
        menuDao.save(menuDO);
        return menuDO;
    }
    /**
     * 上移
     * @param menuId
     */
    @Transactional(rollbackFor = Exception.class)
    public void moveUp(String menuId){
        MenuDO menuDO = menuDao.findOne(menuId);
        int sort = menuDO.getSort();
        if(sort > 1){
            sort = sort-1;
            menuDao.addSort(menuDO.getParentId(),sort);
            menuDO.setSort(sort);
            menuDao.save(menuDO);
        }
    }
    /**
     * 下移
     * @param menuId
     */
    @Transactional(rollbackFor = Exception.class)
    public void moveDown(String menuId){
        MenuDO menuDO = menuDao.findOne(menuId);
        int sort = menuDO.getSort();
        int count = menuDao.countMenuByParentId(menuDO.getParentId());
        if(sort < count){
            sort = sort+1;
            menuDao.subSort(menuDO.getParentId(),sort);
            menuDO.setSort(sort);
            menuDao.save(menuDO);
        }
    }
    /**
     * 名称是否存在
     * @param name
     * @return
     */
    public int isExistName(String name){
        return menuDao.isExistName(name);
    }
}

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

@ -1,7 +1,6 @@
package com.yihu.jw.healthyhouse.controller.facilities;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.cfg.ContextAttributes;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.yihu.jw.exception.business.ManageException;
import com.yihu.jw.healthyhouse.model.facility.Facility;
import com.yihu.jw.healthyhouse.model.facility.FacilityServer;
@ -28,6 +27,7 @@ import org.springframework.web.bind.annotation.*;
import java.io.File;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import com.yihu.jw.restmodel.web.Envelop;
@ -318,8 +318,30 @@ public class FacilitiesController extends EnvelopRestEndpoint {
            @ApiParam(name = "filters", value = "过滤器", defaultValue = "")
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序", defaultValue = "")
            @RequestParam(value = "sorts", required = false) String sorts) throws Exception {
        List<Facility> facilityList = facilityService.search(fields, filters, sorts);
            @RequestParam(value = "sorts", required = false) String sorts,
            @ApiParam(name = "facilityCategory", value = "设施分类:1小屋、2步道、3餐厅", defaultValue = "1")
            @RequestParam(value = "facilityCategory", required = false) String facilityCategory,
            @ApiParam(name = "facilityServerType", value = "非必传参数:设施服务类型:dinner吃饭、measure测量、sports运动", defaultValue = "measure")
            @RequestParam(value = "facilityServerType", required = false) String facilityServerType,
            @ApiParam(name = "facilityServerCodes", value = "非必传参数:设施服务编码,可多个,用逗号隔开", defaultValue = "jkxwServer003,HFHS7C5B5")
            @RequestParam(value = "facilityServerCodes", required = false) String facilityServerCodes) throws Exception {
        List<Facility> facilityList = new ArrayList<>();
        //设施服务编码存在,查找使用该服务的设施
        if (StringUtils.isNotEmpty(facilityServerCodes)) {
            String[] faServerCodes = facilityServerCodes.split(",");
            List<String> facilityCodeList = facilityService.getFacilityCodeByServerCode(faServerCodes);
            facilityList = facilityService.getFacilityByFacilityCode(facilityCodeList);
        } else if (StringUtils.isNotEmpty(facilityServerType)) {
            //设施编码为空,设施服务类型不为空,按设施服务类型获取设施
            List<String> facilityCodeList = facilityService.getFacilityCodeByServerType(facilityServerType);
            facilityList = facilityService.getFacilityByFacilityCode(facilityCodeList);
        } else if (StringUtils.isNotEmpty(facilityCategory)) {
            //设施编码为空,设施服务类型为空,按照设施分类获取按设施服务类型获取设施
            filters = "category=" + facilityCategory;
            facilityList = facilityService.search(fields, filters, sorts);
        } else {
            facilityList = facilityService.search(fields, filters, sorts);
        }
        return success(facilityList);
    }

+ 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);
    }

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

@ -1,11 +1,16 @@
package com.yihu.jw.healthyhouse.controller.user;
import com.google.common.base.Joiner;
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 +23,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 +48,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 +71,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);
    }
@ -108,19 +120,19 @@ public class FacilityUsedRecordController extends EnvelopRestEndpoint {
            @ApiParam(name = "userId", value = "用户ID", defaultValue = "")
            @RequestParam(value = "userId") String userId,
            @ApiParam(name = "filters", value = "检索字段", defaultValue = "")
            @RequestParam(value = "filters",required = false) String filters,
            @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<>();
        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";
        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();
            for (Facility facility : facilityList) {
                facilityUsedRecord = new FacilityUsedRecord();
                facilityUsedRecord.setFacilitieCode(facility.getCode());
                facilityUsedRecord.setFacilitieName(facility.getName());
                facilityUsedRecord.setFacilitieLongitude(facility.getLongitude());
@ -129,10 +141,10 @@ public class FacilityUsedRecordController extends EnvelopRestEndpoint {
                facilityUsedRecord.setCreateUser(userId);
                facilityUsedRecord.setFacilitieId(facility.getId());
                long count = facilityUsedRecordService.countByFacilitieCodeAndUserId(facility.getCode(), userId);
                facilityUsedRecord.setNum((int)count);
                facilityUsedRecord.setNum((int) count);
                facilityUsedRecordList.add(facilityUsedRecord);
            }
        }else{
        } else {
            //根据用户id,获取我的历史记录
            facilityUsedRecordList = facilityUsedRecordService.countDistinctByFacilitieCodeAndUserId(userId);
            for (FacilityUsedRecord facilityUsedRecord1 : facilityUsedRecordList) {
@ -170,5 +182,35 @@ 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());
            String servicesValue = Joiner.on("、").join(services);
            record.setFacilityRelationServiceName(servicesValue);
            //根据记录获取评价记录
            NavigationServiceEvaluation comment = navigationServiceEvaluationService.findByUseRecordId(record.getId());
            if (comment == null) {
                record.setNavigationServiceEvaluationFlag("未评价");
            } else {
                record.setNavigationServiceEvaluationFlag("已评价");
            }
        }
        return success(facilityUsedRecordList, (null == facilityUsedRecordList) ? 0 : facilityUsedRecordList.size(), page, size);
    }
}

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

@ -2,9 +2,14 @@ package com.yihu.jw.healthyhouse.dao.facility;
import com.yihu.jw.healthyhouse.model.facility.Facility;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
/**
 * 设施dao
 *
 * @author zdm
 * @version 1.0
 * @created 2018.09.19
@ -12,7 +17,12 @@ import org.springframework.data.jpa.repository.JpaRepository;
public interface FacilityDao extends JpaRepository<Facility, String> {
    Facility findById(String id);
    Facility findByLongitudeAndLatitude(double longitude,double latitude);
    Facility findByLongitudeAndLatitude(double longitude, double latitude);
    Facility findByCode(String code);
    @Query("select f from Facility f where f.code in :code ")
    List<Facility> findByCode(@Param("code") List<String> code);
}

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

@ -59,8 +59,8 @@ public class Facility extends UuidIdentityEntityWithOperator {
    @Column(name = "street")
    private String street;
    //地址
    @Column(name = "adress")
    private String adress;
    @Column(name = "address")
    private String address;
    //服务时间:周一至周天,用逗号隔开
    @Column(name = "service_day")
    private String serviceDay ;
@ -292,21 +292,29 @@ public class Facility extends UuidIdentityEntityWithOperator {
    public void setCategoryValue(String categoryValue) {
        this.categoryValue = categoryValue;
    }
    @Transient
    public String getAddress(){
        String address = "";
        if (this.getProvinceId()!=null ) {
        }
        if (this.getCityName() !=null ){
            address += this.getCityName();
        }
        if (this.getCountyName() !=null ){
            address += this.getCountyName();
        }
        if (this.getStreet() !=null) {
            address += this.getStreet();
        }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    //    @Transient
//    public String getAddress(){
//        String address = "";
//        if (this.getProvinceId()!=null ) {
//
//        }
//        if (this.getCityName() !=null ){
//            address += this.getCityName();
//        }
//        if (this.getCountyName() !=null ){
//            address += this.getCountyName();
//        }
//        if (this.getStreet() !=null) {
//            address += this.getStreet();
//        }
//        return address;
//    }
}

+ 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 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 String getFacilityRelationServiceName() {
        return facilityRelationServiceName;
    }
    public void setFacilityRelationServiceName(String facilityRelationServiceName) {
        this.facilityRelationServiceName =facilityRelationServiceName;
    }
    @Transient
    public String getNavigationServiceEvaluationFlag() {
        return navigationServiceEvaluationFlag;
    }
    public void setNavigationServiceEvaluationFlag(String navigationServiceEvaluationFlag) {
        this.navigationServiceEvaluationFlag = navigationServiceEvaluationFlag;
    }
}

+ 14 - 1
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("male")) {
            genderValue="男";
        }
        if (this.getGender().equals("female")) {
            genderValue="女";
        }
        return genderValue;
    }
}

+ 7 - 0
svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/service/facility/FacilityServerService.java

@ -1,12 +1,18 @@
package com.yihu.jw.healthyhouse.service.facility;
import com.yihu.jw.healthyhouse.dao.facility.FacilityServerDao;
import com.yihu.jw.healthyhouse.model.facility.Facility;
import com.yihu.jw.healthyhouse.model.facility.FacilityServer;
import com.yihu.mysql.query.BaseJpaService;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
 * 设施服务管理器.
 *
@ -25,4 +31,5 @@ public class FacilityServerService extends BaseJpaService<FacilityServer, Facili
        return  facilityServerDao.findById(id);
    }
}

+ 27 - 1
svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/service/facility/FacilityService.java

@ -9,12 +9,15 @@ import com.yihu.jw.healthyhouse.service.dict.SystemDictEntryService;
import com.yihu.jw.healthyhouse.util.facility.msg.FacilityMsg;
import com.yihu.jw.healthyhouse.util.poi.ExcelUtils;
import com.yihu.mysql.query.BaseJpaService;
import io.swagger.models.auth.In;
import jxl.write.Colour;
import jxl.write.WritableCellFormat;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.transform.Transformers;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -212,5 +215,28 @@ public class FacilityService extends BaseJpaService<Facility, FacilityDao> {
        return "CSHF" + randomString(5);
    }
    /**
     * 根据服务类型获取设施
     */
    public List<String> getFacilityCodeByServerType(String type){
        Session s = currentSession();
        String hql = "(SELECT  DISTINCT fsr.facilitie_code FROM  facility_server_relation fsr,facility_server fs WHERE fsr.service_code=fs.code and fs.type=:type)";
        Query query = s.createSQLQuery(hql);
        query.setParameter("type",type);
        return query.list();
    }
    public List<String> getFacilityCodeByServerCode( String[] codes)
    {
        String sql =  "(SELECT  DISTINCT fsr.facilitie_code FROM  facility_server_relation fsr WHERE fsr.service_code IN(:codes))";
        SQLQuery sqlQuery = currentSession().createSQLQuery(sql);
        sqlQuery.setParameterList("codes", codes);
        return sqlQuery.list();
    }
    public List<Facility> getFacilityByFacilityCode( List<String> facilityCodes){
        return facilityDao.findByCode(facilityCodes);
    }
}

+ 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);
    }
}