Przeglądaj źródła

reviser BaseController,分组、企业客服模块 自动生成CURD接口

MOKASZ\wzk12044 5 lat temu
rodzic
commit
d1e46f15a1

+ 7 - 0
pom.xml

@@ -123,6 +123,13 @@
         </includes>
         <filtering>false</filtering>
       </resource>
+      <resource>
+        <directory>src/main/resources/template</directory><!--所在的目录-->
+        <includes><!--包括目录下的.properties,.xml文件都会扫描到-->
+          <include>**/*.vm</include>
+        </includes>
+        <filtering>false</filtering>
+      </resource>
     </resources>
     <plugins>
       <plugin>

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

@@ -0,0 +1,123 @@
+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.constant.HttpStatus;
+import com.mokamrp.privates.entity.AddHandle;
+import com.mokamrp.privates.entity.DelHandle;
+import com.mokamrp.privates.entity.EditHandle;
+import com.mokamrp.privates.entity.IndexHandle;
+import com.mokamrp.privates.help.AjaxResult;
+import com.mokamrp.privates.mapper.pojo.*;
+import com.mokamrp.privates.utils.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+/**
+ * 一个粗糙的鸡肋
+ *
+ * @author gy @since 2021-04-17
+ * @reviser leon @since 2021-04-20
+ */
+public class BaseController<T> {
+    @Autowired
+    public IService<T> service;
+
+    @PostMapping("/del")
+    public Object delete(@Valid @RequestBody DelHandle<T> delHandle, BindingResult bindingResult){
+        if(bindingResult.hasErrors()){
+            return AjaxResult.error(HttpStatus.ERROR,bindingResult.getFieldError().getDefaultMessage());
+        }
+        EntityWrapper<T> entityWrapper = new EntityWrapper<>();
+        entityWrapper.in("id",delHandle.getIds());
+        boolean res = service.delete(entityWrapper);
+        if(!res){
+            return AjaxResult.error("删除失败");
+        }
+        return AjaxResult.success("success",res);
+    }
+
+    @PostMapping("/add")
+    public Object add(@Valid @RequestBody AddHandle<T> addHandle, BindingResult bindingResult){
+        if(bindingResult.hasErrors()){
+            return AjaxResult.error(HttpStatus.ERROR,bindingResult.getFieldError().getDefaultMessage());
+        }
+        Date date = new Date();
+        Boolean res = service.insert(addHandle.getRaw());
+        if (res){
+            return AjaxResult.success("success",res);
+        }else{
+            return AjaxResult.error("新增失败",res);
+        }
+    }
+
+    @PostMapping("/edit")
+    public Object edit(@Valid @RequestBody EditHandle<T> editHandle, BindingResult bindingResult){
+        if(bindingResult.hasErrors()){
+            return AjaxResult.error(HttpStatus.ERROR,bindingResult.getFieldError().getDefaultMessage());
+        }
+        service.update(editHandle.getRaw(),new EntityWrapper<T>().in("id",editHandle.getIds()));
+        return AjaxResult.success("success",true);
+    }
+
+    @PostMapping("/index")
+    public Object index(@Valid @RequestBody IndexHandle indexHandle, BindingResult bindingResult){
+        if(bindingResult.hasErrors()){
+            return AjaxResult.error(HttpStatus.ERROR,bindingResult.getFieldError().getDefaultMessage());
+        }
+        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();
+            //.这里sql字段需要驼峰转下划线
+            if(op.get(key) == null || op.get(key).isEmpty() || op.get(key).toString().equals("=")){
+                warpper = warpper.eq(StringUtils.humpToLine2(key.toString()),value.toString());
+            }else if (op.get(key).toString().equals("like")){
+                warpper = warpper.like(StringUtils.humpToLine2(key.toString()),"%"+value.toString()+"%");
+            }else if (op.get(key).toString().equals("<>")){
+                warpper = warpper.ne(StringUtils.humpToLine2(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);
+    }
+
+
+}
+

+ 8 - 28
src/main/java/com/mokamrp/privates/controller/GroupController.java

@@ -1,21 +1,14 @@
 package com.mokamrp.privates.controller;
 
 
-import com.mokamrp.privates.entity.AddHandle;
-import com.mokamrp.privates.mapper.pojo.GroupCorp;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 import com.mokamrp.privates.service.GroupService;
 import com.mokamrp.privates.mapper.pojo.Group;
-import com.mokamrp.privates.help.AjaxResult;
-import com.mokamrp.privates.entity.IndexHandle;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import com.mokamrp.privates.mapper.pojo.IndexBaseRes;
 
 import org.springframework.web.bind.annotation.RestController;
+
 import javax.validation.Valid;
-import java.util.Date;
 import java.util.List;
 
 /**
@@ -28,30 +21,17 @@ import java.util.List;
  */
 @RestController
 @RequestMapping("/group")
-public class GroupController {
+public class GroupController extends BaseController<Group> {
 
     @Autowired
     public GroupService groupService;
 
-    /**
-     * 基础查询方法
-     * @author leon 支持分页offset,limit;简单条件like,=,<>;排序order,sort
-     * @since 1949-10-01
+    /*
+     * @fast
+     * 默认生成的控制器所继承的父类中有index/add/edit/del四个基础方法,均为post json请求
+     * 如果需要定制化,需要将BaseController中对应的方法复制到当前控制器,然后进行修改
      */
-    @PostMapping("/index")
-    public Object index(@Valid @RequestBody IndexHandle indexHandle){
-        IndexBaseRes<Group> res = groupService.base(indexHandle);
-        return AjaxResult.success("success",res);
-    }
-
-    @PostMapping("/add")
-    public Object add(@Valid @RequestBody AddHandle<Group> addHandle){
-        Boolean res = groupService.add(addHandle);
-        if (res){
-            return AjaxResult.success("success",res);
-        }else{
-            return AjaxResult.error("add error",null);
-        }
-    }
+
+
 }
 

+ 5 - 10
src/main/java/com/mokamrp/privates/controller/GroupCorpController.java

@@ -23,21 +23,16 @@ import java.util.Map;
  */
 @RestController
 @RequestMapping("/groupCorp")
-public class GroupCorpController {
+public class GroupCorpController extends BaseController<GroupCorp> {
 
     @Autowired
     public GroupCorpService groupCorpService;
 
-    /**
-     * 基础查询方法
-     * @author leon 支持分页offset,limit;简单条件like,=,<>;排序order,sort
-     * @since 1949-10-01
+    /*
+     * @fast
+     * 默认生成的控制器所继承的父类中有index/add/edit/del四个基础方法,均为post json请求
+     * 如果需要定制化,需要将BaseController中对应的方法复制到当前控制器,然后进行修改
      */
-    @PostMapping("/index")
-    public Object index(@Valid @RequestBody IndexHandle indexHandle){
-        IndexBaseRes<GroupCorp> res = groupCorpService.base(indexHandle);
-        return AjaxResult.success("success",res);
-    }
 
     @GetMapping("/getGroupCorp")
     public Object getGroupCorp(){

+ 8 - 21
src/main/java/com/mokamrp/privates/controller/WorkEmployeeController.java

@@ -1,15 +1,12 @@
 package com.mokamrp.privates.controller;
 
 
-import com.mokamrp.privates.interceptor.AuthUser;
-import com.mokamrp.privates.mapper.pojo.User;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.RequestMapping;
 import com.mokamrp.privates.service.WorkEmployeeService;
 import com.mokamrp.privates.mapper.pojo.WorkEmployee;
-import com.mokamrp.privates.help.AjaxResult;
-import com.mokamrp.privates.entity.IndexHandle;
-import com.mokamrp.privates.mapper.pojo.IndexBaseRes;
+
+import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
 import java.util.List;
@@ -24,27 +21,17 @@ import java.util.List;
  */
 @RestController
 @RequestMapping("/workEmployee")
-public class WorkEmployeeController {
+public class WorkEmployeeController extends BaseController<WorkEmployee> {
 
     @Autowired
     public WorkEmployeeService workEmployeeService;
 
-    /**
-     * 基础查询方法
-     * @author leon 支持分页offset,limit;简单条件like,=,<>;排序order,sort
-     * @since 1949-10-01
+    /*
+     * @fast
+     * 默认生成的控制器所继承的父类中有index/add/edit/del四个基础方法,均为post json请求
+     * 如果需要定制化,需要将BaseController中对应的方法复制到当前控制器,然后进行修改
      */
-    @PostMapping("/index")
-    public Object index(@Valid @RequestBody IndexHandle indexHandle){
-        IndexBaseRes<WorkEmployee> res = workEmployeeService.base(indexHandle);
-        return AjaxResult.success("success",res);
-    }
-
-    @GetMapping("/getUserEmployee")
-    public void getUserEmployee(@AuthUser User authUser){
 
-//        return AjaxResult.success("success",);
-    }
 
 }
 

+ 5 - 0
src/main/java/com/mokamrp/privates/entity/AddHandle.java

@@ -3,6 +3,11 @@ package com.mokamrp.privates.entity;
 import lombok.Data;
 
 import javax.validation.constraints.NotNull;
+
+/**
+ * @author leon 通用新增请求实体类
+ * @param <T>
+ */
 @Data
 public class AddHandle<T> {
     //.@leon raw

+ 16 - 0
src/main/java/com/mokamrp/privates/entity/DelHandle.java

@@ -0,0 +1,16 @@
+package com.mokamrp.privates.entity;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author leon 通用新增请求实体类
+ * @param <T>
+ */
+@Data
+public class DelHandle<T> {
+    //.@leon ids 一般为主键","号分割
+    @NotNull(message = "ids 不可为空")
+    private String ids;
+}

+ 20 - 0
src/main/java/com/mokamrp/privates/entity/EditHandle.java

@@ -0,0 +1,20 @@
+package com.mokamrp.privates.entity;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author leon 通用新增请求实体类
+ * @param <T>
+ */
+@Data
+public class EditHandle<T> {
+    //.@leon ids 一般为主键","号分割
+    @NotNull(message = "ids 不可为空")
+    private String ids;
+
+    //.@leon raw
+    @NotNull(message = "raw 不可为空")
+    private T raw;
+}

+ 1 - 1
src/main/java/com/mokamrp/privates/mapper/pojo/Group.java

@@ -25,7 +25,7 @@ public class Group extends Model<Group> {
     @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
     /**
-     * 1 企业分组 2 管理账户分组
+     * 1 企业分组 2 管理账户分组 3-群标签分组
      */
     private Integer groupType;
     /**

+ 0 - 7
src/main/java/com/mokamrp/privates/service/GroupCorpService.java

@@ -17,13 +17,6 @@ import java.util.Map;
  */
 public interface GroupCorpService extends IService<GroupCorp> {
     /**
-     * 基础sql操作方法
-     * @author leon 支持分页offset,limit;简单条件like,=,<>;排序order,sort
-     * @since 1949-10-01
-     */
-    public IndexBaseRes<GroupCorp> base(IndexHandle indexhandle);
-
-    /**
      * 查询企业分组绑定关系
      * @return
      */

+ 0 - 16
src/main/java/com/mokamrp/privates/service/GroupService.java

@@ -2,10 +2,6 @@ package com.mokamrp.privates.service;
 
 import com.mokamrp.privates.mapper.pojo.Group;
 import com.baomidou.mybatisplus.service.IService;
-import com.mokamrp.privates.entity.IndexHandle;
-import com.mokamrp.privates.mapper.pojo.IndexBaseRes;
-import com.mokamrp.privates.entity.AddHandle;
-import java.util.List;
 
 /**
  * <p>
@@ -16,17 +12,5 @@ import java.util.List;
  * @since 2021-04-20
  */
 public interface GroupService extends IService<Group> {
-    /**
-     * 基础sql查询方法
-     * @author leon 支持分页offset,limit;简单条件like,=,<>;排序order,sort
-     * @since 1949-10-01
-     */
-    public IndexBaseRes<Group> base(IndexHandle indexhandle);
 
-    /**
-     * 基础sql新增方法
-     * @author leon raw{}
-     * @since 1949-10-01
-     */
-    public Boolean add(AddHandle<Group> addHandle);
 }

+ 1 - 9
src/main/java/com/mokamrp/privates/service/WorkEmployeeService.java

@@ -2,9 +2,6 @@ package com.mokamrp.privates.service;
 
 import com.mokamrp.privates.mapper.pojo.WorkEmployee;
 import com.baomidou.mybatisplus.service.IService;
-import com.mokamrp.privates.entity.IndexHandle;
-import com.mokamrp.privates.mapper.pojo.IndexBaseRes;
-import java.util.List;
 
 /**
  * <p>
@@ -15,10 +12,5 @@ import java.util.List;
  * @since 2021-04-20
  */
 public interface WorkEmployeeService extends IService<WorkEmployee> {
-    /**
-     * 基础sql操作方法
-     * @author leon 支持分页offset,limit;简单条件like,=,<>;排序order,sort
-     * @since 1949-10-01
-     */
-    public IndexBaseRes<WorkEmployee> base(IndexHandle indexhandle);
+
 }

+ 0 - 45
src/main/java/com/mokamrp/privates/service/impl/GroupCorpServiceImpl.java

@@ -31,51 +31,6 @@ public class GroupCorpServiceImpl extends ServiceImpl<GroupCorpMapper, GroupCorp
     private GroupCorpMapper groupCorpMapper;
 
     /**
-     * 基础sql操作方法
-     * @author leon 支持分页offset,limit;简单条件like,=,<>;排序order,sort
-     * @since 1949-10-01
-     */
-    public IndexBaseRes<GroupCorp> base(IndexHandle indexhandle){
-        Integer total = this.selectCount(new EntityWrapper<GroupCorp>());
-        Iterator fileterIt = indexhandle.getFilter().entrySet().iterator();
-        Wrapper<GroupCorp> warpper = new EntityWrapper<GroupCorp>();
-        //.@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());
-            }
-        }
-        //.@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<GroupCorp> page = this.selectPage(
-            new Page<GroupCorp>(indexhandle.getOffset(),indexhandle.getLimit()),warpper
-        );
-        IndexBaseRes<GroupCorp> result = new IndexBaseRes<GroupCorp>();
-        result.setList(page.getRecords());
-        result.setTotal(total);
-        return result;
-    }
-
-    /**
      * 查询企业分组绑定关系
      * @return
      */

+ 0 - 60
src/main/java/com/mokamrp/privates/service/impl/GroupServiceImpl.java

@@ -1,20 +1,10 @@
 package com.mokamrp.privates.service.impl;
 
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.baomidou.mybatisplus.mapper.Wrapper;
-import com.baomidou.mybatisplus.plugins.Page;
-import com.mokamrp.privates.entity.AddHandle;
 import com.mokamrp.privates.mapper.pojo.Group;
 import com.mokamrp.privates.mapper.GroupMapper;
 import com.mokamrp.privates.service.GroupService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
-import com.mokamrp.privates.entity.IndexHandle;
-import com.mokamrp.privates.mapper.pojo.IndexBaseRes;
-
-import java.util.Date;
-import java.util.Iterator;
-import java.util.Map;
 
 /**
  * <p>
@@ -26,55 +16,5 @@ import java.util.Map;
  */
 @Service
 public class GroupServiceImpl extends ServiceImpl<GroupMapper, Group> implements GroupService {
-    /**
-     * 基础sql操作方法
-     * @author leon 支持分页offset,limit;简单条件like,=,<>;排序order,sort
-     * @since 1949-10-01
-     */
-    public IndexBaseRes<Group> base(IndexHandle indexhandle){
-        Integer total = this.selectCount(new EntityWrapper<Group>());
-        Iterator fileterIt = indexhandle.getFilter().entrySet().iterator();
-        Wrapper<Group> warpper = new EntityWrapper<Group>();
-        //.@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());
-            }
-        }
-        //.@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<Group> page = this.selectPage(
-            new Page<Group>(indexhandle.getOffset(),indexhandle.getLimit()),warpper
-        );
-        IndexBaseRes<Group> result = new IndexBaseRes<Group>();
-        result.setList(page.getRecords());
-        result.setTotal(total);
-        return result;
-    }
 
-    public Boolean add(AddHandle<Group> addHandle){
-        Date date = new Date();
-        addHandle.getRaw().setCreateAt(date);
-        addHandle.getRaw().setUpdateAt(date);
-        return this.insert(addHandle.getRaw());
-    }
 }

+ 1 - 52
src/main/java/com/mokamrp/privates/service/impl/WorkEmployeeServiceImpl.java

@@ -1,18 +1,10 @@
 package com.mokamrp.privates.service.impl;
 
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.baomidou.mybatisplus.mapper.Wrapper;
-import com.baomidou.mybatisplus.plugins.Page;
 import com.mokamrp.privates.mapper.pojo.WorkEmployee;
 import com.mokamrp.privates.mapper.WorkEmployeeMapper;
 import com.mokamrp.privates.service.WorkEmployeeService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
-import com.mokamrp.privates.entity.IndexHandle;
-import com.mokamrp.privates.mapper.pojo.IndexBaseRes;
-
-import java.util.Iterator;
-import java.util.Map;
 
 /**
  * <p>
@@ -24,48 +16,5 @@ import java.util.Map;
  */
 @Service
 public class WorkEmployeeServiceImpl extends ServiceImpl<WorkEmployeeMapper, WorkEmployee> implements WorkEmployeeService {
-    /**
-     * 基础sql操作方法
-     * @author leon 支持分页offset,limit;简单条件like,=,<>;排序order,sort
-     * @since 1949-10-01
-     */
-    public IndexBaseRes<WorkEmployee> base(IndexHandle indexhandle){
-        Integer total = this.selectCount(new EntityWrapper<WorkEmployee>());
-        Iterator fileterIt = indexhandle.getFilter().entrySet().iterator();
-        Wrapper<WorkEmployee> warpper = new EntityWrapper<WorkEmployee>();
-        //.@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());
-            }
-        }
-        //.@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<WorkEmployee> page = this.selectPage(
-            new Page<WorkEmployee>(indexhandle.getOffset(),indexhandle.getLimit()),warpper
-        );
-        IndexBaseRes<WorkEmployee> result = new IndexBaseRes<WorkEmployee>();
-        result.setList(page.getRecords());
-        result.setTotal(total);
-        return result;
-    }
+
 }

+ 18 - 0
src/main/java/com/mokamrp/privates/utils/StringUtils.java

@@ -2,6 +2,8 @@ package com.mokamrp.privates.utils;
 
 
 import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * 字符串工具类
@@ -518,4 +520,20 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
         }
         return sb.toString();
     }
+
+    /**
+     * 驼峰转下划线
+     * @param str
+     * @return
+     */
+    public static String humpToLine2(String str) {
+        Pattern humpPattern = Pattern.compile("[A-Z]");
+        Matcher matcher = humpPattern.matcher(str);
+        StringBuffer sb = new StringBuffer();
+        while (matcher.find()) {
+            matcher.appendReplacement(sb, "_" + matcher.group(0).toLowerCase());
+        }
+        matcher.appendTail(sb);
+        return sb.toString();
+    }
 }

+ 8 - 16
src/main/resources/template/controller.java.vm

@@ -5,11 +5,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 import ${package.Service}.${table.serviceName};
 import ${package.Entity}.${entity};
-import com.mokamrp.privates.help.AjaxResult;
-import com.mokamrp.privates.entity.IndexHandle;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import com.mokamrp.privates.mapper.pojo.IndexBaseRes;
 
 #if(${restControllerStyle})
 import org.springframework.web.bind.annotation.RestController;
@@ -17,7 +12,7 @@ import org.springframework.web.bind.annotation.RestController;
 import org.springframework.stereotype.Controller;
 #end
 #if(${superControllerClassPackage})
-import ${superControllerClassPackage};
+
 #end
 import javax.validation.Valid;
 import java.util.List;
@@ -41,7 +36,7 @@ class ${table.controllerName}#if(${superControllerClass}) : ${superControllerCla
 
 #else
 #if(${superControllerClass})
-public class ${table.controllerName} extends ${superControllerClass} {
+public class ${table.controllerName} extends ${superControllerClass}<${entity}> {
 #else
 public class ${table.controllerName} {
 #end
@@ -49,16 +44,13 @@ public class ${table.controllerName} {
     @Autowired
     public ${table.serviceName} ${table.entityPath}Service;
 
-    /**
-     * 基础查询方法
-     * @author leon 支持分页offset,limit;简单条件like,=,<>;排序order,sort
-     * @since 1949-10-01
+    /*
+     * @fast
+     * 默认生成的控制器所继承的父类中有index/add/edit/del四个基础方法,均为post json请求
+     * 如果需要定制化,需要将BaseController中对应的方法复制到当前控制器,然后进行修改
      */
-    @PostMapping("/index")
-    public Object index(@Valid @RequestBody IndexHandle indexHandle){
-        IndexBaseRes<${entity}> res = ${table.entityPath}Service.base(indexHandle);
-        return AjaxResult.success("success",res);
-    }
+
+
 }
 
 #end

+ 1 - 6
src/main/resources/template/service.java.vm

@@ -18,11 +18,6 @@ import java.util.List;
 interface ${table.serviceName} : ${superServiceClass}<${entity}>
 #else
 public interface ${table.serviceName} extends ${superServiceClass}<${entity}> {
-    /**
-     * 基础sql操作方法
-     * @author leon 支持分页offset,limit;简单条件like,=,<>;排序order,sort
-     * @since 1949-10-01
-     */
-    public IndexBaseRes<${entity}> base(IndexHandle indexhandle);
+
 }
 #end

+ 1 - 44
src/main/resources/template/serviceImpl.java.vm

@@ -29,49 +29,6 @@ open class ${table.serviceImplName} : ${superServiceImplClass}<${table.mapperNam
 }
 #else
 public class ${table.serviceImplName} extends ${superServiceImplClass}<${table.mapperName}, ${entity}> implements ${table.serviceName} {
-    /**
-     * 基础sql操作方法
-     * @author leon 支持分页offset,limit;简单条件like,=,<>;排序order,sort
-     * @since 1949-10-01
-     */
-    public IndexBaseRes<${entity}> base(IndexHandle indexhandle){
-        Integer total = this.selectCount(new EntityWrapper<${entity}>());
-        Iterator fileterIt = indexhandle.getFilter().entrySet().iterator();
-        Wrapper<${entity}> warpper = new EntityWrapper<${entity}>();
-        //.@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());
-            }
-        }
-        //.@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<${entity}> page = this.selectPage(
-            new Page<${entity}>(indexhandle.getOffset(),indexhandle.getLimit()),warpper
-        );
-        IndexBaseRes<${entity}> result = new IndexBaseRes<${entity}>();
-        result.setList(page.getRecords());
-        result.setTotal(total);
-        return result;
-    }
+
 }
 #end

+ 5 - 4
src/test/java/com/mokamrp/AutoMP.java

@@ -48,9 +48,10 @@ public class AutoMP {
 		stConfig.setCapitalMode(true) //全局大写命名
 				.setRestControllerStyle(true) //.RestController
 				.setDbColumnUnderline(true)  // 指定表名 字段名是否使用下划线
+				.setSuperControllerClass("BaseController")
 				.setNaming(NamingStrategy.underline_to_camel) // 数据库表映射到实体的命名策略,下划线转驼峰命名
-				.setTablePrefix("private_") //表名前缀
-				.setInclude("private_group_corp");  // 生成的表
+				.setTablePrefix("mc_") //表名前缀
+				.setInclude("mc_work_employee");  // 生成的表
 		
 		//4. 包名策略配置 
 		PackageConfig pkConfig = new PackageConfig();
@@ -77,8 +78,8 @@ public class AutoMP {
 		  .setPackageInfo(pkConfig);
 		//. @leon 自定义模板
 		TemplateConfig tc = new TemplateConfig();
-		tc.setService("/template/service.java.vm");
-		tc.setServiceImpl("/template/serviceImpl.java.vm");
+//		tc.setService("/template/service.java.vm");
+//		tc.setServiceImpl("/template/serviceImpl.java.vm");
 		tc.setController("/template/controller.java.vm");
 		ag.setTemplate(tc);
 		//7. 执行