记得上下班打卡 | git大法好,push需谨慎

Commit e731e14f authored by 胡佳晨's avatar 胡佳晨

partner 场地 列表 详情接口

parent ca5a2da9
package com.liquidnet.service.kylin.service.partner;
import com.liquidnet.service.kylin.dto.vo.FieldsVo;
import java.util.HashMap;
public interface KylinFieldsPartnerService {
HashMap<String,Object> fieldList(int page, int size, String name);
FieldsVo fieldDetails(String fieldId);
}
package com.liquidnet.service.kylin.controller.partner;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.FieldsVo;
import com.liquidnet.service.kylin.service.impl.admin.FieldsAdminServiceImpl;
import com.liquidnet.service.kylin.service.impl.partner.FieldsPartnerServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
@Api
@RestController
@RequestMapping("/partner/fields")
public class FieldsPartnerController {
@Autowired
private FieldsPartnerServiceImpl fieldsPartnerService;
@GetMapping(value = "details")
@ApiOperation(value = "获取场地详情")
@ApiResponse(response = FieldsVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<FieldsVo> fieldDetails(@RequestParam(value = "fieldId", defaultValue = "59666659929161728") String fieldId) {
FieldsVo result = null;
result = fieldsPartnerService.fieldDetails(fieldId);
if (null == result) {
return ResponseDto.failure("场地详情查询失败");
} else {
return ResponseDto.success(result);
}
}
@GetMapping(value = "list")
@ApiOperation(value = "获取场地列表")
@ApiResponse(response = FieldsVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<HashMap<String, Object>> fieldList(@RequestParam(value = "page", defaultValue = "1") int page, @RequestParam(value = "size", defaultValue = "10") int size, @RequestParam(value = "name", defaultValue = "") String name) {
HashMap<String, Object> result = null;
result = fieldsPartnerService.fieldList(page-1,size,name);
if (null == result) {
return ResponseDto.failure("场地列表获取失败");
} else {
return ResponseDto.success(result);
}
}
}
...@@ -3,8 +3,6 @@ package com.liquidnet.service.kylin.service.impl.admin; ...@@ -3,8 +3,6 @@ package com.liquidnet.service.kylin.service.impl.admin;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.BeanUtil; import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
...@@ -26,7 +24,6 @@ import com.liquidnet.service.kylin.service.admin.KylinFieldsAdminService; ...@@ -26,7 +24,6 @@ import com.liquidnet.service.kylin.service.admin.KylinFieldsAdminService;
import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObject;
import com.mongodb.client.model.FindOneAndUpdateOptions; import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument; import com.mongodb.client.model.ReturnDocument;
import com.mongodb.client.result.UpdateResult;
import org.bson.Document; import org.bson.Document;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
......
package com.liquidnet.service.kylin.service.impl.partner;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.FieldsVo;
import com.liquidnet.service.kylin.mapper.KylinFieldRelationMapper;
import com.liquidnet.service.kylin.mapper.KylinFieldStatusMapper;
import com.liquidnet.service.kylin.mapper.KylinFieldsMapper;
import com.liquidnet.service.kylin.service.partner.KylinFieldsPartnerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.util.HashMap;
@Service
public class FieldsPartnerServiceImpl implements KylinFieldsPartnerService {
@Autowired
MongoTemplate mongoTemplate;
@Autowired
private RedisUtil redisUtil;
@Autowired
private KylinFieldsMapper fieldsMapper;
@Autowired
private KylinFieldStatusMapper kylinFieldStatusMapper;
@Autowired
private KylinFieldRelationMapper fieldRelationsMapper;
/**
* 根据名字模糊查询 partner 场地列表
* @param page
* @param size
* @param name
* @return
*/
@Override
public HashMap<String, Object> fieldList(int page, int size, String name) {
HashMap<String,Object> info = new HashMap<>();
// 排序 分页
Pageable pageable = PageRequest.of(0, size, Sort.by(Sort.Direction.DESC, "createdAt"));
//条件
Query query = Query.query(Criteria.where("name").regex(".*?\\" +name));
// 查询总数
long count = mongoTemplate.count(query, FieldsVo.class, FieldsVo.class.getSimpleName());
query.with(pageable);
info.put("total",count);
info.put("data", mongoTemplate.find(query, FieldsVo.class, FieldsVo.class.getSimpleName()));
return info;
}
/**
* partner 场地详情
* @param fieldId
* @return
*/
@Override
public FieldsVo fieldDetails(String fieldId) {
FieldsVo info = null;
// 获取 redis数据
info = (FieldsVo) redisUtil.hget(KylinRedisConst.FIELDS, fieldId + "");
//不存在 获取 mongo数据
if (null == info) {
info = mongoTemplate.findOne(Query.query(Criteria.where("fieldsId").is(fieldId)), FieldsVo.class, FieldsVo.class.getSimpleName());
redisUtil.hset(KylinRedisConst.FIELDS, fieldId + "",info);
}
return info;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment