Bläddra i källkod

添加推送记录日志

xiongwanxiong 1 månad sedan
förälder
incheckning
431e77f1f0

+ 114 - 117
wxjy-wxjy-service/src/main/java/cn/gov/customs/wxjy/ibmmq/controller/PushLogController.java

@@ -1,117 +1,114 @@
-package cn.gov.customs.wxjy.ibmmq.controller; ///*
-// *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
-// *
-// *  Redistribution and use in source and binary forms, with or without
-// *  modification, are permitted provided that the following conditions are met:
-// *
-// *  Redistributions of source code must retain the above copyright notice,
-// *  this list of conditions and the following disclaimer.
-// *  Redistributions in binary form must reproduce the above copyright
-// *  notice, this list of conditions and the following disclaimer in the
-// *  documentation and/or other materials provided with the distribution.
-// *  Neither the name of the dreamlu.net developer nor the names of its
-// *  contributors may be used to endorse or promote products derived from
-// *  this software without specific prior written permission.
-// *  Author: Chill 庄骞 (smallchill@163.com)
-// */
-//package cn.gov.customs.zhsj.ibmmq.controller;
-//
-//import io.swagger.annotations.Api;
-//import io.swagger.annotations.ApiOperation;
-//import io.swagger.annotations.ApiParam;
-//import lombok.AllArgsConstructor;
-//import org.springframework.web.bind.annotation.*;
-//
-//import javax.validation.Valid;
-//
-///**
-// *  控制器
-// *
-// * @author BladeX
-// * @since 2025-10-22
-// */
-//@RestController
-//@AllArgsConstructor
-//@RequestMapping("push-log/pushlog")
-//@Api(value = "", tags = "接口")
-//public class PushLogController extends BladeController {
-//
-//	private final IPushLogService pushLogService;
-//
-//	/**
-//	 * 详情
-//	 */
-//	@GetMapping("/detail")
-//	@ApiOperationSupport(order = 1)
-//	@ApiOperation(value = "详情", notes = "传入pushLog")
-//	public R<PushLogVO> detail(PushLog pushLog) {
-//		PushLog detail = pushLogService.getOne(Condition.getQueryWrapper(pushLog));
-//		return R.data(PushLogWrapper.build().entityVO(detail));
-//	}
-//
-//	/**
-//	 * 分页
-//	 */
-//	@GetMapping("/list")
-//	@ApiOperationSupport(order = 2)
-//	@ApiOperation(value = "分页", notes = "传入pushLog")
-//	public R<IPage<PushLogVO>> list(PushLog pushLog, Query query) {
-//		IPage<PushLog> pages = pushLogService.page(Condition.getPage(query), Condition.getQueryWrapper(pushLog));
-//		return R.data(PushLogWrapper.build().pageVO(pages));
-//	}
-//
-//
-//	/**
-//	 * 自定义分页
-//	 */
-//	@GetMapping("/page")
-//	@ApiOperationSupport(order = 3)
-//	@ApiOperation(value = "分页", notes = "传入pushLog")
-//	public R<IPage<PushLogVO>> page(PushLogVO pushLog, Query query) {
-//		IPage<PushLogVO> pages = pushLogService.selectPushLogPage(Condition.getPage(query), pushLog);
-//		return R.data(pages);
-//	}
-//
-//	/**
-//	 * 新增
-//	 */
-//	@PostMapping("/save")
-//	@ApiOperationSupport(order = 4)
-//	@ApiOperation(value = "新增", notes = "传入pushLog")
-//	public R save(@Valid @RequestBody PushLog pushLog) {
-//		return R.status(pushLogService.save(pushLog));
-//	}
-//
-//	/**
-//	 * 修改
-//	 */
-//	@PostMapping("/update")
-//	@ApiOperationSupport(order = 5)
-//	@ApiOperation(value = "修改", notes = "传入pushLog")
-//	public R update(@Valid @RequestBody PushLog pushLog) {
-//		return R.status(pushLogService.updateById(pushLog));
-//	}
-//
-//	/**
-//	 * 新增或修改
-//	 */
-//	@PostMapping("/submit")
-//	@ApiOperationSupport(order = 6)
-//	@ApiOperation(value = "新增或修改", notes = "传入pushLog")
-//	public R submit(@Valid @RequestBody PushLog pushLog) {
-//		return R.status(pushLogService.saveOrUpdate(pushLog));
-//	}
-//
-//
-//	/**
-//	 * 删除
-//	 */
-//	@PostMapping("/remove")
-//	@ApiOperationSupport(order = 7)
-//	@ApiOperation(value = "逻辑删除", notes = "传入ids")
-//	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
-//		return R.status(pushLogService.deleteLogic(Func.toLongList(ids)));
-//	}
-//
-//
-//}
+package cn.gov.customs.wxjy.ibmmq.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+import cn.gov.customs.cacp.sdks.core.result.Result;
+import cn.gov.customs.cacp.sdks.core.user.trans.CacpTransUser;
+import cn.gov.customs.cacp.sdks.core.user.trans.UserContextHolder;
+import cn.gov.customs.wxjy.common.utils.StringUtils;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+import cn.gov.customs.wxjy.common.core.controller.BaseController;
+import org.springframework.web.multipart.MultipartFile;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import cn.gov.customs.wxjy.ibmmq.pojo.PushLog;
+import cn.gov.customs.wxjy.ibmmq.pojo.PushLogQuery;
+import cn.gov.customs.wxjy.ibmmq.service.IPushLogService;
+import cn.gov.customs.wxjy.common.utils.poi.ExcelUtil;
+import cn.gov.customs.wxjy.common.core.page.TableDataInfo;
+
+/**
+ * 推送记录Controller
+ *
+ * @author xiong
+ * @date 2025-12-22
+ */
+@RestController
+@RequestMapping("/ibmmq/PushLog")
+@RequiredArgsConstructor
+public class PushLogController extends BaseController {
+
+    private final IPushLogService pushLogService;
+
+    /**
+     * 查询推送记录列表
+     */
+    @PostMapping("/get-list")
+    public Result<PageInfo<PushLog>> list(@RequestBody PushLogQuery query) {
+        PageHelper.startPage(query.getPageIndex(), query.getPageSize());
+        PageInfo<PushLog> list = pushLogService.selectPageList(query);
+        return Result.success(list);
+    }
+
+    /**
+     * 获取推送记录详细信息
+     */
+    @GetMapping(value = "/get-detail")
+    public Result<PushLog> getInfo(@RequestParam String logId) {
+        return Result.success(pushLogService.selectByLogId(logId));
+    }
+
+    /**
+     * 新增推送记录
+     */
+    @PostMapping("/insert-pushLog")
+    public Result<Integer> add(@RequestBody PushLog pushLog) {
+        return Result.success(pushLogService.insert(pushLog));
+    }
+
+    /**
+     * 修改推送记录
+     */
+    @PostMapping("/update-pushLog")
+    public Result<Integer> edit(@RequestBody PushLog pushLog) {
+        return Result.success(pushLogService.update(pushLog));
+    }
+
+    /**
+     * 删除推送记录
+     */
+    @PostMapping("/delete-pushLog")
+    public Result<Integer> remove(@RequestBody String[] ids) {
+        return Result.success(pushLogService.deleteByLogIds(ids));
+    }
+
+    /**
+    * 导入 推送记录
+    * @param file
+    * @param updateSupport
+    * @return
+    * @throws Exception
+    */
+    @PostMapping("/import-pushLog")
+    public Result<String> importData(MultipartFile file, boolean updateSupport) throws Exception
+    {
+        CacpTransUser user = UserContextHolder.currentUser();
+        ExcelUtil<PushLog> util = new ExcelUtil<PushLog>(PushLog.class);
+        List<PushLog> pushLogList = util.importExcel(file.getInputStream());
+        String message = pushLogService.importPushLog(pushLogList, updateSupport, user);
+        return Result.success(message);
+    }
+
+    /**
+     * 导出推送记录列表
+     */
+    @PostMapping("/get-pushLog-export")
+    public void export(HttpServletResponse response, @RequestBody PushLogQuery query) {
+        List<PushLog> list = pushLogService.selectList(query);
+        ExcelUtil<PushLog> util = new ExcelUtil<PushLog>(PushLog. class);
+        util.exportExcel(response, list, "推送记录数据");
+    }
+
+    /**
+    * 获取导入模板
+    * @param response
+    */
+    @PostMapping("/template-pushLog")
+    public void importTemplate(HttpServletResponse response)
+    {
+        ExcelUtil<PushLog> util = new ExcelUtil<PushLog>(PushLog.class);
+        util.importTemplateExcel(response, "推送记录");
+    }
+}

+ 72 - 0
wxjy-wxjy-service/src/main/java/cn/gov/customs/wxjy/ibmmq/dao/PushLogMapper.java

@@ -0,0 +1,72 @@
+package cn.gov.customs.wxjy.ibmmq.dao;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Mapper;
+import cn.gov.customs.wxjy.ibmmq.pojo.PushLog;
+import cn.gov.customs.wxjy.ibmmq.pojo.PushLogQuery;
+
+/**
+ * 推送记录Mapper接口
+ *
+ * @author xiong
+ * @date 2025-12-22
+ */
+@Mapper
+public interface PushLogMapper {
+    /**
+     * 查询推送记录
+     *
+     * @param logId 推送记录主键
+     * @return 推送记录
+     */
+    public PushLog selectByLogId(String logId);
+
+    /**
+     * 查询推送记录列表
+     *
+     * @param pushLog 推送记录
+     * @return 推送记录集合
+     */
+    public List<PushLog> selectList(PushLogQuery pushLog);
+
+    /**
+     * 新增推送记录
+     *
+     * @param pushLog 推送记录
+     * @return 结果
+     */
+    public int insert(PushLog pushLog);
+
+    /**
+     * 修改推送记录
+     *
+     * @param pushLog 推送记录
+     * @return 结果
+     */
+    public int update(PushLog pushLog);
+
+    /**
+     * 删除推送记录
+     *
+     * @param logId 推送记录主键
+     * @return 结果
+     */
+    public int deleteByLogId(String logId);
+
+    /**
+     * 批量删除推送记录
+     *
+     * @param logIds 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteByLogIds(String[] logIds);
+
+    /**
+     * 逻辑删除推送记录
+     *
+     * @param logId 推送记录主键
+     * @return 结果
+     */
+    public int logicDelete(String logId);
+}

+ 0 - 38
wxjy-wxjy-service/src/main/java/cn/gov/customs/wxjy/ibmmq/dto/PushLogDTO.java

@@ -1,38 +0,0 @@
-package cn.gov.customs.wxjy.ibmmq.dto;/*
- *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
- *
- *  Redistribution and use in source and binary forms, with or without
- *  modification, are permitted provided that the following conditions are met:
- *
- *  Redistributions of source code must retain the above copyright notice,
- *  this list of conditions and the following disclaimer.
- *  Redistributions in binary form must reproduce the above copyright
- *  notice, this list of conditions and the following disclaimer in the
- *  documentation and/or other materials provided with the distribution.
- *  Neither the name of the dreamlu.net developer nor the names of its
- *  contributors may be used to endorse or promote products derived from
- *  this software without specific prior written permission.
- *  Author: Chill 庄骞 (smallchill@163.com)
- *//*
-
-package cn.gov.customs.zhsj.ibmmq.dto;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import org.springblade.swfzsb.ibmmq.pojo.PushLog;
-
-*/
-/**
- * 数据传输对象实体类
- *
- * @author BladeX
- * @since 2025-10-22
- *//*
-
-@Data
-@EqualsAndHashCode(callSuper = true)
-public class PushLogDTO extends PushLog {
-	private static final long serialVersionUID = 1L;
-
-}
-*/

+ 0 - 89
wxjy-wxjy-service/src/main/java/cn/gov/customs/wxjy/ibmmq/entity/PushLog.java

@@ -1,89 +0,0 @@
-package cn.gov.customs.wxjy.ibmmq.entity;/*
- *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
- *
- *  Redistribution and use in source and binary forms, with or without
- *  modification, are permitted provided that the following conditions are met:
- *
- *  Redistributions of source code must retain the above copyright notice,
- *  this list of conditions and the following disclaimer.
- *  Redistributions in binary form must reproduce the above copyright
- *  notice, this list of conditions and the following disclaimer in the
- *  documentation and/or other materials provided with the distribution.
- *  Neither the name of the dreamlu.net developer nor the names of its
- *  contributors may be used to endorse or promote products derived from
- *  this software without specific prior written permission.
- *  Author: Chill 庄骞 (smallchill@163.com)
- *//*
-
-package cn.gov.customs.zhsj.ibmmq.pojo;
-
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableName;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import org.springblade.core.mp.base.BaseEntity;
-
-import java.util.Date;
-
-*/
-/**
- * 实体类
- *
- * @author BladeX
- * @since 2025-10-22
- *//*
-
-@Data
-@TableName("BUS_PUSH_LOG")
-@EqualsAndHashCode(callSuper = true)
-@ApiModel(value = "PushLog对象", description = "PushLog对象")
-public class PushLog extends BaseEntity {
-
-	private static final long serialVersionUID = 1L;
-
-	*/
-/**
-	 * 业务类型:1-日常作业,2-不合格溯源,3-异常单处置;4-惠企政策;5-典型案例;6-培训内容
-	 *//*
-
-	@ApiModelProperty(value = "业务类型:1-日常作业,2-不合格溯源,3-异常单处置;4-惠企政策;5-典型案例;6-培训内容")
-	@TableField("BUS_TYPE")
-	private String busType;
-	*/
-/**
-	 * 业务id
-	 *//*
-
-	@ApiModelProperty(value = "业务id")
-	@TableField("BUS_ID")
-	private Long busId;
-	*/
-/**
-	 * 推送时间
-	 *//*
-
-	@ApiModelProperty(value = "推送时间")
-	@TableField("PUSH_TIME")
-	private Date pushTime;
-	*/
-/**
-	 * 推送类容,存json格式
-	 *//*
-
-	@ApiModelProperty(value = "推送类容,存json格式")
-	@TableField("PUSH_INFO")
-	private String pushInfo;
-	*/
-/**
-	 * 推送类型: 1:数据  2:文件
-	 *//*
-
-	@ApiModelProperty(value = "推送类型: 1:数据  2:文件")
-	@TableField("PUSH_TYPE")
-	private String pushType;
-
-
-}
-*/

+ 5 - 5
wxjy-wxjy-service/src/main/java/cn/gov/customs/wxjy/ibmmq/enums/PushDataStatusEnum.java

@@ -2,16 +2,16 @@ package cn.gov.customs.wxjy.ibmmq.enums;
 
 public enum PushDataStatusEnum {
 
-    PUSH_STATUS_SUCCESS(1,"推送成功"),
-    PUSH_STATUS_ERROR(2,"推送失败");
+    PUSH_STATUS_SUCCESS("1","推送成功"),
+    PUSH_STATUS_ERROR("2","推送失败");
 
-    private final Integer code;
+    private final String code;
     private final String name;
-	PushDataStatusEnum(Integer code, String name) {
+	PushDataStatusEnum(String code, String name) {
         this.code = code;
         this.name = name;
     }
-    public Integer getCode() {
+    public String getCode() {
         return code;
     }
     public String getName() {

+ 0 - 49
wxjy-wxjy-service/src/main/java/cn/gov/customs/wxjy/ibmmq/mapper/PushLogMapper.java

@@ -1,49 +0,0 @@
-package cn.gov.customs.wxjy.ibmmq.mapper;/*
- *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
- *
- *  Redistribution and use in source and binary forms, with or without
- *  modification, are permitted provided that the following conditions are met:
- *
- *  Redistributions of source code must retain the above copyright notice,
- *  this list of conditions and the following disclaimer.
- *  Redistributions in binary form must reproduce the above copyright
- *  notice, this list of conditions and the following disclaimer in the
- *  documentation and/or other materials provided with the distribution.
- *  Neither the name of the dreamlu.net developer nor the names of its
- *  contributors may be used to endorse or promote products derived from
- *  this software without specific prior written permission.
- *  Author: Chill 庄骞 (smallchill@163.com)
- *//*
-
-package cn.gov.customs.zhsj.ibmmq.dao;
-
-import com.baomidou.mybatisplus.core.dao.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springblade.swfzsb.ibmmq.pojo.PushLog;
-import org.springblade.swfzsb.ibmmq.vo.PushLogVO;
-
-import java.util.List;
-
-*/
-/**
- *  Mapper 接口
- *
- * @author BladeX
- * @since 2025-10-22
- *//*
-
-public interface PushLogMapper extends BaseMapper<PushLog> {
-
-	*/
-/**
-	 * 自定义分页
-	 *
-	 * @param page
-	 * @param pushLog
-	 * @return
-	 *//*
-
-	List<PushLogVO> selectPushLogPage(IPage page, PushLogVO pushLog);
-
-}
-*/

+ 0 - 29
wxjy-wxjy-service/src/main/java/cn/gov/customs/wxjy/ibmmq/mapper/PushLogMapper.xml

@@ -1,29 +0,0 @@
-<!--
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE dao PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<dao namespace="org.springblade.swfzsb.ibmmq.dao.PushLogMapper">
-
-    &lt;!&ndash; 通用查询映射结果 &ndash;&gt;
-    <resultMap id="pushLogResultMap" type="org.springblade.swfzsb.ibmmq.pojo.PushLog">
-        <result column="ID" property="id"/>
-        <result column="CREATE_USER" property="createUser"/>
-        <result column="CREATE_DEPT" property="createDept"/>
-        <result column="CREATE_TIME" property="createTime"/>
-        <result column="UPDATE_USER" property="updateUser"/>
-        <result column="UPDATE_TIME" property="updateTime"/>
-        <result column="IS_DELETED" property="isDeleted"/>
-        <result column="STATUS" property="status"/>
-        <result column="BUS_TYPE" property="busType"/>
-        <result column="BUS_ID" property="busId"/>
-        <result column="PUSH_TIME" property="pushTime"/>
-        <result column="PUSH_INFO" property="pushInfo"/>
-        <result column="PUSH_TYPE" property="pushType"/>
-    </resultMap>
-
-
-    <select id="selectPushLogPage" resultMap="pushLogResultMap">
-        select * from BUS_PUSH_LOG where is_deleted = 0
-    </select>
-
-</dao>
--->

+ 0 - 13
wxjy-wxjy-service/src/main/java/cn/gov/customs/wxjy/ibmmq/model/package-info.java

@@ -1,13 +0,0 @@
-@XmlSchema(
-		namespace = "http://www.chinaport.gov.cn/dxp",  // 默认命名空间
-		elementFormDefault = XmlNsForm.QUALIFIED,       // 所有元素都使用命名空间
-		xmlns = {
-				@XmlNs(prefix = "", namespaceURI = "http://www.chinaport.gov.cn/dxp"),  // 默认命名空间无前缀
-				@XmlNs(prefix = "xsi", namespaceURI = "http://www.w3.org/2001/XMLSchema-instance")
-		}
-)
-package cn.gov.customs.wxjy.ibmmq.model;
-
-import javax.xml.bind.annotation.XmlNs;
-import javax.xml.bind.annotation.XmlNsForm;
-import javax.xml.bind.annotation.XmlSchema;

+ 58 - 0
wxjy-wxjy-service/src/main/java/cn/gov/customs/wxjy/ibmmq/pojo/PushLog.java

@@ -0,0 +1,58 @@
+package cn.gov.customs.wxjy.ibmmq.pojo;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import lombok.Data;
+import cn.gov.customs.wxjy.common.annotation.Excel;
+import cn.gov.customs.wxjy.common.core.domain.BaseEntity;
+
+/**
+ * 推送记录对象 WXJY_PUSH_LOG
+ *
+ * @author xiong
+ * @date 2025-12-22
+ */
+@Data
+public class PushLog extends BaseEntity {
+private static final long serialVersionUID = 1L;
+
+    /** 主键 */
+    private String logId;
+
+    /** 业务类型 */
+    @Excel(name = "业务类型")
+    private String busType;
+
+    /** 业务数据id */
+    @Excel(name = "业务数据id")
+    private String busId;
+
+    /** 推送时间 */
+    @Excel(name = "推送时间")
+    private String pushTime;
+
+    /** 推送人 */
+    @Excel(name = "推送人")
+    private String pushUser;
+
+    /** 推送人部门 */
+    @Excel(name = "推送人部门")
+    private String pushDept;
+
+    /** 所属关区 */
+    @Excel(name = "所属关区")
+    private String customsCode;
+
+    /** 推送数据JSON */
+    @Excel(name = "推送数据JSON")
+    private String pushInfo;
+
+    /** 推送类型:1 :数据 2:文件 */
+    @Excel(name = "推送类型:1 :数据 2:文件")
+    private String pushType;
+
+    /** 推送状态:1:成功 2:失败 */
+    @Excel(name = "推送状态:1:成功 2:失败")
+    private String pushStatus;
+
+}

+ 55 - 0
wxjy-wxjy-service/src/main/java/cn/gov/customs/wxjy/ibmmq/pojo/PushLogQuery.java

@@ -0,0 +1,55 @@
+package cn.gov.customs.wxjy.ibmmq.pojo;
+
+import cn.gov.customs.wxjy.common.core.domain.BaseEntity;
+import lombok.Data;
+import java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+
+/**
+ * 推送记录对象 WXJY_PUSH_LOG
+ *
+ * @author xiong
+ * @date 2025-12-22
+ */
+@Data
+public class PushLogQuery extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /** 主键 */
+    private String logId;
+
+    /** 业务类型 */
+    private String busType;
+
+    /** 业务数据id */
+    private String busId;
+
+    /** 推送时间 */
+    private String pushTime;
+
+    /** 推送人 */
+    private String pushUser;
+
+    /** 推送人部门 */
+    private String pushDept;
+
+    /** 所属关区 */
+    private String customsCode;
+
+    /** 推送数据JSON */
+    private String pushInfo;
+
+    /** 推送类型:1 :数据 2:文件 */
+    private String pushType;
+
+    /** 推送状态:1:成功 2:失败 */
+    private String pushStatus;
+
+
+    private String beginDate;
+    private String endDate;
+    private int pageIndex;
+    private int pageSize;
+}

+ 82 - 39
wxjy-wxjy-service/src/main/java/cn/gov/customs/wxjy/ibmmq/service/IPushLogService.java

@@ -1,46 +1,89 @@
-package cn.gov.customs.wxjy.ibmmq.service;/*
- *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
- *
- *  Redistribution and use in source and binary forms, with or without
- *  modification, are permitted provided that the following conditions are met:
- *
- *  Redistributions of source code must retain the above copyright notice,
- *  this list of conditions and the following disclaimer.
- *  Redistributions in binary form must reproduce the above copyright
- *  notice, this list of conditions and the following disclaimer in the
- *  documentation and/or other materials provided with the distribution.
- *  Neither the name of the dreamlu.net developer nor the names of its
- *  contributors may be used to endorse or promote products derived from
- *  this software without specific prior written permission.
- *  Author: Chill 庄骞 (smallchill@163.com)
- *//*
-
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springblade.core.mp.base.BaseService;
-import org.springblade.swfzsb.ibmmq.pojo.PushLog;
-import org.springblade.swfzsb.ibmmq.vo.PushLogVO;
-
-*/
+package cn.gov.customs.wxjy.ibmmq.service;
+
+import java.util.List;
+import cn.gov.customs.cacp.sdks.core.user.trans.CacpTransUser;
+import cn.gov.customs.wxjy.ibmmq.pojo.PushLog;
+import cn.gov.customs.wxjy.ibmmq.pojo.PushLogQuery;
+import com.github.pagehelper.PageInfo;
+
 /**
- *  服务类
+ * 推送记录Service接口
  *
- * @author BladeX
- * @since 2025-10-22
- *//*
+ * @author xiong
+ * @date 2025-12-22
+ */
+public interface IPushLogService {
+    /**
+     * 查询推送记录
+     *
+     * @param logId 推送记录主键
+     * @return 推送记录
+     */
+    public PushLog selectByLogId(String logId);
 
-public interface IPushLogService extends BaseService<PushLog> {
+    /**
+     * 分页查询推送记录列表
+     *
+     * @param query
+     * @return 推送记录集合
+     */
+    public PageInfo<PushLog> selectPageList(PushLogQuery query);
 
-	*/
-/**
-	 * 自定义分页
-	 *
-	 * @param page
-	 * @param pushLog
-	 * @return
-	 *//*
+    /**
+     * 查询推送记录列表
+     *
+     * @param query
+     * @return 推送记录集合
+     */
+    public List<PushLog> selectList(PushLogQuery query);
+
+    /**
+     * 新增推送记录
+     *
+     * @param pushLog 推送记录
+     * @return 结果
+     */
+    public int insert(PushLog pushLog);
+
+    /**
+     * 修改推送记录
+     *
+     * @param pushLog 推送记录
+     * @return 结果
+     */
+    public int update(PushLog pushLog);
+
+    /**
+     * 批量删除推送记录
+     *
+     * @param ids 需要删除的ids主键集合
+     * @return 结果
+     */
+    public int deleteByLogIds(String[] ids);
+
+    /**
+     * 删除推送记录信息
+     *
+     * @param logId 推送记录主键
+     * @return 结果
+     */
+    public int deleteByLogId(String logId);
 
-	IPage<PushLogVO> selectPushLogPage(IPage<PushLogVO> page, PushLogVO pushLog);
+    /**
+     * 逻辑删除推送记录信息
+     *
+     * @param logId 推送记录主键
+     * @return 结果
+     */
+    public int logicDelete(String logId);
 
+    /**
+     * 导入推送记录数据
+     *
+     * @param pushLogList 推送记录数据列表
+     * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
+     * @param cacpTransUser 操作用户
+     * @return 结果
+     */
+    public String importPushLog(List<PushLog> pushLogList, Boolean isUpdateSupport, CacpTransUser cacpTransUser);
 }
-*/

+ 171 - 20
wxjy-wxjy-service/src/main/java/cn/gov/customs/wxjy/ibmmq/service/impl/PushLogServiceImpl.java

@@ -1,20 +1,171 @@
-//package cn.gov.customs.wxjy.ibmmq.service.impl;
-//
-//import org.springframework.stereotype.Service;
-///**
-// *  服务实现类
-// *
-// * @author BladeX
-// * @since 2025-10-22
-// */
-//
-//@Service
-//public class PushLogServiceImpl extends BaseServiceImpl<PushLogMapper, PushLog> implements IPushLogService {
-//
-//	@Override
-//	public IPage<PushLogVO> selectPushLogPage(IPage<PushLogVO> page, PushLogVO pushLog) {
-//		return page.setRecords(baseMapper.selectPushLogPage(page, pushLog));
-//	}
-//
-//}
-//
+package cn.gov.customs.wxjy.ibmmq.service.impl;
+
+import cn.gov.customs.cacp.sdks.core.user.trans.CacpTransUser;
+import cn.gov.customs.wxjy.common.exception.ServiceException;
+import cn.gov.customs.wxjy.common.utils.StringUtils;
+import cn.gov.customs.wxjy.common.utils.bean.BeanValidators;
+import cn.gov.customs.wxjy.common.utils.uuid.SnowflakeIdWorker;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import javax.validation.Validator;
+import java.util.List;
+import org.apache.commons.collections4.CollectionUtils;
+import cn.gov.customs.wxjy.common.utils.DateUtils;
+import com.github.pagehelper.PageInfo;
+import cn.gov.customs.wxjy.ibmmq.dao.PushLogMapper;
+import cn.gov.customs.wxjy.ibmmq.pojo.PushLog;
+import cn.gov.customs.wxjy.ibmmq.pojo.PushLogQuery;
+import cn.gov.customs.wxjy.ibmmq.service.IPushLogService;
+
+/**
+ * 推送记录Service业务层处理
+ *
+ * @author xiong
+ * @date 2025-12-22
+ */
+@Service
+@Slf4j
+@RequiredArgsConstructor
+public class PushLogServiceImpl implements IPushLogService {
+
+    private final PushLogMapper pushLogMapper;
+
+    private final Validator validator;
+
+    /**
+     * 查询推送记录
+     *
+     * @param logId 推送记录主键
+     * @return 推送记录
+     */
+    @Override
+    public PushLog selectByLogId(String logId) {
+        return pushLogMapper.selectByLogId(logId);
+    }
+
+    /**
+     * 分页查询推送记录列表
+     *
+     * @param query
+     * @return 推送记录
+     */
+    @Override
+    public PageInfo<PushLog> selectPageList(PushLogQuery query) {
+        return PageInfo.of(pushLogMapper.selectList(query));
+    }
+
+    /**
+     * 查询推送记录列表
+     *
+     * @param query
+     * @return 推送记录
+     */
+    @Override
+    public List<PushLog> selectList(PushLogQuery query) {
+        return pushLogMapper.selectList(query);
+    }
+
+    /**
+     * 新增推送记录
+     *
+     * @param pushLog 推送记录
+     * @return 结果
+     */
+    @Override
+    public int insert(PushLog pushLog) {
+            return pushLogMapper.insert(pushLog);
+    }
+
+    /**
+     * 修改推送记录
+     *
+     * @param pushLog 推送记录
+     * @return 结果
+     */
+    @Override
+    public int update(PushLog pushLog) {
+        return pushLogMapper.update(pushLog);
+    }
+
+    /**
+     * 批量删除推送记录
+     *
+     * @param ids 需要删除的推送记录主键
+     * @return 结果
+     */
+    @Override
+    public int deleteByLogIds(String[] ids) {
+        return pushLogMapper.deleteByLogIds(ids);
+    }
+
+    /**
+     * 删除推送记录信息
+     *
+     * @param logId 推送记录主键
+     * @return 结果
+     */
+    @Override
+    public int deleteByLogId(String logId) {
+        return pushLogMapper.deleteByLogId(logId);
+    }
+
+    /**
+     * 逻辑删除推送记录信息
+     *
+     * @param logId 推送记录主键
+     * @return 结果
+     */
+    @Override
+    public int logicDelete(String logId) {
+
+        return pushLogMapper.logicDelete(logId);
+    }
+
+    /**
+     * 导入推送记录数据
+     *
+     * @param pushLogList 推送记录数据列表
+     * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
+     * @param cacpTransUser 操作用户
+     * @return 结果
+     */
+    @Override
+    public String importPushLog(List<PushLog> pushLogList, Boolean isUpdateSupport, CacpTransUser cacpTransUser) {
+        if (CollectionUtils.isEmpty(pushLogList)) {
+            throw new ServiceException("导入数据不能为空!");
+        }
+        int successNum = 0;
+        int failureNum = 0;
+        StringBuilder successMsg = new StringBuilder();
+        StringBuilder failureMsg = new StringBuilder();
+        for (PushLog pushLog : pushLogList) {
+            try {
+
+                BeanValidators.validateWithException(validator, pushLog);
+                //id名称不统一,自行处理
+                pushLog.setCreateTime(DateUtils.getNowDate());
+                pushLog.setUpdateTime(DateUtils.getNowDate());
+                pushLog.setCreateUser(cacpTransUser.getUserId());
+                pushLog.setCreateDept(cacpTransUser.getParentGuid());
+
+                pushLogMapper.insert(pushLog);
+                successNum++;
+                successMsg.append("<br/>" + successNum + "、 " + cacpTransUser.getUserName() + " 导入成功");
+
+            } catch (Exception e) {
+                failureNum++;
+                String msg = "<br/>" + failureNum + "、" + cacpTransUser.getUserName() + " 导入失败:";
+                failureMsg.append(msg + e.getMessage());
+                log.error(msg, e);
+            }
+        }
+        if (failureNum > 0) {
+            failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
+            throw new ServiceException(failureMsg.toString());
+        } else {
+            successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:");
+        }
+        return successMsg.toString();
+    }
+}

+ 53 - 26
wxjy-wxjy-service/src/main/java/cn/gov/customs/wxjy/ibmmq/utils/IbmmqSendUtils.java

@@ -1,9 +1,17 @@
 package cn.gov.customs.wxjy.ibmmq.utils;
 
+import cn.gov.customs.cacp.sdks.hgid.HgidGenerator;
+import cn.gov.customs.wxjy.common.utils.DateUtils;
+import cn.gov.customs.wxjy.common.utils.StringUtils;
 import cn.gov.customs.wxjy.ibmmq.config.PushContext;
+import cn.gov.customs.wxjy.ibmmq.enums.PushDataStatusEnum;
+import cn.gov.customs.wxjy.ibmmq.enums.PushDataTypeEnum;
 import cn.gov.customs.wxjy.ibmmq.model.DataMessage;
+import cn.gov.customs.wxjy.ibmmq.pojo.PushLog;
 import cn.gov.customs.wxjy.ibmmq.service.IDataHandlerService;
 import cn.gov.customs.wxjy.ibmmq.service.IFileHandlerService;
+import cn.gov.customs.wxjy.ibmmq.service.IPushLogService;
+import com.alibaba.fastjson2.JSON;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -21,8 +29,11 @@ public class IbmmqSendUtils {
     // 注入ibmq模块的推送服务
     private final IFileHandlerService fileSenderService;
     private final IDataHandlerService dataHandlerService;
-//    @Autowired
-//    private IPushLogService pushLogService;
+    @Autowired
+    private IPushLogService pushLogService;
+    @Autowired
+    private HgidGenerator idHelper;
+
 
     @Value("${ibm.mq.file-upload-path:/home/ruoyi/uploadPath}")
     private String fileUploadPath;
@@ -47,42 +58,53 @@ public class IbmmqSendUtils {
      */
     public static <T> void sendData(DataMessage<T> message, PushContext context) {
         Date nowDate = new Date();
-//        PushLog pushLog = buildPushLog(context, nowDate);
-//        pushLog.setPushType(PushDataTypeEnum.PUSH_DATA_INFO.getCode());
+        PushLog pushLog = buildPushLog(context, nowDate);
+        pushLog.setPushType(PushDataTypeEnum.PUSH_DATA_INFO.getCode());
         try {
-//            pushLog.setPushInfo(JSON.toJSONString(message));
-//            pushLog.setPushTime(nowDate);
+            pushLog.setPushInfo(JSON.toJSONString(message));
+            pushLog.setPushTime(DateUtils.getDate());
             message.setMsgId(UUID.randomUUID().toString());
             message.setSendTime(nowDate);
             instance.dataHandlerService.sendDataMessage(message);
-//            pushLog.setStatus(PushDataStatusEnum.PUSH_STATUS_SUCCESS.getCode());
+            pushLog.setStatus(PushDataStatusEnum.PUSH_STATUS_SUCCESS.getCode());
         } catch (Exception e) {
             logger.error("IBM MQ 推送失败", e);
-//            pushLog.setStatus(PushDataStatusEnum.PUSH_STATUS_ERROR.getCode());
+            pushLog.setStatus(PushDataStatusEnum.PUSH_STATUS_ERROR.getCode());
         } finally {
-//            instance.pushLogService.saveOrUpdate(pushLog);
+            if(StringUtils.isNotEmpty(pushLog.getLogId())){
+                instance.pushLogService.update(pushLog);
+            }else {
+                pushLog.setLogId(instance.idHelper.nextId());
+                instance.pushLogService.insert(pushLog);
+            }
+
         }
     }
 
 
     /**
      * 单个推送文件
-     * @param message 文件路径:"C:\\Users\\Administrator\\Desktop\1.jpg"
+     * @param message
      */
     public static void sendFile(String message, PushContext context) {
         Date nowDate = new Date();
-//        PushLog pushLog = buildPushLog(context,nowDate);
-//        pushLog.setPushType(PushDataTypeEnum.PUSH_DATA_FILE.getCode());
+        PushLog pushLog = buildPushLog(context,nowDate);
+        pushLog.setPushType(PushDataTypeEnum.PUSH_DATA_FILE.getCode());
         try {
-//            pushLog.setPushInfo(message);
-//            pushLog.setPushTime(nowDate);
+            pushLog.setPushInfo(message);
+            pushLog.setPushTime(DateUtils.getDate());
             instance.fileSenderService.sendFile(message, instance.fileUploadPath);
-//            pushLog.setStatus(PushDataStatusEnum.PUSH_STATUS_SUCCESS.getCode());
+            pushLog.setStatus(PushDataStatusEnum.PUSH_STATUS_SUCCESS.getCode());
         } catch (Exception e) {
             logger.info("推送文件到IBMQ失败: {}", e.getMessage(), e);
-//            pushLog.setStatus(PushDataStatusEnum.PUSH_STATUS_ERROR.getCode());
+            pushLog.setStatus(PushDataStatusEnum.PUSH_STATUS_ERROR.getCode());
         } finally {
-//            instance.pushLogService.saveOrUpdate(pushLog);
+            if(StringUtils.isNotEmpty(pushLog.getLogId())){
+                instance.pushLogService.update(pushLog);
+            }else {
+                pushLog.setLogId(instance.idHelper.nextId());
+                instance.pushLogService.insert(pushLog);
+            }
         }
     }
 
@@ -93,23 +115,28 @@ public class IbmmqSendUtils {
      */
     public static void sendFile(List<String> message, PushContext context) {
         Date nowDate = new Date();
-//        PushLog pushLog = buildPushLog(context,nowDate);
-//        pushLog.setPushType(PushDataTypeEnum.PUSH_DATA_FILE.getCode());
+        PushLog pushLog = buildPushLog(context,nowDate);
+        pushLog.setPushType(PushDataTypeEnum.PUSH_DATA_FILE.getCode());
         try {
-//            pushLog.setPushInfo(message.toString());
-//            pushLog.setPushTime(nowDate);
+            pushLog.setPushInfo(message.toString());
+            pushLog.setPushTime(DateUtils.getDate());
             instance.fileSenderService.sendFiles(message);
-//            pushLog.setStatus(PushDataStatusEnum.PUSH_STATUS_SUCCESS.getCode());
+            pushLog.setStatus(PushDataStatusEnum.PUSH_STATUS_SUCCESS.getCode());
         } catch (Exception e) {
             logger.info("批量推送文件到IBMQ失败: {}", e.getMessage(), e);
-//            pushLog.setStatus(PushDataStatusEnum.PUSH_STATUS_ERROR.getCode());
+            pushLog.setStatus(PushDataStatusEnum.PUSH_STATUS_ERROR.getCode());
         } finally {
-//            instance.pushLogService.saveOrUpdate(pushLog);
+            if(StringUtils.isNotEmpty(pushLog.getLogId())){
+                instance.pushLogService.update(pushLog);
+            }else {
+                pushLog.setLogId(instance.idHelper.nextId());
+                instance.pushLogService.insert(pushLog);
+            }
         }
     }
 
 
-    /*    *//** 日志对象*//*
+//    日志对象
     private static PushLog buildPushLog(PushContext ctx, Date time) {
         PushLog log = new PushLog();
         log.setCreateTime(time);
@@ -117,6 +144,6 @@ public class IbmmqSendUtils {
         log.setBusType(ctx.getBusType());
         log.setBusId(ctx.getBusId());
         return log;
-    }*/
+    }
 
 }

+ 0 - 53
wxjy-wxjy-service/src/main/java/cn/gov/customs/wxjy/ibmmq/wrapper/PushLogWrapper.java

@@ -1,53 +0,0 @@
-package cn.gov.customs.wxjy.ibmmq.wrapper;/*
- *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
- *
- *  Redistribution and use in source and binary forms, with or without
- *  modification, are permitted provided that the following conditions are met:
- *
- *  Redistributions of source code must retain the above copyright notice,
- *  this list of conditions and the following disclaimer.
- *  Redistributions in binary form must reproduce the above copyright
- *  notice, this list of conditions and the following disclaimer in the
- *  documentation and/or other materials provided with the distribution.
- *  Neither the name of the dreamlu.net developer nor the names of its
- *  contributors may be used to endorse or promote products derived from
- *  this software without specific prior written permission.
- *  Author: Chill 庄骞 (smallchill@163.com)
- *//*
-
-
-import org.springblade.core.mp.support.BaseEntityWrapper;
-import org.springblade.core.tool.utils.BeanUtil;
-import org.springblade.swfzsb.ibmmq.pojo.PushLog;
-import org.springblade.swfzsb.ibmmq.vo.PushLogVO;
-
-import java.util.Objects;
-
-*/
-/**
- * 包装类,返回视图层所需的字段
- *
- * @author BladeX
- * @since 2025-10-22
- *//*
-
-public class PushLogWrapper extends BaseEntityWrapper<PushLog, PushLogVO>  {
-
-	public static PushLogWrapper build() {
-		return new PushLogWrapper();
- 	}
-
-	@Override
-	public PushLogVO entityVO(PushLog pushLog) {
-		PushLogVO pushLogVO = Objects.requireNonNull(BeanUtil.copy(pushLog, PushLogVO.class));
-
-		//User createUser = UserCache.getUser(pushLog.getCreateUser());
-		//User updateUser = UserCache.getUser(pushLog.getUpdateUser());
-		//pushLogVO.setCreateUserName(createUser.getName());
-		//pushLogVO.setUpdateUserName(updateUser.getName());
-
-		return pushLogVO;
-	}
-
-}
-*/

+ 161 - 0
wxjy-wxjy-service/src/main/resources/mapper/ibmmq/PushLogMapper.xml

@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.gov.customs.wxjy.ibmmq.dao.PushLogMapper">
+
+    <resultMap type="PushLog" id="PushLogResult">
+        <result property="logId" column="LOG_ID"/>
+        <result property="busType" column="BUS_TYPE"/>
+        <result property="busId" column="BUS_ID"/>
+        <result property="pushTime" column="PUSH_TIME"/>
+        <result property="pushUser" column="PUSH_USER"/>
+        <result property="pushDept" column="PUSH_DEPT"/>
+        <result property="customsCode" column="CUSTOMS_CODE"/>
+        <result property="pushInfo" column="PUSH_INFO"/>
+        <result property="pushType" column="PUSH_TYPE"/>
+        <result property="pushStatus" column="PUSH_STATUS"/>
+    </resultMap>
+
+    <sql id="baseVo">
+        select LOG_ID, BUS_TYPE, BUS_ID, PUSH_TIME, PUSH_USER, PUSH_DEPT, CUSTOMS_CODE, PUSH_INFO, PUSH_TYPE, PUSH_STATUS
+        from WXJY_PUSH_LOG
+    </sql>
+
+    <select id="selectList" parameterType="PushLogQuery" resultMap="PushLogResult">
+        <include refid="baseVo"/>
+        <where>
+        <if test="busType != null  and busType != ''">
+            and BUS_TYPE = #{busType}
+        </if>
+        <if test="busId != null  and busId != ''">
+            and BUS_ID = #{busId}
+        </if>
+        <if test="pushTime != null  and pushTime != ''">
+            and PUSH_TIME = #{pushTime}
+        </if>
+        <if test="pushUser != null  and pushUser != ''">
+            and PUSH_USER = #{pushUser}
+        </if>
+        <if test="pushDept != null  and pushDept != ''">
+            and PUSH_DEPT = #{pushDept}
+        </if>
+        <if test="customsCode != null  and customsCode != ''">
+            and CUSTOMS_CODE = #{customsCode}
+        </if>
+        <if test="pushInfo != null  and pushInfo != ''">
+            and PUSH_INFO = #{pushInfo}
+        </if>
+        <if test="pushType != null  and pushType != ''">
+            and PUSH_TYPE = #{pushType}
+        </if>
+        <if test="pushStatus != null  and pushStatus != ''">
+            and PUSH_STATUS = #{pushStatus}
+        </if>
+        </where>
+    </select>
+
+    <select id="selectByLogId" parameterType="String"
+        resultMap="PushLogResult">
+        <include refid="baseVo"/>
+        where LOG_ID = #{logId}
+    </select>
+
+    <insert id="insert" parameterType="PushLog">
+        insert into WXJY_PUSH_LOG
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="logId != null and logId != ''">LOG_ID,
+            </if>
+            <if test="busType != null">BUS_TYPE,
+            </if>
+            <if test="busId != null">BUS_ID,
+            </if>
+            <if test="pushTime != null">PUSH_TIME,
+            </if>
+            <if test="pushUser != null">PUSH_USER,
+            </if>
+            <if test="pushDept != null">PUSH_DEPT,
+            </if>
+            <if test="customsCode != null">CUSTOMS_CODE,
+            </if>
+            <if test="pushInfo != null">PUSH_INFO,
+            </if>
+            <if test="pushType != null">PUSH_TYPE,
+            </if>
+            <if test="pushStatus != null">PUSH_STATUS,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="logId != null and logId != ''">#{logId},
+            </if>
+            <if test="busType != null">#{busType},
+            </if>
+            <if test="busId != null">#{busId},
+            </if>
+            <if test="pushTime != null">#{pushTime},
+            </if>
+            <if test="pushUser != null">#{pushUser},
+            </if>
+            <if test="pushDept != null">#{pushDept},
+            </if>
+            <if test="customsCode != null">#{customsCode},
+            </if>
+            <if test="pushInfo != null">#{pushInfo},
+            </if>
+            <if test="pushType != null">#{pushType},
+            </if>
+            <if test="pushStatus != null">#{pushStatus},
+            </if>
+        </trim>
+    </insert>
+
+    <update id="update" parameterType="PushLog">
+        update WXJY_PUSH_LOG
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="busType != null">BUS_TYPE =
+                #{busType},
+            </if>
+            <if test="busId != null">BUS_ID =
+                #{busId},
+            </if>
+            <if test="pushTime != null">PUSH_TIME =
+                #{pushTime},
+            </if>
+            <if test="pushUser != null">PUSH_USER =
+                #{pushUser},
+            </if>
+            <if test="pushDept != null">PUSH_DEPT =
+                #{pushDept},
+            </if>
+            <if test="customsCode != null">CUSTOMS_CODE =
+                #{customsCode},
+            </if>
+            <if test="pushInfo != null">PUSH_INFO =
+                #{pushInfo},
+            </if>
+            <if test="pushType != null">PUSH_TYPE =
+                #{pushType},
+            </if>
+            <if test="pushStatus != null">PUSH_STATUS =
+                #{pushStatus},
+            </if>
+        </trim>
+        where LOG_ID = #{logId}
+    </update>
+
+    <delete id="deleteByLogId" parameterType="String">
+        delete
+        from WXJY_PUSH_LOG where LOG_ID = #{logId}
+    </delete>
+
+    <delete id="deleteByLogIds" parameterType="String">
+        delete from WXJY_PUSH_LOG where LOG_ID in
+        <foreach item="logId" collection="array" open="(" separator="," close=")">
+            #{logId}
+        </foreach>
+    </delete>
+
+    <delete id="logicDelete" parameterType="String">
+        update  WXJY_PUSH_LOG set is_del = 1  where LOG_ID = #{logId}
+    </delete>
+</mapper>