liupeng 4 years ago
parent
commit
245dc04969

+ 54 - 0
code/sapparent/sapcms/src/main/java/org/fouram/controller/SapReportAuthController.java

@@ -0,0 +1,54 @@
+package org.fouram.controller;
+
+import org.fouram.core.base.controller.BaseController;
+import org.fouram.core.util.ResultUtil;
+import org.fouram.dto.input.SapReportAuthDTO.SapReportAuthDeleteDTO;
+import org.fouram.dto.input.SapReportAuthDTO.SapReportAuthSaveDTO;
+import org.fouram.dto.input.SapReportAuthDTO.SapReportAuthSelectListDTO;
+import org.fouram.service.SapOrgService;
+import org.fouram.service.SapReportAuthService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import io.swagger.annotations.Api;
+
+@Controller
+@Api(value = "sap打卡接口")
+@RequestMapping(value = "/sapReport")
+public class SapReportAuthController extends BaseController {
+
+	@Autowired
+	private SapOrgService sapOrgService;
+	@Autowired
+	private SapReportAuthService service;
+
+	@PostMapping(value = "/selectFirstOrgList", produces = "application/json;charset=utf-8")
+	@ResponseBody
+	public Object selectFirstOrgList() throws Exception {
+		return ResultUtil.success(sapOrgService.selectFirstOrgList(), null);
+	}
+
+	@PostMapping(value = "/saveReportAuth", produces = "application/json;charset=utf-8")
+	@ResponseBody
+	public Object saveReportAuth(@RequestBody SapReportAuthSaveDTO dto) throws Exception {
+		service.save(dto);
+		return ResultUtil.success();
+	}
+
+	@PostMapping(value = "/selectReportAuthList", produces = "application/json;charset=utf-8")
+	@ResponseBody
+	public Object selectReportAuthList(@RequestBody SapReportAuthSelectListDTO dto) throws Exception {
+		return ResultUtil.success(service.selectList(dto), "保存成功");
+	}
+
+	@PostMapping(value = "/deleteReportAuth", produces = "application/json;charset=utf-8")
+	@ResponseBody
+	public Object deleteReportAuth(@RequestBody SapReportAuthDeleteDTO dto) throws Exception {
+		service.deleteById(dto.getId());
+		return ResultUtil.success();
+	}
+}

+ 54 - 0
code/sapparent/sapservice/src/main/java/org/fouram/core/util/SplitUtil.java

@@ -0,0 +1,54 @@
+package org.fouram.core.util;
+
+import java.util.List;
+
+import org.apache.commons.lang3.StringUtils;
+
+import com.google.common.base.Splitter;
+import com.google.common.collect.Lists;
+
+/**
+ * String工具类
+ */
+public class SplitUtil {
+
+	public static List<String> split(String str, String split) {
+		List<String> list = Lists.newArrayList();
+		if (StringUtils.isBlank(str)) {
+			return list;
+		}
+		for (String s : Splitter.on(split).splitToList(str)) {
+			if (StringUtils.isNotBlank(s)) {
+				list.add(s);
+			}
+		}
+		return list;
+	}
+
+	public static List<Long> splitToLong(String str, String split) {
+		List<Long> list = Lists.newArrayList();
+		if (StringUtils.isBlank(str)) {
+			return list;
+		}
+		for (String s : Splitter.on(split).splitToList(str)) {
+			if (StringUtils.isNotBlank(s)) {
+				list.add(Long.valueOf(s));
+			}
+		}
+		return list;
+	}
+	
+	public static Long getLastToLong(String str, String split) {
+		List<Long> list = splitToLong(str, ",");
+		return list.get(list.size() - 1);
+	}
+	public static void main(String[] args) {
+		System.out.println(getLastToLong("97316,98514,99113,,97915", ","));
+	}
+	public static String getString(List<String> list, int i) {
+		if (list.size() > i) {
+			return list.get(i);
+		}
+		return "";
+	}
+}

+ 45 - 0
code/sapparent/sapservice/src/main/java/org/fouram/dto/input/SapReportAuthDTO.java

@@ -0,0 +1,45 @@
+package org.fouram.dto.input;
+
+import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+public class SapReportAuthDTO implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	@Data
+	@Builder
+	@NoArgsConstructor
+	@AllArgsConstructor
+	@JsonIgnoreProperties(ignoreUnknown = true)
+	public static class SapReportAuthSaveDTO implements Serializable {
+		private static final long serialVersionUID = 1L;
+		private String wxUserId;
+		private String sapOrgIds;
+	}
+	
+	@Data
+	@Builder
+	@NoArgsConstructor
+	@AllArgsConstructor
+	@JsonIgnoreProperties(ignoreUnknown = true)
+	public static class SapReportAuthSelectListDTO implements Serializable {
+		private static final long serialVersionUID = 1L;
+		private String wxName;
+	}
+
+	@Data
+	@Builder
+	@NoArgsConstructor
+	@AllArgsConstructor
+	@JsonIgnoreProperties(ignoreUnknown = true)
+	public static class SapReportAuthDeleteDTO implements Serializable {
+		private static final long serialVersionUID = 1L;
+		private Long id;
+	}
+}

+ 26 - 0
code/sapparent/sapservice/src/main/java/org/fouram/entity/SapReportAuth.java

@@ -0,0 +1,26 @@
+package org.fouram.entity;
+
+import java.io.Serializable;
+
+import org.apache.ibatis.type.Alias;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@Alias(value = "SapReportAuth")
+public class SapReportAuth implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	private Long id;
+	private String wxUserId;
+	private String sapOrgId;
+	
+	private String wxUserName;
+	private String sapOrgName;
+}

+ 4 - 0
code/sapparent/sapservice/src/main/java/org/fouram/mapper/SapOrgMapper.xml

@@ -33,4 +33,8 @@
 	<update id="updateWxDepartId">
 		update sap_org set wxDepartId=#{wxDepartId} where id=#{id}
 	</update>
+	
+	<select id="selectFirstOrgList" resultType="SapOrg">
+		select * from sap_org where level = 1
+	</select>
 </mapper>

+ 20 - 0
code/sapparent/sapservice/src/main/java/org/fouram/mapper/SapReportAuthMapper.xml

@@ -0,0 +1,20 @@
+<?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="SapReportAuthMapper">
+	<insert id="save">
+		insert into sap_report_auth(wxUserId,sapOrgId) values (#{wxUserId},#{sapOrgId})
+	</insert>
+	
+	<select id="selectList" resultType="SapReportAuth">
+		select a.*, b.name as wxUserName, c.sapName as sapOrgName 
+		from sap_report_auth a, wx_user b, sap_org c
+		where a.wxUserId = b.userId and a.wxOrgId = c.id
+		<if test="name != null and name != ''">
+			and b.name like CONCAT(CONCAT('%', #{name}),'%')
+		</if>
+	</select>
+	
+	<delete id="deleteById">
+		delete from sap_report_auth where id = #{id}
+	</delete>
+</mapper>

+ 5 - 0
code/sapparent/sapservice/src/main/java/org/fouram/service/SapOrgService.java

@@ -195,4 +195,9 @@ public class SapOrgService extends BaseService {
 		}
 		return sapOrgs;
 	}
+	
+	@SuppressWarnings("unchecked")
+	public List<SapOrg> selectFirstOrgList() throws Exception {
+		return (List<SapOrg>) findList("SapOrgMapper.selectFirstOrgList", null);
+	}
 }

+ 33 - 0
code/sapparent/sapservice/src/main/java/org/fouram/service/SapReportAuthService.java

@@ -0,0 +1,33 @@
+package org.fouram.service;
+
+import java.util.List;
+
+import org.fouram.core.base.service.BaseService;
+import org.fouram.core.util.SplitUtil;
+import org.fouram.dto.input.SapReportAuthDTO.SapReportAuthSaveDTO;
+import org.fouram.dto.input.SapReportAuthDTO.SapReportAuthSelectListDTO;
+import org.fouram.entity.SapReportAuth;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+@Transactional
+public class SapReportAuthService extends BaseService {
+
+	public void save(SapReportAuthSaveDTO dto) throws Exception {
+		List<String> sapOrgIdList = SplitUtil.split(dto.getSapOrgIds(), ",");
+		for (String sapOrgId : sapOrgIdList) {
+			SapReportAuth entity = SapReportAuth.builder().wxUserId(dto.getWxUserId()).sapOrgId(sapOrgId).build();
+			save("SapReportAuthMapper.save", entity);
+		}
+	}
+
+	@SuppressWarnings("unchecked")
+	public List<SapReportAuth> selectList(SapReportAuthSelectListDTO dto) throws Exception {
+		return (List<SapReportAuth>) findList("SapReportAuthMapper.selectList", dto);
+	}
+
+	public void deleteById(Long id) throws Exception {
+		update("SapReportAuthMapper.deleteById", id);
+	}
+}