package com.panzhihua.service_community.service.impl; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.VolunteerCreditsExchangeVO; import com.panzhihua.common.model.vos.community.VolunteerIntegralMerchantVO; import com.panzhihua.common.model.vos.community.VolunteerIntegralRecordVO; import com.panzhihua.common.model.vos.community.VolunteerMerchantVO; import com.panzhihua.common.service.user.UserService; import com.panzhihua.common.utlis.Snowflake; import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.service_community.dao.VolunteerCreditsExchangeDao; import com.panzhihua.service_community.entity.VolunteerCreditsExchange; import com.panzhihua.service_community.entity.VolunteerIntegralMerchant; import com.panzhihua.service_community.entity.VolunteerMerchant; import com.panzhihua.service_community.service.VolunteerCreditsExchangeService; import com.panzhihua.service_community.service.VolunteerIntegralMerchantService; import com.panzhihua.service_community.service.VolunteerIntegralRecordService; import com.panzhihua.service_community.service.VolunteerMerchantService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; @Slf4j @Service public class VolunteerCreditsExchangeServiceImpl extends ServiceImpl implements VolunteerCreditsExchangeService { @Resource private VolunteerIntegralMerchantService goodsService; @Resource private UserService userService; @Resource private VolunteerIntegralRecordService virService; @Resource private VolunteerMerchantService vmService; @Override public R getList(int pageNum, int pageSize, String goodsId, String orderNumber, String goodsName, String condition, String userName,String communityId, String userId,String orderType,String merchantId) { Page page=new Page(pageNum,pageSize); return R.ok(baseMapper.getList(page,goodsId,orderNumber,goodsName,condition, userName,communityId,userId,orderType,merchantId)); } @Override public R getData(String id) { return R.ok(baseMapper.getData(id)); } @Override public R insertData(VolunteerCreditsExchangeVO item) { if (item==null) { return R.fail("参数不能为空"); } if(StringUtils.isEmpty(item.getGoodsId())) { return R.fail("商品id不能为空"); } VolunteerIntegralMerchant goods=goodsService.queryById(item.getGoodsId()); LoginUserInfoVO loginUserInfoVOR=userService.getUserInfoByUserId(item.getUserId()).getData(); if(goods==null) { return R.fail("商品不存在"); } int integral=0; if(!StringUtils.isEmpty(loginUserInfoVOR.getLoveIntegral())) { integral=Integer.valueOf(loginUserInfoVOR.getLoveIntegral()); } if(integral0) { return R.ok(); } return R.fail("操作失败"); } @Override public R insertMerchantData(VolunteerCreditsExchangeVO item) { if (item==null) { return R.fail("参数不能为空"); } if(StringUtils.isEmpty(item.getMerchantId())) { return R.fail("商家id不能为空"); } LoginUserInfoVO loginUserInfoVOR=userService.getUserInfoByUserId(item.getUserId()).getData(); if(StringUtils.isEmpty(item.getPalyIntegral())) { return R.fail("支付积分不能为空"); } int integral=0; if(!StringUtils.isEmpty(loginUserInfoVOR.getLoveIntegral())) { integral=Integer.valueOf(loginUserInfoVOR.getLoveIntegral()); } if(integral vm= vmService.getById(item.getMerchantId()); int vmNum=0; if(!StringUtils.isEmpty(vm.getData().getMerchantIntegral())) { vmNum=Integer.valueOf(vm.getData().getMerchantIntegral()); } vmNum+=Integer.valueOf(item.getPalyIntegral()); VolunteerMerchantVO vmvo=new VolunteerMerchantVO(); vmvo.setId(item.getMerchantId()); vmvo.setMerchantIntegral(vmNum+""); vmService.updateVolunteerMerchant(vmvo); item.setCondition("3"); //设置订单号 String orderNum=Snowflake.getId()+""; item.setOrderNumber(orderNum); int num= baseMapper.insertData(item); if(num>0) { return R.ok(orderNum); } return R.fail("操作失败"); } @Override public R update(VolunteerCreditsExchangeVO item) { if (item==null) { return R.fail("参数不能为空"); } int num= baseMapper.update(item); if(num>0) { return R.ok(); } return R.fail("操作失败"); } @Override public R delete(String id) { if(StringUtils.isEmpty(id)) { return R.fail("删除订单id不能为空"); } int num= baseMapper.delete(id); if(num>0) { return R.ok(); } return R.fail("操作失败"); } @Override public R conditionData(String id) { if(StringUtils.isEmpty(id)) { return R.fail("核销订单id不能为空"); } int num= baseMapper.conditionData(id); if(num>0) { return R.ok(); } return R.fail("操作失败"); } /** * 社区订单取消 * @param id 订单iD * @return */ @Override public R communityCancellation(String id) { if(StringUtils.isEmpty(id)) { return R.fail("订单id不能为空"); } //查询订单 VolunteerCreditsExchange vce=baseMapper.getData(id); if(StringUtils.equals("0",vce.getCondition())) { //修改订单状态为取消 VolunteerCreditsExchangeVO volunteerCreditsExchangeVO=new VolunteerCreditsExchangeVO(); volunteerCreditsExchangeVO.setId(id); volunteerCreditsExchangeVO.setCondition("2"); baseMapper.update(volunteerCreditsExchangeVO); //查询用户详情 LoginUserInfoVO loginUserInfoVOR=userService.getUserInfoByUserId(vce.getUserId()).getData(); int integral=0; if(!StringUtils.isEmpty(loginUserInfoVOR.getLoveIntegral())) { integral=Integer.valueOf(loginUserInfoVOR.getLoveIntegral()); } integral=integral+Integer.valueOf(vce.getPalyIntegral()); loginUserInfoVOR.setLoveIntegral(integral+""); userService.putUser(loginUserInfoVOR); //更新商品库存 VolunteerIntegralMerchant goods=goodsService.queryById(vce.getGoodsId()); VolunteerIntegralMerchantVO vimvo=new VolunteerIntegralMerchantVO(); int goodNum=Integer.valueOf(goods.getGoodNum()); goodNum++; vimvo.setId(goods.getId()); vimvo.setGoodNum(goodNum+""); goodsService.updateById(vimvo); //增加积分明细记录 VolunteerIntegralRecordVO virvo=new VolunteerIntegralRecordVO(); virvo.setUserId(loginUserInfoVOR.getUserId()+""); virvo.setIType("4"); virvo.setIntegral(vce.getPalyIntegral()); virvo.setCommunityId(vce.getCommunityId()); virService.insertVolunteer(virvo); } return R.fail("订单不是未核销订单"); } }