Bläddra i källkod

[task-1670]根据是否超级管理员角色,以数组的形式返回许可证信息

szjbdgzl 2 år sedan
förälder
incheckning
7cf8e23b59

+ 5 - 1
ibps-oauth-root/modules/oauth-base/src/main/java/com/lc/ibps/cloud/oauth/server/service/ITokenService.java

@@ -22,6 +22,7 @@ import com.lc.ibps.cloud.oauth.entity.TokenEntity;
 import com.lc.ibps.cloud.oauth.entity.TokenParamVo;
 import com.lc.ibps.cloud.oauth.entity.TokenVo;
 
+import java.util.List;
 import java.util.Map;
 
 @Validated
@@ -56,5 +57,8 @@ public interface ITokenService {
 			@RequestBody(required = true) TokenParamVo tokenParamVo);
 
 	@RequestMapping(value = "/updateLicense", method = RequestMethod.POST)
-	public APIResult<Void> updateLicense(@RequestBody(required = true)Map<String,Object> map);
+	public APIResult<Void> updateLicenseByAccount(@RequestBody(required = true)Map<String,Object> map);
+
+	@RequestMapping(value = "/saveLicence", method = RequestMethod.POST)
+	public APIResult<Map<String,Object>> saveLicence(@RequestBody(required = true)Map<String,Object> map);
 }

+ 112 - 2
ibps-oauth-root/modules/oauth-server2-default/src/main/java/com/lc/ibps/cloud/oauth/server/provider/TokenProvider.java

@@ -1,9 +1,17 @@
 package com.lc.ibps.cloud.oauth.server.provider;
 
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import com.lc.ibps.base.framework.id.UniqueIdUtil;
+import com.lc.ibps.base.web.context.ContextUtil;
 import com.lc.ibps.cloud.oauth.exception.*;
+import com.lc.ibps.cloud.oauth.server.util.LicUtil;
 import com.lc.ibps.org.party.persistence.entity.PartyEmployeePo;
 import com.lc.ibps.org.party.persistence.entity.PartyEntityPo;
 import org.apache.commons.lang3.StringUtils;
@@ -54,6 +62,9 @@ import io.swagger.annotations.ApiParam;
 
 import javax.validation.Valid;
 
+import static com.lc.ibps.api.base.constants.StateEnum.ERROR;
+import static com.lc.ibps.api.base.constants.StateEnum.SUCCESS;
+
 /** 
  * auth2.0 访问令牌控制器
  * <pre> 
@@ -1143,7 +1154,7 @@ public class TokenProvider extends BaseProvider implements ITokenService {
 	}
 
 	@Override
-	public APIResult<Void> updateLicense(Map<String,Object> map) {
+	public APIResult<Void> updateLicenseByAccount(Map<String,Object> map) {
 		APIResult<Void> result = new APIResult<>();
 		try{
 			String username = map.get("username").toString();
@@ -1151,7 +1162,7 @@ public class TokenProvider extends BaseProvider implements ITokenService {
 			String licJson = checkLicense(licText);
 			if (BeanUtils.isNotEmpty(licJson)){
 				String org = getOrgByAccount(username);
-				commonDao.execute("UPDATE t_ipcc set zheng_shu_bian_ma = '" + licText + "' where org_ = '" + org + "' ");
+				commonDao.execute("UPDATE t_ipcc set update_time_=now(),zheng_shu_bian_ma = '" + licText + "' where org_ = '" + org + "' ");
 			}
 			result.getVariables().put("licJson",licJson);
 		} catch(Exception e) {
@@ -1164,6 +1175,105 @@ public class TokenProvider extends BaseProvider implements ITokenService {
 		return result;
 	}
 
+	@Override
+	public APIResult<Map<String,Object>> saveLicence(Map<String,Object> map) {
+		APIResult<Map<String,Object>> result = new APIResult<>();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+		try{
+//			String id = StringUtil.defaultString(map.get("id_").toString(),"");
+//			if (BeanUtils.isNotEmpty(id)){
+//				commonDao.execute(buildUpdateIpccSql(map,sdf));
+//			}else {
+//				String licence = checkLicense(map.get("zheng_shu_bian_ma").toString());
+//				map.put("id_", UniqueIdUtil.getId());
+//				map.put("create_time_", sdf.format(new Date()));
+//				JSONObject jsonObject = JSONUtil.parseObj(licence);
+//				if (BeanUtils.isNotEmpty(jsonObject)){
+//					map.put("sheng_xiao_shi_ji",sdf.format(jsonObject.get("notBefore")));
+//					map.put("shi_xiao_shi_jian",sdf.format(jsonObject.get("notAfter")));
+//					map.put("fa_bu_shi_jian_",sdf.format(jsonObject.get("issuedTime")));
+//					map.put("customer_info_",jsonObject.get("customerInfo"));
+//					map.put("shi_fou_shi_yong_",jsonObject.get("isTrialVersion"));
+//					map.put("dao_qi_ti_xing_",jsonObject.get("reminderDays"));
+//				}
+//				commonDao.execute(buildInsertSql(map,"t_ipcc"));
+//			}
+			String licence = checkLicense(map.get("zheng_shu_bian_ma").toString());
+			JSONObject jsonObject = JSONUtil.parseObj(licence);
+			if (BeanUtils.isNotEmpty(jsonObject)){
+				map.put("sheng_xiao_shi_ji",sdf.format(jsonObject.get("notBefore")));
+				map.put("shi_xiao_shi_jian",sdf.format(jsonObject.get("notAfter")));
+				map.put("fa_bu_shi_jian_",sdf.format(jsonObject.get("issuedTime")));
+				map.put("customer_info_",jsonObject.get("customerInfo"));
+				map.put("shi_fou_shi_yong_",jsonObject.get("isTrialVersion"));
+				map.put("dao_qi_ti_xing_",jsonObject.get("reminderDays"));
+			}
+			result.setData(map);
+		} catch(Exception e) {
+			result.setMessage(e.getMessage());
+			logger.error("access token failed:", e);
+		}
+		return result;
+	}
+
+	public String buildUpdateIpccSql(Map<String, Object> map , SimpleDateFormat sdf){
+		StringBuffer setStr = new StringBuffer("update t_ipcc set update_time_=now()");
+		if (BeanUtils.isNotEmpty(map.get("nei_rong_"))){
+			setStr.append(",nei_rong_='").append(map.get("nei_rong_")).append("'");
+		}
+		if (BeanUtils.isNotEmpty(map.get("logo_"))){
+			setStr.append(",logo_='").append(map.get("logo_")).append("'");
+		}
+		if (BeanUtils.isNotEmpty(map.get("dan_wei_ming_chen"))){
+			setStr.append(",dan_wei_ming_chen='").append(map.get("dan_wei_ming_chen")).append("'");
+		}
+		if (BeanUtils.isNotEmpty(map.get("sheng_xiao_ri_qi_"))){
+			setStr.append(",sheng_xiao_ri_qi_='").append(map.get("sheng_xiao_ri_qi_")).append("'");
+		}
+		if (BeanUtils.isNotEmpty(map.get("ye_ma_"))){
+			setStr.append(",ye_ma_='").append(map.get("ye_ma_")).append("'");
+		}
+		if (BeanUtils.isNotEmpty(map.get("bian_hao_wen_ben_"))){
+			setStr.append(",bian_hao_wen_ben_='").append(map.get("bian_hao_wen_ben_")).append("'");
+		}
+		if (BeanUtils.isNotEmpty(map.get("org_"))){
+			setStr.append(",org_='").append(map.get("org_")).append("'");
+		}
+		if (BeanUtils.isNotEmpty(map.get("xian_shi_di_dian_"))){
+			setStr.append(",xian_shi_di_dian_='").append(map.get("xian_shi_di_dian_")).append("'");
+		}
+		if (BeanUtils.isNotEmpty(map.get("zheng_shu_bian_ma"))){
+			String licence = checkLicense(map.get("zheng_shu_bian_ma").toString());
+			setStr.append(",zheng_shu_bian_ma='").append(map.get("zheng_shu_bian_ma")).append("'");
+			JSONObject jsonObject = JSONUtil.parseObj(licence);
+			if (BeanUtils.isNotEmpty(jsonObject)){
+				setStr.append(",sheng_xiao_shi_ji='").append(sdf.format(jsonObject.get("notBefore"))).append("'");
+				setStr.append(",shi_xiao_shi_jian='").append(sdf.format(jsonObject.get("notAfter"))).append("'");
+				setStr.append(",fa_bu_shi_jian_='").append(sdf.format(jsonObject.get("issuedTime"))).append("'");
+				setStr.append(",customer_info_='").append(jsonObject.get("customerInfo")).append("'");
+				setStr.append(",shi_fou_shi_yong_='").append(jsonObject.get("isTrialVersion")).append("'");
+				setStr.append(",dao_qi_ti_xing_='").append(jsonObject.get("reminderDays")).append("'");
+			}
+		}
+		setStr.append(" where id_='").append(map.get("id_")).append("'");
+		return setStr.toString();
+	}
+
+	public String buildInsertSql(Map<String, Object> map , String tableName) throws Exception {
+		StringBuilder sql = new StringBuilder("insert into "+tableName+" (");
+		for (Object key : map.keySet()) {
+			sql.append(key).append(",");
+		}
+		sql.delete(sql.length()-1,sql.length());
+		sql.append(") values(");
+		for (Object val : map.values()) {
+			sql.append("'").append(val).append("'").append(",");
+		}
+		sql.delete(sql.length()-1,sql.length());
+		sql.append(")");
+		return sql.toString();
+	}
+
 	public String getOrgByAccount(String username){
 		PartyUserPo userPo = partyUserRepository.getByAccount(username);
 		PartyEmployeePo employeePo = partyEmployeeRepository.get(userPo.getUserId());

+ 6 - 6
ibps-oauth-root/modules/oauth-server2-default/src/main/java/com/lc/ibps/cloud/oauth/server/util/LicUtil.java

@@ -77,13 +77,13 @@ public class LicUtil {
     public static class licenseBean {
 
         private String appId;
-        private long issuedTime;
-        private long notBefore;
-        private long notAfter;
-        private String customerInfo;
+        private long issuedTime;// 发布时间
+        private long notBefore;// 生效时间
+        private long notAfter;// 失效时间
+        private String customerInfo; // 单位名称
 
-        private boolean isTrialVersion;
-        private int reminderDays;
+        private boolean isTrialVersion;// 是否试用版本
+        private int reminderDays;// 到期提醒天数
 
         public String getAppId() {
             return appId;