初始版本
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
package com.vverp.controller.admin;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.vverp.annotation.Module;
|
||||
import com.vverp.entity.Admin;
|
||||
import com.vverp.entity.BaseEntity;
|
||||
import com.vverp.entity.ExtraField;
|
||||
import com.vverp.moli.util.RespData;
|
||||
import com.vverp.service.AdminService;
|
||||
import com.vverp.service.ExtraFieldService;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider;
|
||||
import org.springframework.core.type.filter.AssignableTypeFilter;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author dealsky
|
||||
* @date 2020/3/11 8:38 下午
|
||||
*/
|
||||
@Controller("adminExtraFieldController")
|
||||
@RequestMapping("/admin/extraField")
|
||||
public class ExtraFieldController extends BaseController {
|
||||
|
||||
@Resource
|
||||
private ExtraFieldService extraFieldService;
|
||||
@Resource
|
||||
private AdminService adminService;
|
||||
|
||||
@RequestMapping("/list")
|
||||
public String list(ModelMap modelMap) throws ClassNotFoundException {
|
||||
ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(false);
|
||||
provider.addIncludeFilter(new AssignableTypeFilter(BaseEntity.class));
|
||||
Set<BeanDefinition> components = provider.findCandidateComponents("com.vverp.entity");
|
||||
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
for (BeanDefinition component : components) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
Class cls = Class.forName(component.getBeanClassName());
|
||||
if (!cls.getName().equals("com.vverp.entity.PurchaseApplyOrderItem")
|
||||
&& !cls.getName().equals("com.vverp.entity.Supplier")
|
||||
&& !cls.getName().equals("com.vverp.entity.MaterialOrderItem")){
|
||||
continue;
|
||||
}
|
||||
String key = cls.getSimpleName();
|
||||
key = key.substring(0, 1).toLowerCase() + key.substring(1);
|
||||
Module module = (Module) cls.getAnnotation(Module.class);
|
||||
if (module == null || StringUtils.isBlank(module.name())) {
|
||||
continue;
|
||||
}
|
||||
|
||||
map.put("key", key);
|
||||
map.put("name", module.name());
|
||||
list.add(map);
|
||||
}
|
||||
|
||||
modelMap.addAttribute("list", list);
|
||||
return "extraField/list";
|
||||
}
|
||||
|
||||
@RequestMapping("/dialog/edit")
|
||||
public String dialogEdit(ModelMap modelMap, String space, String title) {
|
||||
Admin admin = adminService.getCurrent();
|
||||
modelMap.addAttribute("space", space);
|
||||
modelMap.addAttribute("title", title);
|
||||
modelMap.addAttribute("list", extraFieldService.initData(space,admin.getNowProgress()));
|
||||
return "/extraField/dialog/edit";
|
||||
}
|
||||
|
||||
@RequestMapping("/extend")
|
||||
@ResponseBody
|
||||
public RespData extend(String extraFields, String space) {
|
||||
Admin admin = adminService.getCurrent();
|
||||
List<ExtraField> extraFieldList = JSONObject.parseArray(extraFields, ExtraField.class);
|
||||
extraFieldService.update(extraFieldList, space,admin.getNowProgress());
|
||||
return RespData.success();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user