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

Commit 1c86e36e authored by GaoHu's avatar GaoHu

bug:支持校园模糊查询

parent 2903743c
package com.liquidnet.service.goblin.dto.vo;
import com.liquidnet.service.smile.entity.SmileSchool;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -69,4 +70,20 @@ public class SmileSchoolVo implements Serializable {
private String area;
public SmileSchoolVo copy(SmileSchool smileSchool) {
//KylinApiCameraDevicesVo kylinApiCameraDevicesVo = KylinApiCameraDevicesVo.getNew();
// if (null == source) return null;
SmileSchoolVo smileSchoolVo = new SmileSchoolVo();
if (null==smileSchool) return null;
smileSchoolVo.setId(smileSchool.getId());
smileSchoolVo.setName(smileSchool.getName());
smileSchoolVo.setAddress(smileSchool.getAddress());
smileSchoolVo.setProvinceKey(smileSchool.getProvinceId());
smileSchoolVo.setProvince(smileSchool.getProvince());
smileSchoolVo.setCityKey(smileSchool.getCityId());
smileSchoolVo.setCity(smileSchool.getCity());
smileSchoolVo.setAreaKey(smileSchool.getAreaId());
smileSchoolVo.setArea(smileSchool.getArea());
return smileSchoolVo;
}
}
......@@ -18,6 +18,10 @@ import com.liquidnet.service.smile.mapper.SmileUserMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
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.data.mongodb.core.query.Update;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
......@@ -45,6 +49,9 @@ public class SmileSchoolServiceImpl extends ServiceImpl<SmileSchoolMapper, Smile
@Autowired
SmileRedisUtils smileRedisUtils;
@Autowired
MongoTemplate mongoTemplate;
@Override
public PageInfo<SmileSchool> schoolList(SmileSchoolParam smileSchoolParam) {
PageInfo<SmileSchool> pageInfo;
......@@ -74,12 +81,29 @@ public class SmileSchoolServiceImpl extends ServiceImpl<SmileSchoolMapper, Smile
smileSchoolMapper.insert(smileSchool);
//保存学校
smileRedisUtils.setSchool(String.valueOf(smileSchool.getId()),smileSchool.getName());
updateSchoolRedis();
SmileSchoolVo smileSchoolVo = new SmileSchoolVo().copy(smileSchool);
mongoTemplate.insert(smileSchoolVo, SmileSchoolVo.class.getSimpleName());
saveSmileSchoolMongodb();
//判断是否需要新增redis
List<SmileSchoolVo> schoolAll = smileRedisUtils.getSchoolAll();
if (schoolAll != null && schoolAll.size()<20){
updateSchoolRedis();
}
return AjaxResult.success();
}
return AjaxResult.warn("学校已存在");
}
public void saveSmileSchoolMongodb(){
LambdaQueryWrapper<SmileSchool> queryWrapper = Wrappers.lambdaQuery(SmileSchool.class);
queryWrapper.eq(SmileSchool::getDelTag,0);
List<SmileSchool> smileSchools = smileSchoolMapper.selectList(queryWrapper);
smileSchools.forEach(smileSchool->{
SmileSchoolVo smileSchoolVo = new SmileSchoolVo().copy(smileSchool);
mongoTemplate.insert(smileSchoolVo, SmileSchoolVo.class.getSimpleName());
});
}
@Override
public AjaxResult updateSchoolById(SmileSchool smileSchool) {
......@@ -90,6 +114,10 @@ public class SmileSchoolServiceImpl extends ServiceImpl<SmileSchoolMapper, Smile
//更新User表 根据学校id修改用户学校名称
smileUserMapper.updateUserSchoolBySchoolId(smileSchool.getId().toString(), smileSchool.getName());
smileRedisUtils.setSchool(String.valueOf(smileSchool.getId()),smileSchool.getName());
//修改数据
Query query = new Query(Criteria.where("id").is(smileSchool.getId()));
Update name = Update.update("name", smileSchool.getName());
mongoTemplate.updateFirst(query,name,SmileSchoolVo.class,SmileSchoolVo.class.getSimpleName());
//更新redis
updateSchoolRedis();
return AjaxResult.success();
......@@ -109,6 +137,9 @@ public class SmileSchoolServiceImpl extends ServiceImpl<SmileSchoolMapper, Smile
}
//学校没有被使用 可以删除
smileSchoolMapper.updateDel(id);
//mongodb删除
Query query = new Query(Criteria.where("id").is(id));
mongoTemplate.remove(query,SmileSchoolVo.class,SmileSchoolVo.class.getSimpleName());
smileRedisUtils.delSchool(String.valueOf(id));
updateSchoolRedis();
return AjaxResult.success();
......@@ -120,10 +151,10 @@ public class SmileSchoolServiceImpl extends ServiceImpl<SmileSchoolMapper, Smile
smileSchoolMapper.selectListLimit().forEach(smileSchool -> {
SmileSchoolVo smileSchoolVo = new SmileSchoolVo();
try {
BeanUtils.copyProperties(smileSchool,smileSchoolVo);
smileSchoolVo = smileSchoolVo.copy(smileSchool);
smileSchoolVos.add(smileSchoolVo);
}catch (Exception e) {
e.printStackTrace();
log.error("学校集合redis保存updateSchoolRedis()失败:{}",e);
}
});
smileRedisUtils.setSchoolAll(smileSchoolVos);
......
......@@ -72,6 +72,13 @@ public class SmileRedisUtils {
redisDataSourceUtil.getRedisSweetUtil().set(SmileRedisConst.SMILE_SCHOOL, smileSchoolVos);
}
/**
* 获取全部学校
*/
public List<SmileSchoolVo> getSchoolAll() {
return (List<SmileSchoolVo>)redisDataSourceUtil.getRedisSweetUtil().get(SmileRedisConst.SMILE_SCHOOL);
}
/**
* 删除学校
*/
......
......@@ -34,7 +34,7 @@ public final class RedisUtil extends AbstractRedisUtil{
public static void main(String[] args) {
String[] keys = {
"smile:show",
"smile:school",
};
for (String key : keys) {
long value = key.hashCode();
......
......@@ -3,7 +3,7 @@
<mapper namespace="com.liquidnet.service.smile.mapper.SmileSchoolMapper">
<select id="selectListLimit" resultType="com.liquidnet.service.smile.entity.SmileSchool">
select id,name from smile_school where `del_tag` = 0;
select id,name from smile_school where `del_tag` = 0 LIMIT 20;
</select>
<select id="selectSchoolList" parameterType="java.util.Map" resultType="com.liquidnet.service.smile.entity.SmileSchool">
......
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