Browse Source

fix:修复联合成本中心异常

checkBack
Yen 1 year ago
parent
commit
2d8c8e0320
  1. 31
      src/main/java/com/qs/serve/common/framework/interceptor/LocalDateTimeFormatSerializer.java
  2. 6
      src/main/java/com/qs/serve/common/util/BirHttpUtil.java
  3. 10
      src/main/java/com/qs/serve/common/util/HttpUtil.java
  4. 12
      src/main/java/com/qs/serve/common/util/JsonUtil.java
  5. 4
      src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java
  6. 36
      src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java
  7. 10
      src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivityCenterGoodsMapper.java

31
src/main/java/com/qs/serve/common/framework/interceptor/LocalDateTimeFormatSerializer.java

@ -0,0 +1,31 @@
package com.qs.serve.common.framework.interceptor;
import com.alibaba.fastjson.serializer.JSONSerializer;
import com.alibaba.fastjson.serializer.ObjectSerializer;
import java.io.IOException;
import java.lang.reflect.Type;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
/**
* @author YenHex
* @since 2024/7/18
*/
public class LocalDateTimeFormatSerializer implements ObjectSerializer {
@Override
public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType, int features) throws IOException {
if (object == null) {
serializer.out.writeNull();
return;
}
LocalDateTime date = (LocalDateTime) object;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String timeString = formatter.format(date);
serializer.write(timeString);
}
}

6
src/main/java/com/qs/serve/common/util/BirHttpUtil.java

@ -2,6 +2,7 @@ package com.qs.serve.common.util;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.qs.serve.common.config.properties.ProjectProperties; import com.qs.serve.common.config.properties.ProjectProperties;
import com.qs.serve.common.model.consts.GySysConst; import com.qs.serve.common.model.consts.GySysConst;
import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.R;
@ -22,6 +23,8 @@ import org.apache.http.util.EntityUtils;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.io.IOException; import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -53,7 +56,7 @@ public class BirHttpUtil {
public static R get(String action,Object query){ public static R get(String action,Object query){
String baseUrl = getBaseUrl(); String baseUrl = getBaseUrl();
String url = baseUrl+"/"+action; String url = "/"+action;
if(query!=null){ if(query!=null){
Map map = JsonUtil.objectToMap(query); Map map = JsonUtil.objectToMap(query);
String params = HttpUtil.createUrl(map); String params = HttpUtil.createUrl(map);
@ -79,6 +82,7 @@ public class BirHttpUtil {
if(PageUtil.getPageNum()!=null){ if(PageUtil.getPageNum()!=null){
url += "&pageNum="+PageUtil.getPageNum(); url += "&pageNum="+PageUtil.getPageNum();
} }
url = baseUrl + url;
url = url.replace("//","/"); url = url.replace("//","/");
url = url.replace("http:/","http://"); url = url.replace("http:/","http://");
url = url.replace("https:/","https://"); url = url.replace("https:/","https://");

10
src/main/java/com/qs/serve/common/util/HttpUtil.java

@ -20,6 +20,8 @@ import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils; import org.apache.http.util.EntityUtils;
import java.io.IOException; import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -120,7 +122,13 @@ public class HttpUtil {
public static String createUrl(Map<String,Object> param){ public static String createUrl(Map<String,Object> param){
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
for (String key : param.keySet()) { for (String key : param.keySet()) {
sb.append("&").append(key).append("=").append(param.get(key)); String par = param.get(key).toString();
try {
par = URLEncoder.encode(par,"UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
sb.append("&").append(key).append("=").append(par);
} }
return sb.toString(); return sb.toString();
} }

12
src/main/java/com/qs/serve/common/util/JsonUtil.java

@ -2,14 +2,19 @@ package com.qs.serve.common.util;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.serializer.SimpleDateFormatSerializer;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.MapperFeature; import com.fasterxml.jackson.databind.MapperFeature;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import com.qs.serve.common.framework.interceptor.LocalDateTimeFormatSerializer;
import lombok.experimental.UtilityClass; import lombok.experimental.UtilityClass;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -85,7 +90,12 @@ public class JsonUtil {
} }
public static Map<String,Object> objectToMap(Object object){ public static Map<String,Object> objectToMap(Object object){
Map<String,Object> map = JSONObject.parseObject(JSON.toJSONString(object)); // 创建SerializeConfig对象,并设置日期时间的格式
SerializeConfig config = new SerializeConfig();
LocalDateTimeFormatSerializer dateFormatSerializer = new LocalDateTimeFormatSerializer();
config.put(LocalDateTime.class, dateFormatSerializer);
String jsonString = JSON.toJSONString(object, config);
Map<String,Object> map = JSONObject.parseObject(jsonString);
return map; return map;
} }

4
src/main/java/com/qs/serve/modules/bir/controller/BirActivityCenterGoodsController.java

@ -91,9 +91,9 @@ public class BirActivityCenterGoodsController {
@GetMapping("/toSyncBirToday") @GetMapping("/toSyncBirToday")
public R<?> toSyncBirEcro2(){ public R<?> toSyncBirEcro2(){
Long[] ids = new Long[]{}; //Long[] ids = new Long[]{};
//List<Long> ids = tbsActivityMapper.selectReleaseCostIds(); //List<Long> ids = tbsActivityMapper.selectReleaseCostIds();
//Set<Long> ids = tbsActivityCenterGoodsMapper.selectUpdateCostApplyIds(); Set<Long> ids = tbsActivityCenterGoodsMapper.selectUpdateCostApplyIds();
List<Long> errIds = new ArrayList<>(); List<Long> errIds = new ArrayList<>();
for (Long id : ids) { for (Long id : ids) {
log.error("执行ID XXXX:{}",id); log.error("执行ID XXXX:{}",id);

36
src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java

@ -359,28 +359,30 @@ public class ExlTableDataController {
//移除旧历史 //移除旧历史
if(executeFlag){ if(executeFlag){
if(keyCount>0){ // if(keyCount>0){
StringBuilder removeSql = new StringBuilder("delete from "+targetTableName+" where union_row_id in ("); // StringBuilder removeSql = new StringBuilder("delete from "+targetTableName+" where union_row_id in (");
for (int k = 0;k < param.size(); k++) { // for (int k = 0;k < param.size(); k++) {
Object obj = param.get(k); // Object obj = param.get(k);
JSONObject jsonObject = JSONObject.parseObject(JsonUtil.objectToJson(obj)); // JSONObject jsonObject = JSONObject.parseObject(JsonUtil.objectToJson(obj));
String unionId = TableCreateSqlUtil.buildUnionId(columnList,jsonObject); // String unionId = TableCreateSqlUtil.buildUnionId(columnList,jsonObject);
removeSql.append("'"+unionId+"'"); // removeSql.append("'"+unionId+"'");
if(k+1<param.size()){ // if(k+1<param.size()){
removeSql.append(","); // removeSql.append(",");
} // }
} // }
removeSql.append(");"); // removeSql.append(");");
// QsSqlSessionUtil.executeSql(removeSql.toString(),sqlSessionTemplate);
// }
StringBuilder removeSql = new StringBuilder("delete from "+targetTableName+" where union_row_id is not null ");
QsSqlSessionUtil.executeSql(removeSql.toString(),sqlSessionTemplate); QsSqlSessionUtil.executeSql(removeSql.toString(),sqlSessionTemplate);
}
//执行批量保存 //执行批量保存
QsSqlSessionUtil.executeSql(insertSql.toString(),sqlSessionTemplate); QsSqlSessionUtil.executeSql(insertSql.toString(),sqlSessionTemplate);
return R.ok(); return R.ok();
} }
Map<String,Object> objectMap = new HashMap<>(); // Map<String,Object> objectMap = new HashMap<>();
objectMap.put("columnList",columnList); // objectMap.put("columnList",columnList);
objectMap.put("data",errorResult); // objectMap.put("data",errorResult);
return R.error("数据异常",objectMap); return R.ok(errorResult,"数据异常");
} }
private void appendErrorMsg(String ErrMsgKey, JSONObject jsonObject, ExlColumnConf columnConf) { private void appendErrorMsg(String ErrMsgKey, JSONObject jsonObject, ExlColumnConf columnConf) {

10
src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivityCenterGoodsMapper.java

@ -18,11 +18,11 @@ import java.util.Set;
public interface TbsActivityCenterGoodsMapper extends BaseMapper<TbsActivityCenterGoods> { public interface TbsActivityCenterGoodsMapper extends BaseMapper<TbsActivityCenterGoods> {
@InterceptorIgnore(tenantLine = "1") @InterceptorIgnore(tenantLine = "1")
@Select("SELECT cost_apply_id FROM tbs_activity_center_goods \n" + @Select("SELECT cost_apply_id FROM tbs_activity_center_goods " +
"left join tbs_cost_apply on tbs_activity_center_goods.cost_apply_id = tbs_cost_apply.id\n" + " left join tbs_cost_apply on tbs_activity_center_goods.cost_apply_id = tbs_cost_apply.id " +
"where tbs_cost_apply.del_flag = 0 and tbs_activity_center_goods.del_flag = 0\n" + " where tbs_cost_apply.del_flag = 0 and tbs_activity_center_goods.del_flag = 0 " +
"and DATE(tbs_activity_center_goods.update_time) = DATE(CURDATE())\n" + " and DATE(tbs_activity_center_goods.update_time) = DATE(CURDATE()) " +
"GROUP BY cost_apply_id") " GROUP BY cost_apply_id")
Set<Long> selectUpdateCostApplyIds(); Set<Long> selectUpdateCostApplyIds();
@Select("<script>"+ @Select("<script>"+

Loading…
Cancel
Save