feat:正元对接

This commit is contained in:
dzc committed 2025-03-03 20:18:16 +08:00
1 parent 836f6b0a77
commit bc2c228d06
9 files changed
+114 -9

No files matched your search

@@ -38,4 +38,10 @@ public enum HardOrderTypeEnum {
return refundList.contains(type);
}
public static List<String> getExternalCodes() {
return List.of(
HardOrderTypeEnum.FOREIGN_TICKET.type,
HardOrderTypeEnum.STRIDE_DEPT.type
);
}
}
@@ -31,6 +31,8 @@ public class HardOrderDto extends HardOrderEntity implements BaseIsIncludeTreeIn
private LocalDateTime[] payTimeList;
private List<String> orderTypeCodes;
/**
* 是否查询购物车列表
*/
@@ -0,0 +1,48 @@
package com.bsd.pjcloud.hard.api.vo.order;
import lombok.Data;
@Data
public class HardZyCardSyncVo {
/**
* 总人数
*/
private Long totalNum;
/**
* 总金额
*/
private Long totalMoney;
/**
* 年总人数
*/
private Long totalNumYear;
/**
* 年总金额
*/
private Long totalMoneyYear;
/**
* 月总人数
*/
private Long totalNumMonth;
/**
* 月总金额
*/
private Long totalMoneyMonth;
/**
* 月总人数
*/
private Long totalNumDay;
/**
* 月总金额
*/
private Long totalMoneyDay;
}
@@ -13,11 +13,13 @@ import com.bsd.pjcloud.common.core.util.R;
import com.bsd.pjcloud.common.log.annotation.SysLog;
import com.bsd.pjcloud.hard.api.constant.HardTypeEnum;
import com.bsd.pjcloud.hard.api.constant.order.HardOrderStatusEnum;
import com.bsd.pjcloud.hard.api.constant.order.HardOrderTypeEnum;
import com.bsd.pjcloud.hard.api.dto.order.HardDeptTotalDto;
import com.bsd.pjcloud.hard.api.dto.order.HardOrderDto;
import com.bsd.pjcloud.hard.api.vo.order.HardDeptTotalVo;
import com.bsd.pjcloud.hard.api.vo.order.HardOrderCsVo;
import com.bsd.pjcloud.hard.api.vo.order.HardOrderSbVo;
import com.bsd.pjcloud.hard.api.vo.order.HardZyCardSyncVo;
import com.bsd.pjcloud.hard.service.HardOrderTotalService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
@@ -45,6 +47,19 @@ public class HardOrderTotalController {
private final HardOrderTotalService HardOrderTotalService;
/* ************************************* start 远程调用 start ************************************* */
@PostMapping("/zy-card-sync")
@Operation(summary = "正元本地一卡通交易数据同步")
public R<HardZyCardSyncVo> zyCardSync() {
HardOrderDto dto = new HardOrderDto();
dto.setOrderStatusCodes(HardOrderStatusEnum.getPayPrice());
dto.setOrderTypeCodes(HardOrderTypeEnum.getExternalCodes());
return R.ok(HardOrderTotalService.totalYearMonthDay(dto));
}
/* ************************************* end 远程调用 end ************************************* */
@PostMapping("/page-list-sb")
@Operation(summary = "设备交易记录")
public R<Page<HardOrderSbVo>> pageListSb(@ParameterObject Page page, @RequestBody HardOrderDto dto) {
@@ -11,10 +11,7 @@ import com.bsd.pjcloud.hard.api.dto.order.HardOrderSumAndCountDto;
import com.bsd.pjcloud.hard.api.entity.HardManagerEntity;
import com.bsd.pjcloud.hard.api.entity.order.HardAfterSaleEntity;
import com.bsd.pjcloud.hard.api.entity.order.HardOrderEntity;
import com.bsd.pjcloud.hard.api.vo.order.HardOrderCsVo;
import com.bsd.pjcloud.hard.api.vo.order.HardOrderSbVo;
import com.bsd.pjcloud.hard.api.vo.order.HardOrderSumAndCountVo;
import com.bsd.pjcloud.hard.api.vo.order.HardOrderVo;
import com.bsd.pjcloud.hard.api.vo.order.*;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -98,4 +95,6 @@ public interface HardOrderMapper extends PjcloudBaseMapper<HardOrderEntity> {
List<HardOrderCsVo> listCs(@Param("dto") HardOrderDto dto);
List<HardOrderSumAndCountVo> sumAndCount(@Param("dto") HardOrderSumAndCountDto dto);
HardZyCardSyncVo totalYearMonthDay(@Param("dto") HardOrderDto hardOrderDto);
}
@@ -6,6 +6,7 @@ import com.bsd.pjcloud.hard.api.dto.order.HardOrderDto;
import com.bsd.pjcloud.hard.api.vo.order.HardDeptTotalVo;
import com.bsd.pjcloud.hard.api.vo.order.HardOrderCsVo;
import com.bsd.pjcloud.hard.api.vo.order.HardOrderSbVo;
import com.bsd.pjcloud.hard.api.vo.order.HardZyCardSyncVo;
import java.util.List;
@@ -20,4 +21,6 @@ public interface HardOrderTotalService {
List<HardOrderCsVo> listCs(HardOrderDto dto);
List<HardDeptTotalVo> pageListDept(HardDeptTotalDto dto);
HardZyCardSyncVo totalYearMonthDay(HardOrderDto dto);
}
@@ -8,16 +8,14 @@ import com.bsd.pjcloud.admin.api.entity.SysDept;
import com.bsd.pjcloud.admin.api.feign.RemoteDeptService;
import com.bsd.pjcloud.common.core.util.CollectionUtils;
import com.bsd.pjcloud.hard.api.constant.order.HardOrderStatusEnum;
import com.bsd.pjcloud.hard.api.constant.order.HardOrderTypeEnum;
import com.bsd.pjcloud.hard.api.dto.HardManagerDto;
import com.bsd.pjcloud.hard.api.dto.order.HardDeptTotalDto;
import com.bsd.pjcloud.hard.api.dto.order.HardOrderDto;
import com.bsd.pjcloud.hard.api.dto.order.HardOrderSumAndCountDto;
import com.bsd.pjcloud.hard.api.entity.HardManagerEntity;
import com.bsd.pjcloud.hard.api.utils.HardUtil;
import com.bsd.pjcloud.hard.api.vo.order.HardDeptTotalVo;
import com.bsd.pjcloud.hard.api.vo.order.HardOrderCsVo;
import com.bsd.pjcloud.hard.api.vo.order.HardOrderSbVo;
import com.bsd.pjcloud.hard.api.vo.order.HardOrderSumAndCountVo;
import com.bsd.pjcloud.hard.api.vo.order.*;
import com.bsd.pjcloud.hard.mapper.HardManagerMapper;
import com.bsd.pjcloud.hard.mapper.order.HardOrderMapper;
import com.bsd.pjcloud.hard.service.HardOrderTotalService;
@@ -291,4 +289,9 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService {
});
return resultListFuture.join();
}
@Override
public HardZyCardSyncVo totalYearMonthDay(HardOrderDto dto) {
return hardOrderMapper.totalYearMonthDay(dto);
}
}
@@ -189,4 +189,32 @@
group by a.dept_id
</select>
<select id="totalYearMonthDay" resultType="com.bsd.pjcloud.hard.api.vo.order.HardZyCardSyncVo">
SELECT
COUNT(0) AS totalNum,
SUM(a.pay_price) AS totalMoney,
SUM(CASE WHEN YEAR(a.create_time) = YEAR(CURRENT_DATE()) THEN 1 ELSE 0 END) AS totalNumYear,
SUM(CASE WHEN YEAR(a.create_time) = YEAR(CURRENT_DATE()) THEN a.pay_price ELSE 0 END) AS totalMoneyYear,
SUM(CASE WHEN YEAR(a.create_time) = YEAR(CURRENT_DATE()) AND MONTH(a.create_time) = MONTH(CURRENT_DATE()) THEN 1 ELSE 0 END) AS totalNumMonth,
SUM(CASE WHEN YEAR(a.create_time) = YEAR(CURRENT_DATE()) AND MONTH(a.create_time) = MONTH(CURRENT_DATE()) THEN a.pay_price ELSE 0 END) AS totalMoneyMonth,
SUM(CASE WHEN YEAR(a.create_time) = YEAR(CURRENT_DATE()) AND MONTH(a.create_time) = MONTH(CURRENT_DATE()) AND DAY(a.create_time) = DAY(CURRENT_DATE()) THEN 1 ELSE 0 END) AS totalNumDay,
SUM(CASE WHEN YEAR(a.create_time) = YEAR(CURRENT_DATE()) AND MONTH(a.create_time) = MONTH(CURRENT_DATE()) AND DAY(a.create_time) = DAY(CURRENT_DATE()) THEN a.pay_price ELSE 0 END) AS totalMoneyDay
FROM
hard_order a
<where>
a.del_flag = 0
<if test="dto.orderStatusCodes != null and dto.orderStatusCodes.size() != 0">
and a.order_status in
<foreach collection="dto.orderStatusCodes" item="v" open="(" close=")" separator=",">
#{v}
</foreach>
</if>
<if test="dto.orderTypeCodes != null and dto.orderTypeCodes.size() != 0">
and a.order_type in
<foreach collection="dto.orderTypeCodes" item="v" open="(" close=")" separator=",">
#{v}
</foreach>
</if>
</where>
</select>
</mapper>
@@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
import com.bsd.pjcloud.thirdparty.dto.zy.foreign.ZyForeignSyncNativeCardTradeInfoDto;
import com.bsd.pjcloud.thirdparty.service.ZyDoForeignService;
import com.bsd.pjcloud.thirdparty.vo.zy.foreign.ZyForeignGetRegionIdByTokenVo;
import com.bsd.pjcloud.thirdparty.vo.zy.foreign.ZyForeignSyncNativeCardTradeInfoVo;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -25,6 +26,6 @@ public class ZyDoForeignServiceImpl implements ZyDoForeignService {
}
ZyForeignSyncNativeCardTradeInfoDto asyncDto = new ZyForeignSyncNativeCardTradeInfoDto();
asyncDto.setRegionCode(region.getRegionCode());
zyForeignServiceImpl.syncNativeCardTradeInfoApi(asyncDto);
ZyForeignSyncNativeCardTradeInfoVo vo = zyForeignServiceImpl.syncNativeCardTradeInfoApi(asyncDto);
}
}