@@ -5,6 +5,7 @@ import com.nsgk.agentcentersdk.api.NSSDK; | |||||
import com.nsgk.agentcentersdk.api.NSSDKClient; | import com.nsgk.agentcentersdk.api.NSSDKClient; | ||||
import com.nsgk.agentcentersdk.core.NSProtocol; | import com.nsgk.agentcentersdk.core.NSProtocol; | ||||
import com.nsgk.agentcentersdk.entity.NSContractionEntity; | import com.nsgk.agentcentersdk.entity.NSContractionEntity; | ||||
import com.nsgk.agentcentersdk.entity.NSEntity; | |||||
import com.nsgk.agentcentersdk.utility.NSReflect; | import com.nsgk.agentcentersdk.utility.NSReflect; | ||||
public final class NSMain | public final class NSMain | ||||
@@ -40,20 +41,19 @@ public final class NSMain | |||||
public static void Test() | public static void Test() | ||||
{ | { | ||||
NSSDKClient client; | NSSDKClient client; | ||||
NSContractionEntity entity; | |||||
NSEntity entity; | |||||
NSApiResult result; | NSApiResult result; | ||||
NSSDK.InitClient("http://localhost", (short) 8081, "test", "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ==", 0); | NSSDK.InitClient("http://localhost", (short) 8081, "test", "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ==", 0); | ||||
client = NSSDK.InstanceClient(); | client = NSSDK.InstanceClient(); | ||||
entity = new NSContractionEntity(); | |||||
entity.setBuildingTime("2000-12-23") | |||||
.setName("测试合同") | |||||
.setDeptId(187L) | |||||
entity = new NSEntity(); | |||||
entity.setDeptId(187L) | |||||
.setBookId(166L) | .setBookId(166L) | ||||
.setOrgCode("371081") | |||||
; | ; | ||||
entity.Parm("buildingTime", "2000-12-25"); | entity.Parm("buildingTime", "2000-12-25"); | ||||
entity.Parm("buildingTime222", "2000-12-11"); | |||||
entity.Parm("name", "测试合同"); | |||||
entity.Parm("outId", "123"); | entity.Parm("outId", "123"); | ||||
result = client.Send(NSProtocol.NS_PROTOCOL_CONTRACTION, entity); | result = client.Send(NSProtocol.NS_PROTOCOL_CONTRACTION, entity); | ||||
System.err.println(result); | System.err.println(result); | ||||
@@ -4,7 +4,7 @@ import cn.hutool.core.util.URLUtil; | |||||
import com.nsgk.agentcentersdk.core.NSConstants; | import com.nsgk.agentcentersdk.core.NSConstants; | ||||
import com.nsgk.agentcentersdk.core.NSProtocol; | import com.nsgk.agentcentersdk.core.NSProtocol; | ||||
import com.nsgk.agentcentersdk.core.NSReportObject; | import com.nsgk.agentcentersdk.core.NSReportObject; | ||||
import com.nsgk.agentcentersdk.entity.NSEntityBase; | |||||
import com.nsgk.agentcentersdk.entity.NSEntity; | |||||
import com.nsgk.agentcentersdk.err.NSAssert; | import com.nsgk.agentcentersdk.err.NSAssert; | ||||
import com.nsgk.agentcentersdk.err.NSErrGlobal; | import com.nsgk.agentcentersdk.err.NSErrGlobal; | ||||
import com.nsgk.agentcentersdk.err.NSErrno; | import com.nsgk.agentcentersdk.err.NSErrno; | ||||
@@ -48,7 +48,7 @@ public final class NSSDKClient | |||||
} | } | ||||
// 发送请求 | // 发送请求 | ||||
public <T extends NSEntityBase> NSApiResult Send(int protocol, T object) | |||||
public <T extends NSEntity> NSApiResult Send(int protocol, T object) | |||||
{ | { | ||||
String url; | String url; | ||||
NSReportObject<T> reportObject; | NSReportObject<T> reportObject; | ||||
@@ -63,6 +63,7 @@ public final class NSSDKClient | |||||
request.setUrl(BuildUrl(url)); | request.setUrl(BuildUrl(url)); | ||||
request.setTimeout(timeout); | request.setTimeout(timeout); | ||||
WriteDataObject(request, reportObject); | WriteDataObject(request, reportObject); | ||||
request.AddHeader("Content-Type", "text/plain"); | |||||
NSNetworkResponse response = NSNetworkManager.Post(request); | NSNetworkResponse response = NSNetworkManager.Post(request); | ||||
NSErrGlobal.ASSERT(response.IsSuccess(), NSErrno.ERRNO_SYS_HTTP); | NSErrGlobal.ASSERT(response.IsSuccess(), NSErrno.ERRNO_SYS_HTTP); | ||||
String json = response.getData(); | String json = response.getData(); | ||||
@@ -1,8 +1,9 @@ | |||||
package com.nsgk.agentcentersdk.api; | package com.nsgk.agentcentersdk.api; | ||||
import com.nsgk.agentcentersdk.core.NSConstants; | import com.nsgk.agentcentersdk.core.NSConstants; | ||||
import com.nsgk.agentcentersdk.core.NSProtocol; | |||||
import com.nsgk.agentcentersdk.core.NSReportObject; | import com.nsgk.agentcentersdk.core.NSReportObject; | ||||
import com.nsgk.agentcentersdk.entity.NSEntityBase; | |||||
import com.nsgk.agentcentersdk.entity.NSEntity; | |||||
import com.nsgk.agentcentersdk.err.NSAssert; | import com.nsgk.agentcentersdk.err.NSAssert; | ||||
import com.nsgk.agentcentersdk.err.NSErrGlobal; | import com.nsgk.agentcentersdk.err.NSErrGlobal; | ||||
import com.nsgk.agentcentersdk.err.NSErrno; | import com.nsgk.agentcentersdk.err.NSErrno; | ||||
@@ -10,6 +11,7 @@ import com.nsgk.agentcentersdk.utility.NSArr; | |||||
import com.nsgk.agentcentersdk.utility.NSCrypto; | import com.nsgk.agentcentersdk.utility.NSCrypto; | ||||
import com.nsgk.agentcentersdk.utility.NSHttp; | import com.nsgk.agentcentersdk.utility.NSHttp; | ||||
import javax.servlet.ServletInputStream; | |||||
import javax.servlet.http.HttpServletRequest; | import javax.servlet.http.HttpServletRequest; | ||||
// SDK服务端 | // SDK服务端 | ||||
@@ -22,8 +24,21 @@ public final class NSSDKServer | |||||
this.privateKey = privateKey; | this.privateKey = privateKey; | ||||
} | } | ||||
public static int GetProtocol(HttpServletRequest request) | |||||
{ | |||||
try | |||||
{ | |||||
return Integer.parseInt(request.getParameter(NSConstants.QUERY_PROTOCOL)); | |||||
} | |||||
catch(Exception e) | |||||
{ | |||||
e.printStackTrace(); | |||||
return NSProtocol.NS_PROTOCOL_INVALID; | |||||
} | |||||
} | |||||
// 解析请求 | // 解析请求 | ||||
public <T extends NSEntityBase> NSReportObject<T> Recv(HttpServletRequest request, Class<T> clazz) | |||||
public <T extends NSEntity> NSReportObject<T> Recv(HttpServletRequest request, Class<T> clazz) | |||||
{ | { | ||||
NSReportObject<T> res; | NSReportObject<T> res; | ||||
String sign; | String sign; | ||||
@@ -54,10 +69,19 @@ public final class NSSDKServer | |||||
{ | { | ||||
return NSErrGlobal.ThrowAndReturn(NSErrno.ERRNO_SYS_INVALID_SIGN, null); | return NSErrGlobal.ThrowAndReturn(NSErrno.ERRNO_SYS_INVALID_SIGN, null); | ||||
} | } | ||||
if(!res.CheckTime(ServerTime(), NSConstants.MAX_TIME_DIFF * 1000)) | |||||
{ | |||||
return NSErrGlobal.ThrowAndReturn(NSErrno.ERRNO_SYS_TIME_DIFF, null); | |||||
} | |||||
res.setSign(sign); | res.setSign(sign); | ||||
return res; | return res; | ||||
} | } | ||||
private static long ServerTime() | |||||
{ | |||||
return System.currentTimeMillis(); | |||||
} | |||||
// 响应客户端 | // 响应客户端 | ||||
public static NSApiResult Resp(int code, String msg, Object...data) | public static NSApiResult Resp(int code, String msg, Object...data) | ||||
{ | { | ||||
@@ -8,5 +8,7 @@ public final class NSConstants | |||||
public static final String QUERY_IDENTIFIER = "identifier"; | public static final String QUERY_IDENTIFIER = "identifier"; | ||||
public static final String QUERY_PROTOCOL = "protocol"; | public static final String QUERY_PROTOCOL = "protocol"; | ||||
public static final int MAX_TIME_DIFF = 300; // 秒 | |||||
private NSConstants() {} | private NSConstants() {} | ||||
} | } |
@@ -92,6 +92,13 @@ public class NSReportObject<T> | |||||
return src.equals(Sign()); | return src.equals(Sign()); | ||||
} | } | ||||
public boolean CheckTime(long serverTime, long limit) | |||||
{ | |||||
if(null == timestamp || timestamp <= 0L) | |||||
return false; | |||||
return serverTime - timestamp <= limit; | |||||
} | |||||
public NSReportObject<T> SetTimestampStr(String str) | public NSReportObject<T> SetTimestampStr(String str) | ||||
{ | { | ||||
timestamp = Long.parseLong(str); | timestamp = Long.parseLong(str); | ||||
@@ -6,7 +6,7 @@ import lombok.experimental.Accessors; | |||||
// 合同实体 | // 合同实体 | ||||
@Data | @Data | ||||
@Accessors(chain = true) | @Accessors(chain = true) | ||||
public class NSContractionEntity extends NSEntityBase | |||||
public class NSContractionEntity extends NSEntity | |||||
{ | { | ||||
private static final long serialVersionUID = 1L; | private static final long serialVersionUID = 1L; | ||||
@@ -3,8 +3,6 @@ package com.nsgk.agentcentersdk.entity; | |||||
import cn.hutool.core.bean.BeanUtil; | import cn.hutool.core.bean.BeanUtil; | ||||
import cn.hutool.core.collection.CollectionUtil; | import cn.hutool.core.collection.CollectionUtil; | ||||
import com.alibaba.fastjson2.JSON; | import com.alibaba.fastjson2.JSON; | ||||
import com.nsgk.agentcentersdk.err.NSErrGlobal; | |||||
import com.nsgk.agentcentersdk.err.NSErrno; | |||||
import com.nsgk.agentcentersdk.utility.NSArr; | import com.nsgk.agentcentersdk.utility.NSArr; | ||||
import com.nsgk.agentcentersdk.utility.NSReflect; | import com.nsgk.agentcentersdk.utility.NSReflect; | ||||
import com.nsgk.agentcentersdk.utility.NSStr; | import com.nsgk.agentcentersdk.utility.NSStr; | ||||
@@ -20,7 +18,7 @@ import java.util.Map; | |||||
// 基本实体 | // 基本实体 | ||||
@Data | @Data | ||||
@Accessors(chain = true) | @Accessors(chain = true) | ||||
public class NSEntityBase implements Serializable | |||||
public class NSEntity implements Serializable | |||||
{ | { | ||||
private static final long serialVersionUID = 1L; | private static final long serialVersionUID = 1L; | ||||
@@ -33,7 +31,10 @@ public class NSEntityBase implements Serializable | |||||
/** 外部ID */ | /** 外部ID */ | ||||
protected Long outId; | protected Long outId; | ||||
// 存储其他没有声明的属性, 用于当客户与服务端字段不一致时, 在不更新sdk的情况下, 保持兼容性 | |||||
/** 外部ID */ | |||||
protected String orgCode; | |||||
// 存储其他没有声明的属性, 用于当客户端与服务端字段不一致时, 在不更新sdk的情况下, 保持兼容性 | |||||
// 不会覆盖已设置的属性 | // 不会覆盖已设置的属性 | ||||
protected Map<String, Object> parms; | protected Map<String, Object> parms; | ||||
@@ -45,14 +46,14 @@ public class NSEntityBase implements Serializable | |||||
} | } | ||||
@SuppressWarnings("unchecked") | @SuppressWarnings("unchecked") | ||||
public <T extends NSEntityBase> T Parm(String name, Object val) | |||||
public <T extends NSEntity> T Parm(String name, Object val) | |||||
{ | { | ||||
PARMS().put(name, val); | PARMS().put(name, val); | ||||
return (T)this; | return (T)this; | ||||
} | } | ||||
@SuppressWarnings("unchecked") | @SuppressWarnings("unchecked") | ||||
public <T extends NSEntityBase> T DelParm(String...name) | |||||
public <T extends NSEntity> T DelParm(String...name) | |||||
{ | { | ||||
if(null != parms && NSArr.IsNotEmpty(name)) | if(null != parms && NSArr.IsNotEmpty(name)) | ||||
{ | { |
@@ -44,6 +44,7 @@ public final class NSErrGlobal | |||||
{ | { | ||||
if(err == NSErrno.ERRNO_OK) | if(err == NSErrno.ERRNO_OK) | ||||
return t; | return t; | ||||
Err(err); | |||||
throw new NSException(err); | throw new NSException(err); | ||||
} | } | ||||
@@ -14,6 +14,7 @@ public final class NSErrno | |||||
public static final int ERRNO_SYS_SIGN_FAIL = 0x01005; | public static final int ERRNO_SYS_SIGN_FAIL = 0x01005; | ||||
public static final int ERRNO_SYS_HTTP = 0x01006; | public static final int ERRNO_SYS_HTTP = 0x01006; | ||||
public static final int ERRNO_SYS_INVALID_FIELD = 0x01007; | public static final int ERRNO_SYS_INVALID_FIELD = 0x01007; | ||||
public static final int ERRNO_SYS_TIME_DIFF = 0x01008; | |||||
public static final int ERRNO_CLI_PARAMETER_MISSING = 0x03001; | public static final int ERRNO_CLI_PARAMETER_MISSING = 0x03001; | ||||
public static final int ERRNO_CLI_DATA_MISSING = 0x03002; | public static final int ERRNO_CLI_DATA_MISSING = 0x03002; | ||||
@@ -33,7 +34,7 @@ public final class NSErrno | |||||
case ERRNO_SYS_INVALID_PROTOCOL: return "无效协议"; | case ERRNO_SYS_INVALID_PROTOCOL: return "无效协议"; | ||||
case ERRNO_SYS_SIGN_FAIL: return "签名失败"; | case ERRNO_SYS_SIGN_FAIL: return "签名失败"; | ||||
case ERRNO_SYS_HTTP: return "Http请求错误"; | case ERRNO_SYS_HTTP: return "Http请求错误"; | ||||
case ERRNO_SYS_INVALID_FIELD: return "无效字段"; | |||||
case ERRNO_SYS_TIME_DIFF: return "数据过期"; | |||||
case ERRNO_CLI_PARAMETER_MISSING: return "参数缺失"; | case ERRNO_CLI_PARAMETER_MISSING: return "参数缺失"; | ||||
case ERRNO_CLI_DATA_MISSING: return "数据缺失"; | case ERRNO_CLI_DATA_MISSING: return "数据缺失"; | ||||
@@ -9,15 +9,20 @@ import com.nsgk.agentcentersdk.entity.NSContractionEntity; | |||||
import com.nsgk.agentcentersdk.err.NSErrGlobal; | import com.nsgk.agentcentersdk.err.NSErrGlobal; | ||||
import com.nsgk.agentcentersdk.err.NSErrno; | import com.nsgk.agentcentersdk.err.NSErrno; | ||||
import com.nsgk.agentcentersdk.err.NSException; | import com.nsgk.agentcentersdk.err.NSException; | ||||
import com.ruoyi.agentcenter.object.ContractionMessage; | |||||
import com.ruoyi.agentcenter.object.ContractionSession; | |||||
import com.ruoyi.agentcenter.object.Message; | import com.ruoyi.agentcenter.object.Message; | ||||
import com.ruoyi.agentcenter.object.Result; | |||||
import com.ruoyi.agentcenter.object.Session; | |||||
import com.ruoyi.agentcenter.service.IAgentCenter; | |||||
import com.ruoyi.common.config.RuoYiConfig; | import com.ruoyi.common.config.RuoYiConfig; | ||||
import com.ruoyi.common.core.controller.BaseController; | import com.ruoyi.common.core.controller.BaseController; | ||||
import com.ruoyi.common.utils.EventBusEngine; | import com.ruoyi.common.utils.EventBusEngine; | ||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.web.bind.annotation.PostMapping; | import org.springframework.web.bind.annotation.PostMapping; | ||||
import org.springframework.web.bind.annotation.RequestMapping; | import org.springframework.web.bind.annotation.RequestMapping; | ||||
import org.springframework.web.bind.annotation.RestController; | import org.springframework.web.bind.annotation.RestController; | ||||
import javax.servlet.ServletInputStream; | |||||
import javax.servlet.http.HttpServletRequest; | import javax.servlet.http.HttpServletRequest; | ||||
/** | /** | ||||
@@ -29,6 +34,9 @@ import javax.servlet.http.HttpServletRequest; | |||||
@RequestMapping("/agentcenter/api") | @RequestMapping("/agentcenter/api") | ||||
public class AgentCenterController extends BaseController | public class AgentCenterController extends BaseController | ||||
{ | { | ||||
@Autowired | |||||
private IAgentCenter agentCenter; | |||||
@PostMapping("/test") | @PostMapping("/test") | ||||
public NSApiResult test(HttpServletRequest request) | public NSApiResult test(HttpServletRequest request) | ||||
{ | { | ||||
@@ -45,18 +53,10 @@ public class AgentCenterController extends BaseController | |||||
@PostMapping("/report") | @PostMapping("/report") | ||||
public NSApiResult report(HttpServletRequest request) | public NSApiResult report(HttpServletRequest request) | ||||
{ | { | ||||
NSSDKServer server; | |||||
NSReportObject<NSContractionEntity> recv; | |||||
NSSDK.InitServer(RuoYiConfig.Secret.privateKey); | |||||
try | try | ||||
{ | { | ||||
server = NSSDK.InstanceServer(); | |||||
recv = server.Recv(request, NSContractionEntity.class); | |||||
EventBusEngine.Post(convMsg(recv)); | |||||
return NSSDKServer.Success("上报成功"); | |||||
Result<?> result = agentCenter.postHandle(request); | |||||
return response(result); | |||||
} | } | ||||
catch(NSException e) | catch(NSException e) | ||||
{ | { | ||||
@@ -64,21 +64,8 @@ public class AgentCenterController extends BaseController | |||||
} | } | ||||
} | } | ||||
private Message<?> convMsg(NSReportObject<?> reportObject) | |||||
private NSApiResult response(Result<?> result) | |||||
{ | { | ||||
Message<?> msg; | |||||
int protocol; | |||||
protocol = reportObject.getProtocol(); | |||||
switch(reportObject.getProtocol()) | |||||
{ | |||||
case NSProtocol.NS_PROTOCOL_CONTRACTION: | |||||
msg = new ContractionMessage(protocol, reportObject.getIdentifier(), reportObject.getTimestamp(), (NSContractionEntity)reportObject.getData()); | |||||
break; | |||||
default: | |||||
NSErrGlobal.Err(NSErrno.ERRNO_SYS_INVALID_PROTOCOL); | |||||
throw new RuntimeException(String.format("未知的协议类型: 0x%x", protocol)); | |||||
} | |||||
return msg; | |||||
return NSSDKServer.Resp(result.getCode(), result.getMessage(), result.getData()); | |||||
} | } | ||||
} | } |
@@ -0,0 +1,83 @@ | |||||
package com.ruoyi.agentcenter.domain; | |||||
import java.util.Date; | |||||
import cn.hutool.core.date.DateUtil; | |||||
import com.fasterxml.jackson.annotation.JsonFormat; | |||||
import lombok.Data; | |||||
import lombok.experimental.Accessors; | |||||
import org.apache.commons.lang3.builder.ToStringBuilder; | |||||
import org.apache.commons.lang3.builder.ToStringStyle; | |||||
import com.ruoyi.common.annotation.Excel; | |||||
import com.ruoyi.common.core.domain.BaseEntity; | |||||
/** | |||||
* 合同任务对象 t_agent_contraction | |||||
* | |||||
* @author zhao | |||||
* @date 2023-07-14 | |||||
*/ | |||||
@Data | |||||
@Accessors(chain = true) | |||||
public class TAgentContraction extends BaseEntity | |||||
{ | |||||
private static final long serialVersionUID = 1L; | |||||
/** ID */ | |||||
private Long id; | |||||
/** 任务id(关联任务表) */ | |||||
@Excel(name = "任务id(关联任务表)") | |||||
private Long taskId; | |||||
/** 行政区划代码 */ | |||||
@Excel(name = "行政区划代码") | |||||
private String orgCode; | |||||
/** 外部业务ID */ | |||||
@Excel(name = "外部业务ID") | |||||
private Long outId; | |||||
/** 账套ID */ | |||||
@Excel(name = "账套ID") | |||||
private Long bookId; | |||||
/** 部门id */ | |||||
@Excel(name = "部门id") | |||||
private Long deptId; | |||||
/** 合同名称 */ | |||||
@Excel(name = "合同名称") | |||||
private String name; | |||||
/** 签订日期 */ | |||||
@Excel(name = "签订日期") | |||||
private String buildingTime; | |||||
/** 上报时间 */ | |||||
@JsonFormat(pattern = "yyyy-MM-dd") | |||||
@Excel(name = "上报时间", width = 30, dateFormat = "yyyy-MM-dd") | |||||
private Date orderAt; | |||||
/** 上报年度(截) */ | |||||
@Excel(name = "上报年度(截)") | |||||
private String orderYear; | |||||
/** 上报月份(截) */ | |||||
@Excel(name = "上报月份(截)") | |||||
private String orderMonth; | |||||
/** 任务状态 字典 agent_status */ | |||||
@Excel(name = "任务状态 字典 agent_status") | |||||
private String agentStatus; | |||||
/** 记账状态 字典 order_status */ | |||||
@Excel(name = "记账状态 字典 order_status") | |||||
private String orderStatus; | |||||
public void normalized() | |||||
{ | |||||
orderYear = DateUtil.format(orderAt, "yyyy"); | |||||
orderMonth = DateUtil.format(orderAt, "MM"); | |||||
} | |||||
} |
@@ -2,15 +2,25 @@ package com.ruoyi.agentcenter.listener; | |||||
import com.alibaba.fastjson2.JSONObject; | import com.alibaba.fastjson2.JSONObject; | ||||
import com.google.common.eventbus.Subscribe; | import com.google.common.eventbus.Subscribe; | ||||
import com.ruoyi.agentcenter.object.ContractionMessage; | |||||
import com.nsgk.agentcentersdk.entity.NSContractionEntity; | |||||
import com.ruoyi.agentcenter.domain.TAgentContraction; | |||||
import com.ruoyi.agentcenter.object.ContractionSession; | |||||
import com.ruoyi.agentcenter.object.Message; | |||||
import com.ruoyi.agentcenter.object.Result; | |||||
import com.ruoyi.agentcenter.service.ITAgentContractionService; | |||||
import com.ruoyi.common.utils.EventBusEngine; | import com.ruoyi.common.utils.EventBusEngine; | ||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.stereotype.Component; | import org.springframework.stereotype.Component; | ||||
import javax.annotation.PostConstruct; | import javax.annotation.PostConstruct; | ||||
import java.util.Date; | |||||
@Component | @Component | ||||
public class ContractionListener | public class ContractionListener | ||||
{ | { | ||||
@Autowired | |||||
private ITAgentContractionService itAgentContractionService; | |||||
@PostConstruct | @PostConstruct | ||||
public void init() | public void init() | ||||
{ | { | ||||
@@ -19,8 +29,31 @@ public class ContractionListener | |||||
@Subscribe | @Subscribe | ||||
//@AllowConcurrentEvents | //@AllowConcurrentEvents | ||||
public void handle(ContractionMessage msg) | |||||
public void handle(ContractionSession session) | |||||
{ | |||||
TAgentContraction contraction = conv(session.message); | |||||
Result result = session.result; | |||||
itAgentContractionService.insertTAgentContraction(contraction); | |||||
result.setData(contraction); | |||||
} | |||||
private TAgentContraction conv(Message<NSContractionEntity> message) | |||||
{ | { | ||||
System.err.println(JSONObject.toJSONString(msg)); | |||||
TAgentContraction contraction = new TAgentContraction(); | |||||
NSContractionEntity data = message.getData(); | |||||
contraction.setBookId(data.getBookId()) | |||||
.setDeptId(data.getDeptId()) | |||||
.setOutId(data.getOutId()) | |||||
.setOrgCode(data.getOrgCode()) | |||||
.setName(data.getName()) | |||||
.setBuildingTime(data.getBuildingTime()) | |||||
.setOrderAt(new Date()) | |||||
.setAgentStatus("1") | |||||
.setOrderStatus("2") | |||||
.normalized(); | |||||
; | |||||
return contraction; | |||||
} | } | ||||
} | } |
@@ -0,0 +1,102 @@ | |||||
package com.ruoyi.agentcenter.mapper; | |||||
import java.util.List; | |||||
import com.ruoyi.agentcenter.domain.TAgentContraction; | |||||
/** | |||||
* 合同任务Mapper接口 | |||||
* | |||||
* @author zhao | |||||
* @date 2023-07-14 | |||||
*/ | |||||
public interface TAgentContractionMapper | |||||
{ | |||||
/** | |||||
* 查询合同任务 | |||||
* | |||||
* @param id 合同任务主键 | |||||
* @return 合同任务 | |||||
*/ | |||||
public TAgentContraction selectTAgentContractionById(Long id); | |||||
/** | |||||
* 查询合同任务列表 | |||||
* | |||||
* @param tAgentContraction 合同任务 | |||||
* @return 合同任务集合 | |||||
*/ | |||||
public List<TAgentContraction> selectTAgentContractionList(TAgentContraction tAgentContraction); | |||||
/** | |||||
* 新增合同任务 | |||||
* | |||||
* @param tAgentContraction 合同任务 | |||||
* @return 结果 | |||||
*/ | |||||
public int insertTAgentContraction(TAgentContraction tAgentContraction); | |||||
/** | |||||
* 批量新增合同任务 | |||||
* | |||||
* @param list 合同任务 | |||||
* @return 结果 | |||||
*/ | |||||
public int insertTAgentContractionBatch(List<TAgentContraction> list); | |||||
/** | |||||
* 批量修改 合同任务 | |||||
* | |||||
* @param list 合同任务 | |||||
* @return 结果 | |||||
*/ | |||||
public int updateTAgentContractionBatch(List<TAgentContraction> list); | |||||
/** | |||||
* 修改合同任务 | |||||
* | |||||
* @param tAgentContraction 合同任务 | |||||
* @return 结果 | |||||
*/ | |||||
public int updateTAgentContraction(TAgentContraction tAgentContraction); | |||||
/** | |||||
* 删除合同任务 | |||||
* | |||||
* @param id 合同任务主键 | |||||
* @return 结果 | |||||
*/ | |||||
public int deleteTAgentContractionById(Long id); | |||||
/** | |||||
* 批量删除合同任务 | |||||
* | |||||
* @param ids 需要删除的数据主键集合 | |||||
* @return 结果 | |||||
*/ | |||||
public int deleteTAgentContractionByIds(Long[] ids); | |||||
// Harm | |||||
/** | |||||
* 条件单条查询合同任务 | |||||
* | |||||
* @param tAgentContraction 合同任务 | |||||
* @return 合同任务条目 | |||||
*/ | |||||
public TAgentContraction selectTAgentContraction(TAgentContraction tAgentContraction); | |||||
/** | |||||
* 条件查询合同任务数量 | |||||
* | |||||
* @param tAgentContraction 合同任务 | |||||
* @return 合同任务数量 | |||||
*/ | |||||
public Long selectTAgentContractionCount(TAgentContraction tAgentContraction); | |||||
/** | |||||
* 条件查询合同任务是否存在 | |||||
* | |||||
* @param tAgentContraction 合同任务 | |||||
* @return 合同任务是否存在 | |||||
*/ | |||||
public int selectTAgentContractionExists(TAgentContraction tAgentContraction); | |||||
} |
@@ -1,11 +0,0 @@ | |||||
package com.ruoyi.agentcenter.object; | |||||
import com.nsgk.agentcentersdk.entity.NSContractionEntity; | |||||
public class ContractionMessage extends Message<NSContractionEntity> | |||||
{ | |||||
public ContractionMessage(int protocol, String identifier, Long timestamp, NSContractionEntity data) | |||||
{ | |||||
super(protocol, identifier, timestamp, data); | |||||
} | |||||
} |
@@ -0,0 +1,11 @@ | |||||
package com.ruoyi.agentcenter.object; | |||||
import com.nsgk.agentcentersdk.entity.NSContractionEntity; | |||||
public class ContractionSession extends Session<NSContractionEntity, Result<?>> | |||||
{ | |||||
public ContractionSession(Message<NSContractionEntity> message) | |||||
{ | |||||
super(message, new Result<>()); | |||||
} | |||||
} |
@@ -6,7 +6,7 @@ import lombok.experimental.Accessors; | |||||
@Data | @Data | ||||
@Accessors(chain = true) | @Accessors(chain = true) | ||||
public abstract class Message<T> | |||||
public class Message<T> | |||||
{ | { | ||||
private final int protocol; // 协议 | private final int protocol; // 协议 | ||||
private final String identifier; // 识别ID | private final String identifier; // 识别ID | ||||
@@ -0,0 +1,14 @@ | |||||
package com.ruoyi.agentcenter.object; | |||||
import lombok.Data; | |||||
import lombok.experimental.Accessors; | |||||
@Data | |||||
@Accessors(chain = true) | |||||
public class Result<R> | |||||
{ | |||||
private boolean success; | |||||
private int code; | |||||
private String message; | |||||
private R data; | |||||
} |
@@ -0,0 +1,18 @@ | |||||
package com.ruoyi.agentcenter.object; | |||||
public class Session<T, R> | |||||
{ | |||||
public final Message<T> message; | |||||
public final Result<R> result; | |||||
protected Session() | |||||
{ | |||||
throw new RuntimeException("Session<T, R>不能默认实例化"); | |||||
} | |||||
protected Session(Message<T> message, Result<R> result) | |||||
{ | |||||
this.message = message; | |||||
this.result = result; | |||||
} | |||||
} |
@@ -0,0 +1,10 @@ | |||||
package com.ruoyi.agentcenter.service; | |||||
import com.ruoyi.agentcenter.object.Result; | |||||
import javax.servlet.http.HttpServletRequest; | |||||
public interface IAgentCenter | |||||
{ | |||||
public Result<?> postHandle(HttpServletRequest request); | |||||
} |
@@ -0,0 +1,102 @@ | |||||
package com.ruoyi.agentcenter.service; | |||||
import java.util.List; | |||||
import com.ruoyi.agentcenter.domain.TAgentContraction; | |||||
/** | |||||
* 合同任务Service接口 | |||||
* | |||||
* @author zhao | |||||
* @date 2023-07-14 | |||||
*/ | |||||
public interface ITAgentContractionService | |||||
{ | |||||
/** | |||||
* 查询合同任务 | |||||
* | |||||
* @param id 合同任务主键 | |||||
* @return 合同任务 | |||||
*/ | |||||
public TAgentContraction selectTAgentContractionById(Long id); | |||||
/** | |||||
* 查询合同任务列表 | |||||
* | |||||
* @param tAgentContraction 合同任务 | |||||
* @return 合同任务集合 | |||||
*/ | |||||
public List<TAgentContraction> selectTAgentContractionList(TAgentContraction tAgentContraction); | |||||
/** | |||||
* 新增合同任务 | |||||
* | |||||
* @param tAgentContraction 合同任务 | |||||
* @return 结果 | |||||
*/ | |||||
public int insertTAgentContraction(TAgentContraction tAgentContraction); | |||||
/** | |||||
* 批量新增合同任务 | |||||
* | |||||
* @param list 合同任务 | |||||
* @return 结果 | |||||
*/ | |||||
public int insertTAgentContractionBatch(List<TAgentContraction> list); | |||||
/** | |||||
* 修改合同任务 | |||||
* | |||||
* @param tAgentContraction 合同任务 | |||||
* @return 结果 | |||||
*/ | |||||
public int updateTAgentContraction(TAgentContraction tAgentContraction); | |||||
/** | |||||
* 批量修改 合同任务 | |||||
* | |||||
* @param list 合同任务 | |||||
* @return 结果 | |||||
*/ | |||||
public int updateTAgentContractionBatch(List<TAgentContraction> list); | |||||
/** | |||||
* 批量删除合同任务 | |||||
* | |||||
* @param ids 需要删除的合同任务主键集合 | |||||
* @return 结果 | |||||
*/ | |||||
public int deleteTAgentContractionByIds(Long[] ids); | |||||
/** | |||||
* 删除合同任务信息 | |||||
* | |||||
* @param id 合同任务主键 | |||||
* @return 结果 | |||||
*/ | |||||
public int deleteTAgentContractionById(Long id); | |||||
// Harm | |||||
/** | |||||
* 条件单条查询合同任务 | |||||
* | |||||
* @param tAgentContraction 合同任务 | |||||
* @return 合同任务条目 | |||||
*/ | |||||
public TAgentContraction selectTAgentContraction(TAgentContraction tAgentContraction); | |||||
/** | |||||
* 条件查询合同任务数量 | |||||
* | |||||
* @param tAgentContraction 合同任务 | |||||
* @return 合同任务数量 | |||||
*/ | |||||
public Long selectTAgentContractionCount(TAgentContraction tAgentContraction); | |||||
/** | |||||
* 条件查询合同任务是否存在 | |||||
* | |||||
* @param tAgentContraction 合同任务 | |||||
* @return 合同任务是否存在 | |||||
*/ | |||||
public boolean selectTAgentContractionExists(TAgentContraction tAgentContraction); | |||||
} |
@@ -0,0 +1,86 @@ | |||||
package com.ruoyi.agentcenter.service.impl; | |||||
import com.nsgk.agentcentersdk.api.NSSDK; | |||||
import com.nsgk.agentcentersdk.api.NSSDKServer; | |||||
import com.nsgk.agentcentersdk.core.NSProtocol; | |||||
import com.nsgk.agentcentersdk.core.NSReportObject; | |||||
import com.nsgk.agentcentersdk.entity.NSContractionEntity; | |||||
import com.nsgk.agentcentersdk.entity.NSEntity; | |||||
import com.nsgk.agentcentersdk.err.NSErrGlobal; | |||||
import com.nsgk.agentcentersdk.err.NSErrno; | |||||
import com.nsgk.agentcentersdk.err.NSException; | |||||
import com.ruoyi.agentcenter.object.ContractionSession; | |||||
import com.ruoyi.agentcenter.object.Message; | |||||
import com.ruoyi.agentcenter.object.Result; | |||||
import com.ruoyi.agentcenter.object.Session; | |||||
import com.ruoyi.agentcenter.service.IAgentCenter; | |||||
import com.ruoyi.common.config.RuoYiConfig; | |||||
import com.ruoyi.common.utils.EventBusEngine; | |||||
import org.springframework.stereotype.Service; | |||||
import javax.servlet.http.HttpServletRequest; | |||||
@Service | |||||
public class AgentCenterImpl implements IAgentCenter | |||||
{ | |||||
public int getProtocol(HttpServletRequest request) | |||||
{ | |||||
int protocol = NSSDKServer.GetProtocol(request); | |||||
if(!NSProtocol.IsValid(protocol)) | |||||
{ | |||||
NSErrGlobal.Err(NSErrno.ERRNO_SYS_INVALID_PROTOCOL); | |||||
throw new NSException(NSErrno.ERRNO_SYS_INVALID_PROTOCOL, String.format("未知的协议类型: 0x%x", protocol)); | |||||
} | |||||
return protocol; | |||||
} | |||||
public Message<?> getMessage(HttpServletRequest request) | |||||
{ | |||||
NSSDKServer server; | |||||
NSReportObject<?> reportObject; | |||||
Message<?> message; | |||||
NSSDK.InitServer(RuoYiConfig.Secret.privateKey); | |||||
server = NSSDK.InstanceServer(); | |||||
int protocol = getProtocol(request); | |||||
Class<? extends NSEntity> clazz; | |||||
switch(protocol) | |||||
{ | |||||
case NSProtocol.NS_PROTOCOL_CONTRACTION: | |||||
clazz = NSContractionEntity.class; | |||||
break; | |||||
default: | |||||
return null; | |||||
} | |||||
reportObject = server.Recv(request, clazz); | |||||
message = new Message<>(protocol, reportObject.getIdentifier(), reportObject.getTimestamp(), reportObject.getData()); | |||||
return message; | |||||
} | |||||
public Session<?, ?> createSession(Message<?> message) | |||||
{ | |||||
Session<?, ?> session; | |||||
int protocol; | |||||
protocol = message.getProtocol(); | |||||
switch(protocol) | |||||
{ | |||||
case NSProtocol.NS_PROTOCOL_CONTRACTION: | |||||
session = new ContractionSession((Message<NSContractionEntity>) message); | |||||
break; | |||||
default: | |||||
return null; | |||||
} | |||||
return session; | |||||
} | |||||
@Override | |||||
public Result<?> postHandle(HttpServletRequest request) | |||||
{ | |||||
Message<?> message = getMessage(request); | |||||
Session<?, ?> session = createSession(message); | |||||
EventBusEngine.Post(session); | |||||
return session.result; | |||||
} | |||||
} |
@@ -0,0 +1,164 @@ | |||||
package com.ruoyi.agentcenter.service.impl; | |||||
import java.util.List; | |||||
import com.ruoyi.common.utils.DateUtils; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.stereotype.Service; | |||||
import org.springframework.transaction.annotation.Transactional; | |||||
import org.apache.commons.collections4.ListUtils; | |||||
import com.ruoyi.agentcenter.mapper.TAgentContractionMapper; | |||||
import com.ruoyi.agentcenter.domain.TAgentContraction; | |||||
import com.ruoyi.agentcenter.service.ITAgentContractionService; | |||||
/** | |||||
* 合同任务Service业务层处理 | |||||
* | |||||
* @author zhao | |||||
* @date 2023-07-14 | |||||
*/ | |||||
@Service | |||||
public class TAgentContractionServiceImpl implements ITAgentContractionService | |||||
{ | |||||
@Autowired | |||||
private TAgentContractionMapper tAgentContractionMapper; | |||||
/** | |||||
* 查询合同任务 | |||||
* | |||||
* @param id 合同任务主键 | |||||
* @return 合同任务 | |||||
*/ | |||||
@Override | |||||
public TAgentContraction selectTAgentContractionById(Long id) | |||||
{ | |||||
return tAgentContractionMapper.selectTAgentContractionById(id); | |||||
} | |||||
/** | |||||
* 查询合同任务列表 | |||||
* | |||||
* @param tAgentContraction 合同任务 | |||||
* @return 合同任务 | |||||
*/ | |||||
@Override | |||||
public List<TAgentContraction> selectTAgentContractionList(TAgentContraction tAgentContraction) | |||||
{ | |||||
return tAgentContractionMapper.selectTAgentContractionList(tAgentContraction); | |||||
} | |||||
/** | |||||
* 新增合同任务 | |||||
* | |||||
* @param tAgentContraction 合同任务 | |||||
* @return 结果 | |||||
*/ | |||||
@Override | |||||
public int insertTAgentContraction(TAgentContraction tAgentContraction) | |||||
{ | |||||
tAgentContraction.setCreateTime(DateUtils.getNowDate()); | |||||
return tAgentContractionMapper.insertTAgentContraction(tAgentContraction); | |||||
} | |||||
/** | |||||
* 批量新增合同任务 | |||||
* | |||||
* @param list 合同任务 | |||||
* @return 结果 | |||||
*/ | |||||
@Override | |||||
@Transactional | |||||
public int insertTAgentContractionBatch(List<TAgentContraction> list){ | |||||
List<List<TAgentContraction>> splists = ListUtils.partition(list, 50); | |||||
splists.forEach(splist->{ | |||||
tAgentContractionMapper.insertTAgentContractionBatch(splist); | |||||
}); | |||||
return 1; | |||||
} | |||||
/** | |||||
* 修改合同任务 | |||||
* | |||||
* @param tAgentContraction 合同任务 | |||||
* @return 结果 | |||||
*/ | |||||
@Override | |||||
public int updateTAgentContraction(TAgentContraction tAgentContraction) | |||||
{ | |||||
tAgentContraction.setUpdateTime(DateUtils.getNowDate()); | |||||
return tAgentContractionMapper.updateTAgentContraction(tAgentContraction); | |||||
} | |||||
/** | |||||
* 批量修改 合同任务 | |||||
* | |||||
* @param list 合同任务 | |||||
* @return 结果 | |||||
*/ | |||||
@Override | |||||
@Transactional | |||||
public int updateTAgentContractionBatch(List<TAgentContraction> list) { | |||||
List<List<TAgentContraction>> splists = ListUtils.partition(list, 50); | |||||
splists.forEach(splist->{ | |||||
tAgentContractionMapper.updateTAgentContractionBatch(splist); | |||||
}); | |||||
return 1; | |||||
} | |||||
/** | |||||
* 批量删除合同任务 | |||||
* | |||||
* @param ids 需要删除的合同任务主键 | |||||
* @return 结果 | |||||
*/ | |||||
@Override | |||||
public int deleteTAgentContractionByIds(Long[] ids) | |||||
{ | |||||
return tAgentContractionMapper.deleteTAgentContractionByIds(ids); | |||||
} | |||||
/** | |||||
* 删除合同任务信息 | |||||
* | |||||
* @param id 合同任务主键 | |||||
* @return 结果 | |||||
*/ | |||||
@Override | |||||
public int deleteTAgentContractionById(Long id) | |||||
{ | |||||
return tAgentContractionMapper.deleteTAgentContractionById(id); | |||||
} | |||||
// Harm | |||||
/** | |||||
* 单条条件查询合同任务 | |||||
* | |||||
* @param tAgentContraction 合同任务 | |||||
* @return 合同任务条目 | |||||
*/ | |||||
@Override | |||||
public TAgentContraction selectTAgentContraction(TAgentContraction tAgentContraction) { | |||||
return tAgentContractionMapper.selectTAgentContraction(tAgentContraction); | |||||
} | |||||
/** | |||||
* 条件查询合同任务数量 | |||||
* | |||||
* @param tAgentContraction 合同任务 | |||||
* @return 合同任务数量 | |||||
*/ | |||||
@Override | |||||
public Long selectTAgentContractionCount(TAgentContraction tAgentContraction) { | |||||
return tAgentContractionMapper.selectTAgentContractionCount(tAgentContraction); | |||||
} | |||||
/** | |||||
* 条件查询合同任务是否存在 | |||||
* | |||||
* @param tAgentContraction 合同任务 | |||||
* @return 合同任务是否存在 | |||||
*/ | |||||
@Override | |||||
public boolean selectTAgentContractionExists(TAgentContraction tAgentContraction) { | |||||
return tAgentContractionMapper.selectTAgentContractionExists(tAgentContraction) > 0; | |||||
} | |||||
} |
@@ -0,0 +1,274 @@ | |||||
<?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="com.ruoyi.agentcenter.mapper.TAgentContractionMapper"> | |||||
<resultMap type="TAgentContraction" id="TAgentContractionResult"> | |||||
<result property="id" column="id" /> | |||||
<result property="taskId" column="task_id" /> | |||||
<result property="orgCode" column="org_code" /> | |||||
<result property="outId" column="out_id" /> | |||||
<result property="bookId" column="book_id" /> | |||||
<result property="deptId" column="dept_id" /> | |||||
<result property="name" column="name" /> | |||||
<result property="buildingTime" column="building_time" /> | |||||
<result property="remark" column="remark" /> | |||||
<result property="orderAt" column="order_at" /> | |||||
<result property="orderYear" column="order_year" /> | |||||
<result property="orderMonth" column="order_month" /> | |||||
<result property="agentStatus" column="agent_status" /> | |||||
<result property="orderStatus" column="order_status" /> | |||||
<result property="createBy" column="create_by" /> | |||||
<result property="createTime" column="create_time" /> | |||||
<result property="updateBy" column="update_by" /> | |||||
<result property="updateTime" column="update_time" /> | |||||
</resultMap> | |||||
<sql id="selectTAgentContractionVo"> | |||||
select id, task_id, org_code, out_id, book_id, dept_id, name, building_time, remark, order_at, order_year, order_month, agent_status, order_status, create_by, create_time, update_by, update_time from t_agent_contraction | |||||
</sql> | |||||
<!--条件查询--> | |||||
<select id="selectTAgentContractionList" parameterType="TAgentContraction" resultMap="TAgentContractionResult"> | |||||
<include refid="selectTAgentContractionVo"/> | |||||
<where> | |||||
<if test="taskId != null "> and task_id = #{taskId}</if> | |||||
<if test="orgCode != null and orgCode != ''"> and org_code = #{orgCode}</if> | |||||
<if test="outId != null "> and out_id = #{outId}</if> | |||||
<if test="bookId != null "> and book_id = #{bookId}</if> | |||||
<if test="deptId != null "> and dept_id = #{deptId}</if> | |||||
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if> | |||||
<if test="buildingTime != null and buildingTime != ''"> and building_time = #{buildingTime}</if> | |||||
<if test="orderAt != null "> and order_at = #{orderAt}</if> | |||||
<if test="orderYear != null and orderYear != ''"> and order_year = #{orderYear}</if> | |||||
<if test="orderMonth != null and orderMonth != ''"> and order_month = #{orderMonth}</if> | |||||
<if test="agentStatus != null and agentStatus != ''"> and agent_status = #{agentStatus}</if> | |||||
<if test="orderStatus != null and orderStatus != ''"> and order_status = #{orderStatus}</if> | |||||
</where> | |||||
</select> | |||||
<!--主键查询--> | |||||
<select id="selectTAgentContractionById" parameterType="Long" resultMap="TAgentContractionResult"> | |||||
<include refid="selectTAgentContractionVo"/> | |||||
where id = #{id} | |||||
</select> | |||||
<!--新增--> | |||||
<insert id="insertTAgentContraction" parameterType="TAgentContraction" useGeneratedKeys="true" keyProperty="id"> | |||||
insert into t_agent_contraction | |||||
<trim prefix="(" suffix=")" suffixOverrides=","> | |||||
<if test="taskId != null">task_id,</if> | |||||
<if test="orgCode != null and orgCode != ''">org_code,</if> | |||||
<if test="outId != null">out_id,</if> | |||||
<if test="bookId != null">book_id,</if> | |||||
<if test="deptId != null">dept_id,</if> | |||||
<if test="name != null and name != ''">name,</if> | |||||
<if test="buildingTime != null and buildingTime != ''">building_time,</if> | |||||
<if test="remark != null">remark,</if> | |||||
<if test="orderAt != null">order_at,</if> | |||||
<if test="orderYear != null and orderYear != ''">order_year,</if> | |||||
<if test="orderMonth != null and orderMonth != ''">order_month,</if> | |||||
<if test="agentStatus != null and agentStatus != ''">agent_status,</if> | |||||
<if test="orderStatus != null and orderStatus != ''">order_status,</if> | |||||
<if test="createBy != null">create_by,</if> | |||||
<if test="createTime != null">create_time,</if> | |||||
<if test="updateBy != null">update_by,</if> | |||||
<if test="updateTime != null">update_time,</if> | |||||
</trim> | |||||
<trim prefix="values (" suffix=")" suffixOverrides=","> | |||||
<if test="taskId != null">#{taskId},</if> | |||||
<if test="orgCode != null and orgCode != ''">#{orgCode},</if> | |||||
<if test="outId != null">#{outId},</if> | |||||
<if test="bookId != null">#{bookId},</if> | |||||
<if test="deptId != null">#{deptId},</if> | |||||
<if test="name != null and name != ''">#{name},</if> | |||||
<if test="buildingTime != null and buildingTime != ''">#{buildingTime},</if> | |||||
<if test="remark != null">#{remark},</if> | |||||
<if test="orderAt != null">#{orderAt},</if> | |||||
<if test="orderYear != null and orderYear != ''">#{orderYear},</if> | |||||
<if test="orderMonth != null and orderMonth != ''">#{orderMonth},</if> | |||||
<if test="agentStatus != null and agentStatus != ''">#{agentStatus},</if> | |||||
<if test="orderStatus != null and orderStatus != ''">#{orderStatus},</if> | |||||
<if test="createBy != null">#{createBy},</if> | |||||
<if test="createTime != null">#{createTime},</if> | |||||
<if test="updateBy != null">#{updateBy},</if> | |||||
<if test="updateTime != null">#{updateTime},</if> | |||||
</trim> | |||||
</insert> | |||||
<!--批量新增--> | |||||
<insert id="insertTAgentContractionBatch" parameterType="list" useGeneratedKeys="true" keyProperty="id"> | |||||
insert into t_agent_contraction | |||||
<trim prefix="(" suffix=")" suffixOverrides=","> | |||||
task_id, | |||||
org_code, | |||||
out_id, | |||||
book_id, | |||||
dept_id, | |||||
name, | |||||
building_time, | |||||
remark, | |||||
order_at, | |||||
order_year, | |||||
order_month, | |||||
agent_status, | |||||
order_status, | |||||
create_by, | |||||
create_time, | |||||
update_by, | |||||
update_time, | |||||
</trim> | |||||
values | |||||
<foreach item="item" collection="list" separator="," > | |||||
<trim prefix="(" suffix=")" suffixOverrides=","> | |||||
#{item.taskId}, | |||||
#{item.orgCode}, | |||||
#{item.outId}, | |||||
#{item.bookId}, | |||||
#{item.deptId}, | |||||
#{item.name}, | |||||
#{item.buildingTime}, | |||||
#{item.remark}, | |||||
#{item.orderAt}, | |||||
#{item.orderYear}, | |||||
#{item.orderMonth}, | |||||
#{item.agentStatus}, | |||||
#{item.orderStatus}, | |||||
#{item.createBy}, | |||||
#{item.createTime}, | |||||
#{item.updateBy}, | |||||
#{item.updateTime}, | |||||
</trim> | |||||
</foreach> | |||||
</insert> | |||||
<!--更新--> | |||||
<update id="updateTAgentContraction" parameterType="TAgentContraction"> | |||||
update t_agent_contraction | |||||
<trim prefix="SET" suffixOverrides=","> | |||||
<if test="taskId != null">task_id = #{taskId},</if> | |||||
<if test="orgCode != null and orgCode != ''">org_code = #{orgCode},</if> | |||||
<if test="outId != null">out_id = #{outId},</if> | |||||
<if test="bookId != null">book_id = #{bookId},</if> | |||||
<if test="deptId != null">dept_id = #{deptId},</if> | |||||
<if test="name != null and name != ''">name = #{name},</if> | |||||
<if test="buildingTime != null and buildingTime != ''">building_time = #{buildingTime},</if> | |||||
<if test="remark != null">remark = #{remark},</if> | |||||
<if test="orderAt != null">order_at = #{orderAt},</if> | |||||
<if test="orderYear != null and orderYear != ''">order_year = #{orderYear},</if> | |||||
<if test="orderMonth != null and orderMonth != ''">order_month = #{orderMonth},</if> | |||||
<if test="agentStatus != null and agentStatus != ''">agent_status = #{agentStatus},</if> | |||||
<if test="orderStatus != null and orderStatus != ''">order_status = #{orderStatus},</if> | |||||
<if test="createBy != null">create_by = #{createBy},</if> | |||||
<if test="createTime != null">create_time = #{createTime},</if> | |||||
<if test="updateBy != null">update_by = #{updateBy},</if> | |||||
<if test="updateTime != null">update_time = #{updateTime},</if> | |||||
<if test="params != null and params.__UPDATE != null"><foreach collection="params.__UPDATE" item="val" index="col">`${col}` = #{val},</foreach></if> | |||||
</trim> | |||||
where id = #{id} | |||||
</update> | |||||
<!--批量更新--> | |||||
<update id="updateTAgentContractionBatch" parameterType="list" > | |||||
<foreach collection="list" item="item" index="index" open="" close="" separator=";"> | |||||
update t_agent_contraction | |||||
<set> | |||||
<if test="item.taskId != null">task_id = #{item.taskId},</if> | |||||
<if test="item.orgCode != null and item.orgCode != ''">org_code = #{item.orgCode},</if> | |||||
<if test="item.outId != null">out_id = #{item.outId},</if> | |||||
<if test="item.bookId != null">book_id = #{item.bookId},</if> | |||||
<if test="item.deptId != null">dept_id = #{item.deptId},</if> | |||||
<if test="item.name != null and item.name != ''">name = #{item.name},</if> | |||||
<if test="item.buildingTime != null and item.buildingTime != ''">building_time = #{item.buildingTime},</if> | |||||
<if test="item.remark != null">remark = #{item.remark},</if> | |||||
<if test="item.orderAt != null">order_at = #{item.orderAt},</if> | |||||
<if test="item.orderYear != null and item.orderYear != ''">order_year = #{item.orderYear},</if> | |||||
<if test="item.orderMonth != null and item.orderMonth != ''">order_month = #{item.orderMonth},</if> | |||||
<if test="item.agentStatus != null and item.agentStatus != ''">agent_status = #{item.agentStatus},</if> | |||||
<if test="item.orderStatus != null and item.orderStatus != ''">order_status = #{item.orderStatus},</if> | |||||
<if test="item.createBy != null">create_by = #{item.createBy},</if> | |||||
<if test="item.createTime != null">create_time = #{item.createTime},</if> | |||||
<if test="item.updateBy != null">update_by = #{item.updateBy},</if> | |||||
<if test="item.updateTime != null">update_time = #{item.updateTime},</if> | |||||
<if test="item.params != null and item.params.__UPDATE != null"><foreach collection="item.params.__UPDATE" item="val" index="col">`${col}` = #{val},</foreach></if> | |||||
</set> | |||||
where id = #{item.id} | |||||
</foreach> | |||||
</update> | |||||
<!--主键删除--> | |||||
<delete id="deleteTAgentContractionById" parameterType="Long"> | |||||
delete from t_agent_contraction where id = #{id} | |||||
</delete> | |||||
<!--主键批量删除--> | |||||
<delete id="deleteTAgentContractionByIds" parameterType="String"> | |||||
delete from t_agent_contraction where id in | |||||
<foreach item="id" collection="array" open="(" separator="," close=")"> | |||||
#{id} | |||||
</foreach> | |||||
</delete> | |||||
<!-- Harm --> | |||||
<!--单条条件查询--> | |||||
<select id="selectTAgentContraction" parameterType="TAgentContraction" resultMap="TAgentContractionResult"> | |||||
<include refid="selectTAgentContractionVo"/> | |||||
<where> | |||||
<if test="taskId != null "> and task_id = #{taskId}</if> | |||||
<if test="orgCode != null and orgCode != ''"> and org_code = #{orgCode}</if> | |||||
<if test="outId != null "> and out_id = #{outId}</if> | |||||
<if test="bookId != null "> and book_id = #{bookId}</if> | |||||
<if test="deptId != null "> and dept_id = #{deptId}</if> | |||||
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if> | |||||
<if test="buildingTime != null and buildingTime != ''"> and building_time = #{buildingTime}</if> | |||||
<if test="orderAt != null "> and order_at = #{orderAt}</if> | |||||
<if test="orderYear != null and orderYear != ''"> and order_year = #{orderYear}</if> | |||||
<if test="orderMonth != null and orderMonth != ''"> and order_month = #{orderMonth}</if> | |||||
<if test="agentStatus != null and agentStatus != ''"> and agent_status = #{agentStatus}</if> | |||||
<if test="orderStatus != null and orderStatus != ''"> and order_status = #{orderStatus}</if> | |||||
</where> | |||||
limit 1 | |||||
</select> | |||||
<!--条件查询数量--> | |||||
<select id="selectTAgentContractionCount" parameterType="TAgentContraction" resultType="Long"> | |||||
select count(*) from t_agent_contraction | |||||
<where> | |||||
<if test="taskId != null "> and task_id = #{taskId}</if> | |||||
<if test="orgCode != null and orgCode != ''"> and org_code = #{orgCode}</if> | |||||
<if test="outId != null "> and out_id = #{outId}</if> | |||||
<if test="bookId != null "> and book_id = #{bookId}</if> | |||||
<if test="deptId != null "> and dept_id = #{deptId}</if> | |||||
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if> | |||||
<if test="buildingTime != null and buildingTime != ''"> and building_time = #{buildingTime}</if> | |||||
<if test="orderAt != null "> and order_at = #{orderAt}</if> | |||||
<if test="orderYear != null and orderYear != ''"> and order_year = #{orderYear}</if> | |||||
<if test="orderMonth != null and orderMonth != ''"> and order_month = #{orderMonth}</if> | |||||
<if test="agentStatus != null and agentStatus != ''"> and agent_status = #{agentStatus}</if> | |||||
<if test="orderStatus != null and orderStatus != ''"> and order_status = #{orderStatus}</if> | |||||
</where> | |||||
</select> | |||||
<!--条件查询是否存在--> | |||||
<select id="selectTAgentContractionExists" parameterType="TAgentContraction" resultType="int"> | |||||
select exists ( | |||||
select 1 from t_agent_contraction | |||||
<where> | |||||
<if test="taskId != null "> and task_id = #{taskId}</if> | |||||
<if test="orgCode != null and orgCode != ''"> and org_code = #{orgCode}</if> | |||||
<if test="outId != null "> and out_id = #{outId}</if> | |||||
<if test="bookId != null "> and book_id = #{bookId}</if> | |||||
<if test="deptId != null "> and dept_id = #{deptId}</if> | |||||
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if> | |||||
<if test="buildingTime != null and buildingTime != ''"> and building_time = #{buildingTime}</if> | |||||
<if test="orderAt != null "> and order_at = #{orderAt}</if> | |||||
<if test="orderYear != null and orderYear != ''"> and order_year = #{orderYear}</if> | |||||
<if test="orderMonth != null and orderMonth != ''"> and order_month = #{orderMonth}</if> | |||||
<if test="agentStatus != null and agentStatus != ''"> and agent_status = #{agentStatus}</if> | |||||
<if test="orderStatus != null and orderStatus != ''"> and order_status = #{orderStatus}</if> | |||||
</where> | |||||
limit 1 | |||||
) | |||||
</select> | |||||
</mapper> |
@@ -19,7 +19,7 @@ public final class EventBusEngine | |||||
private static final List<Object> _listenerList = new ArrayList<>(); | private static final List<Object> _listenerList = new ArrayList<>(); | ||||
@Autowired | @Autowired | ||||
public void setAsyncEventBus(@Qualifier("asyncEventBus" ) EventBus eventBus) | |||||
public void setEventBus(@Qualifier( "syncEventBus" ) EventBus eventBus) | |||||
{ | { | ||||
EventBusEngine._eventBus = eventBus; | EventBusEngine._eventBus = eventBus; | ||||
logger.info("EventBusEngine::initialization -> " + eventBus); | logger.info("EventBusEngine::initialization -> " + eventBus); | ||||