Просмотр исходного кода

fix(增加一个继承的controller操作的父亲)

gengyang 5 лет назад
Родитель
Сommit
06c9f9dc44
1 измененных файлов с 110 добавлено и 0 удалено
  1. 110 0
      src/main/java/com/mokamrp/privates/controller/BaseController.java

+ 110 - 0
src/main/java/com/mokamrp/privates/controller/BaseController.java

@@ -0,0 +1,110 @@
+package com.mokamrp.privates.controller;
+
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.baomidou.mybatisplus.service.IService;
+import com.mokamrp.privates.entity.IndexHandle;
+import com.mokamrp.privates.help.AjaxResult;
+import com.mokamrp.privates.mapper.pojo.*;
+import com.mokamrp.privates.service.TagService;
+import com.mokamrp.privates.service.WorkRoomService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+/**
+ * 一个粗糙的鸡肋
+ *
+ * @author gy
+ * @since 2021-04-17
+ */
+public class BaseController<T> {
+
+    @Autowired
+    public IService<T> service;
+
+    @RequestMapping("/del")
+    @ResponseBody
+    public Object delete(String id){
+
+        EntityWrapper<T> entityWrapper = new EntityWrapper<>();
+        System.out.println(id);
+        entityWrapper.eq("id",id);
+        boolean obj = service.delete(entityWrapper);
+        if(!obj){
+            return AjaxResult.error("删除失败");
+        }
+        return AjaxResult.success("success",obj);
+    }
+
+    @PostMapping("/add")
+    public Object add(@RequestBody T body){
+        service.insert(body);
+        return AjaxResult.success("success","ok");
+    }
+
+    @PostMapping("/edit")
+    public Object edit(@RequestBody T body){
+        service.updateById(body);
+        return AjaxResult.success("success","ok");
+    }
+
+    @PostMapping("/index")
+    public Object index(@Valid @RequestBody IndexHandle indexHandle){
+
+        Iterator fileterIt = indexHandle.getFilter().entrySet().iterator();
+
+        Wrapper<T> warpper = new EntityWrapper<T>();
+        //.@leon where like,=,<>
+        while (fileterIt.hasNext()){
+            Map.Entry entray = (Map.Entry) fileterIt.next();
+            Object key = entray.getKey();
+            Object value = entray.getValue();
+            Map<String,String> op = indexHandle.getOp();
+            if(op.get(key) == null || op.get(key).isEmpty() || op.get(key).toString().equals("=")){
+                warpper = warpper.eq(key.toString(),value.toString());
+            }else if (op.get(key).toString().equals("like")){
+                warpper = warpper.like(key.toString(),"%"+value.toString()+"%");
+            }else if (op.get(key).toString().equals("<>")){
+                warpper = warpper.ne(key.toString(),value.toString());
+            }
+        }
+
+        //使用相同条件
+        Integer total = service.selectCount(warpper);
+
+        //.@leon order
+        if (indexHandle.getOrder() != null && indexHandle.getSort() != null){
+            String order = indexHandle.getOrder();
+            String sort = indexHandle.getSort();
+            if (!order.isEmpty() && !sort.isEmpty()){
+                if (order.equals("asc")){
+                    warpper = warpper.orderBy(sort,true);
+                }else if(order.equals("desc")){
+                    warpper = warpper.orderBy(sort,false);
+                }
+            }
+        }
+
+        //.@leon offset limit
+        Page<T> page = service.selectPage(
+                new Page<T>(indexHandle.getOffset(),indexHandle.getLimit()),warpper
+        );
+
+        Map<String, Object> resMap = new HashMap<String,Object>();
+
+        resMap.put("list",page.getRecords());
+        resMap.put("total",total);
+
+        return AjaxResult.success(resMap);
+    }
+
+
+}
+