diff --git a/src/com/engine/organization/entity/po/Demo.java b/src/com/engine/organization/entity/po/Demo.java new file mode 100644 index 00000000..41d0388a --- /dev/null +++ b/src/com/engine/organization/entity/po/Demo.java @@ -0,0 +1,55 @@ +package com.engine.organization.entity.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @Author weaver_cl + * @Description: TODO + * @Date 2022/4/26 + * @Version V1.0 + **/ + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class Demo { + + //主建,非自增 0表示集团 正数是现有分部信息ID + private Integer fid; + + //1-集团或者虚拟组织名称 2-分部级虚拟组织分部 + private Integer flevel; + + //维度: 0-行政维度 负数-虚拟组织架构id + private Integer fwd; + + //编号 + private String fnumber; + + //名称 + private String fname; + + //负责人id + private Integer fleader; + + //编制人数 + private Integer fplan; + + //在岗人数 + private Integer fonjob; + + //是否虚拟组织,0-实体组织,1-虚拟组织 + private Integer fisvitual; + + //生效时间 + private Date ftimebegin; + + //失效时间 + private Date ftimeend; +} diff --git a/src/com/engine/organization/entity/po/DemoUser.java b/src/com/engine/organization/entity/po/DemoUser.java deleted file mode 100644 index 4bda8b5c..00000000 --- a/src/com/engine/organization/entity/po/DemoUser.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.engine.organization.entity.po; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @Author weaver_cl - * @Description: TODO - * @Date 2022/4/26 - * @Version V1.0 - **/ - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class DemoUser { - - private String username; - - private Integer age; -} diff --git a/src/com/engine/organization/mapper/DemoMapper.java b/src/com/engine/organization/mapper/DemoMapper.java new file mode 100644 index 00000000..f44b7ce1 --- /dev/null +++ b/src/com/engine/organization/mapper/DemoMapper.java @@ -0,0 +1,27 @@ +package com.engine.organization.mapper; + + +import com.engine.organization.entity.po.Demo; + +import java.util.List; + +/** + * @Author weaver_cl + * @Description: TODO + * @Date 2022/3/9 + * @Version V1.0 + **/ +public interface DemoMapper { + + + + /** + * 查询所有 + * @return + */ + List listAll(); + + + + +} diff --git a/src/com/engine/organization/mapper/DemoMapper.xml b/src/com/engine/organization/mapper/DemoMapper.xml new file mode 100644 index 00000000..69cd0258 --- /dev/null +++ b/src/com/engine/organization/mapper/DemoMapper.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + t.fid + , t.flevel + , t.fwd + , t.fnumber + , t.fname + , t.fleader + , t.fplan + , t.fonjob + , t.fisvitual + , t.ftimebegin + , t.ftimeend + + + + + + + + + \ No newline at end of file diff --git a/src/com/engine/organization/service/DemoService.java b/src/com/engine/organization/service/DemoService.java new file mode 100644 index 00000000..a2ee0596 --- /dev/null +++ b/src/com/engine/organization/service/DemoService.java @@ -0,0 +1,22 @@ +package com.engine.organization.service; + +import com.engine.organization.entity.po.Demo; + +import java.util.List; + +/** + * @Author weaver_cl + * @Description: TODO + * @Date 2022/4/27 + * @Version V1.0 + **/ +public interface DemoService { + + /** + * + * @param name + * @return + */ + List list(String name); + +} diff --git a/src/com/engine/organization/service/impl/DemoServiceImpl.java b/src/com/engine/organization/service/impl/DemoServiceImpl.java new file mode 100644 index 00000000..5a2e857d --- /dev/null +++ b/src/com/engine/organization/service/impl/DemoServiceImpl.java @@ -0,0 +1,27 @@ +package com.engine.organization.service.impl; + +import com.engine.core.impl.Service; +import com.engine.organization.entity.po.Demo; +import com.engine.organization.mapper.DemoMapper; +import com.engine.organization.service.DemoService; +import com.engine.organization.util.OrganizationAssert; +import com.engine.organization.util.db.MapperProxyFactory; +import com.engine.organization.wrapper.DemoWrapper; + +import java.util.List; + +/** + * @Author weaver_cl + * @Description: TODO + * @Date 2022/4/27 + * @Version V1.0 + **/ +public class DemoServiceImpl extends Service implements DemoService { + + @Override + public List list(String name) { + OrganizationAssert.notNull(name,"参数不能为空"); + return MapperProxyFactory.getProxy(DemoMapper.class).listAll(); + + } +} diff --git a/src/com/engine/organization/util/HrmI18nUtil.java b/src/com/engine/organization/util/HrmI18nUtil.java new file mode 100644 index 00000000..39f81790 --- /dev/null +++ b/src/com/engine/organization/util/HrmI18nUtil.java @@ -0,0 +1,48 @@ +package com.engine.organization.util; + +/** + * @Author weaver_cl + * @Description: TODO 多语言工具类 + * @Date 2022/3/9 + * @Version V1.0 + **/ +public class HrmI18nUtil { + + /** + * 获取多语言信息 + * + * @param labelId 多语言对应的labelId + * @param defaultLabel 默认中文 + * @return + */ + public static String getI18nLabel(int labelId, String defaultLabel) { + return defaultLabel; + } +// +// /** +// * 获取多语言信息 +// * +// * @param tenantKey 租户key +// * @param employeeId 人员id +// * @param labelId 多语言对应的labelId +// * @param defaultLabel 默认中文 +// * @return +// */ +// public static String getI18nLabel(String tenantKey, Long employeeId, int labelId, String defaultLabel) { +// int languageId = I18nLanguageUtil.getLangId(employeeId); +// return SystemEnv.getHtmlLabelName(labelId, languageId, tenantKey, defaultLabel); +// } +// +// /** +// * 获取多语言信息 +// * +// * @param simpleEmployee 租户信息 +// * @param labelId 多语言对应的labelId +// * @param defaultLabel 默认中文 +// * @return +// */ +// public static String getI18nLabel(SimpleEmployee simpleEmployee, int labelId, String defaultLabel) { +// int languageId = I18nLanguageUtil.getLangId(simpleEmployee.getEmployeeId()); +// return SystemEnv.getHtmlLabelName(labelId, languageId, simpleEmployee.getTenantKey(), defaultLabel); +// } +} diff --git a/src/com/engine/organization/util/db/MapperProxyFactory.java b/src/com/engine/organization/util/db/MapperProxyFactory.java new file mode 100644 index 00000000..e88f3c3d --- /dev/null +++ b/src/com/engine/organization/util/db/MapperProxyFactory.java @@ -0,0 +1,74 @@ +/** + * + */ +package com.engine.organization.util.db; + +import org.apache.ibatis.session.SqlSession; +import weaver.conn.mybatis.MyBatisFactory; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; + + +public class MapperProxyFactory implements InvocationHandler { + private Class clazz; + private boolean enableTransactions = false; + private SqlSession session; + + public MapperProxyFactory(Class clazz) { + this.clazz = clazz; + } + + @Override + public Object invoke(Object proxy, Method method, Object[] args) throws Exception { + if (this.session == null) { + this.session = MyBatisFactory.sqlSessionFactory.openSession(); + } + try { + Object target = session.getMapper(clazz); + return method.invoke(target, args); + } finally { + if (!enableTransactions) { + session.commit(); + session.close(); + } + } + } + + public Object getProxy() { + ClassLoader loader = Thread.currentThread().getContextClassLoader(); + Class[] interfaces = new Class[1]; + interfaces[0] = this.clazz; + return Proxy.newProxyInstance(loader, interfaces, this); + } + + public Object getProxy(boolean enableTransactions) { + this.enableTransactions = enableTransactions; + return this.getProxy(); + } + + public void commit() { + if (this.session != null) { + this.session.commit(); + this.session.close(); + } + } + + public void rollback() { + if (this.session != null) { + this.session.rollback(); + this.session.close(); + } + } + + public static T getProxy(Class clazz) { + MapperProxyFactory handle = new MapperProxyFactory(clazz); + return (T) handle.getProxy(); + } + + public static T getProxy(Class clazz, boolean enableTransactions) { + MapperProxyFactory handle = new MapperProxyFactory(clazz); + return (T) handle.getProxy(enableTransactions); + } +} diff --git a/src/com/engine/organization/util/response/ReturnResult.java b/src/com/engine/organization/util/response/ReturnResult.java index da3119e0..81e7567c 100644 --- a/src/com/engine/organization/util/response/ReturnResult.java +++ b/src/com/engine/organization/util/response/ReturnResult.java @@ -154,6 +154,16 @@ public class ReturnResult implements Serializable { return new ReturnResult<>(ResultCode.VALIDATE_FAILED.getCode(), msg); } + /** + * 异常处理 + * @param msg + * @param + * @return + */ + public static ReturnResult exceptionHandle(String msg) { + return new ReturnResult<>(ResultCode.FAILED.getCode(), msg); + } + /** * 未登录返回结果 。 token过期.. * diff --git a/src/com/engine/organization/web/DemoController.java b/src/com/engine/organization/web/DemoController.java index 807df48c..b4709685 100644 --- a/src/com/engine/organization/web/DemoController.java +++ b/src/com/engine/organization/web/DemoController.java @@ -32,8 +32,12 @@ public class DemoController { @Produces(MediaType.APPLICATION_JSON) public ReturnResult testDemo(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam("name") String name) { - User user = HrmUserVarify.getUser(request, response); - return getDemoWrapper(user).testDemo(name); + try { + User user = HrmUserVarify.getUser(request, response); + return getDemoWrapper(user).testDemo(name); + }catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } } } diff --git a/src/com/engine/organization/wrapper/DemoWrapper.java b/src/com/engine/organization/wrapper/DemoWrapper.java index 248d88ac..affe8c5b 100644 --- a/src/com/engine/organization/wrapper/DemoWrapper.java +++ b/src/com/engine/organization/wrapper/DemoWrapper.java @@ -1,9 +1,14 @@ package com.engine.organization.wrapper; +import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; -import com.engine.organization.entity.po.DemoUser; -import com.engine.organization.util.OrganizationAssert; +import com.engine.organization.entity.po.Demo; +import com.engine.organization.service.DemoService; +import com.engine.organization.service.impl.DemoServiceImpl; import com.engine.organization.util.response.ReturnResult; +import weaver.hrm.User; + +import java.util.List; /** * @Author weaver_cl @@ -13,11 +18,12 @@ import com.engine.organization.util.response.ReturnResult; **/ public class DemoWrapper extends Service { + private DemoService getDemoService(User user) { + return ServiceUtil.getService(DemoServiceImpl.class,user); + } public ReturnResult testDemo(String name) { - - OrganizationAssert.notNull(name,"参数不能为空"); - DemoUser demoUser = DemoUser.builder().username("张三").age(12).build(); - return ReturnResult.successed(demoUser); + List list = getDemoService(user).list(name); + return ReturnResult.successed(list); } }