package com.ltkj.mall.service.impl; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Random; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ltkj.common.utils.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ltkj.mall.mapper.MallAftersaleMapper; import com.ltkj.mall.domain.MallAftersale; import com.ltkj.mall.service.IMallAftersaleService; /** * 售后Service业务层处理 * * @author ltkj_赵佳豪&李格 * @date 2023-07-12 */ @Service public class MallAftersaleServiceImpl extends ServiceImpl implements IMallAftersaleService { @Autowired private MallAftersaleMapper mallAftersaleMapper; /** * 查询售后 * * @param id 售后主键 * @return 售后 */ @Override public MallAftersale selectMallAftersaleById(Long id) { return mallAftersaleMapper.selectMallAftersaleById(id); } /** * 查询售后列表 * * @param mallAftersale 售后 * @return 售后 */ @Override public List selectMallAftersaleList(MallAftersale mallAftersale) { return mallAftersaleMapper.selectMallAftersaleList(mallAftersale); } /** * 新增售后 * * @param mallAftersale 售后 * @return 结果 */ @Override public int insertMallAftersale(MallAftersale mallAftersale) { mallAftersale.setCreateTime(DateUtils.getNowDate()); return mallAftersaleMapper.insertMallAftersale(mallAftersale); } /** * 修改售后 * * @param mallAftersale 售后 * @return 结果 */ @Override public int updateMallAftersale(MallAftersale mallAftersale) { mallAftersale.setUpdateTime(DateUtils.getNowDate()); return mallAftersaleMapper.updateMallAftersale(mallAftersale); } /** * 批量删除售后 * * @param ids 需要删除的售后主键 * @return 结果 */ @Override public int deleteMallAftersaleByIds(Long[] ids) { return mallAftersaleMapper.deleteMallAftersaleByIds(ids); } /** * 删除售后信息 * * @param id 售后主键 * @return 结果 */ @Override public int deleteMallAftersaleById(Long id) { return mallAftersaleMapper.deleteMallAftersaleById(id); } @Override public String generateAftersaleSn(Long memberId) { DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyyMMdd"); String now = df.format(LocalDate.now()); String aftersaleSn = now + getRandomNum(6); while (count(new LambdaQueryWrapper() .eq(MallAftersale::getUserId,memberId) .eq(MallAftersale::getAftersaleSn,aftersaleSn) ) > 0) { aftersaleSn = now + getRandomNum(6); } return "SH"+aftersaleSn; } private String getRandomNum(Integer num) { String base = "0123456789"; Random random = new Random(); StringBuffer sb = new StringBuffer(); for (int i = 0; i < num; i++) { int number = random.nextInt(base.length()); sb.append(base.charAt(number)); } return sb.toString(); } }