commit 4707220249c56908bcccd8116bf3ec3bb9a58dd3 Author: Chengliang <1546584672@qq.com> Date: Mon Oct 10 10:20:50 2022 +0800 东方骏驰通讯录移动电话权限查看二开 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..30fa9f8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,16 @@ +/weaver-hrm-organization.iml +/out/ +/.idea/ + +HELP.md +target/ + +### IntelliJ IDEA ### +.idea + +/src/test +/src/rebel.xml +/src/META-INF + +/log + diff --git a/src/com/api/jygf/web/MobilePermissionsAction.java b/src/com/api/jygf/web/MobilePermissionsAction.java new file mode 100644 index 0000000..040835b --- /dev/null +++ b/src/com/api/jygf/web/MobilePermissionsAction.java @@ -0,0 +1,13 @@ +package com.api.jygf.web; + +import javax.ws.rs.Path; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/10/9 + * @Version V1.0 + **/ +@Path("/mobile/permission") +public class MobilePermissionsAction extends com.engine.jygf.web.MobilePermissionsAction { +} diff --git a/src/com/engine/jygf/cmd/MobilePermissionsCmd.java b/src/com/engine/jygf/cmd/MobilePermissionsCmd.java new file mode 100644 index 0000000..7e4ebdd --- /dev/null +++ b/src/com/engine/jygf/cmd/MobilePermissionsCmd.java @@ -0,0 +1,68 @@ +package com.engine.jygf.cmd; + +import com.engine.common.biz.AbstractCommonCommand; +import com.engine.common.entity.BizLogContext; +import com.engine.core.interceptor.CommandContext; +import org.apache.commons.lang3.StringUtils; +import weaver.conn.RecordSet; +import weaver.hrm.User; +import weaver.wechat.util.Utils; + +import java.util.*; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/10/9 + * @Version V1.0 + **/ +public class MobilePermissionsCmd extends AbstractCommonCommand> { + + private static final String FIELDID = "field100026"; //移动电话自定义字段 + + private static final String SCOPE = "HrmCustomFieldByInfoType"; + + private static final String SCOPEID = "-1"; + + public MobilePermissionsCmd(Map params, User user) { + this.user = user; + this.params = params; + } + + @Override + public BizLogContext getLogContext() { + return null; + } + + + @Override + public Map execute(CommandContext commandContext) { + Map data = new HashMap<>(); + String uid = Utils.null2String(user.getUID()); + RecordSet rs = new RecordSet(); + HashSet ids = new HashSet<>(); + ids.add(uid); + rs.executeQuery("select ckr,bckr from uf_yddhqx_dt1"); + while (rs.next()) { + String ckr = Utils.null2String(rs.getString("ckr")); + String bckr = Utils.null2String(rs.getString("bckr")); + if (Arrays.asList(ckr.split(",")).contains(uid)) { + ids.addAll(Arrays.asList(bckr.split(","))); + } + } + + Map mobileInfo = new HashMap<>(); + String value = StringUtils.join(ids,","); + rs.executeQuery("select id,"+FIELDID+" from cus_fielddata where scope = ? and scopeid = ?" + + " and id in ("+value+")",SCOPE,SCOPEID); + while (rs.next()){ + mobileInfo.put(Utils.null2String(rs.getString("id")),rs.getString(FIELDID)); + } + + data.put("ids",ids); + data.put("mobileInfo",mobileInfo); + return data; + } + + +} diff --git a/src/com/engine/jygf/service/MobilePermissionsService.java b/src/com/engine/jygf/service/MobilePermissionsService.java new file mode 100644 index 0000000..e41d2a9 --- /dev/null +++ b/src/com/engine/jygf/service/MobilePermissionsService.java @@ -0,0 +1,16 @@ +package com.engine.jygf.service; + +import weaver.hrm.User; + +import java.util.Map; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/10/9 + * @Version V1.0 + **/ +public interface MobilePermissionsService { + + Map getPermissionInfo(Map params, User user); +} diff --git a/src/com/engine/jygf/service/impl/MobilePermissionsServiceImpl.java b/src/com/engine/jygf/service/impl/MobilePermissionsServiceImpl.java new file mode 100644 index 0000000..579ba36 --- /dev/null +++ b/src/com/engine/jygf/service/impl/MobilePermissionsServiceImpl.java @@ -0,0 +1,24 @@ +package com.engine.jygf.service.impl; + +import com.engine.core.impl.Service; +import com.engine.jygf.cmd.MobilePermissionsCmd; +import com.engine.jygf.service.MobilePermissionsService; +import weaver.hrm.User; + +import java.util.Map; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/10/9 + * @Version V1.0 + **/ +public class MobilePermissionsServiceImpl extends Service implements MobilePermissionsService { + + + + @Override + public Map getPermissionInfo(Map params, User user) { + return commandExecutor.execute(new MobilePermissionsCmd(params,user)); + } +} diff --git a/src/com/engine/jygf/web/MobilePermissionsAction.java b/src/com/engine/jygf/web/MobilePermissionsAction.java new file mode 100644 index 0000000..f3cf66d --- /dev/null +++ b/src/com/engine/jygf/web/MobilePermissionsAction.java @@ -0,0 +1,57 @@ +package com.engine.jygf.web; + +import com.alibaba.fastjson.JSONObject; +import com.engine.common.util.ParamUtil; +import com.engine.common.util.ServiceUtil; +import com.engine.jygf.service.MobilePermissionsService; +import com.engine.jygf.service.impl.MobilePermissionsServiceImpl; +import weaver.hrm.HrmUserVarify; +import weaver.hrm.User; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Context; +import javax.ws.rs.core.MediaType; +import java.util.HashMap; +import java.util.Map; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/10/9 + * @Version V1.0 + **/ +public class MobilePermissionsAction { + + public MobilePermissionsService getMobilePermissionsService(User user) { + return ServiceUtil.getService(MobilePermissionsServiceImpl.class,user); + } + + /** + * 晶优光伏 移动电话通过建模控制权限 通讯录显示 + * @param request + * @param response + * @return + */ + @GET + @Path("/controller") + @Produces(MediaType.APPLICATION_JSON) + public String getPermissionInfo(@Context HttpServletRequest request, @Context HttpServletResponse response) { + Map apidatas = new HashMap<>(); + try { + User user = HrmUserVarify.getUser(request, response); + //实例化Service 并调用业务类处理 + apidatas = getMobilePermissionsService(user).getPermissionInfo(ParamUtil.request2Map(request), user); + } catch (Exception e) { + //异常处理 + apidatas.put("api_status", false); + } + return JSONObject.toJSONString(apidatas); + } + + + +}