|
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapp |
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|
|
|
import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.apache.commons.collections.map.HashedMap; |
|
|
|
import org.apache.commons.lang.StringUtils; |
|
|
|
import org.jeecg.common.api.vo.Result; |
|
|
|
import org.jeecg.config.shiro.ShiroRealm; |
|
|
@ -39,6 +40,7 @@ import javax.annotation.Resource; |
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
@Slf4j |
|
|
|
@Service |
|
|
@ -81,6 +83,128 @@ public class OrderServiceImpl implements OrderService { |
|
|
|
@Resource |
|
|
|
private ITeambuyBalanceLogService teambuyBalanceLogService; |
|
|
|
/******************************************************************************************************************/ |
|
|
|
//查看管理员订单列表 |
|
|
|
@Override |
|
|
|
public Result<?> managerOrderList(String token, TeambuyOrderLeader teambuyOrderLeader, PageBean pageBean) { |
|
|
|
//权限验证 |
|
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
|
//HanHaiMember hanHaiMember = hanHaiMemberService.getById("1919589727643111426"); |
|
|
|
|
|
|
|
//返回信息 |
|
|
|
String massege = ""; |
|
|
|
//分页信息 |
|
|
|
Page<TeambuyOrderLeader> page = null; |
|
|
|
//查询信息 |
|
|
|
LambdaQueryChainWrapper<TeambuyOrderLeader> query = null; |
|
|
|
//返回信息 |
|
|
|
Page<TeambuyOrderLeader> pageList = null; |
|
|
|
|
|
|
|
try{ |
|
|
|
//判断用户是否是管理员 |
|
|
|
if(!"1".equals(hanHaiMember.getIsManager())){ |
|
|
|
return Result.OK("您还不是管理员,请申请成为管理员"); |
|
|
|
} |
|
|
|
|
|
|
|
//分页 |
|
|
|
page = new Page<TeambuyOrderLeader>(pageBean.getPageNo(), pageBean.getPageSize()); |
|
|
|
query = teambuyOrderLeaderService |
|
|
|
.lambdaQuery(); |
|
|
|
|
|
|
|
//组装查询条件 |
|
|
|
if(StringUtils.isNotBlank(teambuyOrderLeader.getTitle())){ |
|
|
|
//订单标题 |
|
|
|
query.like(TeambuyOrderLeader::getId, teambuyOrderLeader.getTitle()); |
|
|
|
} |
|
|
|
if(StringUtils.isNotBlank(teambuyOrderLeader.getId())){ |
|
|
|
//订单编号 |
|
|
|
query.eq(TeambuyOrderLeader::getId, teambuyOrderLeader.getId()); |
|
|
|
} |
|
|
|
if(StringUtils.isNotBlank(teambuyOrderLeader.getStatus())){ |
|
|
|
//订单状态 |
|
|
|
query.eq(TeambuyOrderLeader::getStatus, teambuyOrderLeader.getStatus()); |
|
|
|
} |
|
|
|
// //团餐订单所属 |
|
|
|
// TeambuyTeamLeader leader = teambuyTeamLeaderService |
|
|
|
// .lambdaQuery() |
|
|
|
// .eq(TeambuyTeamLeader::getUserId, hanHaiMember.getId()) |
|
|
|
// .one(); |
|
|
|
// //团长id |
|
|
|
// query.eq(TeambuyOrderLeader::getUserId, leader.getId()); |
|
|
|
//按照创建时间降序排列 |
|
|
|
query.orderByDesc(TeambuyOrderLeader::getCreateTime); |
|
|
|
|
|
|
|
//获取团餐内团员订单信息 |
|
|
|
pageList = query.page(page); |
|
|
|
// if(null == pageList){ |
|
|
|
// return Result.OK("团餐订单列表为空", pageList); |
|
|
|
// } |
|
|
|
// for (TeambuyOrderLeader record : pageList.getRecords()) { |
|
|
|
// List<TeambuyOrderMember> orderMemberList = getOrderMemberList(record.getId()); |
|
|
|
// record.setOrderMemberList(orderMemberList); |
|
|
|
// } |
|
|
|
|
|
|
|
return Result.OK("订单列表", pageList); |
|
|
|
}catch (Exception e){ |
|
|
|
e.printStackTrace(); |
|
|
|
return Result.error("订单列表查询失败"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//管理员批量修改团长订单 |
|
|
|
@Override |
|
|
|
public Result<?> updateOrders(String token, String orderIds) { |
|
|
|
//权限验证 |
|
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
|
//HanHaiMember hanHaiMember = hanHaiMemberService.getById("1919589727643111426"); |
|
|
|
//返回信息 |
|
|
|
String massege = ""; |
|
|
|
|
|
|
|
try{ |
|
|
|
//判断是否为管理员 |
|
|
|
if(!"1".equals(hanHaiMember.getIsManager())){ |
|
|
|
return Result.error("操作失败,您还不是管理员,请申请成为管理员"); |
|
|
|
} |
|
|
|
|
|
|
|
String[] orderIdList = orderIds.split(";"); |
|
|
|
List<TeambuyOrderLeader> leaderList = new ArrayList<>(); |
|
|
|
for (String orderId : orderIdList) { |
|
|
|
TeambuyOrderLeader orderLeader = teambuyOrderLeaderService.getById(orderId); |
|
|
|
int status = Integer.parseInt(orderLeader.getStatus()); |
|
|
|
if(status < 3){ |
|
|
|
status = status + 1; |
|
|
|
}else { |
|
|
|
status = 3; |
|
|
|
//批量完成团长订单时,将团餐订单下的团员订单状态也改为已完成 |
|
|
|
boolean result = teambuyOrderMemberService |
|
|
|
.lambdaUpdate() |
|
|
|
.eq(TeambuyOrderMember::getOrderLeaderId, orderId) |
|
|
|
.set(TeambuyOrderMember::getStatus, "4") |
|
|
|
.update(); |
|
|
|
} |
|
|
|
orderLeader.setStatus(""+status); |
|
|
|
leaderList.add(orderLeader); |
|
|
|
} |
|
|
|
//执行新增操作(不传id进行新增,传了id则进行修改) |
|
|
|
boolean result = teambuyOrderLeaderService.updateBatchById(leaderList); |
|
|
|
|
|
|
|
for (String orderId : orderIdList) { |
|
|
|
//判断关联的团长订单下的团员订单是否均已完成,如果均已完成,则将团长订单修改成已完成 |
|
|
|
finishLeaderOrder(orderId); |
|
|
|
} |
|
|
|
|
|
|
|
//判断是否新增成功 |
|
|
|
if(result){ |
|
|
|
return Result.OK("操作成功"); |
|
|
|
}else { |
|
|
|
return Result.OK("操作失败"); |
|
|
|
} |
|
|
|
|
|
|
|
}catch (Exception e){ |
|
|
|
e.printStackTrace(); |
|
|
|
return Result.error("操作失败"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//查看团餐订单列表 |
|
|
|
@Override |
|
|
|
public Result<?> queryLeaderOrderList(String token, TeambuyOrderLeader teambuyOrderLeader, PageBean pageBean) { |
|
|
@ -103,6 +227,10 @@ public class OrderServiceImpl implements OrderService { |
|
|
|
.lambdaQuery(); |
|
|
|
|
|
|
|
//组装查询条件 |
|
|
|
if(StringUtils.isNotBlank(teambuyOrderLeader.getTitle())){ |
|
|
|
//订单标题 |
|
|
|
query.like(TeambuyOrderLeader::getId, teambuyOrderLeader.getTitle()); |
|
|
|
} |
|
|
|
if(StringUtils.isNotBlank(teambuyOrderLeader.getId())){ |
|
|
|
//订单编号 |
|
|
|
query.eq(TeambuyOrderLeader::getId, teambuyOrderLeader.getId()); |
|
|
@ -342,13 +470,16 @@ public class OrderServiceImpl implements OrderService { |
|
|
|
if(null == orderLeader){ |
|
|
|
return Result.error("该订单不属于该团长,请核对订单编号:"+leaderOrderId); |
|
|
|
} |
|
|
|
//将团餐订单下的团员订单状态改为待取餐 |
|
|
|
//将团餐订单下的团员订单状态改为已完成 |
|
|
|
boolean result = teambuyOrderMemberService |
|
|
|
.lambdaUpdate() |
|
|
|
.eq(TeambuyOrderMember::getOrderLeaderId, leaderOrderId) |
|
|
|
.set(TeambuyOrderMember::getStatus, "4") |
|
|
|
.update(); |
|
|
|
|
|
|
|
//判断关联的团长订单下的团员订单是否均已完成,如果均已完成,则将团长订单修改成已完成 |
|
|
|
finishLeaderOrder(orderLeader.getId()); |
|
|
|
|
|
|
|
//判断是否新增成功 |
|
|
|
if(result){ |
|
|
|
return Result.OK("操作成功"); |
|
|
@ -362,7 +493,7 @@ public class OrderServiceImpl implements OrderService { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//团长通知全体团员取餐 |
|
|
|
//团长通知单个团员取餐 |
|
|
|
@Override |
|
|
|
public Result<?> informOrderOne(String token, String memberOrderId) { |
|
|
|
//权限验证 |
|
|
@ -410,6 +541,10 @@ public class OrderServiceImpl implements OrderService { |
|
|
|
.set(TeambuyOrderMember::getStatus, "4") |
|
|
|
.update(); |
|
|
|
|
|
|
|
//判断关联的团长订单下的团员订单是否均已完成,如果均已完成,则将团长订单修改成已完成 |
|
|
|
TeambuyOrderMember orderMember = teambuyOrderMemberService.getById(memberOrderId); |
|
|
|
finishLeaderOrder(orderMember.getOrderLeaderId()); |
|
|
|
|
|
|
|
//判断是否新增成功 |
|
|
|
if(result){ |
|
|
|
return Result.OK("操作成功"); |
|
|
@ -482,7 +617,7 @@ public class OrderServiceImpl implements OrderService { |
|
|
|
public Result<?> finishMemberOrderById(String token, String memberOrderId) { |
|
|
|
//权限验证 |
|
|
|
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); |
|
|
|
//HanHaiMember hanHaiMember = hanHaiMemberService.getById("1898983659468853250"); |
|
|
|
//HanHaiMember hanHaiMember = hanHaiMemberService.getById("1919589727643111426"); |
|
|
|
//返回信息 |
|
|
|
String massege = ""; |
|
|
|
|
|
|
@ -500,6 +635,9 @@ public class OrderServiceImpl implements OrderService { |
|
|
|
teambuyOrderMember.setStatus("4"); |
|
|
|
boolean result = teambuyOrderMemberService.updateById(teambuyOrderMember); |
|
|
|
|
|
|
|
//判断关联的团长订单下的团员订单是否均已完成,如果均已完成,则将团长订单修改成已完成 |
|
|
|
finishLeaderOrder(teambuyOrderMember.getOrderLeaderId()); |
|
|
|
|
|
|
|
//判断是否新增成功 |
|
|
|
if(result){ |
|
|
|
return Result.OK("操作成功"); |
|
|
@ -513,6 +651,57 @@ public class OrderServiceImpl implements OrderService { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void finishLeaderOrder(String leaderOrderId){ |
|
|
|
//判断关联的团长订单下的团员订单是否均已完成,如果均已完成,则将团长订单修改成已完成 |
|
|
|
List<TeambuyOrderMember> memberList = teambuyOrderMemberService |
|
|
|
.lambdaQuery() |
|
|
|
.eq(TeambuyOrderMember::getOrderLeaderId, leaderOrderId) |
|
|
|
.list(); |
|
|
|
boolean finishFlag = true; |
|
|
|
for (TeambuyOrderMember member : memberList) { |
|
|
|
if(!"4".equals(member.getStatus())){ |
|
|
|
finishFlag = false; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
//团长订单下的团员订单均已完成 |
|
|
|
if(finishFlag){ |
|
|
|
//将团长订单改成已完成状态 |
|
|
|
TeambuyOrderLeader orderLeader = teambuyOrderLeaderService.getById(leaderOrderId); |
|
|
|
orderLeader.setStatus("3"); |
|
|
|
teambuyOrderLeaderService.updateById(orderLeader); |
|
|
|
|
|
|
|
//增加团长佣金、订单数量 |
|
|
|
TeambuyTeamLeader leader = teambuyTeamLeaderService.getById(orderLeader.getUserId());//获取团长当前信息 |
|
|
|
HanHaiMember member = hanHaiMemberService.getById(leader.getUserId());//获取团长用户信息 |
|
|
|
TeambuyLevel teambuyLevel = teambuyLevelService.getById(member.getLeaderLevelId());//获取团长当前佣金等级金额 |
|
|
|
BigDecimal balance = member.getBalance().add(teambuyLevel.getAmount());//增加佣金 |
|
|
|
int orderNum = member.getOrderNum() + 1; |
|
|
|
member.setBalance(balance);//增加佣金 |
|
|
|
member.setOrderNum(orderNum);//增加订单数量 |
|
|
|
|
|
|
|
//判断团长等级是否进入下一级 |
|
|
|
List<TeambuyLevel> levelList = teambuyLevelService |
|
|
|
.lambdaQuery() |
|
|
|
.orderByAsc(TeambuyLevel::getLevelNo) |
|
|
|
.list(); |
|
|
|
int level = 0; |
|
|
|
Map<Integer, String > map = new HashedMap(); |
|
|
|
for (TeambuyLevel teambuyLevel1 : levelList) { |
|
|
|
map.put(teambuyLevel1.getLevelNo(), teambuyLevel1.getId()); |
|
|
|
if(teambuyLevel1.getOrderNum() < member.getOrderNum()){ |
|
|
|
level = teambuyLevel1.getLevelNo(); |
|
|
|
} |
|
|
|
} |
|
|
|
if(teambuyLevel.getLevelNo() < level){ |
|
|
|
member.setLeaderLevelId(map.get(level)); |
|
|
|
} |
|
|
|
|
|
|
|
hanHaiMemberService.updateById(member); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// //创建订单 |
|
|
|
// @Override |
|
|
|
// public Result<?> createOrder(String token, TeambuyOrderMember teambuyOrderMember, String payType) { |
|
|
|