|
|
@ -7,16 +7,20 @@ import org.jeecg.common.api.vo.Result; |
|
|
|
import org.jeecg.config.shiro.ShiroRealm; |
|
|
|
import org.jeecg.modules.apiBean.PageBean; |
|
|
|
import org.jeecg.modules.apiService.VouchersService; |
|
|
|
import org.jeecg.modules.apiUtils.CommonUtils; |
|
|
|
import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; |
|
|
|
import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; |
|
|
|
import org.jeecg.modules.massageShop.entity.MassageShop; |
|
|
|
import org.jeecg.modules.massageShop.service.IMassageShopService; |
|
|
|
import org.jeecg.modules.massageVouchers.entity.MassageVouchers; |
|
|
|
import org.jeecg.modules.massageVouchers.service.IMassageVouchersService; |
|
|
|
import org.jeecg.modules.massageVouchersUser.entity.MassageVouchersUser; |
|
|
|
import org.jeecg.modules.massageVouchersUser.service.IMassageVouchersUserService; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
@Service |
|
|
|
public class VouchersServiceImpl implements VouchersService { |
|
|
@ -42,6 +46,7 @@ public class VouchersServiceImpl implements VouchersService { |
|
|
|
public Result<?> queryVouchersList(String token, MassageVouchersUser massageVouchersUser, PageBean pageBean) { |
|
|
|
//权限验证 |
|
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
|
|
|
|
|
//返回信息 |
|
|
|
String massege = ""; |
|
|
|
//分页信息 |
|
|
@ -66,6 +71,17 @@ public class VouchersServiceImpl implements VouchersService { |
|
|
|
//优惠券使用状态 |
|
|
|
query.eq(MassageVouchersUser::getStatus, massageVouchersUser.getStatus()); |
|
|
|
} |
|
|
|
//优惠券使用状态:0-未使用 1-已使用 2-已失效 |
|
|
|
if(StringUtils.isNotEmpty(massageVouchersUser.getStatus())){ |
|
|
|
if("2".equals(massageVouchersUser.getStatus())){ |
|
|
|
query.lt(MassageVouchersUser::getValidDate, CommonUtils.getCurrentTime());//已失效 |
|
|
|
}else { |
|
|
|
query.eq(MassageVouchersUser::getStatus, massageVouchersUser.getStatus()); |
|
|
|
if("0".equals(massageVouchersUser.getStatus())){ |
|
|
|
query.gt(MassageVouchersUser::getValidDate, CommonUtils.getCurrentTime());//未失效 |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//优惠券所属 |
|
|
|
query.eq(MassageVouchersUser::getUserId, hanHaiMember.getId()); |
|
|
@ -82,6 +98,174 @@ public class VouchersServiceImpl implements VouchersService { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//根据id查看优惠券详情 |
|
|
|
@Override |
|
|
|
public Result<?> queryVouchersById(String token, String userVouchersId) { |
|
|
|
//权限验证 |
|
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
|
|
|
|
|
try{ |
|
|
|
MassageVouchersUser vouchersUser = massageVouchersUserService |
|
|
|
.lambdaQuery() |
|
|
|
.eq(MassageVouchersUser::getUserId, hanHaiMember.getId()) |
|
|
|
.eq(MassageVouchersUser::getId, userVouchersId) |
|
|
|
.one(); |
|
|
|
if(null == vouchersUser){ |
|
|
|
return Result.error("优惠券不存在,请检查用户优惠券id:", userVouchersId); |
|
|
|
} |
|
|
|
|
|
|
|
return Result.OK("优惠券详情", vouchersUser); |
|
|
|
}catch (Exception e){ |
|
|
|
e.printStackTrace(); |
|
|
|
return Result.error("优惠券详情获取失败"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//查看可领取优惠券列表 |
|
|
|
@Override |
|
|
|
public Result<?> queryFetchVouchersList(String token) { |
|
|
|
//权限验证 |
|
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
|
|
|
|
|
//返回信息 |
|
|
|
String massege = ""; |
|
|
|
|
|
|
|
try{ |
|
|
|
//获取可领取的优惠券 |
|
|
|
List<MassageVouchers> pageList = massageVouchersService |
|
|
|
.lambdaQuery() |
|
|
|
.eq(MassageVouchers::getIsFetch, "1") |
|
|
|
.gt(MassageVouchers::getValidTime, CommonUtils.getCurrentTime()) |
|
|
|
.orderByDesc(MassageVouchers::getCreateTime) |
|
|
|
.list(); |
|
|
|
|
|
|
|
//获取已领取的优惠券 |
|
|
|
List<MassageVouchersUser> vouchersUserList = massageVouchersUserService |
|
|
|
.lambdaQuery() |
|
|
|
.eq(MassageVouchersUser::getUserId, hanHaiMember.getId()) |
|
|
|
.list(); |
|
|
|
|
|
|
|
//剔除已领取的优惠券信息 |
|
|
|
//查询已领取的优惠券信息 |
|
|
|
List<String> ids = new ArrayList<>(); |
|
|
|
for (MassageVouchers vouchers : pageList) { |
|
|
|
for (MassageVouchersUser massageVouchersUser : vouchersUserList) { |
|
|
|
String vouchersUserId = massageVouchersUser.getVouchersId(); |
|
|
|
if(vouchers.getId().equals(vouchersUserId)){ |
|
|
|
ids.add(vouchersUserId); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
//剔除优惠券信息 |
|
|
|
for (int i = 0; i < pageList.size(); i++) { |
|
|
|
for (String id : ids) { |
|
|
|
if(pageList.get(i).getId().equals(id)){ |
|
|
|
pageList.remove(i); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return Result.OK("优惠券列表", pageList); |
|
|
|
}catch (Exception e){ |
|
|
|
e.printStackTrace(); |
|
|
|
return Result.error("优惠券列表查询失败"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//领取优惠券 |
|
|
|
@Override |
|
|
|
public Result<?> fetchVouchers(String token, String vouchersId) { |
|
|
|
//权限验证 |
|
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
|
|
|
|
|
try{ |
|
|
|
//查看优惠券是否存在 |
|
|
|
MassageVouchers vouchers = massageVouchersService.getById(vouchersId); |
|
|
|
if(null == vouchers){ |
|
|
|
return Result.error("优惠券不存在,请检查优惠券id:"+vouchersId); |
|
|
|
} |
|
|
|
|
|
|
|
//查看用户是否领取过优惠券 |
|
|
|
MassageVouchersUser massageVouchersUser = massageVouchersUserService |
|
|
|
.lambdaQuery() |
|
|
|
.eq(MassageVouchersUser::getVouchersId, vouchersId) |
|
|
|
.eq(MassageVouchersUser::getUserId, hanHaiMember.getId()) |
|
|
|
.one(); |
|
|
|
if(null != massageVouchersUser){ |
|
|
|
return Result.error("已领取过优惠券,不可重复领取"); |
|
|
|
} |
|
|
|
|
|
|
|
//添加用户优惠券信息 |
|
|
|
MassageVouchersUser vouchersUser = new MassageVouchersUser(); |
|
|
|
vouchersUser.setUserId(hanHaiMember.getId()); |
|
|
|
vouchersUser.setVouchersId(vouchers.getId()); |
|
|
|
vouchersUser.setType(vouchers.getType()); |
|
|
|
vouchersUser.setDiscountAmount(vouchers.getAmount()); |
|
|
|
vouchersUser.setStatus("0"); |
|
|
|
vouchersUser.setValidDate(vouchers.getValidTime()); |
|
|
|
boolean result = massageVouchersUserService.save(vouchersUser); |
|
|
|
|
|
|
|
if(result){ |
|
|
|
return Result.error("优惠券领取成功"); |
|
|
|
}else { |
|
|
|
return Result.error("优惠券领取失败"); |
|
|
|
} |
|
|
|
|
|
|
|
}catch (Exception e){ |
|
|
|
e.printStackTrace(); |
|
|
|
return Result.error("优惠券领取失败"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//代金券核销 |
|
|
|
@Override |
|
|
|
public Result<?> useVouchers(String token, String userVouchersId) { |
|
|
|
//权限验证 |
|
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
|
|
|
|
|
try{ |
|
|
|
//查询核销店铺信息 |
|
|
|
MassageShop shop = massageShopService |
|
|
|
.lambdaQuery() |
|
|
|
.eq(MassageShop::getUserId, hanHaiMember.getId()) |
|
|
|
.eq(MassageShop::getStatus, 1) |
|
|
|
.one(); |
|
|
|
if(null == shop){ |
|
|
|
return Result.error("核销失败,用户不存在审核通过的店铺信息"); |
|
|
|
} |
|
|
|
|
|
|
|
//查看代金券是否存在 |
|
|
|
MassageVouchersUser vouchersUser = massageVouchersUserService |
|
|
|
.lambdaQuery() |
|
|
|
.eq(MassageVouchersUser::getId, userVouchersId) |
|
|
|
.eq(MassageVouchersUser::getUserId, hanHaiMember.getId()) |
|
|
|
.eq(MassageVouchersUser::getStatus, "0")//状态为未使用 |
|
|
|
.gt(MassageVouchersUser::getValidDate, CommonUtils.getCurrentTime())//状态为未失效 |
|
|
|
.one(); |
|
|
|
if(null == vouchersUser){ |
|
|
|
return Result.error("代金券不存在或已使用、已失效,请检查代金券id:"+userVouchersId); |
|
|
|
} |
|
|
|
|
|
|
|
//使用优惠券 |
|
|
|
vouchersUser.setStatus("1"); |
|
|
|
vouchersUser.setUseShop(shop.getShop()); |
|
|
|
vouchersUser.setUseTime(CommonUtils.getCurrentTime()); |
|
|
|
boolean result = massageVouchersUserService.updateById(vouchersUser); |
|
|
|
|
|
|
|
if(result){ |
|
|
|
return Result.error("代金券核销成功"); |
|
|
|
}else { |
|
|
|
return Result.error("代金券核销失败"); |
|
|
|
} |
|
|
|
|
|
|
|
}catch (Exception e){ |
|
|
|
e.printStackTrace(); |
|
|
|
return Result.error("代金券核销失败"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//优惠券-可使用门店列表 |
|
|
|
@Override |
|
|
|
public Result<?> queryShopList(PageBean pageBean) { |
|
|
|