初始化引入工具类

pull/1/MERGE
Chengliang 3 years ago
parent b6c920dc64
commit e7742fdfe0

@ -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;
}

@ -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;
}

@ -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<Demo> listAll();
}

@ -0,0 +1,43 @@
<?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.engine.organization.mapper.DemoMapper">
<resultMap id="BaseResultMap" type="com.engine.organization.entity.po.Demo">
<result column="fid" property="fid"/>
<result column="flevel" property="flevel"/>
<result column="fwd" property="fwd"/>
<result column="fnumber" property="fnumber"/>
<result column="fname" property="fname"/>
<result column="fleader" property="fleader"/>
<result column="fplan" property="fplan"/>
<result column="fonjob" property="fonjob"/>
<result column="fisvitual" property="fisvitual"/>
<result column="ftimebegin" property="ftimebegin"/>
<result column="ftimeend" property="ftimeend"/>
</resultMap>
<!-- 表字段 -->
<sql id="baseColumns">
t.fid
, t.flevel
, t.fwd
, t.fnumber
, t.fname
, t.fleader
, t.fplan
, t.fonjob
, t.fisvitual
, t.ftimebegin
, t.ftimeend
</sql>
<select id="listAll" resultMap="BaseResultMap">
SELECT
<include refid="baseColumns"/>
FROM hr_company t
</select>
</mapper>

@ -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<Demo> list(String name);
}

@ -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<Demo> list(String name) {
OrganizationAssert.notNull(name,"参数不能为空");
return MapperProxyFactory.getProxy(DemoMapper.class).listAll();
}
}

@ -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);
// }
}

@ -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> T getProxy(Class<T> clazz) {
MapperProxyFactory handle = new MapperProxyFactory(clazz);
return (T) handle.getProxy();
}
public static <T> T getProxy(Class<T> clazz, boolean enableTransactions) {
MapperProxyFactory handle = new MapperProxyFactory(clazz);
return (T) handle.getProxy(enableTransactions);
}
}

@ -154,6 +154,16 @@ public class ReturnResult <T> implements Serializable {
return new ReturnResult<>(ResultCode.VALIDATE_FAILED.getCode(), msg);
}
/**
*
* @param msg
* @param <T>
* @return
*/
public static <T> ReturnResult<T> exceptionHandle(String msg) {
return new ReturnResult<>(ResultCode.FAILED.getCode(), msg);
}
/**
* token..
*

@ -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());
}
}
}

@ -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<Demo> list = getDemoService(user).list(name);
return ReturnResult.successed(list);
}
}

Loading…
Cancel
Save