Merge #109 into master from cc_20260420_export
feat:数量不一致 * cc_20260420_export: (7 commits squashed) - feat:提示修改 - feat:提示修改 - feat:导出调整 - feat:管理员查询所有 非管理员权限查询 - feat:管理员查询所有 非管理员权限查询 - feat:fix - feat:数量不一致 Signed-off-by: 正新 <accounts_6964c7bcd2a2c377c5bbd01b@mail.teambition.com> Merged-by: 正新 <accounts_6964c7bcd2a2c377c5bbd01b@mail.teambition.com> CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/109
This commit is contained in:
@@ -380,6 +380,21 @@ public class RedisConstant {
|
||||
*/
|
||||
public static final String TP_SCORE_JOURNAL_EXPORT_LOCK = "tp_score_journal_export_lock";
|
||||
|
||||
/**
|
||||
* 费用调整单导出锁
|
||||
*/
|
||||
public static final String ADJUSTMENT_ORDER_EXPORT_LOCK = "adjustment_order_export_lock";
|
||||
|
||||
/**
|
||||
* 费用单导出锁
|
||||
*/
|
||||
public static final String EXPENSE_ORDER_EXPORT_LOCK = "expense_order_export_lock";
|
||||
|
||||
/**
|
||||
* 分账单导出锁
|
||||
*/
|
||||
public static final String SPLIT_ORDER_EXPORT_LOCK = "split_order_export_lock";
|
||||
|
||||
/**
|
||||
* 钱包分账公司配置-招商分部
|
||||
*/
|
||||
|
||||
@@ -35,6 +35,9 @@ public enum FileTypeEnum {
|
||||
MY_POINT_EXPORT("myPointExport", "我的铺位管理列表"),
|
||||
ORDER_DEVICE_DETAIL_EXPORT("orderDeviceDetailExport", "订单设备明细导出"),
|
||||
TP_SCORE_JOURNAL_EXPORT("tpScoreJournalExport", "十二分制积分流水导出"),
|
||||
ADJUSTMENT_ORDER_EXPORT("adjustmentOrderExport", "费用调整单导出"),
|
||||
EXPENSE_ORDER_EXPORT("expenseOrderExport", "费用单导出"),
|
||||
SPLIT_ORDER_EXPORT("splitOrderExport", "分账单导出"),
|
||||
;
|
||||
private String fileType;
|
||||
private String desc;
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.cool.store.enums.wallet;
|
||||
|
||||
/**
|
||||
* @Auther zx_szh
|
||||
* @Date 2026/4/20 20:31
|
||||
* @Version 1.0
|
||||
*/
|
||||
public enum AdjustTypeEnum {
|
||||
|
||||
ADJUST_TYPE_1(1,"调增"),
|
||||
ADJUST_NAME_2(2,"调减"),
|
||||
;
|
||||
|
||||
private final Integer code;
|
||||
|
||||
private final String desc;
|
||||
|
||||
AdjustTypeEnum(Integer status, String desc) {
|
||||
this.code = status;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
public Integer getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getDesc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
public static AdjustTypeEnum fromCode(Integer code) {
|
||||
for (AdjustTypeEnum item : values()) {
|
||||
if (item.code.equals(code)) {
|
||||
return item;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -33,5 +33,14 @@ public enum DocStatusEnum {
|
||||
}
|
||||
|
||||
|
||||
public static DocStatusEnum fromStatus(Integer status) {
|
||||
for (DocStatusEnum item : values()) {
|
||||
if (item.status.equals(status)) {
|
||||
return item;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -35,6 +35,14 @@ public enum SplitSourceEnum {
|
||||
return null;
|
||||
}
|
||||
|
||||
public static SplitSourceEnum fromStatus(Integer status) {
|
||||
for (SplitSourceEnum item : values()) {
|
||||
if (item.status.equals(status)) {
|
||||
return item;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public Integer getStatus() {
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package com.cool.store.enums.wallet;
|
||||
|
||||
import com.cool.store.enums.ExpenseSheetTypeEnum;
|
||||
|
||||
/**
|
||||
* @Auther zx_szh
|
||||
@@ -27,6 +26,15 @@ public enum SplitTypeEnum {
|
||||
}
|
||||
|
||||
|
||||
public static SplitTypeEnum fromStatus(Integer status) {
|
||||
for (SplitTypeEnum item : values()) {
|
||||
if (item.status.equals(status)) {
|
||||
return item;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public Integer getStatus() {
|
||||
return status;
|
||||
|
||||
@@ -116,6 +116,13 @@ public class AdjustmentOrderDAO {
|
||||
return AdjustmentOrderMapper.pageQuery(request);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询总数
|
||||
*/
|
||||
public Long pageCount(AdjustmentOrderPageRequest request) {
|
||||
return AdjustmentOrderMapper.pageCount(request);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
|
||||
@@ -112,6 +112,13 @@ public class SplitOrderDAO {
|
||||
return zxjpSplitOrderMapper.pageQueryWithStore(request);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询总数
|
||||
*/
|
||||
public Long pageCount(SplitOrderPageRequest request) {
|
||||
return zxjpSplitOrderMapper.pageCount(request);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
|
||||
@@ -48,4 +48,9 @@ public interface AdjustmentOrderMapper extends Mapper<AdjustmentOrderDO> {
|
||||
* 分页查询
|
||||
*/
|
||||
List<AdjustmentOrderResponse> pageQuery(@Param("request") AdjustmentOrderPageRequest request);
|
||||
|
||||
/**
|
||||
* 分页查询总数
|
||||
*/
|
||||
Long pageCount(@Param("request") AdjustmentOrderPageRequest request);
|
||||
}
|
||||
|
||||
@@ -48,4 +48,9 @@ public interface SplitOrderMapper extends Mapper<SplitOrderDO> {
|
||||
* 分页查询(关联门店信息)
|
||||
*/
|
||||
List<SplitOrderResponse> pageQueryWithStore(@Param("request") SplitOrderPageRequest request);
|
||||
|
||||
/**
|
||||
* 分页查询总数
|
||||
*/
|
||||
Long pageCount(@Param("request") SplitOrderPageRequest request);
|
||||
}
|
||||
|
||||
@@ -97,8 +97,63 @@
|
||||
<if test="request.expenseSheetType != null and request.expenseSheetType != ''">
|
||||
and a.expense_sheet_type = #{request.expenseSheetType}
|
||||
</if>
|
||||
|
||||
<if test="request.regionIds != null and !request.regionIds.isEmpty()">
|
||||
AND <foreach collection="request.regionIds" item="regionId" separator=" OR " open="(" close=")">
|
||||
b.region_path LIKE CONCAT('%/', #{regionId}, '/%')
|
||||
</foreach>
|
||||
</if>
|
||||
order by create_time desc
|
||||
</select>
|
||||
|
||||
<!-- 分页查询总数 -->
|
||||
<select id="pageCount" resultType="java.lang.Long">
|
||||
select count(1)
|
||||
from zxjp_adjustment_order a
|
||||
left join store_${enterpriseId} b
|
||||
on a.store_id = b.store_id
|
||||
where a.deleted = 0
|
||||
<if test="request.keyword != null and request.keyword != ''">
|
||||
and (b.store_name like concat('%', #{request.keyword}, '%')
|
||||
or b.store_num like concat('%', #{request.keyword}, '%'))
|
||||
</if>
|
||||
<if test="request.adjustmentNo != null and request.adjustmentNo != ''">
|
||||
and a.adjustment_no like concat('%', #{request.adjustmentNo}, '%')
|
||||
</if>
|
||||
<if test="request.storeId != null and request.storeId != ''">
|
||||
and a.store_id = #{request.storeId}
|
||||
</if>
|
||||
<if test="request.expenseTypeCode != null and request.expenseTypeCode != ''">
|
||||
and a.expense_type_code = #{request.expenseTypeCode}
|
||||
</if>
|
||||
<if test="request.adjustType != null">
|
||||
and a.adjust_type = #{request.adjustType}
|
||||
</if>
|
||||
<if test="request.statusList != null and request.statusList.size() > 0">
|
||||
and a.status in
|
||||
<foreach collection="request.statusList" item="status" open="(" separator="," close=")">
|
||||
#{status}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="request.adjustReason != null and request.adjustReason != ''">
|
||||
and a.adjust_reason like concat('%', #{request.adjustReason}, '%')
|
||||
</if>
|
||||
<if test="request.businessTypeCode != null and request.businessTypeCode != ''">
|
||||
and a.business_type_code = #{request.businessTypeCode}
|
||||
</if>
|
||||
<if test="request.claimStartTime != null">
|
||||
and a.claim_time >= #{request.claimStartTime}
|
||||
</if>
|
||||
<if test="request.claimEndTime != null">
|
||||
and a.claim_time <= #{request.claimEndTime}
|
||||
</if>
|
||||
<if test="request.expenseSheetType != null and request.expenseSheetType != ''">
|
||||
and a.expense_sheet_type = #{request.expenseSheetType}
|
||||
</if>
|
||||
<if test="request.regionIds != null and !request.regionIds.isEmpty()">
|
||||
AND <foreach collection="request.regionIds" item="regionId" separator=" OR " open="(" close=")">
|
||||
b.region_path LIKE CONCAT('%/', #{regionId}, '/%')
|
||||
</foreach>
|
||||
</if>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -141,6 +141,43 @@
|
||||
ORDER BY a.create_time DESC
|
||||
</select>
|
||||
|
||||
<!-- 分页查询总数 -->
|
||||
<select id="pageCount" resultType="java.lang.Long">
|
||||
select count(1)
|
||||
from zxjp_split_order a
|
||||
left join store_${enterpriseId} b
|
||||
on a.related_store_id = b.store_id
|
||||
where a.deleted = 0
|
||||
<if test="request.splitNo != null and request.splitNo != ''">
|
||||
AND a.split_no LIKE CONCAT('%', #{request.splitNo}, '%')
|
||||
</if>
|
||||
<if test="request.splitType != null">
|
||||
AND a.split_type = #{request.splitType}
|
||||
</if>
|
||||
<if test="request.payerAccountName != null and request.payerAccountName != ''">
|
||||
AND a.payer_account_name LIKE CONCAT('%', #{request.payerAccountName}, '%')
|
||||
</if>
|
||||
<if test="request.payeeAccountName != null and request.payeeAccountName != ''">
|
||||
AND a.payee_account_name LIKE CONCAT('%', #{request.payeeAccountName}, '%')
|
||||
</if>
|
||||
<if test="request.expenseTypeCode != null and request.expenseTypeCode != ''">
|
||||
AND a.expense_type_code = #{request.expenseTypeCode}
|
||||
</if>
|
||||
<if test="request.relatedStoreId != null and request.relatedStoreId != ''">
|
||||
AND a.related_store_id = #{request.relatedStoreId}
|
||||
</if>
|
||||
<if test="request.relatedDocNo != null and request.relatedDocNo != ''">
|
||||
AND a.related_doc_no LIKE CONCAT('%', #{request.relatedDocNo}, '%')
|
||||
</if>
|
||||
<if test="request.status != null and request.status != ''">
|
||||
AND a.status = #{request.status}
|
||||
</if>
|
||||
<if test="request.source != null">
|
||||
AND a.source = #{request.source}
|
||||
</if>
|
||||
<if test="request.keyword != null and request.keyword != ''">
|
||||
AND (b.store_name LIKE CONCAT('%', #{request.keyword}, '%') OR b.store_num LIKE CONCAT('%', #{request.keyword}, '%'))
|
||||
</if>
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
</mapper>
|
||||
@@ -0,0 +1,68 @@
|
||||
package com.cool.store.converter;
|
||||
import com.alibaba.excel.converters.Converter;
|
||||
import com.alibaba.excel.enums.CellDataTypeEnum;
|
||||
import com.alibaba.excel.metadata.CellData;
|
||||
import com.alibaba.excel.metadata.GlobalConfiguration;
|
||||
import com.alibaba.excel.metadata.property.ExcelContentProperty;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
/**
|
||||
* @Auther zx_szh
|
||||
* @Date 2026/4/20 20:14
|
||||
* @Version 1.0
|
||||
*/
|
||||
public class StringListConverter implements Converter<List<String>> {
|
||||
|
||||
@Override
|
||||
public Class<?> supportJavaTypeKey() {
|
||||
return List.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CellDataTypeEnum supportExcelTypeKey() {
|
||||
return CellDataTypeEnum.STRING;
|
||||
}
|
||||
|
||||
/**
|
||||
* 读取Excel时:将单元格字符串转换为 List<String>
|
||||
*/
|
||||
@Override
|
||||
public List<String> convertToJavaData(CellData cellData,
|
||||
ExcelContentProperty excelContentProperty,
|
||||
GlobalConfiguration globalConfiguration) throws Exception {
|
||||
// 获取单元格字符串值
|
||||
String cellValue = cellData.getStringValue();
|
||||
|
||||
// 空值判断
|
||||
if (StringUtils.isBlank(cellValue)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
// 按分隔符拆分(这里用逗号,可根据需要修改)
|
||||
return Arrays.stream(cellValue.split(","))
|
||||
.map(String::trim) // 去除前后空格
|
||||
.filter(StringUtils::isNotBlank) // 过滤空字符串
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 写入Excel时:将 List<String> 转换为字符串写入单元格
|
||||
*/
|
||||
@Override
|
||||
public CellData<String> convertToExcelData(List<String> strings,
|
||||
ExcelContentProperty excelContentProperty,
|
||||
GlobalConfiguration globalConfiguration) throws Exception {
|
||||
if (CollectionUtils.isEmpty(strings)) {
|
||||
return new CellData<>("");
|
||||
}
|
||||
|
||||
// 用逗号拼接(可根据需要修改分隔符)
|
||||
String result = String.join(",", strings);
|
||||
return new CellData<>(result);
|
||||
}
|
||||
}
|
||||
@@ -44,4 +44,6 @@ public class AdjustmentOrderPageRequest extends PageBasicInfo implements Seriali
|
||||
private Date claimEndTime;
|
||||
|
||||
private String storeId;
|
||||
|
||||
private List<String> regionIds;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
package com.cool.store.response;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.excel.annotation.format.DateTimeFormat;
|
||||
import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
||||
import com.cool.store.annotation.DictField;
|
||||
import com.cool.store.converter.StringListConverter;
|
||||
import com.cool.store.enums.wallet.AdjustTypeEnum;
|
||||
import com.cool.store.enums.wallet.DocStatusEnum;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@@ -13,85 +20,154 @@ import java.util.List;
|
||||
public class AdjustmentOrderResponse implements Serializable {
|
||||
|
||||
@ApiModelProperty("主键ID")
|
||||
@ExcelIgnore
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("调整单号")
|
||||
@ExcelProperty(value = "调整单号", order = 1)
|
||||
@ColumnWidth(30)
|
||||
private String adjustmentNo;
|
||||
|
||||
@ApiModelProperty("门店ID")
|
||||
@ExcelIgnore
|
||||
private String storeId;
|
||||
|
||||
@ApiModelProperty("门店名称")
|
||||
@ExcelProperty(value = "门店名称", order = 2)
|
||||
@ColumnWidth(30)
|
||||
private String storeName;
|
||||
|
||||
@ApiModelProperty("门店编码")
|
||||
@ExcelProperty(value = "门店编码", order = 3)
|
||||
@ColumnWidth(30)
|
||||
private String storeNum;
|
||||
|
||||
@ApiModelProperty("业务类型")
|
||||
@ExcelIgnore
|
||||
private String businessTypeCode;
|
||||
|
||||
@ApiModelProperty("业务类型名称")
|
||||
@DictField(sourceField="businessTypeCode")
|
||||
private String businessTypeName;
|
||||
|
||||
@ApiModelProperty("费用类型")
|
||||
@ExcelIgnore
|
||||
private String expenseTypeCode;
|
||||
|
||||
@ApiModelProperty("费用类型名称")
|
||||
@DictField(sourceField= "expenseTypeCode")
|
||||
@ExcelProperty(value = "费用类型名称", order = 4)
|
||||
@ColumnWidth(30)
|
||||
private String expenseTypeName;
|
||||
|
||||
@ApiModelProperty("业务类型名称")
|
||||
@DictField(sourceField="businessTypeCode")
|
||||
@ExcelProperty(value = "业务类型名称", order = 5)
|
||||
@ColumnWidth(30)
|
||||
private String businessTypeName;
|
||||
|
||||
@ApiModelProperty("调整类型(1-调增 2-调减)")
|
||||
@ExcelIgnore
|
||||
private Integer adjustType;
|
||||
|
||||
@ApiModelProperty("调整类型(1-调增 2-调减)")
|
||||
@ExcelProperty(value = "调整类型名称", order = 6)
|
||||
@ColumnWidth(30)
|
||||
private String adjustTypeName;
|
||||
|
||||
|
||||
@ApiModelProperty("调整金额")
|
||||
@ExcelProperty(value = "调整金额", order = 7)
|
||||
@ColumnWidth(30)
|
||||
private BigDecimal adjustAmount;
|
||||
|
||||
@ApiModelProperty("调整原因")
|
||||
private String adjustReason;
|
||||
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
@ApiModelProperty("附件信息")
|
||||
private String attachmentInfo;
|
||||
|
||||
@ApiModelProperty("单据状态(10-待充值/20-已充值待认款/30-认款完成/40-分部分账/50-分账完成)")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty("创建人")
|
||||
private String createUserId;
|
||||
|
||||
@ApiModelProperty("创建人姓名")
|
||||
private String createUserName;
|
||||
|
||||
@ApiModelProperty("创建时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty("已分账金额")
|
||||
@ExcelProperty(value = "已分账金额", order = 8)
|
||||
@ColumnWidth(30)
|
||||
private BigDecimal settledAmount;
|
||||
|
||||
@ApiModelProperty("待分账金额")
|
||||
@ExcelProperty(value = "待分账金额", order = 9)
|
||||
@ColumnWidth(30)
|
||||
private BigDecimal pendingSettlementAmount;
|
||||
|
||||
@ApiModelProperty("调整原因")
|
||||
@ExcelProperty(value = "调整原因", order = 10)
|
||||
@ColumnWidth(30)
|
||||
private String adjustReason;
|
||||
|
||||
@ApiModelProperty("备注")
|
||||
@ExcelProperty(value = "备注", order = 11)
|
||||
@ColumnWidth(30)
|
||||
private String remark;
|
||||
|
||||
@ApiModelProperty("单据状态(10-待充值/20-已充值待认款/30-认款完成/40-分部分账/50-分账完成)")
|
||||
@ExcelIgnore
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty("单据状态(10-待充值/20-已充值待认款/30-认款完成/40-分部分账/50-分账完成)")
|
||||
@ExcelProperty(value = "单据状态名称", order = 12)
|
||||
@ColumnWidth(30)
|
||||
private String statusName;
|
||||
|
||||
@ApiModelProperty("合同附件信息")
|
||||
@ExcelProperty(value = "合同附件信息", order = 13)
|
||||
@ColumnWidth(30)
|
||||
private String contractAttachmentInfo;
|
||||
|
||||
@ApiModelProperty("附件信息")
|
||||
@ExcelProperty(value = "附件信息", order = 14)
|
||||
@ColumnWidth(30)
|
||||
private String attachmentInfo;
|
||||
|
||||
@ApiModelProperty("创建人")
|
||||
@ExcelIgnore
|
||||
private String createUserId;
|
||||
|
||||
@ApiModelProperty("创建人姓名")
|
||||
@ExcelProperty(value = "创建人姓名", order = 15)
|
||||
@ColumnWidth(30)
|
||||
private String createUserName;
|
||||
|
||||
@ApiModelProperty("创建时间")
|
||||
@ExcelProperty(value = "创建时间", order = 16)
|
||||
@DateTimeFormat("yyyy-MM-dd HH:mm:ss")
|
||||
@ColumnWidth(30)
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty("认领人ID")
|
||||
@ExcelIgnore
|
||||
private String claimUserId;
|
||||
|
||||
@ApiModelProperty("认领人姓名")
|
||||
@ExcelProperty(value = "认领人姓名", order = 17)
|
||||
@ColumnWidth(30)
|
||||
private String claimUserName;
|
||||
|
||||
@ApiModelProperty("认领时间")
|
||||
@ExcelProperty(value = "认领时间", order = 18)
|
||||
@DateTimeFormat("yyyy-MM-dd HH:mm:ss")
|
||||
@ColumnWidth(30)
|
||||
private Date claimTime;
|
||||
|
||||
@ApiModelProperty("费用单类型 1-费用单 2-调整单")
|
||||
private Integer expenseSheetType;
|
||||
|
||||
@ApiModelProperty("合同附件信息")
|
||||
private String contractAttachmentInfo;
|
||||
|
||||
@ApiModelProperty("关联银行流水号")
|
||||
@ExcelProperty(value = "关联银行流水号", order = 19,converter = StringListConverter.class)
|
||||
@ColumnWidth(30)
|
||||
private List<String> tradeNoList;
|
||||
|
||||
@ApiModelProperty("支付时间")
|
||||
@ExcelProperty(value = "支付时间", order = 20)
|
||||
@DateTimeFormat("yyyy-MM-dd HH:mm:ss")
|
||||
@ColumnWidth(30)
|
||||
private Date payTime;
|
||||
|
||||
@ApiModelProperty("费用单类型 1-费用单 2-调整单")
|
||||
@ExcelIgnore
|
||||
private Integer expenseSheetType;
|
||||
|
||||
public String getAdjustTypeName() {
|
||||
AdjustTypeEnum adjustTypeEnum = AdjustTypeEnum.fromCode(this.adjustType);
|
||||
return adjustTypeEnum!=null?adjustTypeEnum.getDesc():"";
|
||||
}
|
||||
|
||||
public String getStatusName() {
|
||||
DocStatusEnum docStatusEnum = DocStatusEnum.fromStatus(this.status);
|
||||
return docStatusEnum!=null?docStatusEnum.getDesc():"";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,15 @@
|
||||
package com.cool.store.response;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.excel.annotation.format.DateTimeFormat;
|
||||
import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
||||
import com.cool.store.annotation.DictField;
|
||||
import com.cool.store.enums.wallet.SplitSourceEnum;
|
||||
import com.cool.store.enums.wallet.SplitTypeEnum;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import java.math.BigDecimal;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
@@ -12,74 +18,142 @@ import java.util.Date;
|
||||
public class SplitOrderResponse implements Serializable {
|
||||
|
||||
@ApiModelProperty("主键ID")
|
||||
@ExcelIgnore
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("分账单号")
|
||||
@ExcelProperty(value = "分账单号", order = 10)
|
||||
@ColumnWidth(30)
|
||||
private String splitNo;
|
||||
|
||||
@ApiModelProperty("分账类型(1-门店付款/2-门店收款/3-公司间结算)")
|
||||
@ExcelIgnore
|
||||
private Integer splitType;
|
||||
|
||||
@ApiModelProperty("分账类型名称(1-门店付款/2-门店收款/3-公司间结算)")
|
||||
@ExcelProperty(value = "分账类型名称", order = 20)
|
||||
@ColumnWidth(30)
|
||||
private String splitTypeName;
|
||||
|
||||
@ApiModelProperty("关联门店")
|
||||
@ExcelIgnore
|
||||
private String relatedStoreId;
|
||||
|
||||
@ApiModelProperty("门店名称")
|
||||
@ExcelProperty(value = "门店名称", order = 30)
|
||||
@ColumnWidth(30)
|
||||
private String storeName;
|
||||
|
||||
@ApiModelProperty("门店编码")
|
||||
@ExcelProperty(value = "门店编码", order = 40)
|
||||
@ColumnWidth(30)
|
||||
private String storeNum;
|
||||
|
||||
@ApiModelProperty("付款账户名称")
|
||||
@ExcelProperty(value = "付款账户名称", order = 50)
|
||||
@ColumnWidth(30)
|
||||
private String payerAccountName;
|
||||
|
||||
@ApiModelProperty("付款账户")
|
||||
@ExcelProperty(value = "付款账户", order = 60)
|
||||
@ColumnWidth(30)
|
||||
private String payerAccountNo;
|
||||
|
||||
@ApiModelProperty("收款账户")
|
||||
private String payeeAccountNo;
|
||||
|
||||
@ApiModelProperty("分账失败原因")
|
||||
private String failReason;
|
||||
|
||||
@ApiModelProperty("收款账户名称")
|
||||
@ExcelProperty(value = "收款账户名称", order = 70)
|
||||
@ColumnWidth(30)
|
||||
private String payeeAccountName;
|
||||
|
||||
@ApiModelProperty("收款账户")
|
||||
@ExcelProperty(value = "收款账户", order = 80)
|
||||
@ColumnWidth(30)
|
||||
private String payeeAccountNo;
|
||||
|
||||
@ApiModelProperty("费用类型")
|
||||
@ExcelIgnore
|
||||
private String expenseTypeCode;
|
||||
|
||||
@ApiModelProperty("费用类型名称")
|
||||
@DictField(sourceField = "expenseTypeCode")
|
||||
@ExcelProperty(value = "费用类型名称", order = 100)
|
||||
@ColumnWidth(30)
|
||||
private String expenseTypeName;
|
||||
|
||||
@ApiModelProperty("分账金额")
|
||||
@ExcelProperty(value = "分账金额", order = 110)
|
||||
@ColumnWidth(30)
|
||||
private BigDecimal splitAmount;
|
||||
|
||||
@ApiModelProperty("关联单据号(如费用调整单号)")
|
||||
@ExcelProperty(value = "关联单据号", order = 120)
|
||||
@ColumnWidth(30)
|
||||
private String relatedDocNo;
|
||||
|
||||
@ApiModelProperty("备注")
|
||||
@ExcelProperty(value = "备注", order = 130)
|
||||
@ColumnWidth(30)
|
||||
private String remark;
|
||||
|
||||
@ApiModelProperty("状态(待分账/已完成)")
|
||||
@ExcelIgnore
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty("状态名称(待分账/已完成)")
|
||||
@ExcelProperty(value = "状态", order = 140)
|
||||
@ColumnWidth(30)
|
||||
private Integer statusName;
|
||||
|
||||
@ApiModelProperty("分账失败原因")
|
||||
@ExcelProperty(value = "分账失败原因", order = 150)
|
||||
@ColumnWidth(30)
|
||||
private String failReason;
|
||||
|
||||
@ApiModelProperty("确认人")
|
||||
@ExcelIgnore
|
||||
private String confirmer;
|
||||
|
||||
@ApiModelProperty("确认人姓名")
|
||||
@ExcelProperty(value = "确认人姓名", order = 160)
|
||||
@ColumnWidth(30)
|
||||
private String confirmerName;
|
||||
|
||||
@ApiModelProperty("确认时间")
|
||||
@ExcelProperty(value = "确认时间", order = 170)
|
||||
@DateTimeFormat("yyyy-MM-dd HH:mm:ss")
|
||||
@ColumnWidth(30)
|
||||
private Date confirmTime;
|
||||
|
||||
@ApiModelProperty("创建人")
|
||||
@ExcelIgnore
|
||||
private String createUserId;
|
||||
|
||||
@ApiModelProperty("创建人姓名")
|
||||
@ExcelProperty(value = "创建人姓名", order = 180)
|
||||
@ColumnWidth(30)
|
||||
private String createUserName;
|
||||
|
||||
@ApiModelProperty("创建时间")
|
||||
@ExcelProperty(value = "创建时间", order = 190)
|
||||
@DateTimeFormat("yyyy-MM-dd HH:mm:ss")
|
||||
@ColumnWidth(30)
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty("单据来源(1-手工新增/2-费用调整单/3-费用单)")
|
||||
@ExcelIgnore
|
||||
private Integer source;
|
||||
|
||||
@ApiModelProperty("单据来源名称(1-手工新增/2-费用调整单/3-费用单)")
|
||||
@ExcelProperty(value = "单据来源名称", order = 200)
|
||||
@ColumnWidth(30)
|
||||
private String sourceName;
|
||||
|
||||
public String getSplitTypeName() {
|
||||
SplitTypeEnum splitTypeEnum = SplitTypeEnum.fromStatus(this.splitType);
|
||||
return splitTypeEnum!=null?splitTypeEnum.getDesc():"-";
|
||||
}
|
||||
|
||||
public String getSourceName() {
|
||||
SplitSourceEnum splitSourceEnum = SplitSourceEnum.fromStatus(this.source);
|
||||
return splitSourceEnum!=null?splitSourceEnum.getDesc():"-";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,9 +47,9 @@ public interface AdjustmentOrderService {
|
||||
* @param request 分页查询请求
|
||||
* @return 分页结果
|
||||
*/
|
||||
PageInfo<AdjustmentOrderResponse> page(AdjustmentOrderPageRequest request);
|
||||
PageInfo<AdjustmentOrderResponse> page(AdjustmentOrderPageRequest request,String userId);
|
||||
|
||||
PageInfo<AdjustmentOrderResponse> getSpecialStatusData(AdjustmentSpecialPageRequest request);
|
||||
PageInfo<AdjustmentOrderResponse> getSpecialStatusData(AdjustmentSpecialPageRequest request,LoginUserInfo userInfo);
|
||||
|
||||
|
||||
/**
|
||||
@@ -80,7 +80,12 @@ public interface AdjustmentOrderService {
|
||||
*/
|
||||
Boolean confirmRecharge(ConfirmRechargeRequest request);
|
||||
|
||||
|
||||
/**
|
||||
* 分页查询总数
|
||||
* @param request 分页查询请求
|
||||
* @return 记录总数
|
||||
*/
|
||||
Long pageCount(AdjustmentOrderPageRequest request,LoginUserInfo user);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -2,12 +2,10 @@ package com.cool.store.service;
|
||||
|
||||
import com.cool.store.dto.pre.fry.ApplyManagementDTO;
|
||||
import com.cool.store.entity.ImportTaskDO;
|
||||
import com.cool.store.request.AllPointPageRequest;
|
||||
import com.cool.store.request.FranchiseReportRequest;
|
||||
import com.cool.store.request.*;
|
||||
import com.cool.store.request.order.PCStoreOrderQueryRequest;
|
||||
import com.cool.store.request.tp.TpScoreJournalQueryRequest;
|
||||
import com.cool.store.request.visit.VisitRecordQueryRequest;
|
||||
import com.cool.store.request.PointPageRequest;
|
||||
import com.cool.store.request.visit.VisitRecordQueryRequest;
|
||||
import com.cool.store.response.BranchShopResponse;
|
||||
import com.cool.store.response.FranchiseReportResponse;
|
||||
@@ -60,4 +58,25 @@ public interface ExportRealizeService {
|
||||
* @param importTaskDO 导出任务
|
||||
*/
|
||||
void exportTpScoreJournal(TpScoreJournalQueryRequest request, ImportTaskDO importTaskDO);
|
||||
|
||||
/**
|
||||
* 费用调整单导出
|
||||
* @param request 查询Request
|
||||
* @param importTaskDO 导出任务
|
||||
*/
|
||||
void exportAdjustmentOrder(AdjustmentOrderPageRequest request, ImportTaskDO importTaskDO);
|
||||
|
||||
/**
|
||||
* 费用单导出
|
||||
* @param request 查询Request
|
||||
* @param importTaskDO 导出任务
|
||||
*/
|
||||
void exportExpenseOrder(AdjustmentOrderPageRequest request, ImportTaskDO importTaskDO);
|
||||
|
||||
/**
|
||||
* 分账单导出
|
||||
* @param request 查询Request
|
||||
* @param importTaskDO 导出任务
|
||||
*/
|
||||
void exportSplitOrder(SplitOrderPageRequest request, ImportTaskDO importTaskDO);
|
||||
}
|
||||
|
||||
@@ -94,4 +94,28 @@ public interface ExportService {
|
||||
* @return 记录总数
|
||||
*/
|
||||
Long exportTpScoreJournal(TpScoreJournalQueryRequest request, LoginUserInfo user);
|
||||
|
||||
/**
|
||||
* 费用调整单导出
|
||||
* @param request 查询Request
|
||||
* @param user 当前用户
|
||||
* @return 记录总数
|
||||
*/
|
||||
Long exportAdjustmentOrder(AdjustmentOrderPageRequest request, LoginUserInfo user);
|
||||
|
||||
/**
|
||||
* 费用单导出
|
||||
* @param request 查询Request
|
||||
* @param user 当前用户
|
||||
* @return 记录总数
|
||||
*/
|
||||
Long exportExpenseOrder(AdjustmentOrderPageRequest request, LoginUserInfo user);
|
||||
|
||||
/**
|
||||
* 分账单导出
|
||||
* @param request 查询Request
|
||||
* @param user 当前用户
|
||||
* @return 记录总数
|
||||
*/
|
||||
Long exportSplitOrder(SplitOrderPageRequest request, LoginUserInfo user);
|
||||
}
|
||||
|
||||
@@ -76,4 +76,11 @@ public interface SplitOrderService {
|
||||
* @param walletTradeDO
|
||||
*/
|
||||
Boolean updateWalletTrade(WalletTradeDO walletTradeDO);
|
||||
|
||||
/**
|
||||
* 分页查询总数
|
||||
* @param request 分页查询请求
|
||||
* @return 记录总数
|
||||
*/
|
||||
Long pageCount(SplitOrderPageRequest request);
|
||||
}
|
||||
|
||||
@@ -19,9 +19,11 @@ import com.cool.store.request.wallet.ConfirmRechargeRequest;
|
||||
import com.cool.store.request.wallet.OutStoreIdRequest;
|
||||
import com.cool.store.response.AdjustmentOrderResponse;
|
||||
import com.cool.store.service.AdjustmentOrderService;
|
||||
import com.cool.store.service.UserAuthMappingService;
|
||||
import com.cool.store.service.dict.impl.DictService;
|
||||
import com.cool.store.service.wallet.WalletApiService;
|
||||
import com.cool.store.utils.GenerateNoUtil;
|
||||
import com.cool.store.vo.login.UserLoginVO;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -175,12 +177,22 @@ public class AdjustmentOrderServiceImpl implements AdjustmentOrderService {
|
||||
|
||||
return buildResponse(adjustmentOrder);
|
||||
}
|
||||
@Resource
|
||||
UserAuthMappingService userAuthMappingService;
|
||||
@Resource
|
||||
EnterpriseUserRoleDao enterpriseUserRoleDao;
|
||||
|
||||
@Override
|
||||
public PageInfo<AdjustmentOrderResponse> page(AdjustmentOrderPageRequest request) {
|
||||
public PageInfo<AdjustmentOrderResponse> page(AdjustmentOrderPageRequest request, String userId) {
|
||||
List<String> regionIds = new ArrayList<>();
|
||||
Boolean isAdmin = enterpriseUserRoleDao.checkIsAdmin(userId);
|
||||
//非管理员根据管辖权限查询 管理员查所有
|
||||
if (StringUtils.isNotEmpty(userId)&&!isAdmin){
|
||||
regionIds = userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(userId);
|
||||
request.setRegionIds(regionIds);
|
||||
}
|
||||
PageHelper.startPage(request.getPageNum(), request.getPageSize());
|
||||
List<AdjustmentOrderResponse> list = adjustmentOrderDAO.pageQuery(request);
|
||||
|
||||
dictService.fillDictField(list);
|
||||
// 批量查询交易流水号
|
||||
if (CollectionUtils.isNotEmpty(list)) {
|
||||
@@ -224,7 +236,7 @@ public class AdjustmentOrderServiceImpl implements AdjustmentOrderService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageInfo<AdjustmentOrderResponse> getSpecialStatusData(AdjustmentSpecialPageRequest request) {
|
||||
public PageInfo<AdjustmentOrderResponse> getSpecialStatusData(AdjustmentSpecialPageRequest request,LoginUserInfo userInfo) {
|
||||
AdjustmentOrderPageRequest convert = AdjustmentSpecialPageRequest.convert(request);
|
||||
//只查询指定的状态
|
||||
List<Integer> statusList = convert.getStatusList();
|
||||
@@ -235,7 +247,7 @@ public class AdjustmentOrderServiceImpl implements AdjustmentOrderService {
|
||||
statusList.addAll(list);
|
||||
}
|
||||
convert.setStatusList(statusList);
|
||||
return page(convert);
|
||||
return page(convert,userInfo.getUserId());
|
||||
}
|
||||
|
||||
|
||||
@@ -404,6 +416,18 @@ public class AdjustmentOrderServiceImpl implements AdjustmentOrderService {
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long pageCount(AdjustmentOrderPageRequest request,LoginUserInfo user) {
|
||||
List<String> regionIds = new ArrayList<>();
|
||||
Boolean isAdmin = enterpriseUserRoleDao.checkIsAdmin(user.getUserId());
|
||||
//非管理员根据管辖权限查询 管理员查所有
|
||||
if (StringUtils.isNotEmpty(user.getUserId())&&!isAdmin){
|
||||
regionIds = userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(user.getUserId());
|
||||
request.setRegionIds(regionIds);
|
||||
}
|
||||
return adjustmentOrderDAO.pageCount(request);
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建响应对象
|
||||
*/
|
||||
|
||||
@@ -13,16 +13,12 @@ import com.cool.store.enums.*;
|
||||
import com.cool.store.enums.point.*;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.mapper.*;
|
||||
import com.cool.store.request.AllPointPageRequest;
|
||||
import com.cool.store.request.FranchiseReportRequest;
|
||||
import com.cool.store.request.*;
|
||||
import com.cool.store.request.order.PCStoreOrderQueryRequest;
|
||||
import com.cool.store.request.tp.TpScoreJournalQueryRequest;
|
||||
import com.cool.store.request.visit.VisitRecordQueryRequest;
|
||||
import com.cool.store.request.PointPageRequest;
|
||||
import com.cool.store.request.visit.VisitRecordQueryRequest;
|
||||
import com.cool.store.response.BranchShopResponse;
|
||||
import com.cool.store.response.FranchiseReportResponse;
|
||||
import com.cool.store.response.ShopReportResponse;
|
||||
import com.cool.store.response.*;
|
||||
import com.cool.store.service.*;
|
||||
import com.cool.store.service.dict.impl.DictService;
|
||||
import com.cool.store.service.order.MiniStoreOrderService;
|
||||
@@ -48,6 +44,7 @@ import com.cool.store.vo.visit.VisitRecordListVO;
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
@@ -139,6 +136,10 @@ public class ExportRealizeServiceImpl implements ExportRealizeService {
|
||||
private TpScoreJournalService tpScoreJournalService;
|
||||
@Resource
|
||||
private DictService dictService;
|
||||
@Resource
|
||||
AdjustmentOrderService adjustmentOrderService;
|
||||
@Resource
|
||||
SplitOrderService splitOrderService;
|
||||
|
||||
@Override
|
||||
@Async
|
||||
@@ -944,5 +945,88 @@ public class ExportRealizeServiceImpl implements ExportRealizeService {
|
||||
redisUtilPool.delKey(RedisConstant.TP_SCORE_JOURNAL_EXPORT_LOCK);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Async("generalThreadPool")
|
||||
public void exportAdjustmentOrder(AdjustmentOrderPageRequest request, ImportTaskDO importTaskDO) {
|
||||
String url = "";
|
||||
try {
|
||||
url = easyExcelUtil.exportExcelInBatches(AdjustmentOrderResponse.class,
|
||||
(pageNum, pageSize) -> {
|
||||
request.setPageNum(pageNum);
|
||||
request.setPageSize(pageSize);
|
||||
request.setExpenseSheetType(2);
|
||||
PageInfo<AdjustmentOrderResponse> pageInfo = adjustmentOrderService.page(request,importTaskDO.getCreateUserId());
|
||||
List<AdjustmentOrderResponse> list = pageInfo.getList();
|
||||
dictService.fillDictField(list);
|
||||
return list;
|
||||
},
|
||||
FileTypeEnum.ADJUSTMENT_ORDER_EXPORT.getDesc(),
|
||||
FileTypeEnum.ADJUSTMENT_ORDER_EXPORT.getDesc());
|
||||
importTaskDO.setStatus(ImportStatusEnum.success.getCode());
|
||||
} catch (Exception e) {
|
||||
log.error("费用调整单导出失败,{}", e);
|
||||
importTaskDO.setStatus(ImportStatusEnum.fail.getCode());
|
||||
} finally {
|
||||
importTaskDO.setFileUrl(url);
|
||||
importTaskMapper.update(eid, importTaskDO);
|
||||
redisUtilPool.delKey(RedisConstant.ADJUSTMENT_ORDER_EXPORT_LOCK);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Async("generalThreadPool")
|
||||
public void exportExpenseOrder(AdjustmentOrderPageRequest request, ImportTaskDO importTaskDO) {
|
||||
String url = "";
|
||||
try {
|
||||
url = easyExcelUtil.exportExcelInBatches(AdjustmentOrderResponse.class,
|
||||
(pageNum, pageSize) -> {
|
||||
request.setPageNum(pageNum);
|
||||
request.setPageSize(pageSize);
|
||||
request.setExpenseSheetType(1);
|
||||
PageInfo<AdjustmentOrderResponse> pageInfo = adjustmentOrderService.page(request,importTaskDO.getCreateUserId());
|
||||
List<AdjustmentOrderResponse> list = pageInfo.getList();
|
||||
dictService.fillDictField(list);
|
||||
return list;
|
||||
},
|
||||
FileTypeEnum.EXPENSE_ORDER_EXPORT.getDesc(),
|
||||
FileTypeEnum.EXPENSE_ORDER_EXPORT.getDesc());
|
||||
importTaskDO.setStatus(ImportStatusEnum.success.getCode());
|
||||
} catch (Exception e) {
|
||||
log.error("费用单导出失败", e);
|
||||
importTaskDO.setStatus(ImportStatusEnum.fail.getCode());
|
||||
} finally {
|
||||
importTaskDO.setFileUrl(url);
|
||||
importTaskMapper.update(eid, importTaskDO);
|
||||
redisUtilPool.delKey(RedisConstant.EXPENSE_ORDER_EXPORT_LOCK);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Async("generalThreadPool")
|
||||
public void exportSplitOrder(SplitOrderPageRequest request, ImportTaskDO importTaskDO) {
|
||||
String url = "";
|
||||
try {
|
||||
url = easyExcelUtil.exportExcelInBatches(SplitOrderResponse.class,
|
||||
(pageNum, pageSize) -> {
|
||||
request.setPageNum(pageNum);
|
||||
request.setPageSize(pageSize);
|
||||
PageInfo<SplitOrderResponse> pageInfo = splitOrderService.page(request);
|
||||
List<SplitOrderResponse> list = pageInfo.getList();
|
||||
dictService.fillDictField(list);
|
||||
return list;
|
||||
},
|
||||
FileTypeEnum.SPLIT_ORDER_EXPORT.getDesc(),
|
||||
FileTypeEnum.SPLIT_ORDER_EXPORT.getDesc());
|
||||
importTaskDO.setStatus(ImportStatusEnum.success.getCode());
|
||||
} catch (Exception e) {
|
||||
log.error("分账单导出失败", e);
|
||||
importTaskDO.setStatus(ImportStatusEnum.fail.getCode());
|
||||
} finally {
|
||||
importTaskDO.setFileUrl(url);
|
||||
importTaskMapper.update(eid, importTaskDO);
|
||||
redisUtilPool.delKey(RedisConstant.SPLIT_ORDER_EXPORT_LOCK);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -10,9 +10,6 @@ import com.cool.store.dao.PreFryQualificationApplyDAO;
|
||||
import com.cool.store.dao.ShopInfoDAO;
|
||||
import com.cool.store.dao.order.StoreOrderDAO;
|
||||
import com.cool.store.dao.visit.VisitRecordDAO;
|
||||
import com.cool.store.dto.Preparation.PreparationDTO;
|
||||
import com.cool.store.dto.Preparation.ScheduleDTO;
|
||||
import com.cool.store.dao.visit.VisitRecordDAO;
|
||||
import com.cool.store.dto.pre.fry.ApplyManagementDTO;
|
||||
import com.cool.store.dto.pre.fry.ApplyManagementQueryDTO;
|
||||
import com.cool.store.entity.*;
|
||||
@@ -41,7 +38,6 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -93,6 +89,10 @@ public class ExportServiceImpl implements ExportService {
|
||||
private PointService pointService;
|
||||
@Resource
|
||||
private TpScoreJournalService tpScoreJournalService;
|
||||
@Resource
|
||||
private AdjustmentOrderService adjustmentOrderService;
|
||||
@Resource
|
||||
private SplitOrderService splitOrderService;
|
||||
|
||||
|
||||
|
||||
@@ -380,5 +380,86 @@ public class ExportServiceImpl implements ExportService {
|
||||
return count;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long exportAdjustmentOrder(AdjustmentOrderPageRequest request, LoginUserInfo user) {
|
||||
Long count = adjustmentOrderService.pageCount(request,user);
|
||||
if (count.intValue() > CommonConstants.MAX_EXPORT_SIZE_PRO) {
|
||||
throw new ServiceException(ErrorCodeEnum.EXPORT_LIMIT_100000);
|
||||
}
|
||||
if (Long.valueOf(0).equals(count)) {
|
||||
log.error("导出数据为空");
|
||||
return 0L;
|
||||
}
|
||||
boolean lock = redisUtilPool.setNxExpire(RedisConstant.ADJUSTMENT_ORDER_EXPORT_LOCK, RedisConstant.ADJUSTMENT_ORDER_EXPORT_LOCK, 30 * 60 * 1000);
|
||||
if (!lock) {
|
||||
throw new ServiceException(ErrorCodeEnum.EXPORT_TASK_LIMIT);
|
||||
}
|
||||
ImportTaskDO importTaskDO = new ImportTaskDO();
|
||||
importTaskDO.setStatus(ImportStatusEnum.Ongoing.getCode());
|
||||
importTaskDO.setFileName(FileTypeEnum.ADJUSTMENT_ORDER_EXPORT.getDesc() + DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START_1, new Date()));
|
||||
importTaskDO.setIsImport(Boolean.FALSE);
|
||||
importTaskDO.setFileType(FileTypeEnum.ADJUSTMENT_ORDER_EXPORT.getFileType());
|
||||
importTaskDO.setCreateUserId(user.getUserId());
|
||||
importTaskDO.setCreateTime(new Date().getTime());
|
||||
importTaskDO.setCreateName(user.getName());
|
||||
importTaskMapper.insert(eid, importTaskDO);
|
||||
exportRealizeService.exportAdjustmentOrder(request, importTaskDO);
|
||||
return count;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long exportExpenseOrder(AdjustmentOrderPageRequest request, LoginUserInfo user) {
|
||||
Long count = adjustmentOrderService.pageCount(request,user);
|
||||
if (count.intValue() > CommonConstants.MAX_EXPORT_SIZE_PRO) {
|
||||
throw new ServiceException(ErrorCodeEnum.EXPORT_LIMIT_100000);
|
||||
}
|
||||
if (Long.valueOf(0).equals(count)) {
|
||||
log.error("导出数据为空");
|
||||
return 0L;
|
||||
}
|
||||
boolean lock = redisUtilPool.setNxExpire(RedisConstant.EXPENSE_ORDER_EXPORT_LOCK, RedisConstant.EXPENSE_ORDER_EXPORT_LOCK, 30 * 60 * 1000);
|
||||
if (!lock) {
|
||||
throw new ServiceException(ErrorCodeEnum.EXPORT_TASK_LIMIT);
|
||||
}
|
||||
ImportTaskDO importTaskDO = new ImportTaskDO();
|
||||
importTaskDO.setStatus(ImportStatusEnum.Ongoing.getCode());
|
||||
importTaskDO.setFileName(FileTypeEnum.EXPENSE_ORDER_EXPORT.getDesc() + DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START_1, new Date()));
|
||||
importTaskDO.setIsImport(Boolean.FALSE);
|
||||
importTaskDO.setFileType(FileTypeEnum.EXPENSE_ORDER_EXPORT.getFileType());
|
||||
importTaskDO.setCreateUserId(user.getUserId());
|
||||
importTaskDO.setCreateTime(new Date().getTime());
|
||||
importTaskDO.setCreateName(user.getName());
|
||||
importTaskMapper.insert(eid, importTaskDO);
|
||||
exportRealizeService.exportExpenseOrder(request, importTaskDO);
|
||||
return count;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long exportSplitOrder(SplitOrderPageRequest request, LoginUserInfo user) {
|
||||
Long count = splitOrderService.pageCount(request);
|
||||
if (count.intValue() > CommonConstants.MAX_EXPORT_SIZE_PRO) {
|
||||
throw new ServiceException(ErrorCodeEnum.EXPORT_LIMIT_100000);
|
||||
}
|
||||
if (Long.valueOf(0).equals(count)) {
|
||||
log.error("导出数据为空");
|
||||
return 0L;
|
||||
}
|
||||
boolean lock = redisUtilPool.setNxExpire(RedisConstant.SPLIT_ORDER_EXPORT_LOCK, RedisConstant.SPLIT_ORDER_EXPORT_LOCK, 30 * 60 * 1000);
|
||||
if (!lock) {
|
||||
throw new ServiceException(ErrorCodeEnum.EXPORT_TASK_LIMIT);
|
||||
}
|
||||
ImportTaskDO importTaskDO = new ImportTaskDO();
|
||||
importTaskDO.setStatus(ImportStatusEnum.Ongoing.getCode());
|
||||
importTaskDO.setFileName(FileTypeEnum.SPLIT_ORDER_EXPORT.getDesc() + DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START_1, new Date()));
|
||||
importTaskDO.setIsImport(Boolean.FALSE);
|
||||
importTaskDO.setFileType(FileTypeEnum.SPLIT_ORDER_EXPORT.getFileType());
|
||||
importTaskDO.setCreateUserId(user.getUserId());
|
||||
importTaskDO.setCreateTime(new Date().getTime());
|
||||
importTaskDO.setCreateName(user.getName());
|
||||
importTaskMapper.insert(eid, importTaskDO);
|
||||
exportRealizeService.exportSplitOrder(request, importTaskDO);
|
||||
return count;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -318,6 +318,11 @@ public class SplitOrderServiceImpl implements SplitOrderService {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long pageCount(SplitOrderPageRequest request) {
|
||||
return splitOrderDAO.pageCount(request);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 构建响应对象
|
||||
|
||||
@@ -63,7 +63,7 @@ public class SyncMainSysServerImpl implements SyncMainSysServer {
|
||||
private WalletApiService walletApiService;
|
||||
|
||||
@Override
|
||||
@Async
|
||||
@Async("generalThreadPool")
|
||||
public void syncStore(Long shopId) {
|
||||
log.info("开始同步门店 syncStore:{}", shopId);
|
||||
addStore(shopId);
|
||||
@@ -133,7 +133,7 @@ public class SyncMainSysServerImpl implements SyncMainSysServer {
|
||||
String endMillis = String.valueOf(endTime.toSecondOfDay() * 1000L);
|
||||
storeMasterDTO.setBusinessHours(startMillis + "," + endMillis);
|
||||
} catch (Exception e) {
|
||||
log.info("时间转换异常:{},shopId:{},time:{}", e.getMessage(), shopId.toString(), buildInformationDO.getBusinessHours());
|
||||
log.info("时间转换异常 shopId:{},time:{}", shopId.toString(), buildInformationDO.getBusinessHours(),e);
|
||||
}
|
||||
}
|
||||
StoreMasterDTO.SettlerInfo settlerInfo = new StoreMasterDTO.SettlerInfo();
|
||||
@@ -179,7 +179,7 @@ public class SyncMainSysServerImpl implements SyncMainSysServer {
|
||||
storeMasterDTO.setMonthlyRent(monthlyRent);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.info("月租转换异常:{},shopId:{},time:{}", e.getMessage(), shopId.toString(), pointDetail.getMonthRent());
|
||||
log.error("月租转换异常 shopId:{},time:{}", shopId.toString(), pointDetail.getMonthRent(),e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -212,7 +212,7 @@ public class SyncMainSysServerImpl implements SyncMainSysServer {
|
||||
// 推送营帐通
|
||||
pushStoreToYzt(shopInfo, lineInfoDO);
|
||||
} catch (Exception e) {
|
||||
log.info("asdStore_error:{},shopId:{}", e.getMessage(), shopId.toString());
|
||||
log.error("asdStore_error: shopId:{}", shopId.toString(), e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.cool.store.controller.webb;
|
||||
|
||||
import com.cool.store.context.CurrentUserHolder;
|
||||
import com.cool.store.context.LoginUserInfo;
|
||||
import com.cool.store.request.*;
|
||||
import com.cool.store.response.AdjustmentOrderResponse;
|
||||
import com.cool.store.response.ResponseResult;
|
||||
@@ -61,13 +62,13 @@ public class AdjustmentOrderController {
|
||||
@PostMapping("/page")
|
||||
@ApiOperation("分页查询费用调整单")
|
||||
public ResponseResult<PageInfo<AdjustmentOrderResponse>> page(@RequestBody AdjustmentOrderPageRequest request) {
|
||||
return ResponseResult.success(adjustmentOrderService.page(request));
|
||||
return ResponseResult.success(adjustmentOrderService.page(request,CurrentUserHolder.getUserId()));
|
||||
}
|
||||
|
||||
@PostMapping("/getSpecialStatusData")
|
||||
@ApiOperation("选择关联费用单费用调整单列表")
|
||||
public ResponseResult<PageInfo<AdjustmentOrderResponse>> getSpecialStatusData(@RequestBody AdjustmentSpecialPageRequest request) {
|
||||
return ResponseResult.success(adjustmentOrderService.getSpecialStatusData(request));
|
||||
return ResponseResult.success(adjustmentOrderService.getSpecialStatusData(request, CurrentUserHolder.getUser()));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -108,4 +108,22 @@ public class ExportController {
|
||||
public ResponseResult<Long> tpScoreJournalExport(@RequestBody TpScoreJournalQueryRequest request) {
|
||||
return ResponseResult.success(exportService.exportTpScoreJournal(request, CurrentUserHolder.getUser()));
|
||||
}
|
||||
|
||||
@PostMapping("/adjustmentOrderExport")
|
||||
@ApiOperation("费用调整单导出")
|
||||
public ResponseResult<Long> adjustmentOrderExport(@RequestBody AdjustmentOrderPageRequest request) {
|
||||
return ResponseResult.success(exportService.exportAdjustmentOrder(request, CurrentUserHolder.getUser()));
|
||||
}
|
||||
|
||||
@PostMapping("/expenseOrderExport")
|
||||
@ApiOperation("费用单导出")
|
||||
public ResponseResult<Long> expenseOrderExport(@RequestBody AdjustmentOrderPageRequest request) {
|
||||
return ResponseResult.success(exportService.exportExpenseOrder(request, CurrentUserHolder.getUser()));
|
||||
}
|
||||
|
||||
@PostMapping("/splitOrderExport")
|
||||
@ApiOperation("分账单导出")
|
||||
public ResponseResult<Long> splitOrderExport(@RequestBody SplitOrderPageRequest request) {
|
||||
return ResponseResult.success(exportService.exportSplitOrder(request, CurrentUserHolder.getUser()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ public class MiniAdjustmentOrderController {
|
||||
@PostMapping("/page")
|
||||
@ApiOperation("分页查询费用调整单")
|
||||
public ResponseResult<PageInfo<AdjustmentOrderResponse>> page(@RequestBody AdjustmentOrderPageRequest request) {
|
||||
return ResponseResult.success(adjustmentOrderService.page(request));
|
||||
return ResponseResult.success(adjustmentOrderService.page(request,null));
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user