处警与从业人员的数据清洗逻辑修改

develop
hanrenchun 10 months ago
parent 42eec6b3b0
commit 067ddcefe7

@ -17,9 +17,9 @@ JjxxSwitch=false
NewNsydwSwitch=false NewNsydwSwitch=false
metaImpUserSwitch=false metaImpUserSwitch=false
NewNalarminfoSwitch=false NewNalarminfoSwitch=false
metaHandleAlarmSwitch=false metaHandleAlarmSwitch=true
metaActualUnitUserInfoSwitch=true metaActualUnitUserInfoSwitch=false
metaActualUserInfoSwitch=true metaActualUserInfoSwitch=false
actualTimecjxxSwitch=false actualTimecjxxSwitch=false
actualTimejjxxSwitch=false actualTimejjxxSwitch=false
RentalHouseSwitch=false RentalHouseSwitch=false

@ -223,4 +223,6 @@ public class JcjCjxxViewMysql implements Serializable {
private String JQSXMC; private String JQSXMC;
@TableField(value = "RYWKSJ") @TableField(value = "RYWKSJ")
private String RYWKSJ; private String RYWKSJ;
private String status;
} }

@ -123,6 +123,6 @@ public class ZhxfZdrygkRyjbxxViewMysql implements Serializable {
@TableField(value = "status") @TableField(value = "status")
private String status; private String status;
private String status;
} }

@ -1,15 +1,21 @@
package com.ssf.mysqloracletest.task; package com.ssf.mysqloracletest.task;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ssf.mysqloracletest.domain.JcjCjxxViewMysql;
import com.ssf.mysqloracletest.domain.MetaActualUnitUserInfo; import com.ssf.mysqloracletest.domain.MetaActualUnitUserInfo;
import com.ssf.mysqloracletest.domain.MetaHandleAlarmInfo;
import com.ssf.mysqloracletest.domain.VSySydwCyryMysql; import com.ssf.mysqloracletest.domain.VSySydwCyryMysql;
import com.ssf.mysqloracletest.service.MetaActualUnitUserInfoService; import com.ssf.mysqloracletest.service.MetaActualUnitUserInfoService;
import com.ssf.mysqloracletest.service.VSySydwCyryMysqlService; import com.ssf.mysqloracletest.service.VSySydwCyryMysqlService;
import com.ssf.mysqloracletest.utils.ConfigParam; import com.ssf.mysqloracletest.utils.ConfigParam;
import com.ssf.mysqloracletest.utils.NumKit; import com.ssf.mysqloracletest.utils.NumKit;
import com.ssf.mysqloracletest.utils.StringKit; import com.ssf.mysqloracletest.utils.StringKit;
import lombok.RequiredArgsConstructor;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -17,102 +23,93 @@ import javax.annotation.Resource;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/** /**
* *
*/ */
@Component @Component
@RequiredArgsConstructor
public class MetaActualUnitUserInfoTask { public class MetaActualUnitUserInfoTask {
private static final Logger logger = LoggerFactory.getLogger(MetaActualUnitUserInfoTask.class); private static final Logger logger = LoggerFactory.getLogger(MetaActualUnitUserInfoTask.class);
@Resource private final VSySydwCyryMysqlService vSySydwCyryMysqlService;
private VSySydwCyryMysqlService vSySydwCyryMysqlService;
@Resource private final MetaActualUnitUserInfoService metaActualUnitUserInfoService;
private MetaActualUnitUserInfoService metaActualUnitUserInfoService;
final int oncesCounts = NumKit.checkInt(ConfigParam.oncesCounts) == 0 ? 1000 : NumKit.checkInt(ConfigParam.oncesCounts);
private boolean cyryTag = false;
/**
*
* //
*/
@Scheduled(initialDelay = 100, fixedDelay = 3000) @Scheduled(initialDelay = 100, fixedDelay = 3000)
public void transcyry() { public void transcyry() {
if (cyryTag) {
return;
}
if (!"true".equals(ConfigParam.metaActualUnitUserInfoSwitch)) { if (!"true".equals(ConfigParam.metaActualUnitUserInfoSwitch)) {
return; return;
} }
try { try {
int countcyry = vSySydwCyryMysqlService.count(); QueryWrapper<VSySydwCyryMysql> queryWrapper = new QueryWrapper<>();
logger.info("countcyry:" + countcyry); queryWrapper.isNull("status");
Page<VSySydwCyryMysql> page = new Page<>(1, 1000);
if (countcyry > 0) { List<VSySydwCyryMysql> resultList = vSySydwCyryMysqlService.page(page, queryWrapper).getRecords();
CountDownLatch latch = new CountDownLatch(resultList.size());
cyryTag = true; ExecutorService cyryPool = Executors.newFixedThreadPool(5);
int count = countcyry / oncesCounts;
for (int i = 0; i <= count; i++) { for (VSySydwCyryMysql bean : resultList) {
Map cyryMap = new HashMap(); cyryPool.submit(() -> {
cyryMap.put("rowStart", i * oncesCounts); cleanCyry(bean);
cyryMap.put("rowEnd", (i + 1) * oncesCounts); latch.countDown();
try { });
List<VSySydwCyryMysql> list = vSySydwCyryMysqlService.lambdaQuery().list();
for (VSySydwCyryMysql cyry : list) {
MetaActualUnitUserInfo metaActualUnitUserInfo = new MetaActualUnitUserInfo();
if (cyry.getDWID() != null) {
metaActualUnitUserInfo.setUnitId(Long.parseLong(cyry.getDWID()));
}
metaActualUnitUserInfo.setUnitName(cyry.getDWMC());
metaActualUnitUserInfo.setStaffName(cyry.getXM());
metaActualUnitUserInfo.setIdentityId(cyry.getZJHM());
metaActualUnitUserInfo.setContactInfo(cyry.getLXDH());
if (cyry.getXB() != null) {
metaActualUnitUserInfo.setSex(Integer.parseInt(cyry.getXB()));
}
if (cyry.getRYFL() != null) {
metaActualUnitUserInfo.setStaffType(Integer.parseInt(cyry.getRYFL()));
}
if ("Y".equals(cyry.getZT())) {
metaActualUnitUserInfo.setStaffState(1);
} else if ("N".equals(cyry.getZT())) {
metaActualUnitUserInfo.setStaffState(2);
}
metaActualUnitUserInfo.setMetaCreateTime(cyry.getYSBZK_RKSJ());
metaActualUnitUserInfo.setMetaUpdateTime(cyry.getYSBZK_GXSJ());
//确定一个数据是否唯一
MetaActualUnitUserInfo one = metaActualUnitUserInfoService.lambdaQuery().eq(MetaActualUnitUserInfo::getIdentityId, cyry.getZJHM())
.eq(MetaActualUnitUserInfo::getStaffType, cyry.getRYFL()).one();
if (one == null) {
metaActualUnitUserInfoService.save(metaActualUnitUserInfo);
logger.info("cyry-" + cyry.getZJHM() + ":插入成功");
} else {
UpdateWrapper<MetaActualUnitUserInfo> metaActualUnitUserInfoUpdateWrapper = new UpdateWrapper<>();
metaActualUnitUserInfoUpdateWrapper.eq("identity_id", cyry.getZJHM());
metaActualUnitUserInfoUpdateWrapper.eq("staff_type", cyry.getRYFL());
metaActualUnitUserInfoService.update(metaActualUnitUserInfo, metaActualUnitUserInfoUpdateWrapper);
logger.info("cyry-" + cyry.getZJHM() + ":更新成功");
}
}
} catch (Exception e) {
logger.info("cyrys:" + e.getMessage());
}
logger.info("cyryMap数据总量:" + countcyry + "," + "当前处理下标:" + cyryMap.get("rowStart") + "/" + cyryMap.get("rowEnd"));
}
} }
} catch (
Exception e) {
logger.info(StringKit.getTrace(e));
}
}
private void cleanCyry(VSySydwCyryMysql bean) {
VSySydwCyryMysql cyry = new VSySydwCyryMysql();
try {
BeanUtils.copyProperties(bean, cyry);
MetaActualUnitUserInfo metaActualUnitUserInfo = new MetaActualUnitUserInfo();
VSySydwCyryMysql vSySydwCyryMysql = vSySydwCyryMysqlService.selectCyryById(cyry.getID());
if (cyry.getDWID() != null) {
metaActualUnitUserInfo.setUnitId(Long.parseLong(cyry.getDWID()));
}
metaActualUnitUserInfo.setUnitName(cyry.getDWMC());
metaActualUnitUserInfo.setStaffName(cyry.getXM());
metaActualUnitUserInfo.setIdentityId(cyry.getZJHM());
metaActualUnitUserInfo.setContactInfo(cyry.getLXDH());
if (cyry.getXB() != null) {
metaActualUnitUserInfo.setSex(Integer.parseInt(cyry.getXB()));
}
if (cyry.getRYFL() != null) {
metaActualUnitUserInfo.setStaffType(Integer.parseInt(cyry.getRYFL()));
}
if ("Y".equals(cyry.getZT())) {
metaActualUnitUserInfo.setStaffState(1);
} else if ("N".equals(cyry.getZT())) {
metaActualUnitUserInfo.setStaffState(2);
}
metaActualUnitUserInfo.setMetaCreateTime(vSySydwCyryMysql.getYSBZK_RKSJ());
metaActualUnitUserInfo.setMetaUpdateTime(vSySydwCyryMysql.getYSBZK_GXSJ());
//确定一个数据是否唯一
boolean save = metaActualUnitUserInfoService.save(metaActualUnitUserInfo);
if (save){
cyry.setStatus("1");
vSySydwCyryMysqlService.updateCyryById(cyry);
}
} catch (Exception e) { } catch (Exception e) {
logger.info(StringKit.getTrace(e)); logger.info(StringKit.getTrace(e));
cyry.setStatus("2");
vSySydwCyryMysqlService.updateCyryById(cyry);
} }
} }

@ -1,16 +1,21 @@
package com.ssf.mysqloracletest.task; package com.ssf.mysqloracletest.task;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ssf.mysqloracletest.domain.JcjCjxxViewMysql; import com.ssf.mysqloracletest.domain.JcjCjxxViewMysql;
import com.ssf.mysqloracletest.domain.MetaHandleAlarmInfo; import com.ssf.mysqloracletest.domain.MetaHandleAlarmInfo;
import com.ssf.mysqloracletest.domain.VJwtSyfw;
import com.ssf.mysqloracletest.service.JcjCjxxViewMysqlService; import com.ssf.mysqloracletest.service.JcjCjxxViewMysqlService;
import com.ssf.mysqloracletest.service.MetaHandleAlarmInfoService; import com.ssf.mysqloracletest.service.MetaHandleAlarmInfoService;
import com.ssf.mysqloracletest.service.MetaImpUserInfoService; import com.ssf.mysqloracletest.service.MetaImpUserInfoService;
import com.ssf.mysqloracletest.utils.ConfigParam; import com.ssf.mysqloracletest.utils.ConfigParam;
import com.ssf.mysqloracletest.utils.NumKit; import com.ssf.mysqloracletest.utils.NumKit;
import com.ssf.mysqloracletest.utils.StringKit; import com.ssf.mysqloracletest.utils.StringKit;
import lombok.RequiredArgsConstructor;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -21,35 +26,24 @@ import java.util.Map;
import java.util.concurrent.CountDownLatch; import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/** /**
* *
*/ */
@Component @Component
@RequiredArgsConstructor
public class MetaHandleAlarmTask { public class MetaHandleAlarmTask {
private static final Logger logger = LoggerFactory.getLogger(MetaHandleAlarmTask.class); private static final Logger logger = LoggerFactory.getLogger(MetaHandleAlarmTask.class);
@Resource private final MetaHandleAlarmInfoService metaHandleAlarmInfoService;
private MetaHandleAlarmInfoService metaHandleAlarmInfoService; private final JcjCjxxViewMysqlService jcjCjxxViewMysqlService;
@Resource
private JcjCjxxViewMysqlService jcjCjxxViewMysqlService;
final int oncesCounts = NumKit.checkInt(ConfigParam.oncesCounts) == 0 ? 1000 : NumKit.checkInt(ConfigParam.oncesCounts);
private boolean cjxxTag = false;
/**
*
* //
*/
@Scheduled(initialDelay = 100, fixedDelay = 3000) @Scheduled(initialDelay = 100, fixedDelay = 3000)
public void transcjxx() { public void transcjxx() {
if (cjxxTag) {
return;
}
if (!"true".equals(ConfigParam.metaHandleAlarmSwitch)) { if (!"true".equals(ConfigParam.metaHandleAlarmSwitch)) {
return; return;
@ -57,68 +51,101 @@ public class MetaHandleAlarmTask {
try { try {
int countcjxx = jcjCjxxViewMysqlService.count(); QueryWrapper<JcjCjxxViewMysql> queryWrapper = new QueryWrapper<>();
logger.info("countcjxx:" + countcjxx); queryWrapper.isNull("status");
Page<JcjCjxxViewMysql> page = new Page<>(1, 1000);
if (countcjxx > 0) { List<JcjCjxxViewMysql> resultList = jcjCjxxViewMysqlService.page(page, queryWrapper).getRecords();
CountDownLatch latch = new CountDownLatch(resultList.size());
cjxxTag = true; ExecutorService cjxxPool = Executors.newFixedThreadPool(5);
int count = countcjxx / oncesCounts; for (JcjCjxxViewMysql bean : resultList) {
CountDownLatch latch = new CountDownLatch(count); cjxxPool.submit(() -> {
ExecutorService cjxxPool = Executors.newFixedThreadPool(20); cleanCjxx(bean);
latch.countDown();
for (int i = 0; i <= count; i++) { });
Map cjxxMap = new HashMap(); }
cjxxMap.put("rowStart", i * oncesCounts);
cjxxMap.put("rowEnd", (i + 1) * oncesCounts);
cjxxPool.submit(() -> {
try {
List<JcjCjxxViewMysql> list = jcjCjxxViewMysqlService.lambdaQuery().list();
for (JcjCjxxViewMysql cjxx : list) {
MetaHandleAlarmInfo metaHandleAlarmInfo = new MetaHandleAlarmInfo();
metaHandleAlarmInfo.setAlarmCode(cjxx.getJJBH());
metaHandleAlarmInfo.setHandleAlarmUnit(cjxx.getCJDWMC());
metaHandleAlarmInfo.setHandleAlarmTime(cjxx.getCJSJ());
metaHandleAlarmInfo.setHandleAlarmContent(cjxx.getCLJGNR());
metaHandleAlarmInfo.setHandleAlarmAddress(cjxx.getCJXXDD());
metaHandleAlarmInfo.setHandleAlarmUser(cjxx.getCJRHZXS());
metaHandleAlarmInfo.setHandleAlarmUserCode(cjxx.getCJR());
metaHandleAlarmInfo.setHandleAlarmResult(cjxx.getCJJGMC());
//确定一个数据是否唯一
MetaHandleAlarmInfo one = metaHandleAlarmInfoService.lambdaQuery().eq(MetaHandleAlarmInfo::getAlarmCode, cjxx.getJJBH()).one();
if (one == null) {
metaHandleAlarmInfoService.save(metaHandleAlarmInfo);
logger.info("cjxx-" + cjxx.getJJBH() + ":插入成功");
} else {
UpdateWrapper<MetaHandleAlarmInfo> metaHandleAlarmInfoUpdateWrapper = new UpdateWrapper<>();
metaHandleAlarmInfoUpdateWrapper.eq("alarm_code", cjxx.getJJBH());
metaHandleAlarmInfoService.update(metaHandleAlarmInfo,metaHandleAlarmInfoUpdateWrapper);
logger.info("cjxx-" + cjxx.getJJBH() + ":更新成功");
}
}
} catch (Exception e) {
logger.info("cjxxs:" + e.getMessage());
}
latch.countDown();
});
logger.info("cjxxMap数据总量:" + countcjxx + "," + "当前处理下标:" + cjxxMap.get("rowStart") + "/" + cjxxMap.get("rowEnd"));
}
try {
// Wait for all threads to complete try {
latch.await(); // Wait for all threads to complete
} catch (InterruptedException e) { latch.await();
e.printStackTrace(); } catch (InterruptedException e) {
} e.printStackTrace();
// 关闭线程池
cjxxPool.shutdown();
} }
// 关闭线程池
cjxxPool.shutdown();
} catch (Exception e) { } catch (Exception e) {
logger.info(StringKit.getTrace(e)); logger.info(StringKit.getTrace(e));
} }
} }
private void cleanCjxx(JcjCjxxViewMysql bean) {
JcjCjxxViewMysql cjxx = new JcjCjxxViewMysql();
try {
BeanUtils.copyProperties(bean, cjxx);
MetaHandleAlarmInfo metaHandleAlarmInfo = new MetaHandleAlarmInfo();
metaHandleAlarmInfo.setAlarmCode(cjxx.getJJBH());
metaHandleAlarmInfo.setHandleAlarmUnit(cjxx.getCJDWMC());
metaHandleAlarmInfo.setHandleAlarmTime(cjxx.getCJSJ());
metaHandleAlarmInfo.setHandleAlarmContent(cjxx.getCLJGNR());
metaHandleAlarmInfo.setHandleAlarmAddress(cjxx.getCJXXDD());
if (!containsChinese(cjxx.getCJR())) {
metaHandleAlarmInfo.setHandleAlarmUser(cjxx.getCJRHZXS());
metaHandleAlarmInfo.setHandleAlarmUserCode(cjxx.getCJR());
}else {
String s = extractChinese(cjxx.getCJR());
String s1 = extractNonChinese(cjxx.getCJR());
String substring = s1.substring(0, s1.length() - 1);
if (cjxx.getCJRHZXS()!=null) {
metaHandleAlarmInfo.setHandleAlarmUser(cjxx.getCJRHZXS() +","+ s);
}else {
metaHandleAlarmInfo.setHandleAlarmUser(s);
}
metaHandleAlarmInfo.setHandleAlarmUserCode(substring);
}
metaHandleAlarmInfo.setHandleAlarmResult(cjxx.getCJJGMC());
boolean save = metaHandleAlarmInfoService.save(metaHandleAlarmInfo);
if (save) {
cjxx.setStatus("1");
jcjCjxxViewMysqlService.updateCjxxById(cjxx);
}
} catch (Exception e) {
logger.info(StringKit.getTrace(e));
cjxx.setStatus("2");
jcjCjxxViewMysqlService.updateCjxxById(cjxx);
}
}
private static boolean containsChinese(String str) {
Pattern pattern = Pattern.compile("[\u4e00-\u9fa5]");
Matcher matcher = pattern.matcher(str);
return matcher.find();
}
// 提取字符串中的中文
private static String extractChinese(String str) {
Pattern pattern = Pattern.compile("[\u4e00-\u9fa5]");
Matcher matcher = pattern.matcher(str);
StringBuilder chineseCharacters = new StringBuilder();
while (matcher.find()) {
chineseCharacters.append(matcher.group());
}
return chineseCharacters.toString();
}
private static String extractNonChinese(String str) {
Pattern pattern = Pattern.compile("[^\u4e00-\u9fa5]");
Matcher matcher = pattern.matcher(str);
StringBuilder nonChineseCharacters = new StringBuilder();
while (matcher.find()) {
nonChineseCharacters.append(matcher.group());
}
return nonChineseCharacters.toString();
}
} }

@ -109,6 +109,7 @@
<result property="WS_YXX" column="WS_YXX" jdbcType="VARCHAR"/> <result property="WS_YXX" column="WS_YXX" jdbcType="VARCHAR"/>
<result property="JQSXMC" column="JQSXMC" jdbcType="VARCHAR"/> <result property="JQSXMC" column="JQSXMC" jdbcType="VARCHAR"/>
<result property="RYWKSJ" column="RYWKSJ" jdbcType="VARCHAR"/> <result property="RYWKSJ" column="RYWKSJ" jdbcType="VARCHAR"/>
<result property="status" column="status" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
@ -441,8 +442,9 @@
<if test="WS_YXX != null and WS_YXX != '' ">WS_YXX=#{WS_YXX},</if> <if test="WS_YXX != null and WS_YXX != '' ">WS_YXX=#{WS_YXX},</if>
<if test="JQSXMC != null and JQSXMC != '' ">JQSXMC=#{JQSXMC},</if> <if test="JQSXMC != null and JQSXMC != '' ">JQSXMC=#{JQSXMC},</if>
<if test="RYWKSJ != null and RYWKSJ != '' ">RYWKSJ=#{RYWKSJ},</if> <if test="RYWKSJ != null and RYWKSJ != '' ">RYWKSJ=#{RYWKSJ},</if>
<if test="status != null and status != '' ">status=#{status},</if>
</trim> </trim>
where CJBH = #{CJBH} where JJBH = #{JJBH}
</update> </update>
<select id="selectRecordOrderByRksj" parameterType="java.lang.String" resultMap="BaseResultMap"> <select id="selectRecordOrderByRksj" parameterType="java.lang.String" resultMap="BaseResultMap">

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper <!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ssf.mysqloracletest.mapper.MetaActualUserInfoMapper"> <mapper namespace="com.ssf.mysqloracletest.mapper.MetaActualUserInfoMapper">
<resultMap type="com.ssf.mysqloracletest.domain.MetaActualUserInfo" id="MetaActualUserInfoResult"> <resultMap type="com.ssf.mysqloracletest.domain.MetaActualUserInfo" id="MetaActualUserInfoResult">
@ -86,7 +86,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="metaCreateTime != null">meta_create_time,</if> <if test="metaCreateTime != null">meta_create_time,</if>
<if test="metaUpdateTime != null">meta_update_time,</if> <if test="metaUpdateTime != null">meta_update_time,</if>
<if test="actualUserType != null">actual_user_type,</if> <if test="actualUserType != null">actual_user_type,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="userPic != null">#{userPic},</if> <if test="userPic != null">#{userPic},</if>
<if test="userName != null">#{userName},</if> <if test="userName != null">#{userName},</if>
@ -108,7 +108,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="metaCreateTime != null">#{metaCreateTime},</if> <if test="metaCreateTime != null">#{metaCreateTime},</if>
<if test="metaUpdateTime != null">#{metaUpdateTime},</if> <if test="metaUpdateTime != null">#{metaUpdateTime},</if>
<if test="actualUserType != null">#{actualUserType},</if> <if test="actualUserType != null">#{actualUserType},</if>
</trim> </trim>
</insert> </insert>
<update id="updateMetaActualUserInfo" parameterType="com.ssf.mysqloracletest.domain.MetaActualUserInfo"> <update id="updateMetaActualUserInfo" parameterType="com.ssf.mysqloracletest.domain.MetaActualUserInfo">

Loading…
Cancel
Save