package com.ahies.test.module1.app.one.controller;
import com.ahies.test.module1.app.one.entity.Holiday;
import com.ahies.test.module1.app.one.service.HolidayService;
import com.ahies.test.module1.base.BaseController;
import com.ahies.test.module1.util.ExecutionContext;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.redisson.api.RMap;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* <p>
* 前端控制器
* </p>
*
* @author jobob
* @since 2019-04-08
*/
@RestController
@RequestMapping("/one/holiday")
public class HolidayController extends BaseController {
@Autowired
HolidayService holidayService;
@Autowired
RedissonClient redissonClient;
@Autowired
StringRedisTemplate stringRedisTemplate;
@RequestMapping("/get")
public Page get(){
Page page = new Page(1,10);
List<String> des = new ArrayList<>();
des.add("create_time");
page.setDescs(des);
//获取用户id
System.out.println(ExecutionContext.getUserId());
stringRedisTemplate.opsForValue().set("11","22");
return holidayService.selectPage(page,null);
}
@RequestMapping("/del")
public Integer del(){
return holidayService.deleteById(402);
}
@RequestMapping("/update")
public Boolean update(){
Holiday holiday = holidayService.selectById(401);
holiday.setYear("2018");
holiday.setMonth("13");
// UPDATE t_holiday SET year = ?, month = ?, quarter = ?, date = ?, status = ?, create_time = ? WHERE del = 0 AND date = ?
UpdateWrapper<Holiday> wrapper = new UpdateWrapper<>();
wrapper.lambda().eq(Holiday::getDate,"20191212");
return holidayService.update(holiday,wrapper);
// return holidayService.updateById(holiday);
}
@RequestMapping("/select")
public Page select(){
Page page = new Page(1,10);
List<String> des = new ArrayList<>();
des.add("status");
page.setDescs(des);
// 都是 and连接
QueryWrapper<Holiday> wrapper = new QueryWrapper<>();
// =
// wrapper.lambda().eq(Holiday::getStatus,"1");
// // >=
// wrapper.lambda().ge(Holiday::getId,2);
// // <=
// wrapper.lambda().le(Holiday::getId,100);
// // like %2020%
// wrapper.lambda().like(Holiday::getYear,"2020");
// //like %2019
// wrapper.lambda().likeLeft(Holiday::getDate,"2019");
// // like 1%
// wrapper.lambda().likeRight(Holiday::getMonth,"1");
// id > ? OR year LIKE ?`
wrapper.lambda().gt(Holiday::getId,100).or().like(Holiday::getYear,"2019");
return holidayService.selectPage(page,wrapper);
}
@RequestMapping("/login")
public Map<String,String> login(String name){
Map<String,Object> result = new HashMap<>();
result.put(ExecutionContext.USER_ID,name);
result.put(ExecutionContext.USER_NAME,name);
result.put(ExecutionContext.ACCESS_TOKEN,name);
//存储用户信息到redis中 key值Token value是用户信息
RMap<String, String> map = redissonClient.getMap(name);
map.put(ExecutionContext.USER_ID,name);
map.put(ExecutionContext.USER_NAME,name);
map.put(ExecutionContext.ACCESS_TOKEN,name);
return map;
}
}