Browse Source

获取字段作为选项

lwx_v1
liwenxuan 1 year ago
parent
commit
c41f0fa88d
  1. 21
      src/main/java/com/hxgk/lowcode/controller/AssociatedFormsController.java
  2. 2
      src/main/java/com/hxgk/lowcode/mapper/CustomerFormViewMapper.java
  3. 15
      src/main/java/com/hxgk/lowcode/mapper/FieldRecordMapper.java
  4. 27
      src/main/java/com/hxgk/lowcode/model/entity/CustomerFormTableSingleFieldValue.java
  5. 33
      src/main/java/com/hxgk/lowcode/model/entity/Option.java
  6. 5
      src/main/java/com/hxgk/lowcode/service/CustomerFormService.java
  7. 389
      src/main/java/com/hxgk/lowcode/service/impl/CustomerFormServiceImpl.java
  8. 71
      src/main/java/com/hxgk/lowcode/service/impl/UserServiceImpl.java
  9. 6
      src/main/resources/application-dev.yml
  10. 6
      src/main/resources/application-prod.yml
  11. 8
      src/main/resources/mapper/CustomerFormvViewMapper.xml
  12. 12
      src/main/resources/mapper/FieldRecordMapper.xml

21
src/main/java/com/hxgk/lowcode/controller/AssociatedFormsController.java

@ -1,5 +1,6 @@
package com.hxgk.lowcode.controller; package com.hxgk.lowcode.controller;
import com.hxgk.lowcode.model.entity.CustomerFormTableSingleFieldValue;
import com.hxgk.lowcode.model.entity.Option; import com.hxgk.lowcode.model.entity.Option;
import com.hxgk.lowcode.model.entity.SystemRole; import com.hxgk.lowcode.model.entity.SystemRole;
import com.hxgk.lowcode.model.entity.Tree; import com.hxgk.lowcode.model.entity.Tree;
@ -30,6 +31,9 @@ public class AssociatedFormsController {
public JsonData getCustomerFormList(@RequestHeader(value = "User-Key") String key, public JsonData getCustomerFormList(@RequestHeader(value = "User-Key") String key,
@RequestHeader(value = "User-Token") String token) { @RequestHeader(value = "User-Token") String token) {
Tree tree = customerFormService.getCustomerFormList(key, token); Tree tree = customerFormService.getCustomerFormList(key, token);
if(tree==null){
return JsonData.buildError("登录状态已失效,请退出重新登录");
}
return JsonData.buildSuccess(tree); return JsonData.buildSuccess(tree);
} }
@ -79,4 +83,21 @@ public class AssociatedFormsController {
return JsonData.buildSuccess(options); return JsonData.buildSuccess(options);
} }
/*实现获取选项效果*/
@RequestMapping(value = "AssociatedForms/getFieldRecord")
public JsonData getFieldRecord(@RequestHeader(value = "User-Key") String key,
@RequestHeader(value = "User-Token") String token,
@RequestBody Map<String,String> requestBody) {
String optionsValue3Field = requestBody.get("optionsValue3Field");
String[] optionsValue3FieldArray = optionsValue3Field.split(":");
ArrayList<CustomerFormTableSingleFieldValue> fieldList = customerFormService.getFieldRecord(key,token,optionsValue3FieldArray);
if(null==fieldList){
return JsonData.buildError("非法请求");
}
return JsonData.buildSuccess(fieldList);
}
} }

2
src/main/java/com/hxgk/lowcode/mapper/CustomerFormViewMapper.java

@ -12,4 +12,6 @@ public interface CustomerFormViewMapper {
ArrayList<CustomerFormView> getCustomerFormViewListByTablekey(ArrayList<String> tablekeyList); ArrayList<CustomerFormView> getCustomerFormViewListByTablekey(ArrayList<String> tablekeyList);
ArrayList<CustomerFormView> getCustomerFormViewListByGroupid(String groupid); ArrayList<CustomerFormView> getCustomerFormViewListByGroupid(String groupid);
CustomerFormView getTableNameByCfid(String formId);
} }

15
src/main/java/com/hxgk/lowcode/mapper/FieldRecordMapper.java

@ -0,0 +1,15 @@
package com.hxgk.lowcode.mapper;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.hxgk.lowcode.model.entity.CustomerFormTableSingleFieldValue;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.ArrayList;
@DS("tidbintranetcustomerform")
@Mapper
public interface FieldRecordMapper {
ArrayList<CustomerFormTableSingleFieldValue> getFieldRecord(@Param("formIdOrTableKey") String formIdOrTableKey, @Param("fieldKey")String fieldKey);
}

27
src/main/java/com/hxgk/lowcode/model/entity/CustomerFormTableSingleFieldValue.java

@ -0,0 +1,27 @@
package com.hxgk.lowcode.model.entity;
import org.springframework.stereotype.Repository;
@Repository
public class CustomerFormTableSingleFieldValue {
private String value;
private String label;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
}

33
src/main/java/com/hxgk/lowcode/model/entity/Option.java

@ -0,0 +1,33 @@
package com.hxgk.lowcode.model.entity;
import org.springframework.stereotype.Repository;
@Repository
public class Option {
private String label;
private String value;
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public Option() {
}
public Option(String label, String value) {
this.label = label;
this.value = value;
}
}

5
src/main/java/com/hxgk/lowcode/service/CustomerFormService.java

@ -1,8 +1,7 @@
package com.hxgk.lowcode.service; package com.hxgk.lowcode.service;
import com.hxgk.lowcode.model.entity.CustomerFormView; import com.hxgk.lowcode.model.entity.CustomerFormTableSingleFieldValue;
import com.hxgk.lowcode.model.entity.SystemRole;
import com.hxgk.lowcode.model.entity.Tree; import com.hxgk.lowcode.model.entity.Tree;
import java.util.ArrayList; import java.util.ArrayList;
@ -13,4 +12,6 @@ public interface CustomerFormService {
Tree getFieldTree(String key,String token,String cfid); Tree getFieldTree(String key,String token,String cfid);
Tree getRoleList(); Tree getRoleList();
ArrayList<CustomerFormTableSingleFieldValue> getFieldRecord(String key, String token, String[] optionsValue3FieldArray);
} }

389
src/main/java/com/hxgk/lowcode/service/impl/CustomerFormServiceImpl.java

@ -1,16 +1,14 @@
package com.hxgk.lowcode.service.impl; package com.hxgk.lowcode.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.hxgk.lowcode.mapper.CustomerFormMapper; import com.hxgk.lowcode.mapper.CustomerFormMapper;
import com.hxgk.lowcode.mapper.CustomerFormViewMapper; import com.hxgk.lowcode.mapper.CustomerFormViewMapper;
import com.hxgk.lowcode.mapper.FieldRecordMapper;
import com.hxgk.lowcode.model.entity.*; import com.hxgk.lowcode.model.entity.*;
import com.hxgk.lowcode.service.CustomerFormService; import com.hxgk.lowcode.service.CustomerFormService;
import com.hxgk.lowcode.service.SystemRoleService; import com.hxgk.lowcode.service.SystemRoleService;
@ -38,6 +36,9 @@ public class CustomerFormServiceImpl implements CustomerFormService {
private SystemRoleService systemRoleService; private SystemRoleService systemRoleService;
@Autowired @Autowired
private CustomerFormViewMapper customerFormViewMapper; private CustomerFormViewMapper customerFormViewMapper;
@Autowired
private FieldRecordMapper fieldRecordMapper;
@Override @Override
//根据用户权限查询表单列表 //根据用户权限查询表单列表
public Tree getCustomerFormList(String key, String token) { public Tree getCustomerFormList(String key, String token) {
@ -51,209 +52,228 @@ public class CustomerFormServiceImpl implements CustomerFormService {
keytokenmap.put("userkey",key); keytokenmap.put("userkey",key);
keytokenmap.put("usertoken",token); keytokenmap.put("usertoken",token);
UserDetail userDetail = userService.getUserDetailFromRedis(keytokenmap); UserDetail userDetail = userService.getUserDetailFromRedis(keytokenmap);
if(userDetail==null){
//得到所有启用的系统角色(state=1的) return null;
ArrayList<SystemRole> roleList = systemRoleService.getAllRole(); }else{
//得到所有启用的系统角色(state=1的)
//根据权限算法过滤后的list ArrayList<SystemRole> roleList = systemRoleService.getAllRole();
ArrayList<CustomerForm> customerFormList1 = new ArrayList<>();
//根据权限算法过滤后的list
Tree tree = new Tree(); ArrayList<CustomerForm> customerFormList1 = new ArrayList<>();
tree.setId("rootid");
tree.setLabel("请选择表单"); Tree tree = new Tree();
tree.setValue("rootvalue"); tree.setId("rootid");
//筛选出所有表单中,当前用户有权限的表单 tree.setLabel("请选择表单");
for(CustomerForm c:customerFormList){// tree.setValue("rootvalue");
//筛选出所有表单中,当前用户有权限的表单
//把权限相关字段字符串处理为数组 for(CustomerForm c:customerFormList){//
//可见人员 //把权限相关字段字符串处理为数组
String userpermitArrStr = c.getUserpermit();
String[] userpermitArr = new String[0]; //可见人员
if(!StringUtils.isBlank(userpermitArrStr)){ String userpermitArrStr = c.getUserpermit();
if(userpermitArrStr.contains(",")){ String[] userpermitArr = new String[0];
userpermitArr = userpermitArrStr.split(","); if(!StringUtils.isBlank(userpermitArrStr)){
}else{ if(userpermitArrStr.contains(",")){
userpermitArr = new String[]{userpermitArrStr}; userpermitArr = userpermitArrStr.split(",");
}else{
userpermitArr = new String[]{userpermitArrStr};
}
} }
} //可见角色
//可见角色 String postpermitArrStr = c.getPostpermit();
String postpermitArrStr = c.getPostpermit(); String[] postpermitArr = new String[0];
String[] postpermitArr = new String[0]; if(!StringUtils.isBlank(postpermitArrStr)){
if(!StringUtils.isBlank(postpermitArrStr)){ if(postpermitArrStr.contains(",")){
if(postpermitArrStr.contains(",")){ postpermitArr = postpermitArrStr.split(",");
postpermitArr = postpermitArrStr.split(","); }else{
}else{ postpermitArr = new String[]{postpermitArrStr};
postpermitArr = new String[]{postpermitArrStr}; }
} }
} //授权范围
//授权范围 String permitArrStr = c.getPermit();
String permitArrStr = c.getPermit(); String[] permitArr = new String[0];
String[] permitArr = new String[0]; //对本表单有权限的组织机构list
//对本表单有权限的组织机构list ArrayList<String> permitArrList = new ArrayList<>();
ArrayList<String> permitArrList = new ArrayList<>(); if(!StringUtils.isBlank(permitArrStr)){
if(!StringUtils.isBlank(permitArrStr)){ if(permitArrStr.contains("],[")) {
if(permitArrStr.contains("],[")) { permitArr = StringUtils.splitByWholeSeparator(permitArrStr, "],[");
permitArr = StringUtils.splitByWholeSeparator(permitArrStr, "],["); for(int i = 0; i < permitArr.length; i++){
for(int i = 0; i < permitArr.length; i++){ String[] arr = StringUtils.splitByWholeSeparator(permitArr[i],",");
String[] arr = StringUtils.splitByWholeSeparator(permitArr[i],","); for(int j = 0; j < arr.length; j++){
for(int j = 0; j < arr.length; j++){ if(j == arr.length-1){
if(j == arr.length-1){ if(i == permitArr.length-1){
if(i == permitArr.length-1){ String lastOrg = arr[j];
String lastOrg = arr[j]; lastOrg = lastOrg.split("]]")[0];
lastOrg = lastOrg.split("]]")[0]; permitArrList.add(lastOrg);//
permitArrList.add(lastOrg);// }else{
}else{ permitArrList.add(arr[j]);
permitArrList.add(arr[j]); }
} }
} }
} }
}
}else{ }else{
permitArr = StringUtils.splitByWholeSeparator(permitArrStr, ","); permitArr = StringUtils.splitByWholeSeparator(permitArrStr, ",");
for(int i = 0; i < permitArr.length; i++){ for(int i = 0; i < permitArr.length; i++){
if(i==permitArr.length-1){ if(i==permitArr.length-1){
permitArrList.add(permitArr[i].split("]")[0]); permitArrList.add(permitArr[i].split("]")[0]);
}
} }
} }
} }
}
//StringUtils.isBlank() 判断null和"" //StringUtils.isBlank() 判断null和""
if(StringUtils.isBlank(c.getPermit())&&StringUtils.isBlank(c.getPermitstr())&&StringUtils.isBlank(c.getUserpermit())&&StringUtils.isBlank(c.getPostpermit())){ if(StringUtils.isBlank(c.getPermit())&&StringUtils.isBlank(c.getPermitstr())&&StringUtils.isBlank(c.getUserpermit())&&StringUtils.isBlank(c.getPostpermit())){
//本表单所有用户都有权限 //本表单所有用户都有权限
customerFormList1.add(c); customerFormList1.add(c);
}else if(StringUtils.isNotEmpty(c.getUserpermit())){ }else if(StringUtils.isNotEmpty(c.getUserpermit())){
//按照可见人员判断权限 cus //按照可见人员判断权限 cus
for (int i = 0; i < userpermitArr.length; i++) { for (int i = 0; i < userpermitArr.length; i++) {
if(userpermitArr[i].equals(userDetail.getWmKey().toString())){ if(userpermitArr[i].equals(userDetail.getWmKey().toString())){
customerFormList1.add(c); customerFormList1.add(c);
}
} }
} }else if(StringUtils.isNotEmpty(c.getPostpermit())){
}else if(StringUtils.isNotEmpty(c.getPostpermit())){ //按照可见角色判断权限
//按照可见角色判断权限 for (int i = 0; i < postpermitArr.length; i++) {
for (int i = 0; i < postpermitArr.length; i++) { if(postpermitArr[i].equals(userDetail.getRoleId().toString())){
if(postpermitArr[i].equals(userDetail.getRoleId().toString())){ customerFormList1.add(c);
customerFormList1.add(c); }
} }
} }else if(StringUtils.isNotEmpty(c.getPermit())){
}else if(StringUtils.isNotEmpty(c.getPermit())){ //按照授权范围(org)判断权限
//按照授权范围(org)判断权限 //userDetail.adminOrg在permitArrList中的话,则本用户对本表单有权限
//userDetail.adminOrg在permitArrList中的话,则本用户对本表单有权限 for(String item: permitArrList){
for(String item: permitArrList){ if(item.equals(userDetail.getAdminorg().toString())){
if(item.equals(userDetail.getAdminorg().toString())){ customerFormList1.add(c);
customerFormList1.add(c); }
} }
} }
} }
} //根据权限过滤完成customerFormList1
//根据权限过滤完成customerFormList1 ArrayList<String> tablekeyList = new ArrayList<>();
ArrayList<String> tablekeyList = new ArrayList<>(); for(CustomerForm item:customerFormList1){
for(CustomerForm item:customerFormList1){ tablekeyList.add(item.getTablename());
tablekeyList.add(item.getTablename()); }
} ArrayList<CustomerFormView> customerFormViewArrayList = customerFormViewMapper.getCustomerFormViewListByTablekey(tablekeyList);
ArrayList<CustomerFormView> customerFormViewArrayList = customerFormViewMapper.getCustomerFormViewListByTablekey(tablekeyList); ArrayList<Tree> treeArrayList1 = new ArrayList<>();
ArrayList<Tree> treeArrayList1 = new ArrayList<>(); for(CustomerFormView item:customerFormViewArrayList){
for(CustomerFormView item:customerFormViewArrayList){
Tree tree1 = new Tree();
Tree tree1 = new Tree(); if(item.getClassify()==3){//app
if(item.getClassify()==3){//app /*String signCode = item.getSignCode();
//调用GO接口获取App结构,过滤掉非表单和目录的数据
//上线修改
String url = "http://172.20.2.87:7777/app/gainAppEditPsge";//本地+内网
//String url = "http://36.133.126.182:39250/app/gainAppEditPsge";//外网
JSONObject param = new JSONObject();
param.put("id", signCode);
String post = null;
try {
post = HttpUtils.send(url, param, HTTP.UTF_8, key, token);
System.out.println("post:"+post.toString());
} catch (IOException e) {
e.printStackTrace();
}*/
tree1.setId(item.getCfid());
tree1.setParentId(tree.getId());
tree1.setLabel("App-"+item.getName());
tree1.setValue(item.getCfid());
tree1.setDisabled(true);
ArrayList<CustomerFormView> appForms = customerFormViewMapper.getCustomerFormViewListByGroupid(item.getSignCode());
if(appForms.size()>0){
ArrayList<Tree> treeArrayListx = new ArrayList<>();
for(CustomerFormView itemx:appForms){
Tree tree2 = new Tree();
tree2.setId(itemx.getCfid());
tree2.setParentId(tree1.getId());
tree2.setLabel("Form-"+itemx.getName());
tree2.setValue(itemx.getCfid());
HashMap<String,Object> treeAttrs = new HashMap<>();
treeAttrs.put("version",itemx.getVersion().toString());
tree2.setTreeAttrs(treeAttrs);
ArrayList<Tree> treeArrayList = new ArrayList<>();
if(!StringUtils.isBlank(itemx.getTableStructure())){
String tableStructure = itemx.getTableStructure();
tableStructure = tableStructure.replace("{","");
tableStructure = tableStructure.replace("}","");
tableStructure = tableStructure.replace("\"","");
String[] tableStructureArr = StringUtils.splitByWholeSeparator(tableStructure, ",");
for(String item1:tableStructureArr){
String l = StringUtils.splitByWholeSeparator(item1, ":")[1];
Tree tree3 = new Tree();
tree3.setLabel("子表-"+l);
tree3.setParentId(tree2.getId());
tree3.setId(tree2.getId()+":zibiaoid-"+l);
tree3.setValue(tree3.getId());
treeArrayList.add(tree3);
}
tree1.setId(item.getCfid()); }
tree1.setParentId(tree.getId()); tree2.setChildren(treeArrayList);
tree1.setLabel("App-"+item.getName());
tree1.setValue(item.getCfid());
tree1.setDisabled(true);
ArrayList<CustomerFormView> appForms = customerFormViewMapper.getCustomerFormViewListByGroupid(item.getSignCode());
if(appForms.size()>0){
ArrayList<Tree> treeArrayListx = new ArrayList<>();
for(CustomerFormView itemx:appForms){
Tree tree2 = new Tree();
tree2.setId(itemx.getCfid()); treeArrayListx.add(tree2);
tree2.setParentId(tree1.getId());
tree2.setLabel("Form-"+itemx.getName());
tree2.setValue(itemx.getCfid());
HashMap<String,Object> treeAttrs = new HashMap<>();
treeAttrs.put("version",itemx.getVersion().toString());
tree2.setTreeAttrs(treeAttrs);
ArrayList<Tree> treeArrayList = new ArrayList<>();
if(!StringUtils.isBlank(itemx.getTableStructure())){
String tableStructure = itemx.getTableStructure();
tableStructure = tableStructure.replace("{","");
tableStructure = tableStructure.replace("}","");
tableStructure = tableStructure.replace("\"","");
String[] tableStructureArr = StringUtils.splitByWholeSeparator(tableStructure, ",");
for(String item1:tableStructureArr){
String l = StringUtils.splitByWholeSeparator(item1, ":")[1];
Tree tree3 = new Tree();
tree3.setLabel("子表-"+l);
tree3.setParentId(tree2.getId());
tree3.setId(tree2.getId()+":zibiaoid-"+l);
tree3.setValue(tree3.getId());
treeArrayList.add(tree3);
}
} }
tree2.setChildren(treeArrayList);
treeArrayListx.add(tree2); HashMap<String,Object> treeAttrs = new HashMap<>();
treeAttrs.put("version",item.getVersion().toString());
tree1.setChildren(treeArrayListx);
tree1.setTreeAttrs(treeAttrs);
} }
treeArrayList1.add(tree1);
}else{
tree1.setId(item.getCfid());
tree1.setParentId(tree.getId());
tree1.setLabel("Form-"+item.getName());
tree1.setValue(item.getCfid());
HashMap<String,Object> treeAttrs = new HashMap<>(); HashMap<String,Object> treeAttrs = new HashMap<>();
treeAttrs.put("version",item.getVersion().toString()); treeAttrs.put("version",item.getVersion().toString());
tree1.setChildren(treeArrayListx);
tree1.setTreeAttrs(treeAttrs); tree1.setTreeAttrs(treeAttrs);
ArrayList<Tree> treeArrayList = new ArrayList<>();
} if(!StringUtils.isBlank(item.getTableStructure())){
treeArrayList1.add(tree1);
}else{ String tableStructure = item.getTableStructure();
tree1.setId(item.getCfid()); tableStructure = tableStructure.replace("{","");
tree1.setParentId(tree.getId()); tableStructure = tableStructure.replace("}","");
tree1.setLabel("Form-"+item.getName()); tableStructure = tableStructure.replace("\"","");
tree1.setValue(item.getCfid()); String[] tableStructureArr = StringUtils.splitByWholeSeparator(tableStructure, ",");
HashMap<String,Object> treeAttrs = new HashMap<>();
treeAttrs.put("version",item.getVersion().toString()); for(String item1:tableStructureArr){
tree1.setTreeAttrs(treeAttrs); String l = StringUtils.splitByWholeSeparator(item1, ":")[1];
ArrayList<Tree> treeArrayList = new ArrayList<>(); Tree tree2 = new Tree();
if(!StringUtils.isBlank(item.getTableStructure())){ tree2.setLabel("子表-"+l);
tree2.setParentId(tree1.getId());
String tableStructure = item.getTableStructure(); tree2.setId(tree1.getId()+":zibiaoid-"+l);
tableStructure = tableStructure.replace("{",""); tree2.setValue(tree2.getId());
tableStructure = tableStructure.replace("}",""); treeArrayList.add(tree2);
tableStructure = tableStructure.replace("\"",""); }
String[] tableStructureArr = StringUtils.splitByWholeSeparator(tableStructure, ",");
for(String item1:tableStructureArr){
String l = StringUtils.splitByWholeSeparator(item1, ":")[1];
Tree tree2 = new Tree();
tree2.setLabel("子表-"+l);
tree2.setParentId(tree1.getId());
tree2.setId(tree1.getId()+":zibiaoid-"+l);
tree2.setValue(tree2.getId());
treeArrayList.add(tree2);
}
}
tree1.setChildren(treeArrayList);
treeArrayList1.add(tree1);
} }
tree1.setChildren(treeArrayList);
treeArrayList1.add(tree1);
}
}
tree.setChildren(treeArrayList1);
return tree;
} }
tree.setChildren(treeArrayList1);
return tree;
} }
@ -490,7 +510,7 @@ public class CustomerFormServiceImpl implements CustomerFormService {
e.printStackTrace(); e.printStackTrace();
} }
//
} }
@ -519,5 +539,30 @@ public class CustomerFormServiceImpl implements CustomerFormService {
return tree; return tree;
} }
@Override
public ArrayList<CustomerFormTableSingleFieldValue> getFieldRecord(String key, String token, String[] optionsValue3FieldArray) {//CustomerFormTableSingleFieldValueList
ArrayList<CustomerFormTableSingleFieldValue> stringArrayList = new ArrayList<>();
if(!StringUtils.isBlank(key)&&!StringUtils.isBlank(token)){
if(optionsValue3FieldArray.length==3){//formField:102:input1717743396622",不涉及子表
String formId = optionsValue3FieldArray[1];
//根据formId(cfid)查询表名
String formName = customerFormViewMapper.getTableNameByCfid(formId).getTablekey();
String fieldKey = optionsValue3FieldArray[2];
stringArrayList = fieldRecordMapper.getFieldRecord(formName,fieldKey);
}else if(optionsValue3FieldArray.length==4){//formField:5:table1718585442447:zhi2wu4",涉及到子表
String formId = optionsValue3FieldArray[1];
String tableKey = optionsValue3FieldArray[2];
String fieldKey = optionsValue3FieldArray[3];
stringArrayList = fieldRecordMapper.getFieldRecord(tableKey,fieldKey);
}
return stringArrayList;
}else{
System.out.println("非法请求!请先登录!");
return null;
}
}
} }

71
src/main/java/com/hxgk/lowcode/service/impl/UserServiceImpl.java

@ -49,46 +49,51 @@ public class UserServiceImpl implements UserService {
String userRedisHashKey = "HXGK_GO_ZhixingCollege:ScanCode:Authentication:LoginApi_dev_" + userkey; String userRedisHashKey = "HXGK_GO_ZhixingCollege:ScanCode:Authentication:LoginApi_dev_" + userkey;
Object value1 = redisTemplate.boundHashOps(userRedisHashKey).get("key"); Object value1 = redisTemplate.boundHashOps(userRedisHashKey).get("key");
//唯一识别码 if(value1==null){
String key = value1.toString(); return null;
}else{
//唯一识别码
String key = value1.toString();
//工号 //工号
Object wmNumber = redisTemplate.boundHashOps(userRedisHashKey).get("usernumber"); Object wmNumber = redisTemplate.boundHashOps(userRedisHashKey).get("usernumber");
String userDetailKey = "HXGK_GO_ZhixingCollege:ScanCode:Authentication:UserCont_dev_" + wmNumber; String userDetailKey = "HXGK_GO_ZhixingCollege:ScanCode:Authentication:UserCont_dev_" + wmNumber;
HashOperations hashOps = redisTemplate.opsForHash(); HashOperations hashOps = redisTemplate.opsForHash();
Map<String, String> entries = hashOps.entries(userDetailKey); Map<String, String> entries = hashOps.entries(userDetailKey);
for (Map.Entry<String, String> entry : entries.entrySet()) { for (Map.Entry<String, String> entry : entries.entrySet()) {
if (StringUtils.isNotEmpty(entry.getKey()) && entry.getKey().equals("idcardno")) { if (StringUtils.isNotEmpty(entry.getKey()) && entry.getKey().equals("idcardno")) {
userDetail.setIdcardno(entry.getValue()); userDetail.setIdcardno(entry.getValue());
} }
if (StringUtils.isNotEmpty(entry.getKey()) && entry.getKey().equals("name")) { if (StringUtils.isNotEmpty(entry.getKey()) && entry.getKey().equals("name")) {
userDetail.setName(entry.getValue()); userDetail.setName(entry.getValue());
} }
if (StringUtils.isNotEmpty(entry.getKey()) && entry.getKey().equals("icon")) { if (StringUtils.isNotEmpty(entry.getKey()) && entry.getKey().equals("icon")) {
userDetail.setIcon(entry.getValue()); userDetail.setIcon(entry.getValue());
} }
if (StringUtils.isNotEmpty(entry.getKey()) && entry.getKey().equals("number")) { if (StringUtils.isNotEmpty(entry.getKey()) && entry.getKey().equals("number")) {
userDetail.setWmNumber(entry.getValue()); userDetail.setWmNumber(entry.getValue());
} }
if (StringUtils.isNotEmpty(entry.getKey()) && entry.getKey().equals("key")) { if (StringUtils.isNotEmpty(entry.getKey()) && entry.getKey().equals("key")) {
long l = Long.parseLong(entry.getValue()); long l = Long.parseLong(entry.getValue());
userDetail.setWmKey(l); userDetail.setWmKey(l);
} }
//role //role
if (StringUtils.isNotEmpty(entry.getKey()) && entry.getKey().equals("role")) { if (StringUtils.isNotEmpty(entry.getKey()) && entry.getKey().equals("role")) {
Integer l = Integer.parseInt(entry.getValue()); Integer l = Integer.parseInt(entry.getValue());
userDetail.setRoleId(l); userDetail.setRoleId(l);
} }
if (StringUtils.isNotEmpty(entry.getKey()) && entry.getKey().equals("adminorg")) { if (StringUtils.isNotEmpty(entry.getKey()) && entry.getKey().equals("adminorg")) {
long adminorg = Long.parseLong(entry.getValue()); long adminorg = Long.parseLong(entry.getValue());
userDetail.setAdminorg(adminorg); userDetail.setAdminorg(adminorg);
}
} }
return userDetail;
} }
return userDetail;
} }
@DS("hrnew") @DS("hrnew")
@Override @Override

6
src/main/resources/application-dev.yml

@ -34,6 +34,12 @@ spring:
password: 9z_Bu28r1*DZ3K6@+a password: 9z_Bu28r1*DZ3K6@+a
url: jdbc:mysql://172.20.5.33:4000/system_empower?allowPublicKeyRetrieval=true&uuseUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&tinyInt1isBit=false url: jdbc:mysql://172.20.5.33:4000/system_empower?allowPublicKeyRetrieval=true&uuseUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&tinyInt1isBit=false
username: root username: root
tidbintranetcustomerform:
driver-class-name: com.mysql.cj.jdbc.Driver
password: 9z_Bu28r1*DZ3K6@+a
#url: jdbc:mysql://127.0.0.1:3306/hengxingaoke_tes?allowPublicKeyRetrieval=true&uuseUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&tinyInt1isBit=false
url: jdbc:mysql://172.20.5.33:4000/customer_form?allowPublicKeyRetrieval=true&uuseUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&tinyInt1isBit=false
username: root
#数据源基础配置 #数据源基础配置
druid: druid:
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录 # 通过connectProperties属性来打开mergeSql功能;慢SQL记录

6
src/main/resources/application-prod.yml

@ -34,6 +34,12 @@ spring:
password: NTYni4L2mfxk5zZZ password: NTYni4L2mfxk5zZZ
url: jdbc:mysql://127.0.0.1:3306/system_empower?allowPublicKeyRetrieval=true&uuseUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&tinyInt1isBit=false url: jdbc:mysql://127.0.0.1:3306/system_empower?allowPublicKeyRetrieval=true&uuseUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&tinyInt1isBit=false
username: system_empower username: system_empower
tidbintranetcustomerform:
driver-class-name: com.mysql.cj.jdbc.Driver
password: Mjh4msNtADGjiMaC
#url: jdbc:mysql://127.0.0.1:3306/hengxingaoke_tes?allowPublicKeyRetrieval=true&uuseUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&tinyInt1isBit=false
url: jdbc:mysql://127.0.0.1:3306/customer_form?allowPublicKeyRetrieval=true&uuseUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&tinyInt1isBit=false
username: customer_form
#数据源基础配置 #数据源基础配置
druid: druid:
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录 # 通过connectProperties属性来打开mergeSql功能;慢SQL记录

8
src/main/resources/mapper/CustomerFormvViewMapper.xml

@ -26,4 +26,12 @@
order by id order by id
</select> </select>
<select id="getTableNameByCfid" resultType="com.hxgk.lowcode.model.entity.CustomerFormView">
select
id,tablekey,version,status,time,creater,edit_time,table_structure,dict,cfid,name,classify,flowkey,signCode
from customer_form_view
where status = 1 and cfid = #{formId}
</select>
</mapper> </mapper>

12
src/main/resources/mapper/FieldRecordMapper.xml

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.hxgk.lowcode.mapper.FieldRecordMapper">
<select id="getFieldRecord" resultType="com.hxgk.lowcode.model.entity.CustomerFormTableSingleFieldValue" parameterType="java.lang.String" statementType="STATEMENT">
select id as value,${fieldKey} as label from ${formIdOrTableKey} where states = 1
</select>
</mapper>
Loading…
Cancel
Save