福利按品牌导出没有收货地址
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package com.budwk.app.zhgh.welfare.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.zhgh.welfare.service.WelfareProjectService;
|
||||
@@ -27,6 +29,7 @@ public class WelfareNoticeController {
|
||||
@At
|
||||
@Ok("beetl:/platform/zhghh5/welfare/notice/detail.html")
|
||||
@ApiOperation("福利通知附件详情页")
|
||||
@SaCheckLogin
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@@ -38,6 +41,7 @@ public class WelfareNoticeController {
|
||||
*/
|
||||
@At
|
||||
@ApiOperation("查询福利通知附件详情")
|
||||
@SaCheckLogin
|
||||
public Result detailData(@Valid String id) {
|
||||
if (StrUtil.isBlank(id)) {
|
||||
return Result.error("福利项目ID不能为空");
|
||||
|
||||
+26
-4
@@ -586,6 +586,7 @@ public class WelfareStatisticsServiceImpl extends BaseServiceImpl<WelfareProject
|
||||
u.loginname AS loginName,
|
||||
u.username AS userName,
|
||||
wpus.mobile,
|
||||
wpus.userName AS recipient,
|
||||
wl.userState,
|
||||
wl.personType,
|
||||
wl.welfareUnionName,
|
||||
@@ -635,12 +636,23 @@ public class WelfareStatisticsServiceImpl extends BaseServiceImpl<WelfareProject
|
||||
return unionId;
|
||||
}
|
||||
|
||||
/** 将历史收货信息拆为 V3 导出所需的收货人、联系方式和收货地址三列。 */
|
||||
/**
|
||||
* 填充品牌导出的收货信息。当前选择记录分别保存收货人、手机号和纯地址文本;
|
||||
* 历史记录可能将三项信息拼接在 receiveAddress 中,因此继续兼容旧格式解析。
|
||||
*/
|
||||
private void fillV3ReceiveAddress(NutMap row) {
|
||||
String mobile = row.getString("mobile");
|
||||
if (StrUtil.isNotBlank(mobile)) {
|
||||
row.put("phone", mobile);
|
||||
}
|
||||
|
||||
String receiveAddress = row.getString("receiveAddress");
|
||||
if (StrUtil.isBlank(receiveAddress)) {
|
||||
return;
|
||||
}
|
||||
// 新数据的 receiveAddress 仅保存地址正文,可直接作为收货地址导出。
|
||||
row.put("address", receiveAddress);
|
||||
|
||||
Map<String, String> values = new HashMap<>();
|
||||
for (String pair : receiveAddress.split("[,,]")) {
|
||||
String[] keyValue = pair.split("[::]", 2);
|
||||
@@ -648,9 +660,19 @@ public class WelfareStatisticsServiceImpl extends BaseServiceImpl<WelfareProject
|
||||
values.put(keyValue[0].trim(), keyValue[1].trim());
|
||||
}
|
||||
}
|
||||
row.put("recipient", values.get("收件人"));
|
||||
row.put("phone", values.get("联系方式"));
|
||||
row.put("address", values.get("收货地址"));
|
||||
String recipient = StrUtil.blankToDefault(values.get("收件人"), values.get("收货人"));
|
||||
String phone = StrUtil.blankToDefault(values.get("联系方式"),
|
||||
StrUtil.blankToDefault(values.get("手机号码"), values.get("手机号")));
|
||||
String address = StrUtil.blankToDefault(values.get("收货地址"), values.get("详细地址"));
|
||||
if (StrUtil.isNotBlank(recipient)) {
|
||||
row.put("recipient", recipient);
|
||||
}
|
||||
if (StrUtil.isNotBlank(phone)) {
|
||||
row.put("phone", phone);
|
||||
}
|
||||
if (StrUtil.isNotBlank(address)) {
|
||||
row.put("address", address);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,17 +1,85 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<configuration scan="false" scanPeriod="60000" debug="false">
|
||||
|
||||
<!-- 定义日志文件的存储路径 -->
|
||||
<!-- 日志存储路径 -->
|
||||
<property name="LOG_HOME" value="./logs"/>
|
||||
|
||||
<!-- 控制台输出配置 -->
|
||||
<!-- 控制台输出 -->
|
||||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!-- INFO级别日志文件配置 -->
|
||||
|
||||
<!--
|
||||
#################################################################################
|
||||
# #
|
||||
# 全文输出日志(一个文件存储)start #
|
||||
# #
|
||||
#################################################################################
|
||||
-->
|
||||
|
||||
<!-- 所有级别日志写入同一个文件 -->
|
||||
<appender name="ALL_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${LOG_HOME}/app.log</file>
|
||||
<encoder>
|
||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
|
||||
</encoder>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${LOG_HOME}/app-%d{yyyy-MM-dd}.log</fileNamePattern>
|
||||
<maxHistory>300</maxHistory>
|
||||
</rollingPolicy>
|
||||
</appender>
|
||||
|
||||
<!-- 框架日志级别(按需调整) -->
|
||||
<logger name="org.eclipse.jetty" level="INFO"/>
|
||||
<logger name="org.quartz" level="INFO"/>
|
||||
<logger name="org.nutz" level="DEBUG"/>
|
||||
|
||||
<!-- root logger:DEBUG 级别,输出到控制台和全量文件 -->
|
||||
<root level="DEBUG">
|
||||
<appender-ref ref="STDOUT"/>
|
||||
<appender-ref ref="ALL_FILE"/>
|
||||
</root>
|
||||
|
||||
<!--
|
||||
#################################################################################
|
||||
# #
|
||||
# 全文输出日志(一个文件存储)end #
|
||||
# #
|
||||
#################################################################################
|
||||
-->
|
||||
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
#################################################################################
|
||||
# #
|
||||
# debug、info、error分文件输出 start #
|
||||
# #
|
||||
#################################################################################
|
||||
-->
|
||||
|
||||
<!-- DEBUG级别日志文件配置 -->
|
||||
<!--<appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${LOG_HOME}/debug.log</file>
|
||||
<encoder>
|
||||
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
|
||||
</encoder>
|
||||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||
<level>DEBUG</level>
|
||||
<onMatch>ACCEPT</onMatch>
|
||||
<onMismatch>DENY</onMismatch>
|
||||
</filter>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${LOG_HOME}/debug-%d{yyyy-MM-dd}.log</fileNamePattern>
|
||||
<maxHistory>300</maxHistory>
|
||||
</rollingPolicy>
|
||||
</appender>
|
||||
|
||||
<!– INFO级别日志文件配置 –>
|
||||
<appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${LOG_HOME}/info.log</file>
|
||||
<encoder>
|
||||
@@ -24,11 +92,11 @@
|
||||
</filter>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${LOG_HOME}/info-%d{yyyy-MM-dd}.log</fileNamePattern>
|
||||
<maxHistory>30</maxHistory>
|
||||
<maxHistory>300</maxHistory>
|
||||
</rollingPolicy>
|
||||
</appender>
|
||||
|
||||
<!-- ERROR级别日志文件配置 -->
|
||||
<!– ERROR级别日志文件配置 –>
|
||||
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${LOG_HOME}/error.log</file>
|
||||
<encoder>
|
||||
@@ -41,19 +109,31 @@
|
||||
</filter>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${LOG_HOME}/error-%d{yyyy-MM-dd}.log</fileNamePattern>
|
||||
<maxHistory>30</maxHistory>
|
||||
<maxHistory>300</maxHistory>
|
||||
</rollingPolicy>
|
||||
</appender>
|
||||
|
||||
<logger name="java" additivity="false" />
|
||||
<!– 框架日志级别 –>
|
||||
<!– <logger name="java" additivity="false" />–>
|
||||
<logger name="org.eclipse.jetty" level="INFO"/>
|
||||
<logger name="org.quartz" level="INFO"/>
|
||||
<logger name="org.nutz" level="DEBUG"/>
|
||||
|
||||
<!-- 日志级别和appender的关联 -->
|
||||
<!– 日志级别和appender的关联 –>
|
||||
<root level="DEBUG">
|
||||
<appender-ref ref="STDOUT"/>
|
||||
<appender-ref ref="DEBUG_FILE"/>
|
||||
<appender-ref ref="INFO_FILE"/>
|
||||
<appender-ref ref="ERROR_FILE"/>
|
||||
</root>
|
||||
</root>-->
|
||||
|
||||
<!--
|
||||
#################################################################################
|
||||
# #
|
||||
# debug、info、error分文件输出 end #
|
||||
# #
|
||||
#################################################################################
|
||||
-->
|
||||
|
||||
</configuration>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user