调整订单,添加字段赋值

This commit is contained in:
曹磊 2024-07-01 14:05:44 +08:00
parent 3bf76788c2
commit 3685685d56
15 changed files with 854 additions and 416 deletions

View File

@ -96,22 +96,22 @@ public class UserMoneyServiceImpl extends ServiceImpl<UserMoneyDao, UserMoney> i
// }
//技师获得打赏
UserEntity userEntity = userService.queryByUserId(userId);
updateMoney(1, artificerId, money.doubleValue());
UserMoney userNowMoney2 = selectUserMoneyByUserId(artificerId);
UserEntity userEntity = userService.queryByUserId(artificer.getUserId());
updateMoney(1, userEntity.getUserId(), money.doubleValue());
UserMoney userNowMoney2 = selectUserMoneyByUserId(userEntity.getUserId());
UserMoneyDetails userMoneyDetails2 = new UserMoneyDetails();
userMoneyDetails2.setBalance(userNowMoney2.getMoney());
userMoneyDetails2.setClassify(8);
userMoneyDetails2.setManipulateType(2);
userMoneyDetails2.setUserId(artificerId);
userMoneyDetails2.setUserId(userEntity.getUserId());
userMoneyDetails2.setTitle("用户钱包打赏");
userMoneyDetails2.setContent("来自用户“"+userEntity.getUserName()+"”钱包打赏:"+money);
userMoneyDetails2.setType(1);
userMoneyDetails2.setState(2);
userMoneyDetails2.setMoney(money);
userMoneyDetails2.setCreateTime(sdf.format(new Date()));
userMoneyDetails.setBlRole(2);
userMoneyDetails.setBlFlag(1);
userMoneyDetails2.setBlRole(2);
userMoneyDetails2.setBlFlag(1);
userMoneyDetailsDao.insert(userMoneyDetails2);
return Result.success();

View File

@ -220,19 +220,27 @@ public class AppArtificerController {
return ordersService.updateOrders(orders);
}
@Login
@GetMapping("/selectOrdersList")
@ApiOperation("查询订单列表")
public Result selectOrdersList(@RequestAttribute("userId") Long userId,Integer page,Integer limit,Integer status,String city,
String userName,String phone,Long artificerId,Long parentId,String startTime,String endTime,
Integer isAdd,String ordersNo,String artificerName,
public Result selectOrdersList(Long userId,Integer page,Integer limit,Integer status,String city,
String name,String phone,Long artificerId,Long parentId,String startTime,
String endTime,Integer isAdd,String ordersNo,String artificerName,
String oneUserName,String oneArtificerUserName,
String startServeTime,String endServeTime,Integer overTimeOrders,
Long shopId,String shopName,Integer warning,String title,String classifyId, Long userPackageId){
return ordersService.selectOrdersList(userId, page, limit, status, city, userName, phone, artificerId,
parentId, startTime, endTime, isAdd, ordersNo, artificerName, oneUserName, oneArtificerUserName,
startServeTime, endServeTime,overTimeOrders,shopId,shopName,warning,title,classifyId, userPackageId);
String startServeTime,String endServeTime,Integer overTimeOrders,Long shopId,
String shopName,Integer warning,String title,String classifyId, Long userPackageId){
return ordersService.selectOrdersList(userId, page, limit, status, city, name, phone,
artificerId, parentId, startTime, endTime, isAdd, ordersNo, artificerName,
oneUserName, oneArtificerUserName, startServeTime, endServeTime,overTimeOrders,shopId,shopName,warning,title,classifyId, userPackageId);
}
@Login
@GetMapping("/selectAppOrdersList")
@ApiOperation("查询订单列表")
public Result selectAppOrdersList(@RequestAttribute("userId") Long userId,
Integer page,Integer limit,
Integer status,Long userPackageId){
return ordersService.selectAppOrdersList(userId, page, limit, status, userPackageId);
}
@Login

View File

@ -26,7 +26,9 @@ public interface OrdersDao extends BaseMapper<Orders> {
@Param("endTime") String endTime,@Param("isAdd") Integer isAdd,String ordersNo,String artificerName,
String oneUserName,String oneArtificerUserName,
String startServeTime,String endServeTime,Integer overTimeOrders,Long shopId,String shopName,Integer warning,
String title,String classifyId,Long userPackageId);
String title,String classifyId,@Param("userPackageId")Long userPackageId);
IPage<Orders> selectAppOrdersList(Page<Orders> page,@Param("userId") Long userId,@Param("status") Integer status,@Param("userPackageId") Long userPackageId);
List<Orders> excelOrdersList(@Param("userId") Long userId,@Param("status") Integer status,
@Param("city") String city,@Param("userName") String userName,@Param("phone") String phone,
@ -52,7 +54,7 @@ public interface OrdersDao extends BaseMapper<Orders> {
int selectCountOrderByUserId(Long userId,Integer status,String time);
IPage<Orders> selectTodayOrder(Page<Orders> pages,@Param("artificerId") Long artificerId,@Param("type") Integer type,@Param("startTime") String startTime,@Param("endTime") String endTime);
IPage<Orders> selectTodayOrder(Page<Orders> pages,@Param("artificerId") Long artificerId,@Param("type") Integer type,@Param("startTime") String startTime,@Param("endTime") String endTime,@Param("minutes") Integer minutes);
IPage<Orders> selectArtificerOrder(Page<Orders> pages, Long userId, Integer status);
@ -132,4 +134,6 @@ public interface OrdersDao extends BaseMapper<Orders> {
List<Orders> getDdczList(Long userId, String startTime, String endTime);
List<Orders> getZxscList(Long userId, String startTime, String endTime);
List<Orders> getParentOrders(Long parentId);
}

View File

@ -76,6 +76,18 @@ public class Orders implements Serializable {
*/
private BigDecimal payMoney;
/**
* 实付总金额
*/
@TableField(exist = false)
private BigDecimal payMoneyTotal;
/**
* 技师获取总金额
*/
@TableField(exist = false)
private BigDecimal artificerMoneyTotal;
/**
* 服务费用
*/
@ -359,6 +371,10 @@ public class Orders implements Serializable {
*/
private BigDecimal oldMassageMoney;
/**
* 原技师金额
*/
private BigDecimal oldArtificerMoney;
/**
* 技师完成服务承诺 多个按照逗号分割
@ -408,12 +424,23 @@ public class Orders implements Serializable {
*/
private Integer oldMassageDuration;
/**
* 取消描述
*/
private String cancelRemark;
/**
* 用户钱包支付技师提成百分比
*/
private BigDecimal walletRate;
/**
* 项目名称
*/
private String entryName;
@TableField(exist = false)
private List<OrdersMassage> ordersMassageList;
@TableField(exist = false)
private List<OrdersMassage> oldOrdersMassageList;
@TableField(exist = false)
private Artificer artificer;
@ -489,5 +516,8 @@ public class Orders implements Serializable {
@TableField(exist = false)
private List<CouponUser> couponUserList;
@TableField(exist = false)
private Integer isCanSupplement;
public Orders() {}
}

View File

@ -35,6 +35,8 @@ public interface OrdersService extends IService<Orders> {
String startServeTime,String endServeTime,Integer overTimeOrders,Long shopId,
String shopName,Integer warning,String title,String classifyId, Long userPackageId);
Result selectAppOrdersList(Long userId,Integer page,Integer limit,Integer status,Long userPackageId);
ExcelData excelOrdersList(Long userId,Integer status,String city,
String name,String phone,Long artificerId,Long parentId,String startTime,
String endTime,Integer isAdd,String ordersNo,String artificerName,

View File

@ -365,6 +365,19 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
if (orders.getParentId() != null && orders.getParentId() != 0) {
orders.setAddTime(massageType.getDuration());
List<Orders> parentList = baseMapper.getParentOrders(orders.getParentId());
if(parentList.size()>0){
for(Orders parentOrder : parentList){
if(parentOrder.getStatus()==1 || parentOrder.getStatus()==4){
baseMapper.deleteById(parentOrder.getOrdersId());
ordersMassageService.removeByOrdersId(parentOrder.getOrdersId());
}
}
}
parentList = baseMapper.getParentOrders(orders.getParentId());
if(parentList.size()>0){
return Result.error("当前订单已有加钟订单,无法继续加钟!");
}
}
orders.setMassageTypeId(massageType.getMassageTypeId());
}
@ -1014,8 +1027,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
orders.setArtificerRate(artificer.getRate());
orders.setSumMoney(orders.getPayMoney().setScale(2, BigDecimal.ROUND_HALF_UP));
orders.setIsSupplement(1);
orders.setOldMassageMoney(oldOrders.getMassageMoney());
orders.setOldOrdersId(oldOrders.getOrdersId());
orders.setTechnicianType(artificer.getTechnicianType());
orders.setVipRate(oldOrders.getVipRate());
orders.setMassagePrice(oldOrders.getMassagePrice());
@ -1024,6 +1036,17 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
orders.setPrice(oldOrders.getPrice());
orders.setCouponMoney(oldOrders.getCouponMoney());
orders.setTechnicianRate(oldOrders.getTechnicianRate());
orders.setDuration(oldOrders.getDuration());
orders.setOldOrdersId(oldOrders.getOrdersId());
orders.setOldMassageMoney(oldOrders.getPayMoney());
orders.setOldMassageTypeId(oldOrders.getMassageTypeId());
orders.setOldEntryName(oldOrders.getEntryName());
orders.setOldMassagePrice(oldOrders.getMassagePrice());
orders.setOldMassageNum(oldOrders.getMassageNum());
orders.setOldMassageDuration(oldOrders.getDuration());
orders.setOldArtificerMoney(oldOrders.getArtificerMoney());
baseMapper.insert(orders);
ordersMassageService.removeByOrdersId(orders.getOrdersId());
@ -1121,12 +1144,13 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
orders.setEndTime(oldOrders.getEndTime());
orders.setStartImg(oldOrders.getStartImg());
orders.setOldOrdersId(oldOrders.getOrdersId());
orders.setOldMassageMoney(oldOrders.getMassageMoney());
orders.setOldMassageMoney(oldOrders.getPayMoney());
orders.setOldMassageTypeId(oldOrders.getMassageTypeId());
orders.setOldEntryName(oldOrders.getEntryName());
orders.setOldMassagePrice(oldOrders.getMassagePrice());
orders.setOldMassageNum(oldOrders.getMassageNum());
orders.setOldMassageDuration(oldOrders.getDuration());
orders.setOldArtificerMoney(oldOrders.getArtificerMoney());
//获取用户VIP的优惠信息
BigDecimal vipRate = new BigDecimal(100);
@ -1693,6 +1717,9 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
massageTypeId = ordersMassageList.get(0).getMassageId();
massageType = massageTypeService.getById(massageTypeId);
for (OrdersMassage ordersMassage : ordersMassageList) {
orders.setMassagePrice(massageType.getPrice());
orders.setDuration(massageType.getDuration());
orders.setMassageNum(ordersMassage.getNum());
price = massageType.getPrice().multiply(BigDecimal.valueOf(ordersMassage.getNum()));
}
orders.setMassageTypeId(massageTypeId);
@ -1918,8 +1945,13 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
}
orders.setCreateTime(DateUtils.format(new Date()));
orders.setSumMoney(orders.getPayMoney().setScale(2, BigDecimal.ROUND_HALF_UP));
orders.setOldMassageMoney(oldOrders.getMassageMoney());
orders.setOldOrdersId(oldOrders.getOrdersId());
orders.setOldMassageMoney(oldOrders.getPayMoney());
orders.setOldMassageTypeId(oldOrders.getMassageTypeId());
orders.setOldEntryName(oldOrders.getEntryName());
orders.setOldMassagePrice(oldOrders.getMassagePrice());
orders.setOldMassageNum(oldOrders.getMassageNum());
orders.setOldMassageDuration(oldOrders.getDuration());
orders.setCouponName(oldOrders.getCouponName());
orders.setCouponMoney(oldOrders.getCouponMoney());
//保存订单
@ -1977,6 +2009,36 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
return Result.error("订单已经取消了!");
} else if (orders.getStatus() == 3 || orders.getStatus() == 5) {
return Result.error("订单已经完成了,无法取消!");
}else if (orders.getStatus() == 6) {
if(orders.getOldOrdersId() != null && orders.getOldOrdersId() != 0){
return Result.error("项目升级之后,无法取消!");
}
if(orders.getParentId() != null && orders.getParentId() != 0){
return Result.error("项目加钟之后,无法取消!");
}
}
switch (orders.getStatus()){
case 1:
orders.setCancelRemark("未支付-手动");
break;
case 2:
orders.setCancelRemark("待服务-手动");
break;
case 6:
orders.setCancelRemark("进行中-手动");
break;
case 7:
orders.setCancelRemark("已出发-手动");
break;
case 8:
orders.setCancelRemark("已到达-手动");
break;
case 9:
orders.setCancelRemark("待接单-手动");
break;
case 10:
orders.setCancelRemark("待补单-手动");
break;
}
//按时间扣款获取扣款金额
CommonInfo commonInfo = commonInfoService.isCheckChangeOrder(DateUtils.stringToDate(orders.getServeTime(),"yyyy-MM-dd HH:mm") ,new Date());
@ -2053,6 +2115,9 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
}else{
massageMoneyDeduction = massageDeduction;
}
if(orders.getPayMoney().subtract(orders.getTaxiMoney()).compareTo(massageDeduction) < 0){
massageMoneyDeduction = orders.getPayMoney().subtract(orders.getTaxiMoney());
}
//车费扣款
BigDecimal taxiMoneyDeduction = BigDecimal.ZERO;
if(trafficRate.compareTo(BigDecimal.ZERO) == 0){
@ -2060,21 +2125,30 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
}else{
taxiMoneyDeduction = trafficDeduction;
}
if(orders.getTaxiMoney().compareTo(taxiMoneyDeduction) < 0){
taxiMoneyDeduction = orders.getTaxiMoney();
}
//项目总扣款数
BigDecimal rate = massageMoneyDeduction;
//退款金额
BigDecimal userMoney = orders.getPayMoney().subtract(rate).subtract(taxiMoneyDeduction);
if(userMoney.compareTo(BigDecimal.ZERO) < 0 ){
userMoney = BigDecimal.ZERO;
}
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
if (orders.getPayWay() == 1 || orders.getPayWay() == 2 || orders.getPayWay() == 3 || orders.getPayWay() == 4) {
if(userMoney.compareTo(BigDecimal.ZERO) > 0){
boolean refund = wxService.refund(orders.getOrdersNo(), orders.getPayMoney(), userMoney, orders.getPayWay());
if (!refund) {
return Result.error("退款失败,请联系客服!");
}
}
userMoneyDetails.setManipulateType(1);
userMoneyDetails.setBlFlag(2);
} else if (orders.getPayWay() == 6) {
if(userMoney.compareTo(BigDecimal.ZERO) > 0) {
String data = aliPayController.alipayRefund(orders.getOrdersNo(), userMoney);
if (StringUtils.isNotBlank(data)) {
log.error(data);
@ -2087,6 +2161,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
} else {
return Result.error("退款失败!");
}
}
userMoneyDetails.setManipulateType(1);
userMoneyDetails.setBlFlag(2);
} else {
@ -2095,7 +2170,9 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
//
// userMoneyArtificerService.updateMoney(1, orders.getUserId(), orders.getArtificerId(), userMoney.doubleValue());
// } else {
if(userMoney.compareTo(BigDecimal.ZERO) > 0) {
userMoneyService.updateMoney(1, orders.getUserId(), userMoney.doubleValue());
}
// }
//查询用户当前余额
UserMoney userNowMoney = userMoneyService.selectUserMoneyByUserId(orders.getUserId());
@ -2117,6 +2194,8 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
userMoneyDetails.setBlRole(1);
userMoneyDetailsService.save(userMoneyDetails);
if(orders.getSumArtificerMoney().compareTo(BigDecimal.ZERO) > 0){
//按照比例 将扣除的钱进行分佣
BigDecimal taxiMoney = taxiMoneyDeduction;
BigDecimal sumMoney = rate.add(taxiMoneyDeduction);//总扣费
@ -2320,11 +2399,11 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
userMoneyDetails.setManipulateType(1);
userMoneyDetails.setBlFlag(2);
} else {
// if (orders1.getUserArtificerMoney() != null && orders1.getUserArtificerMoney() == 1) {
// userMoneyArtificerService.updateMoney(1, orders1.getUserId(), orders1.getArtificerId(), orders1.getPayMoney().doubleValue());
// } else {
// if (orders1.getUserArtificerMoney() != null && orders1.getUserArtificerMoney() == 1) {
// userMoneyArtificerService.updateMoney(1, orders1.getUserId(), orders1.getArtificerId(), orders1.getPayMoney().doubleValue());
// } else {
userMoneyService.updateMoney(1, orders1.getUserId(), orders1.getPayMoney().doubleValue());
// }
// }
//查询用户当前余额
UserMoney userNowMoney6 = userMoneyService.selectUserMoneyByUserId(orders1.getUserId());
//插入余额
@ -2369,7 +2448,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
artificerService.updateById(artificer2);
messageService.saveBody(messageInfo);
}
}
UserEntity userEntity = userService.selectUserById(orders.getUserId());
@ -2493,6 +2572,8 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
userMoneyDetails.setBlRole(1);
userMoneyDetailsService.save(userMoneyDetails);
if(orders.getSumArtificerMoney().compareTo(BigDecimal.ZERO)>0){
//按照比例 将扣除的钱进行分佣
BigDecimal taxiMoney = taxiMoneyDeduction;
BigDecimal sumMoney = taxiMoneyDeduction;//总扣费
@ -2611,7 +2692,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
artificerService.updateById(artificer2);
messageService.saveBody(messageInfo);
}
}
UserEntity userEntity = userService.selectUserById(orders.getUserId());
@ -2798,9 +2879,17 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
data.put("time14", new TemplateMessageItem(DateUtils.format(new Date()), "#d71345"));
userService.sendWxMessage(apkey, data, userEntity.getWxOpenId());
}
}
if(isAuto == 1){
Integer minutes = Integer.valueOf(commonInfoService.findOne(452).getValue());
String serveTime = orders.getServeTime();
Date serveTimeDate = DateUtils.stringToDate(serveTime,"yyyy-MM-dd HH:mm");
serveTimeDate = DateUtils.addDateMinutes(serveTimeDate,minutes);
Date currentDate = new Date();
if(currentDate.getTime()>serveTimeDate.getTime()){
}else{
return Result.error("当前单据不满足待补单条件!");
}
//按照比例 将扣除的车费钱
BigDecimal taxiMoney = orders.getTaxiMoney();
BigDecimal sumMoney = orders.getTaxiMoney();//总扣费
@ -2854,9 +2943,13 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
baseMapper.updateById(orders);
cancelSupplementOrders(userId, orders.getOldOrdersId(), isAuto, 1);//退原单原单的车费已被退/所以只退项目
}else{
BigDecimal taxiMoney = orders.getTaxiMoney();
BigDecimal artificerMoney = orders.getArtificerMoney().subtract(taxiMoney);
orders.setRefusalContent("");
orders.setTaxiMoney(BigDecimal.ZERO);
orders.setStatus(10);
orders.setArtificerMoney(artificerMoney);
orders.setSumArtificerMoney(artificerMoney);
baseMapper.updateById(orders);
}
}
@ -3632,12 +3725,27 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
@Override
public Result selectOrdersDetails(Long ordersId) {
Integer minutes = Integer.valueOf(commonInfoService.findOne(452).getValue());
Orders orders = baseMapper.selectById(ordersId);
String serveTime = orders.getServeTime();
Date serveTimeDate = DateUtils.stringToDate(serveTime,"yyyy-MM-dd HH:mm");
serveTimeDate = DateUtils.addDateMinutes(serveTimeDate,minutes);
Date currentDate = new Date();
if(currentDate.getTime()>serveTimeDate.getTime()){
orders.setIsCanSupplement(1);
}else{
orders.setIsCanSupplement(0);
}
List<OrdersMassage> ordersMassageList = ordersMassageService.list(new QueryWrapper<OrdersMassage>().eq("orders_id", ordersId));
for (OrdersMassage ordersMassage : ordersMassageList) {
ordersMassage.setMassageType(massageTypeService.getById(ordersMassage.getMassageId()));
}
orders.setOrdersMassageList(ordersMassageList);
List<OrdersMassage> oldOrdersMassageList = ordersMassageService.list(new QueryWrapper<OrdersMassage>().eq("orders_id", orders.getOldOrdersId()));
for (OrdersMassage ordersMassage : oldOrdersMassageList) {
ordersMassage.setMassageType(massageTypeService.getById(ordersMassage.getMassageId()));
}
orders.setOldOrdersMassageList(oldOrdersMassageList);
Artificer artificer = artificerService.getById(orders.getArtificerId());
if (artificer != null) {
UserEntity userEntity = userService.selectUserById(artificer.getUserId());
@ -3646,31 +3754,33 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
}
orders.setArtificer(artificer);
}
orders.setPayMoneyTotal(orders.getPayMoney());
orders.setArtificerMoneyTotal(orders.getArtificerMoney());
if(orders.getPayMoneyTotal() == null){
orders.setPayMoneyTotal(BigDecimal.ZERO);
}
if(orders.getArtificerMoneyTotal() == null){
orders.setArtificerMoneyTotal(BigDecimal.ZERO);
}
//获取是否有加钟订单
if(orders.getAddNum()!=null){
QueryWrapper<Orders> ordersQueryWrapper = new QueryWrapper<Orders>();
ordersQueryWrapper.eq("parent_id",orders.getOrdersId());
ordersQueryWrapper.ne("status",4);
Orders jzOrder = baseMapper.selectOne(ordersQueryWrapper);
orders.setJzName(jzOrder.getEntryName());
orders.setPayMoneyTotal(orders.getPayMoneyTotal().add(orders.getAddMoney()));
orders.setArtificerMoneyTotal(orders.getArtificerMoneyTotal().add(orders.getAddArtificerMoney()));
}
//获取是否有改价订单
if(orders.getIsSupplement()!=null){
if(orders.getOldOrdersId()!=null){
QueryWrapper<Orders> ordersQueryWrapper = new QueryWrapper<Orders>();
ordersQueryWrapper.eq("old_orders_id",orders.getOldOrdersId());
ordersQueryWrapper.eq("orders_id",orders.getOldOrdersId());
ordersQueryWrapper.ne("status",4);
Orders jzOrder = baseMapper.selectOne(ordersQueryWrapper);
orders.setGjName(jzOrder.getEntryName());
BigDecimal massageMoney = orders.getMassageMoney();
BigDecimal payMoney = jzOrder.getPayMoney();
if(massageMoney == null){
massageMoney = BigDecimal.ZERO;
List<Orders> list = baseMapper.selectList(ordersQueryWrapper);
if(list!=null && list.size()>0) {
for(Orders vo : list){
BigDecimal payMoney = vo.getPayMoney();
BigDecimal artificerMoney = vo.getArtificerMoney();
orders.setPayMoneyTotal(orders.getPayMoneyTotal().add(payMoney));
orders.setArtificerMoneyTotal(orders.getArtificerMoneyTotal().add(artificerMoney));
}
if(payMoney == null){
payMoney = BigDecimal.ZERO;
}
orders.setGjPrice(payMoney.add(massageMoney));
orders.setGjcePrice(jzOrder.getPayMoney());
}
return Result.success().put("data", orders);
}
@ -3704,6 +3814,28 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
return Result.success().put("data", new PageUtils(ordersIPage));
}
@Override
public Result selectAppOrdersList(Long userId, Integer page, Integer limit, Integer status, Long userPackageId) {
Page<Orders> pages = new Page<>(page, limit);
IPage<Orders> ordersIPage = baseMapper.selectAppOrdersList(pages, userId, status, userPackageId);
List<Orders> records = ordersIPage.getRecords();
for (Orders orders : records) {
List<OrdersMassage> ordersMassageList = ordersMassageService.list(new QueryWrapper<OrdersMassage>().eq("orders_id", orders.getOrdersId()));
for (OrdersMassage ordersMassage : ordersMassageList) {
MassageType massageType = massageTypeService.getById(ordersMassage.getMassageId());
ordersMassage.setMassageType(massageType);
if (massageType != null) {
SysDictEntity sysDictEntity = sysDictService.getById(massageType.getClassifyId());
if (sysDictEntity != null) {
massageType.setClassifyName(sysDictEntity.getValue());
}
}
}
orders.setOrdersMassageList(ordersMassageList);
}
return Result.success().put("data", new PageUtils(ordersIPage));
}
@Override
public ExcelData excelOrdersList(Long userId, Integer status, String city,
String name, String phone, Long artificerId, Long parentId, String startTime,
@ -3999,14 +4131,17 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
}else{
orders.setStatus(9);//用户已支付技师待接单
}
}else{
if(orders.getParentId()!=null && orders.getParentId()!=0){
orders.setStatus(6);
}else{
orders.setStatus(9);//用户已支付技师待接单
}
}
orders.setPayWay(5);
orders.setPayTime(simpleDateFormat.format(new Date()));
BigDecimal pingMoney = orders.getPayMoney();
UserEntity user = userService.selectUserById(orders.getUserId());
UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode());
BigDecimal oneUserMoney = BigDecimal.ZERO;
@ -4017,7 +4152,6 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
}
Artificer artificer = artificerService.getById(orders.getArtificerId());
UserEntity artificerUser = userService.selectUserById(artificer.getUserId());
UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode());
BigDecimal oneArtificerMoney = BigDecimal.ZERO;
@ -4042,10 +4176,13 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
}
BigDecimal rate = new BigDecimal(commonInfoService.findOne(449).getValue());
orders.setWalletRate(rate);
rate = rate.divide(new BigDecimal(100));
BigDecimal storageRate = BigDecimal.ONE.subtract(rate);
//钱包支付技师提成
BigDecimal taxiMoney = orders.getTaxiMoney();
BigDecimal artificerPrice = BigDecimal.ZERO;
BigDecimal valueStorageDeduction = BigDecimal.ZERO;
//查询是否计算出租车扣费
String taxi = commonInfoService.findOne(394).getValue();
//计算技师出租车收益按照技师表收益计算
@ -4065,16 +4202,28 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
orders.setArtificerTaxiMoney(orders.getTaxiMoney());
//设置出租车扣款为0
orders.setPingTaxiMoney(BigDecimal.ZERO);
BigDecimal subtract = BigDecimal.ZERO;
//用户支付减去通行费用
BigDecimal subtract = orders.getPayMoney().subtract(taxiMoney);
if(orders.getIsSupplement()!=null && orders.getIsSupplement() == 2){
subtract = orders.getPayMoney();
}else{
subtract = orders.getPayMoney().subtract(taxiMoney);
}
//计算用户收益 计算前先减去通行费用再计算技师抽成
artificerPrice = subtract.multiply(artificer.getRate());
//储值扣费
valueStorageDeduction = artificerPrice.multiply(storageRate);
//用户收益加上通行费用
if(orders.getIsSupplement()!=null && orders.getIsSupplement() == 2){
artificerPrice = artificerPrice.multiply(rate);
}else{
artificerPrice = artificerPrice.multiply(rate).add(taxiMoney);
}
}
orders.setProjectBenefits(orders.getProjectBenefits().multiply(rate));
orders.setArtificerMoney(artificerPrice);
orders.setSumArtificerMoney(orders.getArtificerMoney());
orders.setValueStorageDeduction(valueStorageDeduction);
pingMoney = pingMoney.subtract(orders.getArtificerMoney());
pingMoney = pingMoney.subtract(oneUserMoney);
@ -4115,7 +4264,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
orders1.setAddArtificerMoney(orders.getArtificerMoney());
}
orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney()));
orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().multiply(rate).add(orders.getArtificerMoney()));
orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney()));
pingMoney = orders1.getSumMoney();
oneUserMoney = BigDecimal.ZERO;
@ -4294,7 +4443,21 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
userMoneyDetailsService.save(userMoneyDetails);
// }
if(orders.getIsSupplement() != null){
if(orders.getIsSupplement() == 2){
orders.setStatus(6);
}else if(orders.getIsSupplement() == 3){
orders.setStatus(2);
}else{
orders.setStatus(9);//用户已支付技师待接单
}
}else{
if(orders.getParentId()!=null && orders.getParentId()!=0){
orders.setStatus(6);
}else{
orders.setStatus(9);//用户已支付技师待接单
}
}
orders.setPayWay(5);
orders.setPayTime(simpleDateFormat.format(new Date()));
@ -4331,6 +4494,46 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
}
}
BigDecimal rate = new BigDecimal(commonInfoService.findOne(449).getValue());
orders.setWalletRate(rate);
rate = rate.divide(new BigDecimal(100));
BigDecimal storageRate = BigDecimal.ONE.subtract(rate);
BigDecimal taxiMoney = orders.getTaxiMoney();
BigDecimal artificerPrice = BigDecimal.ZERO;
BigDecimal valueStorageDeduction = BigDecimal.ZERO;
//查询是否计算出租车扣费
String taxi = commonInfoService.findOne(394).getValue();
//计算技师出租车收益按照技师表收益计算
if ("".equals(taxi)) {
//计算技师应该收取的出租车费用
BigDecimal artificerTaxiMoney = taxiMoney.multiply(artificer.getRate());
//计算出租车扣款
BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiMoney);
//赋值技师出租收款
orders.setArtificerTaxiMoney(artificerTaxiMoney);
//赋值出租车扣款
orders.setPingTaxiMoney(pingTaxiMoney);
//赋值技师收益
artificerPrice = orders.getPayMoney().multiply(artificer.getRate()).multiply(rate);
} else {
//平台不扣费 出租车收益全由技师收取
orders.setArtificerTaxiMoney(orders.getTaxiMoney());
//设置出租车扣款为0
orders.setPingTaxiMoney(BigDecimal.ZERO);
//用户支付减去通行费用
BigDecimal subtract = orders.getPayMoney().subtract(taxiMoney);
//计算用户收益 计算前先减去通行费用再计算技师抽成
artificerPrice = subtract.multiply(artificer.getRate());
//储值扣费
valueStorageDeduction = artificerPrice.multiply(storageRate);
//用户收益加上通行费用
artificerPrice = artificerPrice.multiply(rate).add(taxiMoney);
}
orders.setProjectBenefits(orders.getProjectBenefits().multiply(rate));
orders.setArtificerMoney(artificerPrice);
orders.setSumArtificerMoney(orders.getArtificerMoney());
orders.setValueStorageDeduction(valueStorageDeduction);
pingMoney = pingMoney.subtract(orders.getArtificerMoney());
pingMoney = pingMoney.subtract(oneUserMoney);
pingMoney = pingMoney.subtract(shopMoney);
@ -4788,6 +4991,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
//修改订单下所有加钟的状态为待评价
UpdateWrapper<Orders> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("parent_id", orders.getOrdersId());
updateWrapper.notIn("status", "1,4");
Orders orders2 = new Orders();
orders2.setStatus(3);
baseMapper.update(orders2,updateWrapper);
@ -5217,8 +5421,15 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
@Override
public Result selectTodayOrder(Long artificerId, Integer page, Integer limit, Integer type, String startTime, String endTime) {
Integer minutes = Integer.valueOf(commonInfoService.findOne(452).getValue());
if(page == null){
page = 1;
}
if(limit == null){
limit = 10;
}
Page<Orders> pages = new Page<>(page, limit);
PageUtils pageUtils = new PageUtils(ordersDao.selectTodayOrder(pages, artificerId, type, startTime, endTime));
PageUtils pageUtils = new PageUtils(ordersDao.selectTodayOrder(pages, artificerId, type, startTime, endTime,minutes));
return Result.success().put("data", pageUtils);
}
@ -5585,6 +5796,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
List<Orders> ordersList = baseMapper.selectOrdersStatusByTime(value1);
for (Orders orders : ordersList) {
orders.setStatus(4);
orders.setCancelRemark("未支付-系统");
baseMapper.updateById(orders);
artificerTimeService.remove(new QueryWrapper<ArtificerTime>().eq("orders_id", orders.getOrdersId()));
if (orders.getCouponId() != null && orders.getOldOrdersId()==null) {

View File

@ -251,7 +251,7 @@ public class UserPackageOrderServiceImpl extends ServiceImpl<UserPackageOrderDao
upo.setCouponName(couponUser.getCouponName());
upo.setCouponMoney(couponUser.getMoney());
baseMapper.insertCoupon(upo);
//更新用户代金
//更新用户代金
couponUserService.update(Wrappers.<CouponUser>lambdaUpdate().eq(CouponUser::getId, couponUser.getId()).set(CouponUser::getStatus, 1));
}
userPackageOrder.setCouponUserList(CouponUserList);

View File

@ -95,7 +95,7 @@ public class CouponIssueServiceImpl extends ServiceImpl<CouponIssueDao, CouponIs
userMoneyDetails.setManipulateType(2);
userMoneyDetails.setMoney(couponIssue.getPrice());
userMoneyDetails.setUserId(userId);
userMoneyDetails.setTitle("零钱购买优惠券,包:"+couponIssue.getCouponIssueName());
userMoneyDetails.setTitle("零钱购买优惠券,包:"+couponIssue.getCouponIssueName());
userMoneyDetails.setContent("购买优惠券费用:"+couponIssue.getPrice());
userMoneyDetails.setType(2);
userMoneyDetails.setCreateTime(createTime);

View File

@ -458,6 +458,7 @@ public class AliPayController {
o.setType("2");
o.setUserId(payDetails.getUserId());
o.setArtificerId(payDetails.getArtificerId());
o.setOrdersId(payDetails.getMassageOrdersId());
o.setCreateTime(DateUtils.format(new Date()));
userRechargeDao.insert(o);
}
@ -475,7 +476,7 @@ public class AliPayController {
userMoneyDetails.setManipulateType(1);
userMoneyDetails.setMoney(BigDecimal.valueOf(payDetails.getMoney()));
userMoneyDetails.setUserId(payDetails.getUserId());
userMoneyDetails.setTitle("微信购买优惠券,包:"+couponIssue.getCouponIssueName());
userMoneyDetails.setTitle("微信购买优惠券,包:"+couponIssue.getCouponIssueName());
userMoneyDetails.setContent("购买优惠券费用:"+payDetails.getMoney());
userMoneyDetails.setCreateTime(DateUtils.format(new Date()));
userMoneyDetails.setBlRole(1);
@ -599,16 +600,16 @@ public class AliPayController {
userMoneyDetails.setBlFlag(2);
userMoneyDetailsService.save(userMoneyDetails);
//技师流水
UserEntity userEntity = userService.queryByUserId(payDetails.getUserId());
userMoneyDao.updateMayMoney(1, artificerId, money);
UserEntity userEntity = userService.queryByUserId(artificer.getUserId());
userMoneyDao.updateMayMoney(1, userEntity.getUserId(), money);
//查询技师当前余额
UserMoney userNowMoney = userMoneyService.selectUserMoneyByUserId(artificerId);
UserMoney userNowMoney = userMoneyService.selectUserMoneyByUserId(userEntity.getUserId());
UserMoneyDetails userMoneyDetails2 = new UserMoneyDetails();
//插入余额
userMoneyDetails2.setBalance(userNowMoney.getMoney());
userMoneyDetails2.setManipulateType(2);
userMoneyDetails2.setClassify(8);
userMoneyDetails2.setUserId(artificerId);
userMoneyDetails2.setUserId(userEntity.getUserId());
userMoneyDetails2.setTitle("用户支付宝打赏");
userMoneyDetails2.setContent("来自用户“"+userEntity.getUserName()+"”支付宝打赏:"+money);
userMoneyDetails2.setType(1);
@ -903,7 +904,7 @@ public class AliPayController {
// return payH5(name, generalOrder, payClassify.getPrice().doubleValue(), returnUrl);
// }
// }
public Result payOrderMoney(@RequestAttribute Long userId, Long payClassifyId, Integer type, Long artificerId) {
public Result payOrderMoney(@RequestAttribute Long userId, Long payClassifyId, Integer type, Long artificerId, Long ordersId) {
//通知页面地址
CommonInfo one = commonInfoService.findOne(19);
String returnUrl = one.getValue() + "/#/pages/my/index";
@ -921,6 +922,7 @@ public class AliPayController {
payDetails.setType(3);
payDetails.setArtificerId(artificerId);
payDetails.setRemark(String.valueOf(payClassifyId));
payDetails.setMassageOrdersId(ordersId);
payDetailsDao.insert(payDetails);
payOrderResult(generalOrder);
return Result.success();
@ -1217,6 +1219,7 @@ public class AliPayController {
o.setType("2");
o.setUserId(payDetails.getUserId());
o.setArtificerId(payDetails.getArtificerId());
o.setOrdersId(payDetails.getMassageOrdersId());
o.setCreateTime(DateUtils.format(new Date()));
userRechargeDao.insert(o);
}
@ -1235,7 +1238,7 @@ public class AliPayController {
userMoneyDetails.setManipulateType(1);
userMoneyDetails.setMoney(BigDecimal.valueOf(payDetails.getMoney()));
userMoneyDetails.setUserId(payDetails.getUserId());
userMoneyDetails.setTitle("微信购买优惠券,包:"+couponIssue.getCouponIssueName());
userMoneyDetails.setTitle("微信购买优惠券,包:"+couponIssue.getCouponIssueName());
userMoneyDetails.setContent("购买优惠券费用:"+payDetails.getMoney());
userMoneyDetails.setCreateTime(DateUtils.format(new Date()));
userMoneyDetails.setBlRole(1);
@ -1456,7 +1459,7 @@ public class AliPayController {
}
@Login
@ApiOperation("支付宝购买")
@ApiOperation("支付宝购买")
@RequestMapping(value = "/payCoupon", method = RequestMethod.POST)
@Transactional(rollbackFor = Exception.class)
public Result payCoupon(@RequestAttribute Long userId, Integer classify,Long couponIssueId) {

View File

@ -37,8 +37,8 @@ public class ApiWeiXinPayController {
@Login
@ApiOperation("微信充值余额")
@PostMapping("/payMoney")
public Result payMoney(@RequestAttribute("userId") Long userId,Long payClassifyId,Integer type,Long artificerId,HttpServletRequest request) throws Exception {
return wxService.payMoney(userId,payClassifyId,type,artificerId,request);
public Result payMoney(@RequestAttribute("userId") Long userId,Long payClassifyId,Integer type,Long artificerId,Long ordersId, HttpServletRequest request) throws Exception {
return wxService.payMoney(userId,payClassifyId,type,artificerId,ordersId,request);
}

View File

@ -50,6 +50,7 @@ public class AppPayClassifyController {
sb.append(" ");
}
List<PayClassifyDetail> detailList = payClassifyDetailService.findList(payClassify.getPayClassifyId());
payClassify.setDetailList(detailList);
for(PayClassifyDetail classifyDetail : detailList){
Integer giveNum = classifyDetail.getGiveNum();
sb.append(giveNum);
@ -57,7 +58,7 @@ public class AppPayClassifyController {
Coupon coupon = classifyDetail.getCoupon();
BigDecimal couponMoney = coupon.getMoney();
sb.append(couponMoney);
sb.append("");
sb.append("");
sb.append(" ");
BigDecimal sumCouponMoney = couponMoney.multiply(new BigDecimal(giveNum));
sumMoney = sumMoney.add(sumCouponMoney);

View File

@ -76,6 +76,11 @@ public class PayDetails implements Serializable {
*/
private Long artificerId;
/**
* 服务项目订单ID
*/
private Long massageOrdersId;
@TableField(exist = false)
private String refundContent;

View File

@ -14,7 +14,7 @@ import java.math.BigDecimal;
*/
public interface WxService {
Result payMoney(Long userId, Long payClassifyId, Integer classify, Long artificerId, HttpServletRequest request) throws Exception;
Result payMoney(Long userId, Long payClassifyId, Integer classify, Long artificerId, Long ordersId, HttpServletRequest request) throws Exception;
Result payOrder(Long id, Integer type,HttpServletRequest request) throws Exception;

View File

@ -136,7 +136,7 @@ public class WxServiceImpl implements WxService {
private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@Override
public Result payMoney(Long userId,Long payClassifyId,Integer classify, Long artificerId,HttpServletRequest request) throws Exception {
public Result payMoney(Long userId,Long payClassifyId,Integer classify, Long artificerId, Long ordersId,HttpServletRequest request) throws Exception {
PayClassify payClassify = payClassifyService.getById(payClassifyId);
String generalOrder = getGeneralOrder();
PayDetails payDetails = new PayDetails();
@ -149,6 +149,7 @@ public class WxServiceImpl implements WxService {
payDetails.setType(3);
payDetails.setArtificerId(artificerId);
payDetails.setRemark(String.valueOf(payClassifyId));
payDetails.setMassageOrdersId(ordersId);
payDetailsDao.insert(payDetails);
//用户在服务中充值余额算技师业绩增加userRecharge表 modify 2024-06-17 by caolei 改到支付成功后技师获取积分
//查询用户在服务中的技师的订单id
@ -931,6 +932,7 @@ public class WxServiceImpl implements WxService {
o.setType("2");
o.setUserId(payDetails.getUserId());
o.setArtificerId(payDetails.getArtificerId());
o.setOrdersId(payDetails.getMassageOrdersId());
o.setCreateTime(DateUtils.format(new Date()));
userRechargeDao.insert(o);
}
@ -948,7 +950,7 @@ public class WxServiceImpl implements WxService {
userMoneyDetails.setManipulateType(1);
userMoneyDetails.setMoney(BigDecimal.valueOf(payDetails.getMoney()));
userMoneyDetails.setUserId(payDetails.getUserId());
userMoneyDetails.setTitle("微信购买优惠券,包:"+couponIssue.getCouponIssueName());
userMoneyDetails.setTitle("微信购买优惠券,包:"+couponIssue.getCouponIssueName());
userMoneyDetails.setContent("购买优惠券费用:"+payDetails.getMoney());
userMoneyDetails.setCreateTime(DateUtils.format(new Date()));
userMoneyDetails.setBlRole(1);
@ -1072,16 +1074,16 @@ public class WxServiceImpl implements WxService {
userMoneyDetails.setBlFlag(2);
userMoneyDetailsService.save(userMoneyDetails);
//技师流水
UserEntity userEntity = userService.queryByUserId(payDetails.getUserId());
userMoneyDao.updateMayMoney(1, artificerId, money);
UserEntity userEntity = userService.queryByUserId(artificer.getUserId());
userMoneyDao.updateMayMoney(1, userEntity.getUserId(), money);
//查询技师当前余额
UserMoney userNowMoney = userMoneyService.selectUserMoneyByUserId(artificerId);
UserMoney userNowMoney = userMoneyService.selectUserMoneyByUserId(userEntity.getUserId());
UserMoneyDetails userMoneyDetails2 = new UserMoneyDetails();
//插入余额
userMoneyDetails2.setBalance(userNowMoney.getMoney());
userMoneyDetails2.setManipulateType(2);
userMoneyDetails2.setClassify(8);
userMoneyDetails2.setUserId(artificerId);
userMoneyDetails2.setUserId(userEntity.getUserId());
userMoneyDetails2.setTitle("用户微信打赏");
userMoneyDetails2.setContent("来自用户“"+userEntity.getUserName()+"”微信打赏:"+money);
userMoneyDetails2.setType(1);

View File

@ -373,6 +373,82 @@
order by o.create_time desc
</select>
<select id="selectAppOrdersList" resultType="com.sqx.modules.artificer.entity.Orders">
select o1.*,
(case when o1.status = 4
then o1.pay_money + ifnull(o1.add_money,0)
else o1.pay_money + ifnull(o1.add_money,0) + ifnull(o2.pay_money,0) + ifnull(o2.add_money,0)
end) as pay_money_total,
(case when o1.status = 4
then o1.artificer_money + ifnull(o1.add_artificer_money,0)
else o1.artificer_money + ifnull(o1.add_artificer_money,0) + ifnull(o2.artificer_money,0) + ifnull(o2.add_artificer_money,0)
end) as artificer_money_total,
a.artificer_name as artificerName,a.artificer_img as artificerImg,
a.user_id as artificerUserId,c.consortia_name as shopName,c.address as shopAddress,
c.phone as shopPhone
from orders o1
left join orders o2 on o1.old_orders_id = o2.orders_id and o2.status != 4
left join artificer a on a.artificer_id=o1.artificer_id
left join tb_user u on u.user_id=o1.user_id
left join consortia c on c.consortia_id=o1.consortia_id
where o1.old_orders_id is not null
and o1.status != 11
<if test="userPackageId!=null">
and o1.user_package_id = #{userPackageId}
</if>
<if test="userId!=null">
and o1.user_id=#{userId}
</if>
<if test="status!=null and status!=0 and status!=-1 and status!=2">
and o1.status=#{status}
</if>
<if test="status!=null and status==2">
and o1.status in (2,9)
</if>
union all
select o1.*,
(o1.pay_money + ifnull(o1.add_money,0)) as pay_money_total,
(o1.artificer_money + ifnull(o1.add_artificer_money,0)) as artificer_money_total,
a.artificer_name as artificerName,a.artificer_img as artificerImg,
a.user_id as artificerUserId,c.consortia_name as shopName,c.address as shopAddress,
c.phone as shopPhone
from orders o1
left join artificer a on a.artificer_id=o1.artificer_id
left join tb_user u on u.user_id=o1.user_id
left join consortia c on c.consortia_id=o1.consortia_id
where o1.parent_id = 0
and o1.status != 11
and o1.orders_id not in (
select orders_id from orders
where old_orders_id is not null
<if test="userPackageId!=null">
and o1.user_package_id = #{userPackageId}
</if>
<if test="userId!=null">
and o1.user_id=#{userId}
</if>
<if test="status!=null and status!=0 and status!=-1 and status!=2">
and o1.status=#{status}
</if>
<if test="status!=null and status==2">
and o1.status in (2,9)
</if>
)
<if test="userPackageId!=null">
and o1.user_package_id = #{userPackageId}
</if>
<if test="userId!=null">
and o1.user_id=#{userId}
</if>
<if test="status!=null and status!=0 and status!=-1 and status!=2">
and o1.status=#{status}
</if>
<if test="status!=null and status==2">
and o1.status in (2,9)
</if>
order by serve_time desc
</select>
<select id="excelOrdersList" resultType="com.sqx.modules.artificer.entity.Orders">
select o.*,a.artificer_name as artificerName,a.artificer_img as artificerImg,
a.user_id as artificerUserId,c.consortia_name as shopName,c.address as shopAddress,
@ -580,13 +656,21 @@
</select>
<select id="selectTodayOrder" resultType="com.sqx.modules.artificer.entity.Orders">
select o.*,m.title,m.massage_img as massageImg from orders o
select o.*,m.title,m.massage_img as massageImg,
now() > DATE_ADD(STR_TO_DATE(o.serve_time, '%Y-%m-%d %H:%i'), INTERVAL #{minutes} MINUTE) as is_can_supplement,
(case when o.status = 4
then o.artificer_money + ifnull(o.add_artificer_money,0)
else o.artificer_money + ifnull(o.add_artificer_money,0) + ifnull(o2.artificer_money,0) + ifnull(o2.add_artificer_money,0)
end) as artificer_money_total
from orders o
left join orders o2 on o.old_orders_id = o2.orders_id and o2.status != 4
left join orders_massage om on om.orders_id=o.orders_id
left join massage_type m on m.massage_type_id=om.massage_id
where o.artificer_id = #{artificerId} and o.parent_id = 0
where o.artificer_id = #{artificerId}
and o.old_orders_id is not null
and o.status != 11
<if test="type==1">
and date_format(o.serve_time,'%Y-%m-%d') = date_format(now(),'%Y-%m-%d') and o.status in (2,3,5,6,7,8,9)
</if>
<if test="type==2">
and o.status=2
@ -618,7 +702,88 @@
<if test="type==5">
and date_format(o.serve_time,'%Y-%m-%d') = date_format(now(),'%Y-%m-%d') and o.status=2
</if>
order by o.serve_time desc
union all
select o.*,m.title,m.massage_img as massageImg,
now() > DATE_ADD(STR_TO_DATE(o.serve_time, '%Y-%m-%d %H:%i'), INTERVAL #{minutes} MINUTE) as is_can_supplement,
o.artificer_money + ifnull(o.add_artificer_money,0) as artificer_money_total
from orders o
left join orders_massage om on om.orders_id=o.orders_id
left join massage_type m on m.massage_type_id=om.massage_id
where o.artificer_id = #{artificerId}
and o.parent_id = 0
and o.status != 11
and o.orders_id not in (
select orders_id from orders
where old_orders_id is not null
<if test="type==1">
and date_format(serve_time,'%Y-%m-%d') = date_format(now(),'%Y-%m-%d') and status in (2,3,5,6,7,8,9)
</if>
<if test="type==2">
and status=2
<if test="startTime!=null and startTime!=''">
and date_format(serve_time,'%Y-%m-%d') >= date_format(#{startTime},'%Y-%m-%d')
</if>
<if test="endTime!=null and endTime!=''">
and date_format(serve_time,'%Y-%m-%d') &lt;= date_format(#{endTime},'%Y-%m-%d')
</if>
</if>
<if test="type==3">
and status in (3,5)
<if test="startTime!=null and startTime!=''">
and date_format(serve_time,'%Y-%m-%d') >= date_format(#{startTime},'%Y-%m-%d')
</if>
<if test="endTime!=null and endTime!=''">
and date_format(serve_time,'%Y-%m-%d') &lt;= date_format(#{endTime},'%Y-%m-%d')
</if>
</if>
<if test="type==4">
and status in (2,3,4,5,6,7,8)
<if test="startTime!=null and startTime!=''">
and date_format(serve_time,'%Y-%m-%d') >= date_format(#{startTime},'%Y-%m-%d')
</if>
<if test="endTime!=null and endTime!=''">
and date_format(serve_time,'%Y-%m-%d') &lt;= date_format(#{endTime},'%Y-%m-%d')
</if>
</if>
<if test="type==5">
and date_format(serve_time,'%Y-%m-%d') = date_format(now(),'%Y-%m-%d') and status=2
</if>
)
<if test="type==1">
and date_format(o.serve_time,'%Y-%m-%d') = date_format(now(),'%Y-%m-%d') and o.status in (2,3,5,6,7,8,9)
</if>
<if test="type==2">
and o.status=2
<if test="startTime!=null and startTime!=''">
and date_format(o.serve_time,'%Y-%m-%d') >= date_format(#{startTime},'%Y-%m-%d')
</if>
<if test="endTime!=null and endTime!=''">
and date_format(o.serve_time,'%Y-%m-%d') &lt;= date_format(#{endTime},'%Y-%m-%d')
</if>
</if>
<if test="type==3">
and o.status in (3,5)
<if test="startTime!=null and startTime!=''">
and date_format(o.serve_time,'%Y-%m-%d') >= date_format(#{startTime},'%Y-%m-%d')
</if>
<if test="endTime!=null and endTime!=''">
and date_format(o.serve_time,'%Y-%m-%d') &lt;= date_format(#{endTime},'%Y-%m-%d')
</if>
</if>
<if test="type==4">
and o.status in (2,3,4,5,6,7,8)
<if test="startTime!=null and startTime!=''">
and date_format(o.serve_time,'%Y-%m-%d') >= date_format(#{startTime},'%Y-%m-%d')
</if>
<if test="endTime!=null and endTime!=''">
and date_format(o.serve_time,'%Y-%m-%d') &lt;= date_format(#{endTime},'%Y-%m-%d')
</if>
</if>
<if test="type==5">
and date_format(o.serve_time,'%Y-%m-%d') = date_format(now(),'%Y-%m-%d') and o.status=2
</if>
order by serve_time desc
</select>
<select id="selectArtificerOrder" resultType="com.sqx.modules.artificer.entity.Orders">
@ -1074,6 +1239,12 @@
GROUP BY DATE_FORMAT(create_time,'%Y-%m-%d')
</select>
<select id="getParentOrders" resultType="com.sqx.modules.artificer.entity.Orders">
select o.*
from orders o
where parent_id = #{parentId}
</select>
</mapper>