食堂区域管理
diff --git a/build.gradle b/build.gradle
index e60f773..464e7cf 100644
--- a/build.gradle
+++ b/build.gradle
@@ -25,6 +25,7 @@
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
+ implementation 'org.springframework.boot:spring-boot-starter-tomcat'
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-security'
diff --git a/config/application-devel-pg.properties b/config/application-devel-pg.properties
index 5bbedd3..f4d1f18 100644
--- a/config/application-devel-pg.properties
+++ b/config/application-devel-pg.properties
@@ -5,7 +5,7 @@
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false
# Postgresql settings
spring.datasource.platform=postgresql
-spring.datasource.url=jdbc:postgresql://172.28.201.70:15432/payapi
+spring.datasource.url=jdbc:postgresql://172.28.201.70:15432/restaurant
spring.datasource.username=payapi
spring.datasource.password=123456
database.dbtype=postgresql
diff --git a/src/main/java/com/supwisdom/dlpay/area/bean/AreaSearchBean.java b/src/main/java/com/supwisdom/dlpay/area/bean/AreaSearchBean.java
new file mode 100644
index 0000000..b3c4509
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/area/bean/AreaSearchBean.java
@@ -0,0 +1,16 @@
+package com.supwisdom.dlpay.area.bean;
+
+import com.supwisdom.dlpay.system.bean.PageBean;
+
+public class AreaSearchBean extends PageBean {
+ private String areaname;
+
+ public String getAreaname() {
+ return areaname;
+ }
+
+ public void setAreaname(String functioname) {
+ this.areaname = functioname;
+ }
+
+}
diff --git a/src/main/java/com/supwisdom/dlpay/area/controller/AreaController.java b/src/main/java/com/supwisdom/dlpay/area/controller/AreaController.java
new file mode 100644
index 0000000..4c4baf1
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/area/controller/AreaController.java
@@ -0,0 +1,90 @@
+package com.supwisdom.dlpay.area.controller;
+
+
+import com.google.gson.Gson;
+import com.supwisdom.dlpay.api.bean.JsonResult;
+import com.supwisdom.dlpay.area.bean.AreaSearchBean;
+import com.supwisdom.dlpay.area.domain.TArea;
+import com.supwisdom.dlpay.area.service.AreaService;
+import com.supwisdom.dlpay.framework.util.PageResult;
+import com.supwisdom.dlpay.framework.util.WebConstant;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Controller
+@RequestMapping("/area")
+public class AreaController {
+
+ @Autowired
+ private AreaService areaService;
+
+ @RequestMapping("/index")
+ public String indexView(ModelMap model) {
+ List<TArea> lst = areaService.findAll();
+ Map<Integer, String> map = new HashMap<>();
+ for (TArea area : lst) {
+ map.put(area.getId(), area.getAreaname());
+ }
+ Gson gson = new Gson();
+ String gsonString = gson.toJson(map);
+ model.put("areaList", gsonString);
+ return "area/index";
+ }
+
+ @RequestMapping("/list")
+ @PreAuthorize("hasPermission('/area/index','')")
+ @ResponseBody
+ public PageResult<TArea> getDataList(@RequestParam("page") Integer pageNo,
+ @RequestParam("limit") Integer pageSize,
+ @RequestParam(value = "searchkey", required = false) String searchKey) {
+ try {
+ if (null == pageNo || pageNo < 1) pageNo = WebConstant.PAGENO_DEFAULT;
+ if (null == pageSize || pageSize < 1) pageSize = WebConstant.PAGESIZE_DEFAULT;
+ AreaSearchBean searchBean = new AreaSearchBean();
+ searchBean.setPageNo(pageNo);
+ searchBean.setAreaname(searchKey);
+ searchBean.setPageSize(pageSize);
+ return areaService.getAreaByKey(searchBean);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return new PageResult<>(99, "系统查询错误");
+ }
+ }
+
+
+ @GetMapping("/loadadd")
+ @PreAuthorize("hasPermission('/area/loadadd','')")
+ public String loadadd(Model model) {
+ List<TArea> list = areaService.findAll();
+ model.addAttribute("arealist", list);
+ return "area/form";
+ }
+
+ @PostMapping("/add")
+ @PreAuthorize("hasPermission('/area/add','')")
+ @ResponseBody
+ public JsonResult add(@RequestBody TArea area) {
+ System.out.println(area);
+ if (area != null) {
+ return areaService.saveArea(area);
+ } else {
+ return JsonResult.error("添加失败");
+ }
+ }
+
+ @PostMapping("/delete")
+ @PreAuthorize("hasPermission('/area/delete','')")
+ @ResponseBody
+ public JsonResult delfunc(@RequestParam Integer id) {
+ return areaService.deleteArea(id);
+ }
+
+}
diff --git a/src/main/java/com/supwisdom/dlpay/area/dao/AreaDao.java b/src/main/java/com/supwisdom/dlpay/area/dao/AreaDao.java
new file mode 100644
index 0000000..0b7a308
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/area/dao/AreaDao.java
@@ -0,0 +1,17 @@
+package com.supwisdom.dlpay.area.dao;
+
+
+import com.supwisdom.dlpay.area.domain.TArea;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface AreaDao extends JpaRepository<TArea, Integer> {
+
+
+ Page<TArea> findAllByAreanameContaining(String name, Pageable pageable);
+
+ TArea findByAreaname(String areaname);
+}
diff --git a/src/main/java/com/supwisdom/dlpay/area/domain/TArea.java b/src/main/java/com/supwisdom/dlpay/area/domain/TArea.java
new file mode 100644
index 0000000..2148783
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/area/domain/TArea.java
@@ -0,0 +1,85 @@
+package com.supwisdom.dlpay.area.domain;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "TB_AREA")
+@SequenceGenerator(name="SEQ_AREA",sequenceName="SEQ_AREA",allocationSize=1)
+public class TArea {
+
+ private Integer id;
+ private String areaname;
+ private Integer fid;
+ private Integer arealevel;
+ private String addr;
+ private String remark;
+
+ @Id
+ @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ_AREA")
+ @Column(name = "id", unique = true, nullable = false, length = 8)
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer areacode) {
+ this.id = areacode;
+ }
+
+
+ @Column(name = "AREANAME", length = 60)
+ public String getAreaname() {
+ return this.areaname;
+ }
+
+ public void setAreaname(String areaname) {
+ this.areaname = areaname;
+ }
+
+ @Column(name = "fid", length = 8)
+ public Integer getFid() {
+ return fid;
+ }
+
+ public void setFid(Integer fid) {
+ this.fid = fid;
+ }
+
+ @Column(name = "AREALEVEL", precision = 9, scale = 0)
+ public Integer getArealevel() {
+ return this.arealevel;
+ }
+
+ public void setArealevel(Integer arealevel) {
+ this.arealevel = arealevel;
+ }
+
+ @Column(name = "ADDR", length = 240)
+ public String getAddr() {
+ return this.addr;
+ }
+
+ public void setAddr(String addr) {
+ this.addr = addr;
+ }
+
+ @Column(name = "REMARK", length = 240)
+ public String getRemark() {
+ return this.remark;
+ }
+
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+
+ @Override
+ public String toString() {
+ return "TArea{" +
+ "id=" + id +
+ ", areaname='" + areaname + '\'' +
+ ", fid=" + fid +
+ ", arealevel=" + arealevel +
+ ", addr='" + addr + '\'' +
+ ", remark='" + remark + '\'' +
+ '}';
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/supwisdom/dlpay/area/service/AreaService.java b/src/main/java/com/supwisdom/dlpay/area/service/AreaService.java
new file mode 100644
index 0000000..9bee95d
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/area/service/AreaService.java
@@ -0,0 +1,26 @@
+package com.supwisdom.dlpay.area.service;
+
+import com.supwisdom.dlpay.api.bean.JsonResult;
+import com.supwisdom.dlpay.area.bean.AreaSearchBean;
+import com.supwisdom.dlpay.area.domain.TArea;
+import com.supwisdom.dlpay.framework.util.PageResult;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+public interface AreaService {
+
+ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,readOnly = true)
+ PageResult<TArea> getAreaByKey(AreaSearchBean param);
+
+ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,readOnly = true)
+ List<TArea> findAll();
+
+ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+ JsonResult saveArea(TArea area);
+
+ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+ JsonResult deleteArea(Integer id);
+
+}
diff --git a/src/main/java/com/supwisdom/dlpay/area/service/impl/AreaServiceImpl.java b/src/main/java/com/supwisdom/dlpay/area/service/impl/AreaServiceImpl.java
new file mode 100644
index 0000000..6b19406
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/area/service/impl/AreaServiceImpl.java
@@ -0,0 +1,55 @@
+package com.supwisdom.dlpay.area.service.impl;
+
+import com.supwisdom.dlpay.api.bean.JsonResult;
+import com.supwisdom.dlpay.area.bean.AreaSearchBean;
+import com.supwisdom.dlpay.area.dao.AreaDao;
+import com.supwisdom.dlpay.area.domain.TArea;
+import com.supwisdom.dlpay.area.service.AreaService;
+import com.supwisdom.dlpay.framework.util.PageResult;
+import com.supwisdom.dlpay.framework.util.StringUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class AreaServiceImpl implements AreaService {
+ @Autowired
+ private AreaDao areaDao;
+
+ @Override
+ public PageResult<TArea> getAreaByKey(AreaSearchBean param) {
+ Pageable pageable = PageRequest.of(param.getPageNo() - 1, param.getPageSize()
+ , Sort.by("id"));
+ if (!StringUtil.isEmpty(param.getAreaname())) {
+ return new PageResult<>(areaDao.findAllByAreanameContaining(param.getAreaname(), pageable));
+ }
+ return new PageResult<>(areaDao.findAll(pageable));
+ }
+
+ @Override
+ public List<TArea> findAll() {
+ return areaDao.findAll();
+ }
+
+ @Override
+ public JsonResult saveArea(TArea area) {
+ /* TArea temp = areaDao.findByAreaname(area.getAreaname());
+ if (temp != null) {
+ return JsonResult.error("地区名重复");
+ }*/
+ area.setArealevel(2);
+
+ areaDao.save(area);
+ return JsonResult.ok("成功");
+ }
+
+ @Override
+ public JsonResult deleteArea(Integer id) {
+ areaDao.deleteById(id);
+ return JsonResult.ok("成功");
+ }
+}
diff --git a/src/main/java/com/supwisdom/dlpay/shopmanagement/ShopManageController.java b/src/main/java/com/supwisdom/dlpay/shopmanagement/ShopManageController.java
new file mode 100644
index 0000000..3fcc576
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/shopmanagement/ShopManageController.java
@@ -0,0 +1,223 @@
+package com.supwisdom.dlpay.shopmanagement;
+
+import com.supwisdom.dlpay.api.bean.JsonResult;
+import com.supwisdom.dlpay.framework.domain.TOperLog;
+import com.supwisdom.dlpay.framework.domain.TOperRole;
+import com.supwisdom.dlpay.framework.domain.TOperator;
+import com.supwisdom.dlpay.framework.security.OperUtil;
+import com.supwisdom.dlpay.framework.util.PageResult;
+import com.supwisdom.dlpay.framework.util.StringUtil;
+import com.supwisdom.dlpay.framework.util.WebConstant;
+import com.supwisdom.dlpay.system.bean.LogBean;
+import com.supwisdom.dlpay.system.bean.OperatorSearchBean;
+import com.supwisdom.dlpay.system.service.OperatorService;
+import com.supwisdom.dlpay.system.service.RoleService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+
+@Controller
+@RequestMapping("/shop")
+public class ShopManageController {
+ @Autowired
+ private OperatorService operatorService;
+ @Autowired
+ private RoleService roleService;
+
+ @GetMapping("/index")
+ @PreAuthorize("hasPermission('/operator/index','')")
+ public String indexView(Model model) {
+ System.out.println("here is index");
+ return "system/operator/index";
+ }
+
+ @GetMapping("/list")
+ @ResponseBody
+ public PageResult<TOperator> getDataList(@RequestParam("page") Integer pageNo,
+ @RequestParam("limit") Integer pageSize,
+ @RequestParam(value = "searchkey", required = false) String searchKey,
+ @RequestParam(value = "searchvalue", required = false) String searchValue) {
+ try {
+
+ if (null == pageNo || pageNo < 1) pageNo = WebConstant.PAGENO_DEFAULT;
+ if (null == pageSize || pageSize < 1) pageSize = WebConstant.PAGESIZE_DEFAULT;
+ OperatorSearchBean searchBean = new OperatorSearchBean();
+ if (!StringUtil.isEmpty(searchValue)) {
+ if ("opercode".equals(searchKey)) {
+ searchBean.setOpercode(searchValue.trim());
+ } else if ("opername".equals(searchKey)) {
+ searchBean.setOpername(searchValue.trim());
+ } else if ("mobile".equals(searchValue.trim())) {
+ searchBean.setMobile(searchValue.trim());
+ }
+ }
+ return operatorService.getOperatorsByPage(pageNo, pageSize, searchBean);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return new PageResult<>(99, "系统查询错误");
+ }
+ }
+
+ @GetMapping("/load4add")
+ @PreAuthorize("hasPermission('/operator/load4add','')")
+ public String load4addOperator(Model model) {
+ model.addAttribute("roles", roleService.findAllRoles());
+ return "system/operator/operator";
+ }
+
+ @GetMapping("/checkopercode")
+ @ResponseBody
+ public JsonResult checkOpercode(@RequestParam("opercode") String opercode,
+ @RequestParam(value = "operid", required = false) String operid) {
+ if (operatorService.checkOpercodeExists(opercode, operid)) {
+ return JsonResult.error("账号重复");
+ }
+ return JsonResult.ok("success");
+ }
+
+ @PostMapping("/getoperatorrole")
+ @ResponseBody
+ public JsonResult getoperatorrole(@RequestParam(value = "operid") String operid) {
+ List<TOperRole> roles = operatorService.getOperRoleByOperId(operid);
+ JsonResult ret = JsonResult.ok("success");
+ ret.put("roles", roles);
+ return ret;
+ }
+
+ @PostMapping("/add")
+ @PreAuthorize("hasPermission('/operator/add','')")
+ @ResponseBody
+ public JsonResult add(@RequestParam("operid") String operid, @RequestParam("opercode") String opercode,
+ @RequestParam("opername") String opername, @RequestParam("sex") String sex,
+ @RequestParam("mobile") String mobile, @RequestParam("email") String email,
+ @RequestParam("roleId") String roleId, Model map) {
+ if (operatorService.checkOpercodeExists(opercode, operid)) {
+ return JsonResult.error("账号重复");
+ }
+ TOperator operator = new TOperator();
+ operator.setOpername(opername);
+ operator.setOpercode(opercode);
+ operator.setOperid(operid);
+ operator.setMobile(mobile);
+ operator.setEmail(email);
+ operator.setSex(sex);
+ boolean ret = operatorService.saveOperator(operator, roleId);
+ if (ret) {
+ return JsonResult.ok("操作成功");
+ } else {
+ return JsonResult.error("操作失败");
+ }
+ }
+
+ @PostMapping("/resetpwd")
+ @PreAuthorize("hasPermission('/operator/resetpwd','')")
+ @ResponseBody
+ public JsonResult resetpwd(@RequestParam("operid") String operid) {
+ if (operatorService.resetPwd(operid)) {
+ return JsonResult.ok("操作成功,密码重置为123456");
+ } else {
+ return JsonResult.error("操作失败");
+ }
+ }
+
+ @PostMapping("/updatestate")
+ @PreAuthorize("hasPermission('/operator/updatestate','')")
+ @ResponseBody
+ public JsonResult updatestate(@RequestParam("operid") String operid, @RequestParam("state") String state) {
+ if (operatorService.updateState(operid, state)) {
+ return JsonResult.ok("操作成功");
+ } else {
+ return JsonResult.error("操作失败");
+ }
+ }
+
+ @GetMapping("/logs")
+ public String logs() {
+ return "system/operator/logs";
+ }
+
+ @GetMapping("/logslist")
+ @PreAuthorize("hasPermission('/operator/logslist','')")
+ @ResponseBody
+ public PageResult<TOperLog> logslist(@RequestParam("page") Integer pageNo,
+ @RequestParam("limit") Integer pageSize,
+ @RequestParam(value = "searchkey", required = false) String searchKey) {
+ try {
+ if (null == pageNo || pageNo < 1) pageNo = WebConstant.PAGENO_DEFAULT;
+ if (null == pageSize || pageSize < 1) pageSize = WebConstant.PAGESIZE_DEFAULT;
+ LogBean searchBean = new LogBean();
+ searchBean.setPageNo(pageNo);
+ searchBean.setOpername(searchKey);
+ searchBean.setPageSize(pageSize);
+ return operatorService.getOperLogs(searchBean);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return new PageResult<>(99, "系统查询错误");
+ }
+ }
+
+ @GetMapping("/userinfor")
+ public String userinfor(ModelMap map) {
+ TOperator operator = OperUtil.getCurrentOper();
+ if(operator!=null){
+ operator = operatorService.getOperatorByCode(operator.getOpercode());
+ }
+ map.put("user", operator);
+ return "system/operator/userinfor";
+ }
+
+ @PostMapping("/updateinfor")
+ @ResponseBody
+ public JsonResult updateinfor(@RequestBody TOperator oper) {
+ TOperator operator = OperUtil.getCurrentOper();
+ if (oper != null) {
+ operator.setSex(oper.getSex());
+ operator.setOpername(oper.getOpername());
+ operator.setEmail(oper.getEmail());
+ operator.setMobile(oper.getMobile());
+ operatorService.saveOperator(operator);
+ }
+ return JsonResult.ok("操作成功");
+ }
+
+ @GetMapping("/setpwd")
+ public String setpwd(ModelMap map) {
+ return "system/operator/setpwd";
+ }
+
+ @PostMapping("/dosetpwd")
+ @ResponseBody
+ public JsonResult dosetpwd(@RequestParam String curpwd,
+ @RequestParam String newpwd, @RequestParam String renewpwd) {
+ if (StringUtil.isEmpty(curpwd)
+ || StringUtil.isEmpty(newpwd)
+ || StringUtil.isEmpty(renewpwd)) {
+ return JsonResult.error("参数粗错误");
+ }
+ BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
+ String encpwd = encoder.encode(curpwd);
+ TOperator operator = OperUtil.getCurrentOper();
+ if (operator == null) {
+ return JsonResult.error(401, "登录已过期,请重新登录");
+ }
+ if (!encoder.matches(curpwd,operator.getPassword())) {
+ return JsonResult.error("当前密码错误");
+ }
+ if (!newpwd.equals(renewpwd)) {
+ return JsonResult.error("两次密码不一致");
+ }
+ if(newpwd.length()<6||newpwd.length()>20){
+ return JsonResult.error("密码6~20个字符");
+ }
+ operator.setOperpwd(encoder.encode(newpwd));
+ operatorService.saveOperator(operator);
+ return JsonResult.ok("密码修改成功,请重新登录");
+ }
+}
diff --git a/src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java b/src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java
index dc0ef57..3b57620 100644
--- a/src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java
+++ b/src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java
@@ -33,6 +33,7 @@
@GetMapping("/index")
@PreAuthorize("hasPermission('/operator/index','')")
public String indexView(Model model) {
+ System.out.println("here is index");
return "system/operator/index";
}
diff --git a/src/main/kotlin/com/supwisdom/dlpay/framework/service/impl/framework_service_impl.kt b/src/main/kotlin/com/supwisdom/dlpay/framework/service/impl/framework_service_impl.kt
index 56f2586..17e6ca9 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/framework/service/impl/framework_service_impl.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/framework/service/impl/framework_service_impl.kt
@@ -36,7 +36,7 @@
try {
return Manifests.read("Payapi-Version") ?: "version 1.0"
} catch (ex: Exception) {
-// ex.printStackTrace()
+ ex.printStackTrace()
return "unknown"
}
}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 4c33b78..c1ec200 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -26,3 +26,29 @@
################################################
# user password
auth.password.bcrypt.length=10
+
+
+
+##
+spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
+spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false
+# Postgresql settings
+spring.datasource.platform=postgresql
+spring.datasource.url=jdbc:postgresql://172.28.201.70:15432/restaurant
+spring.datasource.username=payapi
+spring.datasource.password=123456
+database.dbtype=postgresql
+# Redis settings
+redis.server=172.28.201.101
+redis.port=16379
+redis.password=kingstar
+redis.database=0
+# jwt settings
+jwt.secret=Zj5taLomEbrM0lk+NMQZbHfSxaDU1wekjT+kiC3YzDw=
+# timeout seconds
+jwt.expiration=3600
+auth.password.bcrypt.seed=
+spring.jackson.serialization.fail-on-empty-beans=false
+
+
+
diff --git a/src/main/resources/db/migration/V1.0__init_data.sql b/src/main/resources/db/migration/V1.0__init_data.sql
index 0d0cc5e..8e765df 100644
--- a/src/main/resources/db/migration/V1.0__init_data.sql
+++ b/src/main/resources/db/migration/V1.0__init_data.sql
@@ -1,37 +1,139 @@
-insert into tb_apiclient(appid, secret, status, roles)
-values ('100001', 'oUw2NmA09ficiVWD4TUQLDOkPyzQa3VzbjjsW0B2qTk=', 'normal', 'ROLE_THIRD_ADMIN');
-INSERT INTO tb_operator(
- operid, closedate, opendate, opercode, opername, operpwd, opertype, status)
- VALUES ('LOR2IwRkbOjp+sVG9KR2BpHZbwGKepS4', '20500101', '20190101', 'system', '系统管理员', '$2a$10$Ex9xp11.vCaD8D0a7ahiUOKqDij1TcCUBwRAmrqXeDvAkmzLibn4.', 'oper', 'normal');
-INSERT INTO tb_role(
- roleid, createtime, editflag, lastsaved, rolecode, roledesc, rolename)
- VALUES ('d1yctWs5+ks0iQN3m9bUvRHus6HbKbrs', '20190101000000', 0, '', 'ROLE_ADMIN', '超级管理员', '超级管理员');
-
-INSERT INTO tb_oper_role(
- id, operid, roleid)
- VALUES ('1', 'LOR2IwRkbOjp+sVG9KR2BpHZbwGKepS4', 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
-
--- 功能表
---Insert into TB_FUNCTION (ID,PARENTID,NAME,ORDERNUM,MENUURL,MENUICON,ISLEAF)
---values ('1','-1','系统中心',1,'#','layui-icon-set',0);
---Insert into TB_FUNCTION (ID,PARENTID,NAME,ORDERNUM,MENUURL,MENUICON,ISLEAF)
---values ('2','1','管理员维护',1,'#','layui-icon-set',1);
-
---Insert into TB_ROLE_FUNCTION (ID,FUNCTIONID,ROLEID) values ('1','1','d1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
---Insert into TB_ROLE_FUNCTION (ID,FUNCTIONID,ROLEID) values ('2','2','d1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
-
-Insert into TB_FUNCTION (ID,CREATETIME,ISLEAF,LASTSAVED,MENUICON,MENUURL,NAME,ORDERNUM,PARENTID) values ('1',null,0,null,'layui-icon-home','#','主页',1,'-1');
-Insert into TB_FUNCTION (ID,CREATETIME,ISLEAF,LASTSAVED,MENUICON,MENUURL,NAME,ORDERNUM,PARENTID) values ('2',null,1,null,'layui-icon-home','/home/console','控制台',1,'1');
-Insert into TB_FUNCTION (ID,CREATETIME,ISLEAF,LASTSAVED,MENUICON,MENUURL,NAME,ORDERNUM,PARENTID) values ('3',null,0,null,'layui-icon-set','#','系统中心',2,'-1');
-Insert into TB_FUNCTION (ID,CREATETIME,ISLEAF,LASTSAVED,MENUICON,MENUURL,NAME,ORDERNUM,PARENTID) values ('4',null,1,null,'layui-icon-set','/operator/index','管理员维护',1,'3');
-Insert into TB_FUNCTION (ID,CREATETIME,ISLEAF,LASTSAVED,MENUICON,MENUURL,NAME,ORDERNUM,PARENTID) values ('5',null,1,null,'layui-icon-set','/role/index','角色管理',2,'3');
+INSERT INTO "tb_apiclient" VALUES ('200001', 'ROLE_THIRD_CONSUME,ROLE_THIRD_COMMON', 'oUw2NmA09ficiVWD4TUQLDOkPyzQa3VzbjjsW0B2qTk=', 'normal');
+INSERT INTO "tb_apiclient" VALUES ('100001', 'ROLE_THIRD_ADMIN', 'oUw2NmA09ficiVWD4TUQLDOkPyzQa3VzbjjsW0B2qTk=', 'normal');
-Insert into TB_ROLE_FUNCTION (ID,FUNCTIONID,ROLEID) values ('5','5','d1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
-Insert into TB_ROLE_FUNCTION (ID,FUNCTIONID,ROLEID) values ('1','1','d1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
-Insert into TB_ROLE_FUNCTION (ID,FUNCTIONID,ROLEID) values ('2','2','d1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
-Insert into TB_ROLE_FUNCTION (ID,FUNCTIONID,ROLEID) values ('3','3','d1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
-Insert into TB_ROLE_FUNCTION (ID,FUNCTIONID,ROLEID) values ('4','4','d1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_function" VALUES (1, NULL, 0, NULL, 'layui-icon-home', '#', '主页', 1, -1);
+INSERT INTO "tb_function" VALUES (2, NULL, 1, NULL, 'layui-icon-home', '/home/console', '控制台', 1, 1);
+INSERT INTO "tb_function" VALUES (3, NULL, 0, NULL, 'layui-icon-set', '#', '系统中心', 2, -1);
+INSERT INTO "tb_function" VALUES (5, NULL, 1, NULL, 'layui-icon-set', '/role/index', '角色管理', 2, 3);
+INSERT INTO "tb_function" VALUES (6, NULL, 1, NULL, 'layui-icon-set', '/operator/index', '操作员管理', 4, 3);
+INSERT INTO "tb_function" VALUES (4, NULL, 1, NULL, 'layui-icon-set', '/function/index', '功能维护', 1, 3);
+INSERT INTO "tb_function" VALUES (7, NULL, 0, NULL, 'layui-icon-release', '#', '商户中心', 4, -1);
+INSERT INTO "tb_function" VALUES (9, NULL, 1, NULL, '', '/operator/logs', '操作日志', 4, 3);
+INSERT INTO "tb_function" VALUES (10, NULL, 0, NULL, 'layui-icon-util', '#', '参数管理', 3, -1);
+INSERT INTO "tb_function" VALUES (11, NULL, 1, NULL, 'layui-icon-util', '/param/syspara', '全局参数配置', 1, 10);
+INSERT INTO "tb_function" VALUES (12, NULL, 1, NULL, 'layui-icon-util', '/param/businesspara', '业务参数配置', 2, 10);
+INSERT INTO "tb_function" VALUES (17, NULL, 1, NULL, 'layui-icon-util', '/param/apiclientpara', '应用参数配置', 3, 10);
+INSERT INTO "tb_function" VALUES (18, NULL, 1, NULL, 'layui-icon-util', '/param/paytype', '支付能力配置', 4, 10);
+INSERT INTO "tb_oper_role" VALUES ('2c9cab836a90185f016a901b005f001b', '402882816a8fe884016a8fe8c0530000', '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_oper_role" VALUES ('ff8080816aaf2ec3016aaf30c1b60007', 'LOR2IwRkbOjp+sVG9KR2BpHZbwGKepS4', 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_oper_role" VALUES ('ff8080816ab96daf016ab9743dc60050', '2c9cab836a9666e0016a96694bbb0004', 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_operator" VALUES ('2c9cab836a9666e0016a96694bbb0004', NULL, '', '', '20190508', 'test1', 'test1', '$2a$10$lkfzdX.0ioX9FU2BmPzHz.tv2DTR8XvaZzA0vpkEYV5vx/IDtIsGy', 'oper', 'normal', 'male');
+INSERT INTO "tb_operator" VALUES ('402882816a8fe884016a8fe8c0530000', NULL, '', '', '20190507', 'test', '11112', '$2a$10$Xa/UKDQ/WkiKVQAyv5Hu4eiqt6HtwVK3YA0Glg1/y1uiEsXnG7ZeS', 'oper', 'normal', 'male');
+INSERT INTO "tb_operator" VALUES ('LOR2IwRkbOjp+sVG9KR2BpHZbwGKepS4', '20500101', '', '', '20190101', 'system', '系统管理员', '$2a$10$Ex9xp11.vCaD8D0a7ahiUOKqDij1TcCUBwRAmrqXeDvAkmzLibn4.', 'oper', 'normal', 'male');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba4518160054', 16, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba4518160055', 17, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba4518160056', 19, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba4518160057', 20, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba4518160058', 21, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba451816005a', 6, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba451816005b', 7, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba451816005c', 8, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba451816005d', 9, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba451816005e', 22, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba4518170060', 4, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba4518170061', 5, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba4518170062', 10, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba4518170063', 11, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba4518170064', 12, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba4518170065', 13, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba4518170066', 14, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba4518180067', 15, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba4518180069', 24, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba451819006d', 27, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba451819006e', 26, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba4518190070', 28, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba4518190071', 29, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba4518190072', 30, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba4518190073', 33, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba4518190074', 32, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba4518190076', 34, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba45181a0077', 35, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba45181a0078', 37, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba45181a0079', 36, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba45181a007a', 39, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba45181a007b', 40, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aba2931016aba45181b007d', 41, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_permission" VALUES ('ff8080816aaf2ec3016aaf4edaa80085', 16, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_permission" VALUES ('ff8080816aaf2ec3016aaf4edaa80086', 17, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_permission" VALUES ('ff8080816aaf2ec3016aaf4edaa90087', 19, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_permission" VALUES ('ff8080816aaf2ec3016aaf4edaa90088', 20, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_permission" VALUES ('ff8080816aaf2ec3016aaf4edaa90089', 21, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_permission" VALUES ('ff8080816aaf2ec3016aaf4edaa9008b', 6, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_permission" VALUES ('ff8080816aaf2ec3016aaf4edaa9008c', 7, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_permission" VALUES ('ff8080816aaf2ec3016aaf4edaa9008d', 8, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_permission" VALUES ('ff8080816aaf2ec3016aaf4edaa9008e', 9, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_permission" VALUES ('ff8080816aaf2ec3016aaf4edaa9008f', 22, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_permission" VALUES ('ff8080816aaf2ec3016aaf4edaa90091', 4, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_permission" VALUES ('ff8080816aaf2ec3016aaf4edaaa0092', 5, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_permission" VALUES ('ff8080816aaf2ec3016aaf4edaaa0093', 10, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_permission" VALUES ('ff8080816aaf2ec3016aaf4edaaa0094', 11, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_permission" VALUES ('ff8080816aaf2ec3016aaf4edaaa0095', 12, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_permission" VALUES ('ff8080816aaf2ec3016aaf4edaaa0096', 13, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_permission" VALUES ('ff8080816aaf2ec3016aaf4edaaa0097', 14, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_permission" VALUES ('ff8080816aaf2ec3016aaf4edaaa0098', 15, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_permission" VALUES ('ff8080816aaf2ec3016aaf4edaaa009a', 24, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_permission" VALUES ('ff8080816aaf2ec3016aaf4edaab009e', 26, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_permission" VALUES ('ff8080816aaf2ec3016aaf4edaac009f', 27, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_resource" VALUES (4, '1', 4, '添加功能', '/function/add');
+INSERT INTO "tb_resource" VALUES (5, '', 4, '添加父功能', '/function/loadadd');
+INSERT INTO "tb_resource" VALUES (6, '1', 6, '查询', '/operator/index');
+INSERT INTO "tb_resource" VALUES (7, '', 6, '添加查询', '/operator/load4add');
+INSERT INTO "tb_resource" VALUES (8, '', 6, '添加和修改', '/operator/add');
+INSERT INTO "tb_resource" VALUES (9, '', 6, '重置密码', '/operator/resetpwd');
+INSERT INTO "tb_resource" VALUES (10, '', 4, '查询', '/function/index');
+INSERT INTO "tb_resource" VALUES (11, '', 4, '删除', '/function/delfunc');
+INSERT INTO "tb_resource" VALUES (12, '', 4, '添加子功能', '/function/loadsubadd');
+INSERT INTO "tb_resource" VALUES (13, '', 4, '维护资源', '/function/loadres');
+INSERT INTO "tb_resource" VALUES (14, '', 4, '添加资源', '/function/addres');
+INSERT INTO "tb_resource" VALUES (15, '', 4, '删除资源', '/function/delres');
+INSERT INTO "tb_resource" VALUES (16, '', 5, '查询', '/role/index');
+INSERT INTO "tb_resource" VALUES (17, '', 5, '添加', '/role/add');
+INSERT INTO "tb_resource" VALUES (19, '', 5, '分配功能', '/role/addfunc');
+INSERT INTO "tb_resource" VALUES (20, '', 5, '加载分配功能', '/role/loadfunc');
+INSERT INTO "tb_resource" VALUES (21, '', 5, '删除角色', '/role/del');
+INSERT INTO "tb_resource" VALUES (22, '', 6, '修改状态', '/operator/updatestate');
+INSERT INTO "tb_resource" VALUES (24, '', 9, '查询', '/operator/logslist');
+INSERT INTO "tb_resource" VALUES (26, '', 11, '修改', '/param/sysparaupdate');
+INSERT INTO "tb_resource" VALUES (27, '', 11, '查询', '/param/syspara');
+INSERT INTO "tb_resource" VALUES (28, '', 12, '查询', '/param/businesspara');
+INSERT INTO "tb_resource" VALUES (29, '', 12, '删除', '/param/deletebusinesspara');
+INSERT INTO "tb_resource" VALUES (30, '', 12, '修改', '/param/businessparaupdate');
+INSERT INTO "tb_resource" VALUES (32, '', 12, '新增', '/param/addbusinesspara');
+INSERT INTO "tb_resource" VALUES (33, '', 12, '新增跳转', '/param/load4addbuspara');
+INSERT INTO "tb_resource" VALUES (34, '', 17, '查询', '/param/apiclientpara');
+INSERT INTO "tb_resource" VALUES (35, '', 17, '新增修改跳转', '/param/load4addapiclient');
+INSERT INTO "tb_resource" VALUES (36, '', 17, '修改状态', '/param/updateapiclientstate');
+INSERT INTO "tb_resource" VALUES (37, '', 17, '删除', '/param/deleteapiclient');
+INSERT INTO "tb_resource" VALUES (39, '', 17, '修改', '/param/updateapiclientpara');
+INSERT INTO "tb_resource" VALUES (40, '', 17, '新增', '/param/addapiclientpara');
+INSERT INTO "tb_resource" VALUES (41, '', 18, '查询', '/param/paytype');
+INSERT INTO "tb_role" VALUES ('d1yctWs5+ks0iQN3m9bUvRHus6HbKbrs', '20190101000000', 0, '', 'ROLE_ADMIN', '超级管理员', '超级管理员');
+INSERT INTO "tb_role" VALUES ('2c9cab836a8af5d5016a8af6ece20000', '20190506102639', 1, '', 'ROLE_ADMIN', '系统管理员', '系统管理员');
+INSERT INTO "tb_role_function" VALUES ('ff8080816aaf2ec3016aaf4edaa80081', 1, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_role_function" VALUES ('ff8080816aaf2ec3016aaf4edaa80082', 2, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_role_function" VALUES ('ff8080816aaf2ec3016aaf4edaa80083', 3, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_role_function" VALUES ('ff8080816aaf2ec3016aaf4edaa80084', 5, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_role_function" VALUES ('ff8080816aaf2ec3016aaf4edaa9008a', 6, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_role_function" VALUES ('ff8080816aaf2ec3016aaf4edaa90090', 4, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_role_function" VALUES ('ff8080816aaf2ec3016aaf4edaaa0099', 9, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_role_function" VALUES ('ff8080816aaf2ec3016aaf4edaaa009b', 7, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_role_function" VALUES ('ff8080816aaf2ec3016aaf4edaab009c', 10, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_role_function" VALUES ('ff8080816aaf2ec3016aaf4edaab009d', 11, NULL, '2c9cab836a8af5d5016a8af6ece20000');
+INSERT INTO "tb_role_function" VALUES ('ff8080816aba2931016aba4518150050', 1, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_role_function" VALUES ('ff8080816aba2931016aba4518150051', 2, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_role_function" VALUES ('ff8080816aba2931016aba4518150052', 3, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_role_function" VALUES ('ff8080816aba2931016aba4518150053', 5, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_role_function" VALUES ('ff8080816aba2931016aba4518160059', 6, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_role_function" VALUES ('ff8080816aba2931016aba451817005f', 4, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_role_function" VALUES ('ff8080816aba2931016aba4518180068', 9, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_role_function" VALUES ('ff8080816aba2931016aba451818006a', 7, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_role_function" VALUES ('ff8080816aba2931016aba451818006b', 10, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_role_function" VALUES ('ff8080816aba2931016aba451818006c', 11, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_role_function" VALUES ('ff8080816aba2931016aba451819006f', 12, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_role_function" VALUES ('ff8080816aba2931016aba4518190075', 17, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_role_function" VALUES ('ff8080816aba2931016aba45181b007c', 18, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
+INSERT INTO "tb_area" VALUES (1, '地区1', 1, '', 0, NULL);
commit;
diff --git a/src/main/resources/db/migration/V1.1__init_paytype.sql b/src/main/resources/db/migration/V1.1__init_paytype.sql
index 0dfd06c..e618e16 100644
--- a/src/main/resources/db/migration/V1.1__init_paytype.sql
+++ b/src/main/resources/db/migration/V1.1__init_paytype.sql
@@ -1,5 +1,5 @@
-- 支付方式
-Insert into TB_PAYTYPE (PAYTYPE,DPS_ENABLE,ENABLE,REVERSE_ENABLE) values ('yktpay','no','yes','yes');
+--Insert into TB_PAYTYPE (PAYTYPE,DPS_ENABLE,ENABLE,REVERSE_ENABLE) values ('yktpay','no','yes','yes');
Insert into TB_PAYTYPE_CONFIG (PAYTYPE,CONFIGID,CONFIG_NAME,CONFIG_VALUE) values ('yktpay','appid',null,'100005');
Insert into TB_PAYTYPE_CONFIG (PAYTYPE,CONFIGID,CONFIG_NAME,CONFIG_VALUE) values ('yktpay','appkey',null,'adc4ac6822fd462780f878b86cb94688');
diff --git a/src/main/resources/templates/area/form.html b/src/main/resources/templates/area/form.html
new file mode 100644
index 0000000..2bcc90d
--- /dev/null
+++ b/src/main/resources/templates/area/form.html
@@ -0,0 +1,118 @@
+<!-- operator表单弹窗 -->
+<form id="form" lay-filter="form" class="layui-form model-form">
+ <input name="id" id="id" type="hidden"/>
+ <div class="layui-form-item">
+ <label class="layui-form-label">区域名称</label>
+ <div class="layui-input-block">
+ <input name="areaname" placeholder="区域名不能重复" type="text" class="layui-input" maxlength="20"
+ lay-verify="required|areaname" required/>
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label">父区域</label>
+ <div class="layui-input-block">
+ <select name="fid" id="fid" lay-verify="required">
+ <option th:each="area : ${arealist}" th:value="${area.id}">[[${area.areaname}]]</option>
+ </select>
+ </div>
+ </div>
+
+
+ <div class="layui-form-item">
+ <label class="layui-form-label">地址</label>
+ <div class="layui-input-block">
+ <input name="addr" placeholder="请输入" type="text" class="layui-input"/>
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label">备注</label>
+ <div class="layui-input-block">
+ <input name="remark" placeholder="请输入" type="text" class="layui-input"/>
+ </div>
+ </div>
+
+ <div class="layui-form-item model-form-footer">
+ <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button>
+ <button class="layui-btn" lay-filter="form-submit" lay-submit id="submitbtn">保存</button>
+ </div>
+</form>
+
+<script>
+ layui.use(['layer', 'admin', 'form', 'formSelects'], function () {
+ var layer = layui.layer;
+ var admin = layui.admin;
+ var form = layui.form;
+ form.render('select');
+ form.render('radio');
+ /*form.verify({
+ "areaname": function (e) {
+ var msg = "";
+ $.ajax({
+ type: "GET",
+ url: '/area/checkname',
+ async: false,
+ data: {
+ areaname: e,
+ },
+ success: function (result) {
+ if (result.code != 200) {
+ msg = result.msg;
+ }
+ },
+ error: function (error) {
+ msg = "请求服务器校验账号失败";
+ }
+ });
+ }
+ });*/
+
+ var url = '/area/add';
+ // 回显user数据
+ var func = admin.getTempData('t_area');
+ if (func) {
+ $('input[name="id"]').attr('readonly', 'readonly');
+ form.val('form', func);
+ }
+ let fid = admin.getTempData("fid");
+ if (fid) {
+ form.val('form', {"fid": fid});
+ }
+ // 表单提交事件
+ form.on('submit(form-submit)', function (data) {
+ layer.load(2);
+ let token = $("meta[name='_csrf_token']").attr("value");
+ debugger
+ $.ajax({
+ type: "POST",
+ dataType: "json",
+ url: url,
+ headers: {
+ 'Accept': 'application/json',
+ 'Content-Type': 'application/json',
+ 'X-CSRF-TOKEN': token,
+ },
+ data: JSON.stringify(data.field),
+ success: function (result) {
+ layer.closeAll('loading');
+ if (result.code == 200) {
+ layer.msg(result.msg, {icon: 1});
+ admin.finishPopupCenter();
+ } else if (result.code == 401) {
+ layer.msg(result.msg, {icon: 2, time: 1500}, function () {
+ location.replace('/login');
+ }, 1000);
+ return;
+ } else {
+ console.log('err:' + result.code);
+ layer.msg(result.msg, {icon: 2});
+ }
+ },
+ error: function () {
+ layer.closeAll('loading');
+ layer.msg("请求服务器失败!", {icon: 2});
+ }
+ });
+ return false;
+ });
+ });
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/area/index.html b/src/main/resources/templates/area/index.html
new file mode 100644
index 0000000..ed16a4c
--- /dev/null
+++ b/src/main/resources/templates/area/index.html
@@ -0,0 +1,152 @@
+<div class="layui-card">
+ <div class="layui-card-header">
+ <h2 class="header-title">区域维护</h2>
+ <span class="layui-breadcrumb pull-right">
+ <a href="#">区域维护</a>
+ <a><cite>区域维护</cite></a>
+ </span>
+ </div>
+ <div class="layui-card-body">
+ <div class="layui-form toolbar">
+ 搜索:
+ <input id="search-value" class="layui-input search-input" type="text" placeholder="输入功能名称"/> 
+ <button id="btn-search" class="layui-btn icon-btn" data-type="search"><i class="layui-icon"></i>搜索
+ </button>
+ <button id="btn-add" class="layui-btn icon-btn" data-type="add"><i class="layui-icon"></i>添加区域</button>
+ </div>
+ <table class="layui-table" id="table" lay-filter="table"></table>
+ </div>
+</div>
+<input hidden th:value="${areaList}" id="arealist">
+<script>
+
+ var rawlist=$("#arealist").val();
+ var arealist=JSON.parse(rawlist);
+ $(function () {
+ console.log(arealist);
+ });
+
+ layui.use(['form', 'table', 'layer', 'admin', 'element'], function () {
+ let form = layui.form;
+ let table = layui.table;
+ let admin = layui.admin;
+
+ form.render('select');
+
+ // 渲染表格
+ table.render({
+ elem: '#table',
+ url: '/area/list',
+ page: true,
+ cols: [
+ [
+ {field: 'id', title: '区域号', width: 80, fixed: 'left', sort: true},
+ {field: 'areaname', title: '区域名称', sort: true},
+ {
+ field: 'arealevel',
+ title: '区域级别',
+ sort: true,
+ width: 80,
+ align: 'center',
+ templet: function (item) {
+ if (item.arealevel == 1) {
+ return '<span class="layui-badge ">父</span>'
+ } else if (item.arealevel == 2) {
+ return '<span class="layui-badge layui-bg-green">子</span>'
+ } else {
+ return ''
+ }
+ }
+ },
+ {
+ field: 'fid',
+ title: '父区域',
+ sort: true,
+ width: 80,
+ align: 'center',
+ templet: function (item) {
+ if (item.arealevel == 1) {
+ return '0';
+ } else if (item.arealevel == 2) {
+ return arealist[item.fid];
+ } else {
+ return ''
+ }
+
+ // return areaList.get(item.id);
+ }
+ },
+ {field: 'addr', sort: true, width: 80, title: '地址'},
+ {field: 'remark', sort: true, width: 80, title: '注释'},
+ {
+ field: 'id', align: 'center', title: '操作', fixed: 'right', templet: function (item) {
+ return ' <a class="layui-btn layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a> ' +
+ ' <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>'
+ }
+ }
+ ]
+ ]
+ });
+ // 搜索按钮点击事件
+ $('#btn-search').click(function () {
+ let key = $('#search-value').val();
+ table.reload('table', {where: {searchkey: key}, page: {curr: 1}});
+ });
+ $('#btn-add').click(function () {
+ showModel();
+ });
+ let showModel = function (data) {
+ let title = data ? '修改区域' : '添加区域';
+ admin.putTempData('t_area', data);
+ admin.popupCenter({
+ title: title,
+ path: '/area/loadadd',
+ finish: function () {
+ table.reload('table', {});
+ }
+ });
+ };
+
+
+ // 工具条点击事件
+ table.on('tool(table)', function (obj) {
+ let data = obj.data;
+ let layEvent = obj.event;
+ console.log(data);
+ if (layEvent === 'edit') {
+ showModel(data);
+ } else if (layEvent === 'del') {
+ showDelete(data);
+ }
+ });
+ let showDelete = function (data) {
+ layer.confirm('确定要删除吗?', function (i) {
+ layer.close(i);
+ layer.load(2);
+ let token = $("meta[name='_csrf_token']").attr("value");
+ admin.go('/area/delete', {
+ id: data.id,
+ _csrf: token
+ }, function (data) {
+ console.log(data.code);
+ layer.closeAll('loading');
+ if (data.code == 200) {
+ layer.msg(data.msg, {icon: 1});
+ } else if (data.code == 401) {
+ layer.msg(data.msg, {icon: 2, time: 1500}, function () {
+ location.replace('/login');
+ }, 1000);
+ return;
+ } else {
+ layer.msg(data.msg, {icon: 2});
+ }
+ table.reload('table', {});
+ }, function (ret) {
+ console.log(ret);
+ layer.closeAll('loading');
+ layer.msg('请求失败了,请稍后再试', {icon: 2});
+ });
+ });
+ }
+ });
+</script>