喝不起奶茶,咱就为奶茶店开发个会员积分收银系统

@Autowired

private ConsumeMapper consumeMapper;

@Autowired

private IntegralService integralService;

@Autowired

private IntegralDetialService integralDetialService;

/**

  • 更新消费记录

  • @param vo

  • @return

*/

public int add(MilkConsumeVo vo) {

Consume record = new Consume();

record.setConsumeDate(new Date());

record.setConsumeMilkId(vo.getMilkId());

record.setConsumeUserId(vo.getUserId());

int insert = consumeMapper.insert(record);

// 消费记录成功,进行积分的更细和积分详细表的更新,否则都不更细

if (insert > 0) {

//先更新总积分

int add = integralService.add(vo);

//再更新积分详情表

if (add > 0) {

return integralDetialService.add(vo, record.getId());

}

}

return 0;

}

@SuppressWarnings(“all”)

public PageInfo list(String milkName,Long userId, PageInfo info) {

PageHelper.startPage(info.getNowpage(), info.getPagesize());

Page milks = consumeMapper.list(userId,milkName);

info.setRows(milks.getResult());

info.setTotal((int) milks.getTotal());

return info;

}

}

package SystemManage.IntegralManage.service;

import SystemManage.IntegralManage.dao.IntegralMapper;

import SystemManage.IntegralManage.entity.Integral;

import SystemManage.IntegralManage.entity.IntegralExample;

import SystemManage.MilkManage.entity.MilkConsumeVo;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

import org.springframework.transaction.annotation.Transactional;

import java.util.Date;

import java.util.List;

/**

  • 用户消费总积分

*/

@Service

@Transactional

@SuppressWarnings(“all”)

public class IntegralService {

@Autowired

private IntegralMapper integralMapper;

/**

  • 根据用户ID查询用户积分

  • @param userId

  • @return

*/

public Double findIntegralInfoByUserId(Long userId) {

if (userId == null) {

throw new RuntimeException(“用户ID不能为空”);

}

IntegralExample example = new IntegralExample();

IntegralExample.Criteria criteria = example.createCriteria();

criteria.andIntegralUserIdEqualTo(Integer.parseInt(String.valueOf(userId)));

List integrals = integralMapper.selectByExample(example);

if (integrals != null && integrals.size() > 0) {

Integral integral = integrals.get(0);

return integral.getIntegralSum();

}

return 0d;

}

/**

  • 更新总积分系统

  • @param vo

  • @return

*/

public int add(MilkConsumeVo vo) {

// 判断是否有总积分,没有就直接添加即可

Integral integral = integralMapper.selectByUserId(vo.getUserId());

// 证明是第一次添加

if (integral == null || integral.getIntegralConsume() == 0.0) {

Integral record = new Integral();

record.setIntegralTieme(new Date());

record.setIntegralUserId(vo.getUserId());

// 价格就是积分,1元钱1积分

record.setIntegralConsume(vo.getMilkPrice());

record.setIntegralSum(vo.getMilkPrice());

int insert = integralMapper.insert(record);

return insert;

} else {

// 积分很多,需要加上价格减去抵扣的积分进行累计增加

integral.setIntegralSum(integral.getIntegralSum() + vo.getMilkPrice() - vo.getIntegralCount());

integral.setIntegralConsume((vo.getMilkPrice() - vo.getIntegralCount()) + integral.getIntegralConsume());

int insert = integralMapper.updateByPrimaryKey(integral);

return insert;

}

}

}

package SystemManage.LogManage.service;

import SystemManage.Common.until.PageInfo;

import SystemManage.LogManage.dao.LogDao;

import SystemManage.LogManage.entity.Log;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

import java.util.List;

@Service

public class LogService {

@Autowired
private LogDao logDao;
public void insertLog(Log sysLog) {
    logDao.insert(sysLog);
}
public void findDataGrid(PageInfo pageInfo) {
    pageInfo.setRows(logDao.findDataGrid(pageInfo));
    pageInfo.setTotal(logDao.findDataGridCount(pageInfo));
}
public void batchDelete(List ids){
    logDao.batchDelete(ids) ;
}
public Log selectById(Long id){
    return logDao.selectById(id) ;
}
public int delByDate(String date){
    int count = logDao.delLogCount(date);
    logDao.delByDate(date);
    return count ;
}

}

package SystemManage.MilkManage.service;

import SystemManage.Common.until.PageInfo;

import SystemManage.MilkManage.dao.MilkMapper;

import SystemManage.MilkManage.entity.Milk;

import SystemManage.MilkManage.entity.MilkExample;

import com.github.pagehelper.Page;

import com.github.pagehelper.PageHelper;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

import org.springframework.transaction.annotation.Transactional;

import java.util.Date;

/**

  • 奶茶管理业务层

*/

@Service

@Transactional

public class MilkService {

@Autowired

private MilkMapper milkMapper;

public PageInfo list(PageInfo info,Milk milk) {

MilkExample milkExample = new MilkExample();

MilkExample.Criteria criteria = milkExample.createCriteria();

// 条件查询

if(milk != null && milk.getMilkCode() != null && milk.getMilkCode() != “”){

criteria.andMilkCodeEqualTo(milk.getMilkCode());

}

if(milk != null && milk.getMilkName() != null && milk.getMilkName() != “”){

criteria.andMilkNameLike(“%” + milk.getMilkName() + “%”);

}

PageHelper.startPage(info.getNowpage(),info.getPagesize());

Page milks = (Page) milkMapper.selectByExample(milkExample);

info.setRows(milks.getResult());

info.setTotal((int)milks.getTotal());

return info;

}

public int add(Milk milk) {

int insert = milkMapper.insert(milk);

return insert;

}

public int delete(Integer id) {

return milkMapper.deleteByPrimaryKey(id);

}

public Milk findOne(Integer id) {

return milkMapper.selectByPrimaryKey(id);

}

public int update(Milk milk) {

milk.setMilkDate(new Date());

return milkMapper.updateByPrimaryKey(milk);

}

}

package SystemManage.OrganizationManage.service;

import SystemManage.Common.entity.Tree;

import SystemManage.Common.until.PageInfo;

import SystemManage.OrganizationManage.dao.OrganizationDao;

import SystemManage.OrganizationManage.entity.Organization;

总结

总的来说,面试是有套路的,一面基础,二面架构,三面个人。

最后,小编这里收集整理了一些资料,其中包括面试题(含答案)、书籍、视频等。希望也能帮助想进大厂的朋友

三面蚂蚁金服成功拿到offer后,他说他累了

三面蚂蚁金服成功拿到offer后,他说他累了

}

package SystemManage.OrganizationManage.service;

import SystemManage.Common.entity.Tree;

import SystemManage.Common.until.PageInfo;

import SystemManage.OrganizationManage.dao.OrganizationDao;

import SystemManage.OrganizationManage.entity.Organization;

总结

总的来说,面试是有套路的,一面基础,二面架构,三面个人。

最后,小编这里收集整理了一些资料,其中包括面试题(含答案)、书籍、视频等。希望也能帮助想进大厂的朋友

[外链图片转存中…(img-fV4K8H8U-1720094728442)]

[外链图片转存中…(img-R30y62To-1720094728443)]

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值