增加定时任务:租户过期 场馆过期 会员卡过期 商城产品展示过期 自动更新状态

master
15004070936 11 hours ago
parent 78adfdc0ec
commit 4e4851533f

@ -41,7 +41,7 @@ public class ProductShowController extends BaseController {
@ApiOperation("新增商品申请(租户)")
@PreAuthorize("@ss.hasPermi('pms:publish:list')")
@PreAuthorize("@ss.hasPermi('pms:publishProduct:list')")
@PostMapping
public ResponseEntity<Boolean> add(@RequestBody ProductShow productShow) {
return ResponseEntity.ok(service.insertProductShow(productShow));
@ -50,14 +50,14 @@ public class ProductShowController extends BaseController {
@ApiOperation("修改申请(租户)")
@PreAuthorize("@ss.hasPermi('pms:publish:list')")
@PreAuthorize("@ss.hasPermi('pms:publishProduct:list')")
@PutMapping
public ResponseEntity<Boolean> edit(@RequestBody ProductShow productShowUpdate) {
return ResponseEntity.ok(service.updateProductShow(productShowUpdate));
}
@ApiOperation("取消申请/删除(租户)")
@PreAuthorize("@ss.hasPermi('pms:publish:list')")
@PreAuthorize("@ss.hasPermi('pms:publishProduct:list')")
@DeleteMapping("/{id}")
public ResponseEntity<Boolean> remove(@PathVariable Long id) {
return ResponseEntity.ok(service.deleteProductShow(id));
@ -66,9 +66,9 @@ public class ProductShowController extends BaseController {
//拒绝商品展示
@ApiOperation("拒绝商品展示(管理员)")
@PreAuthorize("@ss.hasPermi('pms:review:list')")
@PutMapping("/refuse/{id}")
public ResponseEntity<Boolean> refuse(@PathVariable Long id) {
return ResponseEntity.ok(service.refuseProductShow(id));
@PutMapping("/refuse")
public ResponseEntity<Boolean> refuse(@RequestBody ProductShow productShowUpdate) {
return ResponseEntity.ok(service.refuseProductShow(productShowUpdate.getId()));
}
//审核通过

@ -103,7 +103,8 @@ public class SysUserController extends BaseController
userService.checkUserDataScope(userId);
AjaxResult ajax = AjaxResult.success();
List<SysRole> roles = roleService.selectRoleAll();
ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
// ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> r.getRoleId()>99l).collect(Collectors.toList()));
if (StringUtils.isNotNull(userId))
{
List<Integer> roleIds=roleService.selectRoleListByUserId(userId) ;
@ -221,7 +222,7 @@ public class SysUserController extends BaseController
SysUser user = userService.selectUserById(userId);
List<SysRole> roles = roleService.selectRolesByUserId(userId);
ajax.put("user", user);
ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> r.getRoleId()>99l).collect(Collectors.toList()));
return ajax;
}

@ -2,12 +2,14 @@ package com.ruoyi.framework.web.service;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.enums.UserStatus;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.SysTenant;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.service.impl.SysTenantServiceImpl;
import org.slf4j.Logger;
@ -30,10 +32,11 @@ public class UserDetailsServiceImpl implements UserDetailsService
@Autowired
private ISysUserService userService;
@Autowired
private SysTenantServiceImpl tenantService;
@Autowired
private ISysDeptService deptService;
@Autowired
private SysPermissionService permissionService;
@Override
@ -59,12 +62,20 @@ public class UserDetailsServiceImpl implements UserDetailsService
if (ObjectUtil.isEmpty(tenant)
|| !tenant.getInUse().equals("0")
|| !DateUtil.date().before(tenant.getEndTime())
|| tenant.getDeleteFlag().equals("1")
|| !tenant.getDeleteFlag().equals("0")
){
log.info("用户所属租户:{} 异常.", tenant.getTenantName());
throw new ServiceException("用户所属租户:" + tenant.getTenantName() + " 异常,无法登录!");
}
SysDept dept= deptService.getById(user.getDeptId());
if (ObjectUtil.isEmpty(dept)
|| !dept.getStatus().equals("0")
|| !dept.getDeleteFlag().equals("0")
|| !DateUtil.date().before(DateUtil.parse(dept.getExpiryDate()))
){
log.info("用户所属场馆:{} 异常.", dept.getDeptName());
throw new ServiceException("用户所属场馆:" + dept.getDeptName() + " 异常,无法登录!");
}
return createLoginUser(user);
}

@ -4,8 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
/**
*
@ -26,6 +26,7 @@ public class ProductShow {
*/
private Long productId;
/**
* ID
*/
@ -49,12 +50,12 @@ public class ProductShow {
/**
*
*/
private LocalDate showStartTime;
private Date showStartTime;
/**
*
*/
private LocalDate showEndTime;
private Date showEndTime;
/**
* 0- 1- 2- 3- 4-

@ -9,6 +9,10 @@ public class ProductShowVO extends ProductShow {
private String productCategoryName;
private String tenantName;
private String storeName;
private String outProductId;
private String productCategoryId;
}

@ -101,6 +101,10 @@ public class ProductService extends ServiceImpl<ProductMapper, Product> implemen
if (categoryId != null) {
qw.eq("category_id", categoryId);
}
Long brandId = query.getBrandId();
if (categoryId != null) {
qw.eq("brand_id", brandId);
}
Integer publishStatus = query.getPublishStatus();
if (publishStatus != null) {
qw.eq("publish_status", publishStatus);

@ -18,6 +18,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
/**
@ -40,7 +41,7 @@ public class ProductShowService extends ServiceImpl<ProductShowMapper, ProductSh
}
LoginUser loginUser= SecurityUtils.getLoginUser();
//审核页list
if(loginUser.getPermissions().contains("pms:review:list")){
if(loginUser.getPermissions().contains("pms:review:list")||loginUser.getPermissions().contains("*:*:*")){
return baseMapper.selectProductShowList(productShow);
}
//申请页list
@ -104,10 +105,10 @@ public class ProductShowService extends ServiceImpl<ProductShowMapper, ProductSh
if (ObjectUtil.isEmpty(dbProductShow)){
throw new RuntimeException("租户已取消申请");
}
if (!dbProductShow.getApplyStatus().equals("0")){
if (!"0,1,2".contains(dbProductShow.getApplyStatus())){
throw new RuntimeException("当前状态不允许此项操作");
}
if (dbProductShow.getShowStartTime().isBefore(LocalDateTime.now().toLocalDate())){
if (dbProductShow.getShowStartTime().before(new Date())){
throw new RuntimeException("展示开始日期已过,请联系租户修改展示时间后,重新提交申请");
}
if (ObjectUtil.hasNull(productShowUpdate.getSort(),productShowUpdate.getShowCategory())){
@ -123,10 +124,13 @@ public class ProductShowService extends ServiceImpl<ProductShowMapper, ProductSh
productShow.setApplyStatus("1");
productShow.setSort(productShowUpdate.getSort());
productShow.setShowCategory(productShowUpdate.getShowCategory());
if (!dbProductShow.getApplyStatus().equals(productShowUpdate.getApplyStatus())){
productShow.setReviewTime(LocalDateTime.now());
}
return this.updateById(productShow);
}
//上架商品展示 (定时器触发事件)
@Transactional
public int onSaleProductShow() {
@ -137,7 +141,7 @@ public class ProductShowService extends ServiceImpl<ProductShowMapper, ProductSh
//商品展示到期 (定时器触发事件)
@Transactional
public int expireProductShow() {
int updatedRows=baseMapper.onSaleProductShow();
int updatedRows=baseMapper.expireProductShow();
System.out.println("昨天结束的展示任务已停止,影响记录数:" + updatedRows);
return updatedRows;
}

@ -1,26 +0,0 @@
package com.ruoyi.quartz.task;
import com.ruoyi.mall.service.ProductShowService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component("productShowTask")
public class ProductShowTask {
@Autowired
private ProductShowService productShowService;
/**
* 00:01
*/
public void onSaleProductShow() {
productShowService.onSaleProductShow();
}
/**
* 00:02
*/
public void expireProductShow() {
productShowService.expireProductShow();
}
}

@ -0,0 +1,56 @@
package com.ruoyi.quartz.task;
import com.ruoyi.mall.service.ProductShowService;
import com.ruoyi.school.member.service.IScMemberCardService;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.SysTenantService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component("yogaTask")
public class YogaTask {
@Autowired
private ProductShowService productShowService;
@Autowired
private SysTenantService sysTenantService;
@Autowired
private ISysDeptService deptService;
@Autowired
private IScMemberCardService memberCardService;
/**
* 00:01
*/
public void onSaleProductShow() {
productShowService.onSaleProductShow();
}
/**
* 00:02
*/
public void expireProductShow() {
productShowService.expireProductShow();
}
/**
* 00:03
*/
public void expireTenant() {
sysTenantService.expireTenant();
}
/**
* 00:04
*/
public void expireDept() {
deptService.expireDept();
}
/**
*
*/
public void expireMemberCard() {
memberCardService.expiredMemberCard();
}
}

@ -3,7 +3,6 @@ package com.ruoyi.school.member.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.ruoyi.common.utils.SecurityUtils;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@ -245,9 +244,7 @@ public class ScMemberCard implements Serializable {
return CardStatus.fromString(this.status);
}
public String getTenantId(){
return SecurityUtils.getLoginUser().getNowTenantId();
}
public Integer getRemainingDays() {
if (activationDate== null || expiryDate == null ) {

@ -5,6 +5,7 @@ import com.ruoyi.school.member.domain.ScMemberCard;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
@ -52,18 +53,19 @@ public interface ScMemberCardMapper extends BaseMapper<ScMemberCard> {
/**
*
*/
@Select("UPDATE sc_member_cards SET status = #{status}, updated_at = NOW() WHERE id = #{id} AND is_deleted = 0")
@Update("UPDATE sc_member_cards SET status = #{status}, updated_at = NOW() WHERE id = #{id} AND is_deleted = 0")
int updateStatus(@Param("id") Long id, @Param("status") String status);
/**
*
*/
@Select("UPDATE sc_member_cards SET remaining_count = remaining_count - #{count}, updated_at = NOW() WHERE id = #{id} AND remaining_count >= #{count} AND is_deleted = 0")
@Update("UPDATE sc_member_cards SET remaining_count = remaining_count - #{count}, updated_at = NOW() WHERE id = #{id} AND remaining_count >= #{count} AND is_deleted = 0")
int deductCount(@Param("id") Long id, @Param("count") Integer count);
/**
*
*/
@Select("UPDATE sc_member_cards SET remaining_count = remaining_count + #{count}, updated_at = NOW() WHERE id = #{id} AND is_deleted = 0")
@Update("UPDATE sc_member_cards SET remaining_count = remaining_count + #{count}, updated_at = NOW() WHERE id = #{id} AND is_deleted = 0")
int addCount(@Param("id") Long id, @Param("count") Integer count);
}

@ -81,7 +81,7 @@ public interface IScMemberCardService extends IService<ScMemberCard> {
/**
*
*/
int updateExpiredStatus();
int expiredMemberCard();
/**
*

@ -133,6 +133,7 @@ public class ScMemberCardServiceImpl extends ServiceImpl<ScMemberCardMapper, ScM
// 创建会员卡
ScMemberCard card = new ScMemberCard();
BeanUtils.copyProperties(dto, card);
card.setTenantId(SecurityUtils.getLoginUser().getNowTenantId());
// 设置卡号(如果未提供则自动生成)
if (card.getCardNo() == null || card.getCardNo().isEmpty()) {
@ -474,7 +475,7 @@ public class ScMemberCardServiceImpl extends ServiceImpl<ScMemberCardMapper, ScM
@Override
@Transactional(rollbackFor = Exception.class)
public int updateExpiredStatus() {
public int expiredMemberCard() {
// 查找已过期的会员卡
List<ScMemberCard> expiredCards = this.lambdaQuery()
.eq(ScMemberCard::getIsDeleted, 0)
@ -489,11 +490,12 @@ public class ScMemberCardServiceImpl extends ServiceImpl<ScMemberCardMapper, ScM
}
// 批量更新状态
expiredCards.forEach(card -> {
card.setStatus(ScMemberCard.CardStatus.EXPIRED.name());
expiredCards.forEach(expiredCard -> {
expiredCard.setStatus(ScMemberCard.CardStatus.EXPIRED.name());
});
return this.updateBatchById(expiredCards) ? expiredCards.size() : 0;
int updatedRows=this.updateBatchById(expiredCards) ? expiredCards.size() : 0;
System.out.println("今天开始的过期会员卡修改状态任务已启动,影响记录数:" + updatedRows);
return updatedRows;
}
/**
@ -642,27 +644,7 @@ public class ScMemberCardServiceImpl extends ServiceImpl<ScMemberCardMapper, ScM
.count();
}
// @Override
// public List<MemberCardVO> getExpiringCards(Integer days) {
// if (days == null) {
// days = 7; // 默认7天内到期
// }
//
// LocalDate startDate = LocalDate.now();
// LocalDate endDate = startDate.plusDays(days);
//
// List<ScMemberCard> cards = this.lambdaQuery()
// .eq(ScMemberCard::getIsDeleted, 0)
// .eq(ScMemberCard::getStatus, ScMemberCard.CardStatus.ACTIVE.name())
// .ge(ScMemberCard::getExpiryDate, startDate)
// .le(ScMemberCard::getExpiryDate, endDate)
// .orderByAsc(ScMemberCard::getExpiryDate)
// .list();
//
// return cards.stream()
// .map(this::convertToVO)
// .collect(Collectors.toList());
// }
}

@ -119,4 +119,6 @@ public interface SysDeptMapper extends BaseMapper<SysDept>
* @return
*/
public int deleteDeptById(Long deptId);
int expireDept();
}

@ -31,4 +31,7 @@ public interface SysTenantMapper extends BaseMapper<SysTenant> {
SysTenant selectInUseUserTenant(@Param("userId")String userId, @Param("tenantId")String tenantId);
int tenantHaveContent(String tenantId);
int expireTenant();
}

@ -119,4 +119,6 @@ public interface ISysDeptService extends IService<SysDept>
* @return
*/
public int deleteDeptById(Long deptId);
int expireDept();
}

@ -32,4 +32,5 @@ public interface SysTenantService extends IService<SysTenant> {
RestResponse addTenant(ReqBusinessAddTenant reqBusinessAddTenant);
RestResponse updateTenant(SysTenant sysTenant);
RestResponse deleteById(String[] tenantIds);
int expireTenant();
}

@ -421,4 +421,14 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> imp
{
return getChildList(list, t).size() > 0 ? true : false;
}
//过期场馆修改状态 (定时器触发事件)
@Transactional
@Override
public int expireDept() {
int updatedRows=baseMapper.expireDept();
System.out.println("今天开始的过期场馆修改状态任务已启动,影响记录数:" + updatedRows);
return updatedRows;
}
}

@ -14,7 +14,6 @@ import com.ruoyi.common.page.RespPage;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.uuid.IdGenerator;
import com.ruoyi.system.domain.SysTenant;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.domain.columns.YjStore;
import com.ruoyi.system.domain.vo.ReqBusinessAddTenant;
import com.ruoyi.system.domain.vo.ReqSearchSysTenant;
@ -31,7 +30,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@ -160,6 +158,13 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
if (!usernameUnique) {
return RestResponse.failure(("用户名已被注册,请修改后重新提交"));
}
SysUser sysUser = reqBusinessAddTenant.transferToSysUser();
// 校验电话号是否已被注册
boolean phoneUnique = UserConstants.UNIQUE.equals(userService.checkPhoneUnique(sysUser));
if (!phoneUnique) {
return RestResponse.failure(("用户手机号码已被注册,请修改后重新提交"));
}
//部门
SysDept sysDept=new SysDept();
sysDept.setTenantId(sysTenant.getTenantId());
@ -178,22 +183,19 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
store.setStoreName(sysDept.getDeptName());
storeMapper.insertYjStore(store);
SysUser sysUser = reqBusinessAddTenant.transferToSysUser();
sysUser.setTenantId(sysTenant.getTenantId());
sysUser.setCreateBy(loginUser.getUserId());
sysUser.setPassword(SecurityUtils.encryptPassword(sysUser.getPassword()));
sysUser.setDeptId(sysDept.getDeptId());
sysUser.setStatus("0");
sysUser.setRoleIds(new Long[]{100l});
userService.insertUser(sysUser);
sysDept.setLeaderId(sysUser.getUserId());
deptMapper.updateDept(sysDept);
// 用户角色
SysUserRole userRole=new SysUserRole();
userRole.setRoleId(100l);
userRole.setUserId(sysUser.getUserId());
List<SysUserRole> list=new ArrayList<>();
list.add(userRole);
userRoleMapper.batchUserRole(list);
//角色menu
// roleMenuMapper.insertForNewTenant(sysTenant.getTenantId());
@ -234,7 +236,8 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
* @param tenantIds
* @return
*/
public RestResponse deleteById(String[] tenantIds) {
public RestResponse deleteById(String[] tenantIds)
{
if (null == tenantIds || tenantIds.length == 0) {
return RestResponse.failure("操作失败,请稍后重试");
}
@ -251,6 +254,12 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
if (contentCount > 0) {
return RestResponse.failure("租户下有会员,无法删除");
}
int deptCount = deptMapper.selectCount(new QueryWrapper<SysDept>()
.eq("tenant_id", tenantId)
.eq("delete_flag", "0"));
if (deptCount > 0) {
return RestResponse.failure("租户下有场馆,无法删除");
}
}
String joinedString = String.join(",", tenantIds);
boolean deleteTenant = this.update(new UpdateWrapper<SysTenant>()
@ -264,5 +273,13 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
}
}
//过期租户修改状态 (定时器触发事件)
@Transactional
@Override
public int expireTenant() {
int updatedRows=baseMapper.expireTenant();
System.out.println("今天开始的过期租户修改状态任务已启动,影响记录数:" + updatedRows);
return updatedRows;
}
}

@ -1,6 +1,7 @@
package com.ruoyi.system.service.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.ruoyi.common.annotation.DataScope;
@ -341,6 +342,15 @@ public class SysUserServiceImpl implements ISysUserService
if (user.getStatus().equals("1")){
removeAppUserManager(userId);
}
//如果手机号有变化则更新关联的app账号
if (StrUtil.isNotEmpty(user.getPhonenumber())){
SysUser dbUser=this.selectUserById(userId);
if (!dbUser.getPhonenumber().equals(user.getPhonenumber())){
user.setPassword(dbUser.getPassword());
removeAppUserManager(userId);
insertAppUser(user);
}
}
return userMapper.updateUser(user);
}

@ -9,6 +9,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
SELECT
a.*,
p.name AS product_name,
p.out_product_id,
s.store_name,
t.tenant_name,
c.type_name AS product_category_name
@ -27,16 +28,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="productName != null and productName != ''">
and p.name like concat('%',#{productName},'%')
</if>
<if test="productName != null and productName != ''">
and p.name like concat('%',#{productName},'%')
<if test="outProductId != null and outProductId != ''">
and p.out_product_id =#{outProductId}
</if>
<if test="productCategoryId != null and productCategoryId != ''">
and c.id =#{productCategoryId}
</if>
<if test="productCategoryName != null and productCategoryName != ''">
and c.type_name like concat('%',#{productCategoryName},'%')
</if>
<if test="storeName != null and storeName != ''">
and s.store_name like concat('%',#{storeName},'%')
</if>
<if test="showFlag != null AND showFlag !=''">
<if test="showFlag != null and showFlag !=''">
and a.show_flag =#{showFlag}
</if>
<if test="applyStatus != null AND applyStatus !=''">
<if test="applyStatus != null and applyStatus !=''">
and a.apply_status =#{applyStatus}
</if>
ORDER BY a.apply_time DESC,a.sort ASC
@ -45,11 +52,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<update id="onSaleProductShow" parameterType="int">
UPDATE mall_product_show
SET show_flag = '1', apply_status = '3'
WHERE show_start_time = CURDATE();
WHERE show_start_time = CURDATE() and apply_status = '1';
</update>
<update id="expireProductShow" parameterType="int">
UPDATE mall_product_show
SET show_flag = '0', apply_status = '4'
WHERE show_end_time = DATE_SUB(CURDATE(), INTERVAL 1 DAY);
WHERE show_end_time = DATE_SUB(CURDATE(), INTERVAL 1 DAY) and apply_status = '3';
</update>
</mapper>

@ -0,0 +1,13 @@
<?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.school.member.mapper.ScMemberCardMapper">
<!-- <update id="expiredMemberCard">-->
<!-- UPDATE sc_member_cards -->
<!-- SET status = 'EXPIRED' -->
<!-- WHERE status in ('ACTIVE','INACTIVE') -->
<!-- and expiry_date < CURDATE() -->
<!-- AND is_deleted = 0-->
<!-- </update>-->
</mapper>

@ -180,7 +180,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</update>
<delete id="deleteDeptById" parameterType="Long">
update sys_dept set delete_flag = '2' where dept_id = #{deptId}
update sys_dept set delete_flag = '1' where dept_id = #{deptId}
</delete>
<update id="expireDept" parameterType="int">
UPDATE sys_dept
SET status = '1'
WHERE expiry_date = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
AND status = '0'
and delete_flag = '0';
</update>
</mapper>

@ -20,6 +20,7 @@
and t.in_use='0'
and t.delete_flag='0'
</select>
<select id="tenantHaveContent" resultType="integer">
select
sum(CASE
@ -31,4 +32,13 @@
LEFT JOIN sc_course c on t.tenant_id=c.tenant_id
WHERE t.tenant_id=#{tenantId}
</select>
<update id="expireTenant" parameterType="int">
UPDATE sys_tenant
SET in_use = '1'
WHERE end_time = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
and in_use='0'
and delete_flag='0';
</update>
</mapper>

@ -231,8 +231,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update sys_user set delelete_flag = '2' where user_id = #{userId}
</delete>
<!-- <delete id="deleteUserByIds" parameterType="Long">-->
<!-- update sys_user set delete_flag = '2' where user_id in-->
<!-- <foreach collection="array" item="userId" open="(" separator="," close=")">-->
<!-- #{userId}-->
<!-- </foreach>-->
<!-- </delete>-->
<delete id="deleteUserByIds" parameterType="Long">
update sys_user set delete_flag = '2' where user_id in
DELETE FROM sys_user where user_id in
<foreach collection="array" item="userId" open="(" separator="," close=")">
#{userId}
</foreach>

Loading…
Cancel
Save