店铺数量不足提示

master
bynt 11 months ago
parent 6837f49bab
commit b505f65559

@ -236,4 +236,11 @@ public interface SysUserMapper extends ExtendMapper<SysUser> {
* @return * @return
*/ */
List<SelectData<Void>> getReviewList(@Param("userId") Long whichUserId,@Param("roleCode") String roleCode); List<SelectData<Void>> getReviewList(@Param("userId") Long whichUserId,@Param("roleCode") String roleCode);
/**
*
* @param userId
* @return
*/
int operationsDistributeNum(Long userId);
} }

@ -227,10 +227,12 @@ public interface SysUserService extends ExtendService<SysUser> {
/** /**
* *
*
* @param userId * @param userId
* @param storeName
* @return * @return
*/ */
Boolean deductionQuantity(Long userId); Boolean deductionQuantity(Long userId, String storeName);
/** /**
* *

@ -535,19 +535,21 @@ public class SysUserServiceImpl extends ExtendServiceImpl<SysUserMapper, SysUser
} }
@Override @Override
public Boolean deductionQuantity(Long userId) { public Boolean deductionQuantity(Long userId, String storeName) {
SysUserBalanceVO balanceVO = baseMapper.userBalance(userId); SysUserBalanceVO balanceVO = baseMapper.userBalance(userId);
if (!adminUserChecker.isAdminUser(balanceVO.getWhichUserId())) { if (!adminUserChecker.isAdminUser(balanceVO.getWhichUserId())) {
SysUser sysUser = baseMapper.selectById(balanceVO.getWhichUserId()); SysUser sysUser = baseMapper.selectById(balanceVO.getWhichUserId());
if (sysUser.getChargingStatus() == 1) { if (sysUser.getChargingStatus() == 1) {
Integer residueClueNum = balanceVO.getResidueClueNum(); Integer residueClueNum = balanceVO.getResidueClueNum();
if (residueClueNum < 1) { if (residueClueNum < 1) {
throw new BadRequestException("用户" + balanceVO.getUsername() + "可用数量不足!"); throw new BadRequestException("店铺:" + storeName + "可用数量不足!");
} }
return baseMapper.operationsNum(userId, balanceVO.getResidueClueNum() - 1) > 0; return baseMapper.operationsNum(userId, balanceVO.getResidueClueNum() - 1) > 0;
} }
if (sysUser.getChargingStatus() == 0) {
return baseMapper.operationsDistributeNum(userId) > 0;
}
} }
return Boolean.FALSE; return Boolean.FALSE;
} }

@ -175,6 +175,10 @@
</update> </update>
<update id="operationsDistributeNum">
UPDATE sys_user SET distribute_num = distribute_num + 1 WHERE user_id = #{userId}
</update>
<select id="listSelectSonListData" resultType="com.baiye.domain.SelectData"> <select id="listSelectSonListData" resultType="com.baiye.domain.SelectData">
select su.username as name, select su.username as name,
su.user_id as value su.user_id as value

@ -0,0 +1,25 @@
package com.baiye.modules.distribute.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springdoc.api.annotations.ParameterObject;
import java.math.BigDecimal;
/**
* @author Enzo
* @date 2023-10-20
*/
@Data
@Schema(title = "门店管理dto")
@ParameterObject
public class StoreUserDTO {
@Schema(description = "门店名称")
private String storeName;
@Schema(description = "用户id")
private Long userId;
@Schema(description = "用户id")
private Long storeId;
}

@ -1,11 +1,20 @@
package com.baiye.modules.distribute.mapper; package com.baiye.modules.distribute.mapper;
import com.baiye.extend.mybatis.plus.mapper.ExtendMapper; import com.baiye.extend.mybatis.plus.mapper.ExtendMapper;
import com.baiye.modules.distribute.dto.StoreUserDTO;
import com.baiye.modules.distribute.entity.StoreUserEntity; import com.baiye.modules.distribute.entity.StoreUserEntity;
import org.apache.ibatis.annotations.Param;
/** /**
* @author wjt * @author wjt
* @date 2023/9/15 * @date 2023/9/15
*/ */
public interface StoreUserMapper extends ExtendMapper<StoreUserEntity> { public interface StoreUserMapper extends ExtendMapper<StoreUserEntity> {
/**
*
* @param storeId
* @return
*/
StoreUserDTO selectByStoreDTOByStoreId(@Param("storeId") Long storeId);
} }

@ -1,6 +1,7 @@
package com.baiye.modules.distribute.service; package com.baiye.modules.distribute.service;
import com.baiye.extend.mybatis.plus.service.ExtendService; import com.baiye.extend.mybatis.plus.service.ExtendService;
import com.baiye.modules.distribute.dto.StoreUserDTO;
import com.baiye.modules.distribute.entity.StoreUserEntity; import com.baiye.modules.distribute.entity.StoreUserEntity;
import com.baiye.system.model.dto.SysUserNameRoleDTO; import com.baiye.system.model.dto.SysUserNameRoleDTO;
@ -28,9 +29,9 @@ public interface StoreUserService extends ExtendService<StoreUserEntity> {
void insertStoreUser(Long storeId, Long userId); void insertStoreUser(Long storeId, Long userId);
/** /**
* * id
* @param storeId * @param storeId
* @return * @return
*/ */
Long findUserIdByStoreId(Long storeId); StoreUserDTO findUserIdByStoreId(Long storeId);
} }

@ -13,9 +13,11 @@ import com.baiye.modules.distribute.converter.CustomConverter;
import com.baiye.modules.distribute.dto.ChangeCustomDTO; import com.baiye.modules.distribute.dto.ChangeCustomDTO;
import com.baiye.modules.distribute.dto.ClueDTO; import com.baiye.modules.distribute.dto.ClueDTO;
import com.baiye.modules.distribute.dto.CustomDTO; import com.baiye.modules.distribute.dto.CustomDTO;
import com.baiye.modules.distribute.dto.StoreUserDTO;
import com.baiye.modules.distribute.entity.CustomEntity; import com.baiye.modules.distribute.entity.CustomEntity;
import com.baiye.modules.distribute.entity.CustomStoreEntity; import com.baiye.modules.distribute.entity.CustomStoreEntity;
import com.baiye.modules.distribute.entity.StoreEntity; import com.baiye.modules.distribute.entity.StoreEntity;
import com.baiye.modules.distribute.entity.StoreUserEntity;
import com.baiye.modules.distribute.mapper.CustomMapper; import com.baiye.modules.distribute.mapper.CustomMapper;
import com.baiye.modules.distribute.qo.CustomQo; import com.baiye.modules.distribute.qo.CustomQo;
import com.baiye.modules.distribute.service.*; import com.baiye.modules.distribute.service.*;
@ -177,14 +179,14 @@ public class CustomServiceImpl extends ExtendServiceImpl<CustomMapper, CustomEnt
List<CustomStoreEntity> customStores = customStoreService.selectListByCustomId(id); List<CustomStoreEntity> customStores = customStoreService.selectListByCustomId(id);
if (CollUtil.isNotEmpty(customStores)) { if (CollUtil.isNotEmpty(customStores)) {
for (CustomStoreEntity store : customStores) { for (CustomStoreEntity store : customStores) {
Long userId = storeUserService.findUserIdByStoreId(store.getStoreId()); StoreUserDTO entity = storeUserService.findUserIdByStoreId(store.getStoreId());
if (ObjectUtil.isNotNull(userId) && userId > 0) { if (ObjectUtil.isNotNull(entity) && ObjectUtil.isNotNull(entity.getUserId())) {
// 扣减余额 // 扣减余额
Boolean result = sysUserService.deductionQuantity(userId); Boolean result = sysUserService.deductionQuantity(entity.getUserId(), entity.getStoreName());
if (Boolean.TRUE.equals(result)) { if (Boolean.TRUE.equals(result)) {
ClueDTO clueDTO = ClueDTO.builder().originName(ClueSourceEnum.STORE_DISTRIBUTION.getDescription()).remark ClueDTO clueDTO = ClueDTO.builder().originName(ClueSourceEnum.STORE_DISTRIBUTION.getDescription()).remark
(customEntity.getRemark()).nid(AESUtils.encrypt(customEntity.getCustomNid(), securityProperties.getPasswordSecretKey())).assignedBy (customEntity.getRemark()).nid(AESUtils.encrypt(customEntity.getCustomNid(), securityProperties.getPasswordSecretKey())).assignedBy
(userId).createBy(customEntity.getCompanyId()).assignedName(store.getStoreName()).otherClue(otherClue).build(); (entity.getUserId()).createBy(customEntity.getCompanyId()).assignedName(store.getStoreName()).otherClue(otherClue).build();
list.add(clueDTO); list.add(clueDTO);
} }
} }

@ -2,6 +2,7 @@ package com.baiye.modules.distribute.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baiye.extend.mybatis.plus.service.impl.ExtendServiceImpl; import com.baiye.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import com.baiye.modules.distribute.dto.StoreUserDTO;
import com.baiye.modules.distribute.entity.StoreUserEntity; import com.baiye.modules.distribute.entity.StoreUserEntity;
import com.baiye.modules.distribute.mapper.StoreUserMapper; import com.baiye.modules.distribute.mapper.StoreUserMapper;
import com.baiye.modules.distribute.service.StoreUserService; import com.baiye.modules.distribute.service.StoreUserService;
@ -9,14 +10,11 @@ import com.baiye.security.util.SecurityUtils;
import com.baiye.system.model.dto.SysUserNameRoleDTO; import com.baiye.system.model.dto.SysUserNameRoleDTO;
import com.baiye.system.properties.BusinessProperties; import com.baiye.system.properties.BusinessProperties;
import com.baiye.system.service.SysUserService; import com.baiye.system.service.SysUserService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* @author wjt * @author wjt
@ -52,14 +50,8 @@ public class StoreUserServiceImpl extends ExtendServiceImpl<StoreUserMapper, Sto
} }
@Override @Override
public Long findUserIdByStoreId(Long storeId) { public StoreUserDTO findUserIdByStoreId(Long storeId) {
List<StoreUserEntity> storeUserEntities = baseMapper.selectList return baseMapper.selectByStoreDTOByStoreId(storeId);
(Wrappers.<StoreUserEntity>lambdaQuery().eq(StoreUserEntity::getStoreId, storeId)
.orderByDesc(StoreUserEntity::getId));
if (CollUtil.isNotEmpty(storeUserEntities)) {
return storeUserEntities.get(0).getUserId();
}
return 0L;
} }
} }

@ -0,0 +1,19 @@
<?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.baiye.modules.distribute.mapper.StoreUserMapper">
<sql id="Base_Alias_Column_List">
st.id as storeId,
st.store_name,
tsu.user_id
</sql>
<select id="selectByStoreDTOByStoreId" resultType="com.baiye.modules.distribute.dto.StoreUserDTO">
SELECT
<include refid="Base_Alias_Column_List"/>
FROM tb_store st
left join tb_store_user tsu on st.id = tsu.store_id
where tsu.id = #{storeId}
</select>
</mapper>
Loading…
Cancel
Save