Browse Source

活动时间段,增加每个时间段的,活动名额

feature/screenDataPush
zhangyongzhangyong 4 years ago
parent
commit
0d1656a74a
  1. 14
      esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/ActPeriodDTO.java
  2. 9
      esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/ActPeriodUserDTO.java
  3. 8
      esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/AppActUserCancelsignupDTO.java
  4. 4
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActInfoDao.java
  5. 20
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActPeriodUserDao.java
  6. 9
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/entity/ActPeriodEntity.java
  7. 9
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/entity/ActPeriodUserEntity.java
  8. 4
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActInfoService.java
  9. 19
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActPeriodUserService.java
  10. 9
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActInfoServiceImpl.java
  11. 3
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActPeriodServiceImpl.java
  12. 9
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActPeriodUserServiceImpl.java
  13. 73
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserRelationServiceImpl.java
  14. 34
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActPeriodDao.xml
  15. 28
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActPeriodUserDao.xml

14
esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/ActPeriodDTO.java

@ -83,4 +83,18 @@ public class ActPeriodDTO implements Serializable {
*/
private Date updatedTime;
/**
* 活动名额
*/
private Integer actPeriodQuota;
/**
* 已报名人数
*/
private Integer actPeriodSignUpNum;
/**
* 名额类型(0-不限名额1-固定名额)
*/
private Integer actPeriodQuotaCategory;
}

9
esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/ActPeriodUserDTO.java

@ -78,4 +78,13 @@ public class ActPeriodUserDTO implements Serializable {
*/
private Date updatedTime;
/**
* 当前状态0-已报名3-取消报名4-审核不通过
*/
private String periodStatus;
/**
* 原因仅当取消报名 or 审核不通过时录入
*/
private String failureReason;
}

8
esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/AppActUserCancelsignupDTO.java

@ -20,7 +20,9 @@ package com.elink.esua.epdc.activity;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* 取消报名参数
@ -47,4 +49,10 @@ public class AppActUserCancelsignupDTO implements Serializable {
*/
@NotBlank(message = "取消报名原因不能为空")
private String failureReason;
/**
* 活动详细时间段表ID
*/
@NotNull(message = "活动时间段ID不能为空")
private List<String> actPeriodId;
}

4
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActInfoDao.java

@ -106,7 +106,7 @@ public interface ActInfoDao extends BaseDao<ActInfoEntity> {
/***
* 报名审核不通过 活动报名数-1
* 报名审核不通过全时间段 活动报名数-1
* @param
* @return void
* @author qushutong
@ -115,7 +115,7 @@ public interface ActInfoDao extends BaseDao<ActInfoEntity> {
void minusSignUpNum(String actId);
/**
* 活动报名人数+1
* 活动全时间段报名人数+1
*
* @param actId
* @return void

20
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActPeriodUserDao.java

@ -18,9 +18,11 @@
package com.elink.esua.epdc.modules.activity.dao;
import com.elink.esua.epdc.activity.ActPeriodDTO;
import com.elink.esua.epdc.activity.ActPeriodUserDTO;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.modules.activity.entity.ActPeriodUserEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -53,4 +55,22 @@ public interface ActPeriodUserDao extends BaseDao<ActPeriodUserEntity> {
*/
void modifyActPeriodUserDelFlagByActUserRelationId(String actUserRelationId);
/**
* 根据 活动详细时间段表ID + 活动用户关系表ID 批量修改
* @param list
* @return void
* @Author zhangyong
* @Date 17:04 2021-09-23
**/
void updateBatch(@Param("list") List<ActPeriodUserDTO> list);
/**
* 根据 活动用户关系表ID 修改已报名的所有活动时间段 的报名状态和原因
*
* @param dto
* @return void
* @Author zhangyong
* @Date 17:04 2021-09-23
**/
void updateByActUserRelationId(ActPeriodUserDTO dto);
}

9
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/entity/ActPeriodEntity.java

@ -53,4 +53,13 @@ public class ActPeriodEntity extends BaseEpdcEntity {
*/
private Date actPeriodEndTime;
/**
* 活动名额
*/
private Integer actPeriodQuota;
/**
* 名额类型(0-不限名额1-固定名额)
*/
private Integer actPeriodQuotaCategory;
}

9
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/entity/ActPeriodUserEntity.java

@ -48,4 +48,13 @@ public class ActPeriodUserEntity extends BaseEpdcEntity {
*/
private String actUserRelationId;
/**
* 当前状态0-已报名3-取消报名4-审核不通过
*/
private String periodStatus;
/**
* 原因仅当取消报名 or 审核不通过时录入
*/
private String failureReason;
}

4
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActInfoService.java

@ -192,7 +192,7 @@ public interface ActInfoService extends BaseService<ActInfoEntity> {
void addClockNum(String actId);
/***
* 报名审核不通过 报名数-1
* 报名审核不通过全时间段 报名数-1
* @param actId
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author qushutong
@ -201,7 +201,7 @@ public interface ActInfoService extends BaseService<ActInfoEntity> {
void minusSignUpNum(String actId);
/**
* 活动报名人数+1
* 活动全时间段报名人数+1
*
* @param actId
* @return void

19
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActPeriodUserService.java

@ -113,4 +113,23 @@ public interface ActPeriodUserService extends BaseService<ActPeriodUserEntity> {
* @since 2021/9/3 15:45
*/
void removeActPeriodUserByActUserRelationId(String actUserRelationId);
/**
* 根据 活动详细时间段表ID + 活动用户关系表ID 批量修改
* @param list
* @return void
* @Author zhangyong
* @Date 17:04 2021-09-23
**/
void updateBatch(List<ActPeriodUserDTO> list);
/**
* 根据 活动用户关系表ID 修改已报名的所有活动时间段 的报名状态和原因
*
* @param dto
* @return void
* @Author zhangyong
* @Date 17:04 2021-09-23
**/
void updateByActUserRelationId(ActPeriodUserDTO dto);
}

9
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActInfoServiceImpl.java

@ -198,7 +198,7 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit
ActInfoEntity entity = ConvertUtils.sourceToTarget(dto, ActInfoEntity.class);
if (insert(entity)) {
// 保存活动时间段
this.saveOrUpdateActPeriods(dto.getPeriods(), entity.getId());
this.saveOrUpdateActPeriods(dto.getPeriods(), entity.getId(), entity.getActQuotaCategory());
// 创建定时任务(活动开始后将未审核的报名人员自动置为审核通过或不通过)
this.saveActToScheduleJob(entity.getId(), dto.getActStartTime());
@ -296,7 +296,7 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit
updateKindnessTime(dto);
updateById(entity);
// 修改活动时间段
this.saveOrUpdateActPeriods(dto.getPeriods(), entity.getId());
this.saveOrUpdateActPeriods(dto.getPeriods(), entity.getId(), entity.getActQuotaCategory());
//内容审核- 开始
try {
//接口异常,保存至待审核信息
@ -875,6 +875,7 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit
ActPeriodDTO periodDto = new ActPeriodDTO();
periodDto.setActPeriodStartTime(dto.getActStartTime());
periodDto.setActPeriodEndTime(dto.getActEndTime());
periodDto.setActPeriodQuota(dto.getActQuota());
dto.setPeriods(Collections.singletonList(periodDto));
}
@ -903,17 +904,19 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit
*
* @param periods
* @param actId
* @param actQuotaCategory 活动名额类型(0-不限名额1-固定名额)
* @return void
* @author lc
* @since 2021/9/2 15:27
*/
private void saveOrUpdateActPeriods(List<ActPeriodDTO> periods, String actId) {
private void saveOrUpdateActPeriods(List<ActPeriodDTO> periods, String actId, Integer actQuotaCategory) {
// 删除活动已有的时间段
actPeriodService.removeActPeriodsByActId(actId);
// 保存活动时间段
for (ActPeriodDTO dto:
periods) {
dto.setActId(actId);
dto.setActPeriodQuotaCategory(actQuotaCategory);
dto.setId(null);
actPeriodService.save(dto);
}

3
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActPeriodServiceImpl.java

@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.activity.ActPeriodDTO;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
@ -113,8 +114,10 @@ public class ActPeriodServiceImpl extends BaseServiceImpl<ActPeriodDao, ActPerio
public List<ActPeriodDTO> listOfActPeriodsByActId(String actId) {
List<ActPeriodDTO> data = baseDao.selectListOfActPeriodsByActId(actId);
if (CollectionUtil.isEmpty(data)) {
// 兼容老数据
data = baseDao.selectActTimeByActId(actId);
}
return data;
}

9
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActPeriodUserServiceImpl.java

@ -108,4 +108,13 @@ public class ActPeriodUserServiceImpl extends BaseServiceImpl<ActPeriodUserDao,
baseDao.modifyActPeriodUserDelFlagByActUserRelationId(actUserRelationId);
}
@Override
public void updateBatch(List<ActPeriodUserDTO> list) {
baseDao.updateBatch(list);
}
@Override
public void updateByActUserRelationId(ActPeriodUserDTO dto) {
baseDao.updateByActUserRelationId(dto);
}
}

73
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserRelationServiceImpl.java

@ -17,6 +17,7 @@
package com.elink.esua.epdc.modules.activity.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.activity.*;
@ -51,10 +52,7 @@ import com.elink.esua.epdc.dto.result.BehaviorResultDto;
import com.elink.esua.epdc.modules.activity.dao.ActInfoDao;
import com.elink.esua.epdc.modules.activity.dao.ActUserLogDao;
import com.elink.esua.epdc.modules.activity.dao.ActUserRelationDao;
import com.elink.esua.epdc.modules.activity.entity.ActInfoEntity;
import com.elink.esua.epdc.modules.activity.entity.ActUserLogEntity;
import com.elink.esua.epdc.modules.activity.entity.ActUserPointsLogEntity;
import com.elink.esua.epdc.modules.activity.entity.ActUserRelationEntity;
import com.elink.esua.epdc.modules.activity.entity.*;
import com.elink.esua.epdc.modules.activity.service.*;
import com.elink.esua.epdc.modules.async.NewsTask;
import com.elink.esua.epdc.modules.feign.AdminFeignClient;
@ -187,6 +185,13 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl<ActUserRelationD
updateById(updateEntity);
if (ActStateConstant.ACT_USER_RELATION_STATUS_AUDITREJECT.equals(dto.getStatus())) {
actInfoService.minusSignUpNum(entity.getActId());
// 如果活动开始未审核报名人默认状态(1-审核通过,4-审核不通过)是 4,则将 epdc_act_period 表中的,所有活动时间段状态 更改为 4
ActPeriodUserDTO periodUserDTO = new ActPeriodUserDTO();
periodUserDTO.setPeriodStatus(ActStateConstant.ACT_USER_RELATION_STATUS_AUDITREJECT);
periodUserDTO.setActUserRelationId(entity.getId());
periodUserDTO.setFailureReason(dto.getFailureReason());
actPeriodUserService.updateByActUserRelationId(periodUserDTO);
}
//
//存储活动日志表 epdc_act_user_log
@ -251,11 +256,25 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl<ActUserRelationD
@Override
@Transactional(rollbackFor = Exception.class)
public Result activitySignUp(ActUserRelationDTO actUserRelationDTO) {
ActInfoDTO actInfoDTO = actInfoDao.queryActSignupNum(actUserRelationDTO.getActId());
//判断报名是否已满
if (actInfoDTO.getActQuotaCategory() != 0 && actInfoDTO.getActQuota().equals(actInfoDTO.getSignupNum())) {
return new Result().error("活动已报满");
// 活动报名的按钮,报名后。在取消 报名活动的所有时间段之前,不支持再次报名!
List<ActPeriodDTO> periods = actUserRelationDTO.getPeriods();
if (CollectionUtil.isEmpty(periods)) {
// 兼容之前,不存在 活动时间段 的老数据
ActInfoDTO actInfoDTO = actInfoDao.queryActSignupNum(actUserRelationDTO.getActId());
if (NumConstant.ZERO != actInfoDTO.getActQuotaCategory() && actInfoDTO.getActQuota().equals(actInfoDTO.getSignupNum())) {
return new Result().error("活动已报满");
}
} else {
// 校验当前报名的 活动时间段,是否已报满
List<ActPeriodDTO> periodsByActId = actPeriodService.listOfActPeriodsByActId(actUserRelationDTO.getActId());
for (ActPeriodDTO dto : periodsByActId) {
if (NumConstant.ZERO != dto.getActPeriodQuotaCategory() && dto.getActPeriodQuota().equals(dto.getActPeriodSignUpNum())) {
return new Result().error("该" + dto.getActPeriodStartTime() + "-" + dto.getActPeriodEndTime() + "时间段的活动已报满! 请选择其他时间段");
}
}
}
//查询是否已报名
ActUserRelationEntity actUserRelationEntity = baseDao.selectOneByUserIdAndActId(actUserRelationDTO.getUserId(), actUserRelationDTO.getActId());
if (null == actUserRelationEntity || (ActUserRelationStatusConstant.CANCEL_SIGN_UP.equals(actUserRelationEntity.getStatus())
@ -297,6 +316,37 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl<ActUserRelationD
@Override
@Transactional(rollbackFor = Exception.class)
public Result activityCancelSignUp(AppActUserCancelsignupDTO appActUserCancelsignupDTO) {
// 用户取消报名,先对已报名的 所有时间段进行处理
if (NumConstant.ZERO < appActUserCancelsignupDTO.getActPeriodId().size()) {
// 查询用户关联表主键
ActUserRelationEntity actUserRelationEntity = baseDao.selectOneByUserIdAndActId(appActUserCancelsignupDTO.getUserId(), appActUserCancelsignupDTO.getActId());
List<ActPeriodUserDTO> periodUserDtoList = new ArrayList<>();
for (String actPeriodId : appActUserCancelsignupDTO.getActPeriodId()) {
ActPeriodUserDTO periodUserDTO = new ActPeriodUserDTO();
periodUserDTO.setActPeriodId(actPeriodId);
periodUserDTO.setActUserRelationId(actUserRelationEntity.getId());
periodUserDTO.setFailureReason(appActUserCancelsignupDTO.getFailureReason());
periodUserDTO.setPeriodStatus(ActUserRelationStatusConstant.CANCEL_SIGN_UP);
periodUserDtoList.add(periodUserDTO);
}
// 批量修改
actPeriodUserService.updateBatch(periodUserDtoList);
// 查询已报名的所有时间段
List<ActPeriodDTO> periodTime = actPeriodUserService.listOfSignInActPeriodsByActUserRelationId(actUserRelationEntity.getId());
if (null == periodTime) {
periodTime = new ArrayList<>();
}
// 是否已经取消了,报名的所有活动时间段
if (NumConstant.ZERO < periodTime.size()) {
// 否,不再进行下一步操作
return new Result().ok("取消报名成功");
}
}
// 用户取消报名(已报名的所有时间段),处理完报名的所有时间段之后,再走原先的 取消报名逻辑
//查询是否已报名
List<String> statusList = new ArrayList<>();
statusList.add(ActUserRelationStatusConstant.SIGN_UP);
@ -534,7 +584,14 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl<ActUserRelationD
// 审核不通过,活动的报名人数-1
if (!NumConstant.ONE_STR.equals(actUserDefaultState)) {
actInfoService.minusSignUpNum(actInfoDTO.getId());
// 如果活动开始未审核报名人默认状态(1-审核通过,4-审核不通过)是 4,则将 epdc_act_period 表中的,所有活动时间段状态 更改为 4
ActPeriodUserDTO periodUserDTO = new ActPeriodUserDTO();
periodUserDTO.setPeriodStatus(actUserDefaultState);
periodUserDTO.setActUserRelationId(entity.getId());
actPeriodUserService.updateByActUserRelationId(periodUserDTO);
}
//给用户发送消息通知
this.sendNotice(actUserRelationDTO, actUserDefaultState, actInfoDTO);
}

34
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActPeriodDao.xml

@ -21,21 +21,35 @@
<select id="selectListOfActPeriodsByActId" resultType="com.elink.esua.epdc.activity.ActPeriodDTO">
SELECT
ID,
ACT_ID,
ACT_PERIOD_START_TIME,
ACT_PERIOD_END_TIME
P.ID,
P.ACT_ID,
P.ACT_PERIOD_START_TIME,
P.ACT_PERIOD_END_TIME,
P.ACT_PERIOD_QUOTA,
COUNT(pu.ID) actPeriodSignUpNum,
p.ACT_PERIOD_QUOTA_CATEGORY actPeriodQuotaCategory
FROM
epdc_act_period
epdc_act_period P
LEFT JOIN epdc_act_period_user pu ON p.ID = pu.ACT_PERIOD_ID AND pu.DEL_FLAG ='0' AND pu.PERIOD_STATUS NOT IN ('3', '4')
WHERE
DEL_FLAG = '0'
AND ACT_ID = #{actId}
ORDER BY
ACT_PERIOD_START_TIME
P.DEL_FLAG = '0'
AND P.ACT_ID = #{actId}
GROUP BY p.ID
ORDER BY P.ACT_PERIOD_START_TIME
</select>
<select id="selectActTimeByActId" resultType="com.elink.esua.epdc.activity.ActPeriodDTO">
SELECT ACT_START_TIME AS actPeriodStartTime, ACT_END_TIME AS actPeriodEndTime FROM epdc_act_info WHERE ID = #{actId}
SELECT
ID AS actId,
ACT_START_TIME AS actPeriodStartTime,
ACT_END_TIME AS actPeriodEndTime,
ACT_QUOTA AS actPeriodQuota,
SIGNUP_NUM actPeriodSignUpNum,
ACT_QUOTA_CATEGORY actPeriodQuotaCategory
FROM
epdc_act_info
WHERE
ID = #{actId}
</select>
</mapper>

28
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActPeriodUserDao.xml

@ -26,7 +26,7 @@
WHERE
ur.ID = #{actUserRelationId}
) t
LEFT JOIN epdc_act_period_user pu ON pu.ACT_USER_RELATION_ID = t.ID
LEFT JOIN epdc_act_period_user pu ON pu.ACT_USER_RELATION_ID = t.ID AND pu.PERIOD_STATUS NOT IN ('3','4')
AND pu.DEL_FLAG = '0'
LEFT JOIN epdc_act_period p ON p.ID = pu.ACT_PERIOD_ID
AND p.DEL_FLAG = '0'
@ -37,4 +37,30 @@
update epdc_act_period_user set del_flag = '1' where ACT_USER_RELATION_ID = #{actUserRelationId}
</update>
<update id="updateBatch" parameterType="com.elink.esua.epdc.activity.ActPeriodUserDTO">
<foreach collection="list" item="item" index="index" open="" close="" separator=";">
UPDATE epdc_act_period_user
SET
<if test="item.failureReason != null and item.failureReason.trim() != ''">
FAILURE_REASON = #{item.failureReason},
</if>
PERIOD_STATUS = #{periodStatus}
UPDATED_TIME = NOW()
WHERE ACT_USER_RELATION_ID = #{item.actUserRelationId} AND ACT_PERIOD_ID = #{item.actPeriodId}
</foreach>
</update>
<update id="updateByActUserRelationId">
update epdc_act_period_user
set
<if test="failureReason != null and failureReason.trim() != ''">
FAILURE_REASON = #{failureReason},
</if>
<if test="periodStatus != null and periodStatus.trim() != ''">
PERIOD_STATUS = #{periodStatus},
</if>
UPDATED_TIME = NOW()
where ACT_USER_RELATION_ID = #{actUserRelationId} and del_flag = '0'
</update>
</mapper>

Loading…
Cancel
Save