package com.zy.crm.manager.controller; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.Page; import com.core.annotations.ManagerAuth; import com.core.common.BaseRes; import com.core.common.Cools; import com.core.common.R; import com.core.domain.KeyValueVo; import com.zy.crm.common.web.BaseController; import com.zy.crm.manager.entity.Plan; import com.zy.crm.manager.service.PlanService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @RestController public class PlanController extends BaseController { @Autowired private PlanService planService; @RequestMapping(value = "/plan/{id}/auth") @ManagerAuth public R get(@PathVariable("id") String id) { return R.ok(planService.selectById(String.valueOf(id))); } @RequestMapping(value = "/plan/page/auth") @ManagerAuth public R page(@RequestParam(defaultValue = "1") Integer curr, @RequestParam(defaultValue = "10") Integer limit, @RequestParam(required = false) String condition, @RequestParam(required = false, value = "dept_id") Long deptId, @RequestParam(required = false, value = "user_id") Long userId) { return R.ok(planService.getPage(new Page<>(curr, limit) , getHostId() , deptId == null ? null : String.valueOf(deptId) , userId == null ? getUserId() : userId , condition) ); } @RequestMapping(value = "/plan/add/auth") @ManagerAuth public R add(Plan plan) { planService.insert(plan); return R.ok(); } @RequestMapping(value = "/plan/update/auth") @ManagerAuth public R update(Plan plan){ if (Cools.isEmpty(plan) || null==plan.getId()){ return R.error(); } planService.updateById(plan); return R.ok(); } @RequestMapping(value = "/plan/delete/auth") @ManagerAuth public R delete(@RequestParam(value="ids[]") Long[] ids){ for (Long id : ids){ planService.deleteById(id); } return R.ok(); } @RequestMapping(value = "/planQuery/auth") @ManagerAuth public R query(String condition) { EntityWrapper wrapper = new EntityWrapper<>(); wrapper.like("name", condition); Page page = planService.selectPage(new Page<>(0, 10), wrapper); List> result = new ArrayList<>(); for (Plan plan : page.getRecords()){ Map map = new HashMap<>(); map.put("id", plan.getId()); map.put("value", plan.getName()); result.add(map); } return R.ok(result); } @RequestMapping(value = "/plan/check/column/auth") @ManagerAuth public R query(@RequestBody JSONObject param) { Wrapper wrapper = new EntityWrapper().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); if (null != planService.selectOne(wrapper)){ return R.parse(BaseRes.REPEAT).add(getComment(Plan.class, String.valueOf(param.get("key")))); } return R.ok(); } @RequestMapping("/plan/all/get/kv") @ManagerAuth public R getDataKV(@RequestParam(required = false) String condition) { List vos = new ArrayList<>(); Wrapper wrapper = new EntityWrapper().andNew().like("name", condition).orderBy("create_time", false); planService.selectPage(new Page<>(1, 30), wrapper).getRecords().forEach(item -> vos.add(new KeyValueVo(String.valueOf(item.getName()), item.getId()))); return R.ok().add(vos); } }