From 0160e0b0bb96dc9b8468e45232ed5569a863dcdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Tue, 25 Jun 2024 15:14:15 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/controller/UserController.java | 21 + .../controller/ArtificerController.java | 18 +- .../app/AppArtificerIntegralController.java | 4 +- .../artificer/dao/ArtificerMassageDao.java | 2 +- .../artificer/entity/OrdersMassage.java | 2 + .../service/ArtificerMassageService.java | 2 +- .../service/OrdersMassageService.java | 2 +- .../impl/ArtificerMassageServiceImpl.java | 4 +- .../impl/OrdersMassageServiceImpl.java | 8 +- .../service/impl/OrdersServiceImpl.java | 112 +++- .../common/utils/CommonConfigUtil.java | 6 +- .../controller/CouponUserController.java | 2 +- .../app/AppCouponUserController.java | 4 +- .../sqx/modules/coupon/dao/CouponUserDao.java | 2 +- .../coupon/service/CouponUserService.java | 2 +- .../service/impl/CouponUserServiceImpl.java | 8 +- .../pay/controller/CashController.java | 18 + .../pay/controller/app/AliPayController.java | 561 +++++++++++++++++- .../com/sqx/modules/pay/entity/CashOut.java | 5 + .../pay/service/impl/CashOutServiceImpl.java | 10 + .../pay/service/impl/WxServiceImpl.java | 2 +- .../task/service/impl/AllTaskServiceImpl.java | 4 +- .../artificer/ArtificerMassageMapper.xml | 2 +- .../resources/mapper/artificer/OrdersDao.xml | 2 +- .../mapper/coupon/TbCouponUserMapper.xml | 7 +- 25 files changed, 759 insertions(+), 51 deletions(-) diff --git a/src/main/java/com/sqx/modules/app/controller/UserController.java b/src/main/java/com/sqx/modules/app/controller/UserController.java index b0de522..75173ad 100644 --- a/src/main/java/com/sqx/modules/app/controller/UserController.java +++ b/src/main/java/com/sqx/modules/app/controller/UserController.java @@ -26,10 +26,12 @@ import com.sqx.modules.message.service.MessageService; import com.sqx.modules.pay.entity.PayDetails; import com.sqx.modules.pay.service.CashOutService; import com.sqx.modules.pay.service.PayDetailsService; +import com.sqx.modules.sys.entity.SysUserEntity; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import jodd.util.StringUtil; +import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -169,6 +171,9 @@ public class UserController { public Result addCannotMoney(@PathVariable("userId") Long userId,@PathVariable("money") Double money,@PathVariable("type") Integer type){ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String format = simpleDateFormat.format(new Date()); + + Artificer artificer = artificerService.selectArtificerByUserId(userId); + if(type==1){ userMoneyService.updateMoney(1,userId,money); UserMoneyDetails userMoneyDetails=new UserMoneyDetails(); @@ -178,12 +183,19 @@ public class UserController { userMoneyDetails.setBalance(userNowMoney.getMoney()); //插入操作类型为已操作用户余额 userMoneyDetails.setManipulateType(2); + userMoneyDetails.setByUserId(((SysUserEntity)SecurityUtils.getSubject().getPrincipal()).getUserId()); userMoneyDetails.setMoney(BigDecimal.valueOf(money)); userMoneyDetails.setUserId(userId); userMoneyDetails.setContent("管理端充值:"+money); userMoneyDetails.setTitle("管理端充值金额"); userMoneyDetails.setType(1); userMoneyDetails.setCreateTime(format); + if(artificer != null){ + userMoneyDetails.setBlRole(2); + }else{ + userMoneyDetails.setBlRole(1); + } + userMoneyDetails.setBlFlag(1); userMoneyDetailsService.save(userMoneyDetails); PayDetails payDetails = new PayDetails(); payDetails.setState(1); @@ -192,6 +204,7 @@ public class UserController { payDetails.setUserId(userId); payDetails.setMoney(money); payDetails.setClassify(5); + payDetails.setRemark(((SysUserEntity)SecurityUtils.getSubject().getPrincipal()).getUserId().toString()); payDetailsService.save(payDetails); }else{ userMoneyService.updateMoney(2,userId,money); @@ -203,12 +216,19 @@ public class UserController { userMoneyDetails.setBalance(userNowMoney.getMoney()); //插入操作类型为已操作用户余额 userMoneyDetails.setManipulateType(2); + userMoneyDetails.setByUserId(((SysUserEntity)SecurityUtils.getSubject().getPrincipal()).getUserId()); userMoneyDetails.setMoney(BigDecimal.valueOf(money)); userMoneyDetails.setUserId(userId); userMoneyDetails.setContent("管理端减少:"+money); userMoneyDetails.setTitle("管理端减少金额"); userMoneyDetails.setType(2); userMoneyDetails.setCreateTime(format); + if(artificer != null){ + userMoneyDetails.setBlRole(2); + }else{ + userMoneyDetails.setBlRole(1); + } + userMoneyDetails.setBlFlag(1); userMoneyDetailsService.save(userMoneyDetails); PayDetails payDetails = new PayDetails(); payDetails.setState(1); @@ -217,6 +237,7 @@ public class UserController { payDetails.setUserId(userId); payDetails.setMoney(money); payDetails.setClassify(5); + payDetails.setRemark(((SysUserEntity)SecurityUtils.getSubject().getPrincipal()).getUserId().toString()); payDetailsService.save(payDetails); } return Result.success(); diff --git a/src/main/java/com/sqx/modules/artificer/controller/ArtificerController.java b/src/main/java/com/sqx/modules/artificer/controller/ArtificerController.java index 0eeced2..b60d3a9 100644 --- a/src/main/java/com/sqx/modules/artificer/controller/ArtificerController.java +++ b/src/main/java/com/sqx/modules/artificer/controller/ArtificerController.java @@ -73,12 +73,16 @@ public class ArtificerController { @PostMapping("/updateMassageType") @ApiOperation("修改按摩分类") - public Result updateMassageType(@RequestBody MassageType massageType){ - MassageType massageType1 = massageTypeService.getById(massageType.getMassageTypeId()); - if(massageType1!=null && !massageType1.getStatus().equals(massageType.getStatus())){ - artificerMassageService.updateArtificerMassageStatus(massageType1.getMassageTypeId()); - } - massageTypeService.updateById(massageType); +// public Result updateMassageType(@RequestBody MassageType massageType){ +// MassageType massageType1 = massageTypeService.getById(massageType.getMassageTypeId()); +// if(massageType1!=null && !massageType1.getStatus().equals(massageType.getStatus())){ +// artificerMassageService.updateArtificerMassageStatus(massageType1.getMassageTypeId()); +// } +// massageTypeService.updateById(massageType); +// return Result.success(); +// } + public Result updateMassageType(@RequestBody ArtificerMassage artificerMassage){ + artificerMassageService.updateArtificerMassageStatus(artificerMassage); return Result.success(); } @@ -330,7 +334,7 @@ public class ArtificerController { return ordersService.updateArtificerCreditScore(type, creditScore, artificerId); } - @Scheduled(cron = "0 */1 * * * ?") +// @Scheduled(cron = "0 */1 * * * ?") public void endOrders(){ ordersService.endOrders(); } diff --git a/src/main/java/com/sqx/modules/artificer/controller/app/AppArtificerIntegralController.java b/src/main/java/com/sqx/modules/artificer/controller/app/AppArtificerIntegralController.java index 9960a37..782f0a8 100644 --- a/src/main/java/com/sqx/modules/artificer/controller/app/AppArtificerIntegralController.java +++ b/src/main/java/com/sqx/modules/artificer/controller/app/AppArtificerIntegralController.java @@ -78,7 +78,7 @@ public class AppArtificerIntegralController { * * @return */ - @Scheduled(cron = "0 0 0 11,21 * ?") +// @Scheduled(cron = "0 0 0 11,21 * ?") @ApiOperation("技师停牌处理+升级处理") public Result line() { //每个月11号 21号和月末 在线时间不对问题(更新所有技师本周期在线时间为00:00:00) @@ -97,7 +97,7 @@ public class AppArtificerIntegralController { * * @return */ - @Scheduled(cron = "0 0 0 L * ?") +// @Scheduled(cron = "0 0 0 L * ?") @ApiOperation("技师停牌处理+升级处理") public Result lines() { //每个月11号 21号和月末在线离线时间不对问题(更新所有技师在线时间为00:00:00) diff --git a/src/main/java/com/sqx/modules/artificer/dao/ArtificerMassageDao.java b/src/main/java/com/sqx/modules/artificer/dao/ArtificerMassageDao.java index 318d355..11e80aa 100644 --- a/src/main/java/com/sqx/modules/artificer/dao/ArtificerMassageDao.java +++ b/src/main/java/com/sqx/modules/artificer/dao/ArtificerMassageDao.java @@ -15,6 +15,6 @@ public interface ArtificerMassageDao extends BaseMapper { IPage selectArtificerMassage(Page pages, Long userId, Integer status); - int updateArtificerMassageStatus(@Param("massageTypeId") Long massageTypeId); + int updateArtificerMassageStatus(ArtificerMassage artificerMassage); } \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/artificer/entity/OrdersMassage.java b/src/main/java/com/sqx/modules/artificer/entity/OrdersMassage.java index 49da892..8438f88 100644 --- a/src/main/java/com/sqx/modules/artificer/entity/OrdersMassage.java +++ b/src/main/java/com/sqx/modules/artificer/entity/OrdersMassage.java @@ -3,6 +3,7 @@ package com.sqx.modules.artificer.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import java.io.Serializable; @@ -13,6 +14,7 @@ import java.io.Serializable; * @date 2021-12-18 */ @Data +@TableName("orders_massage") public class OrdersMassage implements Serializable { private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/sqx/modules/artificer/service/ArtificerMassageService.java b/src/main/java/com/sqx/modules/artificer/service/ArtificerMassageService.java index 267caf8..62cef17 100644 --- a/src/main/java/com/sqx/modules/artificer/service/ArtificerMassageService.java +++ b/src/main/java/com/sqx/modules/artificer/service/ArtificerMassageService.java @@ -18,6 +18,6 @@ public interface ArtificerMassageService extends IService { Result selectArtificerMassage(Long userId, Integer page, Integer limit, Integer status); - int updateArtificerMassageStatus(Long massageTypeId); + int updateArtificerMassageStatus(ArtificerMassage artificerMassage); } \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/artificer/service/OrdersMassageService.java b/src/main/java/com/sqx/modules/artificer/service/OrdersMassageService.java index e469c51..34984de 100644 --- a/src/main/java/com/sqx/modules/artificer/service/OrdersMassageService.java +++ b/src/main/java/com/sqx/modules/artificer/service/OrdersMassageService.java @@ -7,5 +7,5 @@ import com.sqx.modules.artificer.entity.OrdersMassage; public interface OrdersMassageService extends IService { - + void removeByOrdersId(Long ordersId); } \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/artificer/service/impl/ArtificerMassageServiceImpl.java b/src/main/java/com/sqx/modules/artificer/service/impl/ArtificerMassageServiceImpl.java index fdb20ae..298509c 100644 --- a/src/main/java/com/sqx/modules/artificer/service/impl/ArtificerMassageServiceImpl.java +++ b/src/main/java/com/sqx/modules/artificer/service/impl/ArtificerMassageServiceImpl.java @@ -93,8 +93,8 @@ public class ArtificerMassageServiceImpl extends ServiceImpl implements OrdersMassageService { - + public void removeByOrdersId(Long ordersId){ + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("orders_id", ordersId); + baseMapper.delete(queryWrapper); + } } \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java b/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java index d3c5832..ed4b51f 100644 --- a/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java +++ b/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java @@ -918,6 +918,11 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setPrice(BigDecimal.ZERO); orders.setMassageMoney(oldOrders.getMassageMoney()); + Date serveTimeDate = DateUtils.stringToDate(orders.getServeTime(), "yyyy-MM-dd HH:mm"); + if(serveTimeDate.getTime() < (new Date()).getTime()){ + return Result.error("服务时间不能晚于当前时间!"); + } + String value1 = commonInfoService.findOne(395).getValue(); int i = 0; //1.锁定本单服务时间问题 @@ -965,7 +970,6 @@ public class OrdersServiceImpl extends ServiceImpl implements } if (i > 1) { Date parse = DateUtils.stringToDate(serveTime, "yyyy-MM-dd HH:mm"); - ; Calendar calendar = Calendar.getInstance(); calendar.setTime(parse); for (int j = 1; j < i; j++) { @@ -1001,6 +1005,7 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setOldOrdersId(oldOrders.getOrdersId()); baseMapper.insert(orders); + ordersMassageService.removeByOrdersId(orders.getOrdersId()); List ordersMassageList = orders.getOrdersMassageList(); for (OrdersMassage ordersMassage : ordersMassageList) { ordersMassage.setOrdersId(orders.getOrdersId()); @@ -1025,7 +1030,6 @@ public class OrdersServiceImpl extends ServiceImpl implements if (oldOrders.getParentId() != null && oldOrders.getParentId() != 0) { return Result.error("当前加钟订单无法升级套餐!"); } - Long massageTypeId; BigDecimal price = BigDecimal.ZERO; if (orders.getOrdersMassageList() != null) { @@ -1127,11 +1131,18 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setSumMoney(orders.getPayMoney().setScale(2, BigDecimal.ROUND_HALF_UP)); baseMapper.insert(orders); + ordersMassageService.removeByOrdersId(orders.getOrdersId()); + List ordersMassageList = orders.getOrdersMassageList(); + for (OrdersMassage ordersMassage : ordersMassageList) { + ordersMassage.setOrdersId(orders.getOrdersId()); + ordersMassageService.save(ordersMassage); + } + Orders ordersOld = new Orders(); ordersOld.setOrdersId(oldOrders.getOrdersId()); ordersOld.setStatus(11); baseMapper.updateById(ordersOld);//原单暂变成挂单状态 - + return Result.success().put("data", orders); } //临时单修改 if (oldOrders.getStatus() == 1) { @@ -1143,6 +1154,10 @@ public class OrdersServiceImpl extends ServiceImpl implements } else { return Result.error("当前订单没有选择服务项目!"); } + Date serveTimeDate = DateUtils.stringToDate(orders.getServeTime(), "yyyy-MM-dd HH:mm"); + if(serveTimeDate.getTime() < (new Date()).getTime()){ + return Result.error("服务时间不能晚于当前时间!"); + } if (oldOrders.getUserPackageDetailId() != null) { if (massageTypeId != oldOrders.getUserPackageDetailId()) { return Result.error("当前套餐类订单无法修改项目!"); @@ -1296,6 +1311,14 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setSumMoney(orders.getPayMoney().setScale(2, BigDecimal.ROUND_HALF_UP)); //修改订单 baseMapper.updateById(orders); + + ordersMassageService.removeByOrdersId(orders.getOrdersId()); + List ordersMassageList = orders.getOrdersMassageList(); + for (OrdersMassage ordersMassage : ordersMassageList) { + ordersMassage.setOrdersId(orders.getOrdersId()); + ordersMassageService.save(ordersMassage); + } + return Result.success().put("data", orders); } else { //修改一般订单 @@ -1572,6 +1595,12 @@ public class OrdersServiceImpl extends ServiceImpl implements //修改订单 baseMapper.updateById(orders); + ordersMassageService.removeByOrdersId(orders.getOrdersId()); + for (OrdersMassage ordersMassage : ordersMassageList) { + ordersMassage.setOrdersId(orders.getOrdersId()); + ordersMassageService.save(ordersMassage); + } + //释放原优惠卷 if (oldCouponList.size() > 0) { for (String couponIdStr : oldCouponList) { @@ -1596,7 +1625,7 @@ public class OrdersServiceImpl extends ServiceImpl implements //判断是否是可修改,状态2 9 boolean canUpdate = commonInfoService.isCheckEditOrder(DateUtils.stringToDate(oldOrders.getServeTime(), "yyyy-MM-dd HH:mm"), new Date()); if (!canUpdate) { - return Result.error("当前订单无法修改!"); + return Result.error("当前订单已过修改时限无法修改!"); } //判断是否是修改后的订单再继续修改 @@ -1617,11 +1646,17 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setEntryName(massageType.getTitle()); //判断新price是否大于旧price if (price.compareTo(oldOrders.getPrice()) < 0) { - return Result.error("要升级的服务项目金额不能小于原服务项目金额!"); + return Result.error("当前订单的服务项目金额不能小于原服务项目金额!"); } + orders.setPrice(price); } else { return Result.error("当前订单没有选择服务项目!"); } + + Date serveTimeDate = DateUtils.stringToDate(orders.getServeTime(), "yyyy-MM-dd HH:mm"); + if(serveTimeDate.getTime() < (new Date()).getTime()){ + return Result.error("服务时间不能晚于当前时间!"); + } String value1 = commonInfoService.findOne(395).getValue(); int i = 0; //1.锁定本单服务时间问题 @@ -1736,7 +1771,6 @@ public class OrdersServiceImpl extends ServiceImpl implements return Result.error("暂不支持当前地址,请更换其他地址!"); } - BigDecimal taxiMoney = new BigDecimal(travelPriceVo.getTravelPrice()); BigDecimal oldTaxiMoney = oldOrders.getTaxiMoney(); if (taxiMoney.compareTo(oldTaxiMoney) < 0) { @@ -1774,11 +1808,22 @@ public class OrdersServiceImpl extends ServiceImpl implements } orders.setShopMoney(shopMoney); orders.setOneArtificerMoney(oneArtificerMoney); + orders.setPayMoney(oldOrders.getPayMoney()); //总差价不变,则修改原单据 baseMapper.updateById(orders); + + ordersMassageService.removeByOrdersId(orders.getOrdersId()); + List ordersMassageList = orders.getOrdersMassageList(); + for (OrdersMassage ordersMassage : ordersMassageList) { + ordersMassage.setOrdersId(orders.getOrdersId()); + ordersMassageService.save(ordersMassage); + } + + return Result.success().put("data", orders); } else { //新增单据 orders.setPayMoney(chajia); + orders.setTaxiMoney(cxchajia); BigDecimal artificerPrice = new BigDecimal("0.00"); //查询是否计算出租车扣费 String taxi = commonInfoService.findOne(394).getValue(); @@ -1822,9 +1867,18 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setSumMoney(orders.getPayMoney().setScale(2, BigDecimal.ROUND_HALF_UP)); orders.setOldMassageMoney(oldOrders.getMassageMoney()); orders.setOldOrdersId(oldOrders.getOrdersId()); + orders.setCouponName(oldOrders.getCouponName()); + orders.setCouponMoney(oldOrders.getCouponMoney()); //保存订单 baseMapper.insert(orders); + ordersMassageService.removeByOrdersId(orders.getOrdersId()); + List ordersMassageList = orders.getOrdersMassageList(); + for (OrdersMassage ordersMassage : ordersMassageList) { + ordersMassage.setOrdersId(orders.getOrdersId()); + ordersMassageService.save(ordersMassage); + } + Orders ordersOld = new Orders(); BigDecimal pingMoney = oldOrders.getPayMoney(); UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); @@ -1853,9 +1907,10 @@ public class OrdersServiceImpl extends ServiceImpl implements ordersOld.setOrdersId(oldOrders.getOrdersId()); ordersOld.setStatus(11); baseMapper.updateById(ordersOld);//原单暂变成挂单状态 + return Result.success().put("data", orders); } } - return Result.success(); + return Result.error("此状态单据无法修改操作!"); }catch (Exception e){ return Result.error(e.getMessage()); } @@ -2300,16 +2355,15 @@ public class OrdersServiceImpl extends ServiceImpl implements ordersOld.setOrdersId(orders.getOldOrdersId()); if(orders.getIsSupplement() != null){ if(orders.getIsSupplement() == 2){ - orders.setStatus(6); + ordersOld.setStatus(6); }else if(orders.getIsSupplement() == 3){ - orders.setStatus(2); + ordersOld.setStatus(2); }else{ - orders.setStatus(9);//用户已支付技师待接单 + ordersOld.setStatus(9);//用户已支付技师待接单 } }else{ - orders.setStatus(9);//用户已支付技师待接单 + ordersOld.setStatus(9);//用户已支付技师待接单 } - ordersOld.setStatus(11); baseMapper.updateById(ordersOld);//原单暂变成挂单状态 } return Result.success(); @@ -3532,7 +3586,7 @@ public class OrdersServiceImpl extends ServiceImpl implements //获取是否有改价订单 if(orders.getIsSupplement()!=null){ QueryWrapper ordersQueryWrapper = new QueryWrapper(); - ordersQueryWrapper.eq("old_orders_id",orders.getOrdersId()); + ordersQueryWrapper.eq("old_orders_id",orders.getOldOrdersId()); Orders jzOrder = baseMapper.selectOne(ordersQueryWrapper); orders.setGjName(jzOrder.getEntryName()); BigDecimal massageMoney = orders.getMassageMoney(); @@ -4695,7 +4749,7 @@ public class OrdersServiceImpl extends ServiceImpl implements if(orders.getOldOrdersId()!=null && orders.getOldOrdersId() !=0){ Orders oldOrders = baseMapper.selectById(orders.getOldOrdersId()); - oldOrders.setStatus(orders.getStatus()); + oldOrders.setStatus(5); oldOrders.setArtificerId(orders.getArtificerId()); oldOrders.setUserId(orders.getUserId()); oldOrders.setUserName(orders.getUserName()); @@ -4924,6 +4978,36 @@ public class OrdersServiceImpl extends ServiceImpl implements data.put("thing3", new TemplateMessageItem(content, "#d71345")); userService.sendWxMessage(apkey, data, user.getWxOpenId()); } + + if(orders.getOldOrdersId()!=null && orders.getOldOrdersId() !=0){ + Orders oldOrders = baseMapper.selectById(orders.getOldOrdersId()); + oldOrders.setStatus(5); + oldOrders.setArtificerId(orders.getArtificerId()); + oldOrders.setUserId(orders.getUserId()); + oldOrders.setUserName(orders.getUserName()); + oldOrders.setPhone(orders.getPhone()); + oldOrders.setAddress(orders.getAddress()); + oldOrders.setRemark(orders.getRemark()); + oldOrders.setServeTime(orders.getServeTime()); + oldOrders.setArtificerStartTime(orders.getArtificerStartTime()); + oldOrders.setArtificerEndTime(orders.getArtificerEndTime()); + oldOrders.setStartLongitude(orders.getStartLongitude()); + oldOrders.setStartLatitude(orders.getStartLatitude()); +// oldOrders.setTripWay(orders.getTripWay()); +// oldOrders.setTaxiMoney(BigDecimal.ZERO); +// oldOrders.setKm(orders.getKm()); + oldOrders.setStartTime(orders.getStartTime()); + oldOrders.setEndTime(orders.getEndTime()); + oldOrders.setStartImg(orders.getStartImg()); + oldOrders.setStartLongitude(orders.getStartLongitude()); + oldOrders.setStartLatitude(orders.getStartLatitude()); + oldOrders.setAccomplishLongitude(orders.getAccomplishLongitude()); + oldOrders.setAccomplishLatitude(orders.getAccomplishLongitude()); + oldOrders.setStartAddress(orders.getStartAddress()); + oldOrders.setAccomplishAddress(orders.getAccomplishAddress()); + oldOrders.setArtificerRate(orders.getArtificerRate()); + accomplishOldOrders(oldOrders,type,jsFwcn,jsPjtag,jsTsbz); + } return Result.success(); } catch (Exception e) { e.printStackTrace(); diff --git a/src/main/java/com/sqx/modules/common/utils/CommonConfigUtil.java b/src/main/java/com/sqx/modules/common/utils/CommonConfigUtil.java index 9e5e0e9..cb991b3 100644 --- a/src/main/java/com/sqx/modules/common/utils/CommonConfigUtil.java +++ b/src/main/java/com/sqx/modules/common/utils/CommonConfigUtil.java @@ -93,8 +93,10 @@ public class CommonConfigUtil { if(key == null) return CommonEnum.NONE; CommonEnum enumData = null; for (CommonEnum enumd : CommonEnum.values()) { - if(enumd.getKey().equals(key)){ - enumData = enumd; + if(enumd != CommonEnum.NONE){ + if(enumd.getKey().equals(key)){ + enumData = enumd; + } } } if(enumData != null){ diff --git a/src/main/java/com/sqx/modules/coupon/controller/CouponUserController.java b/src/main/java/com/sqx/modules/coupon/controller/CouponUserController.java index e8a2704..26ac127 100644 --- a/src/main/java/com/sqx/modules/coupon/controller/CouponUserController.java +++ b/src/main/java/com/sqx/modules/coupon/controller/CouponUserController.java @@ -22,7 +22,7 @@ public class CouponUserController extends AbstractController { @GetMapping("/selectCouponUserList") @ApiOperation("查询用户优惠券") - public Result selectCouponUserList(Integer page,Integer limit,Long id,Long userId,Integer status,String phone,String couponName){ + public Result selectCouponUserList(Integer page,Integer limit,String id,Long userId,Integer status,String phone,String couponName){ return couponUserService.selectCouponByUserId(page, limit, id, userId, status, phone,couponName); } diff --git a/src/main/java/com/sqx/modules/coupon/controller/app/AppCouponUserController.java b/src/main/java/com/sqx/modules/coupon/controller/app/AppCouponUserController.java index 3bfbd74..91677ce 100644 --- a/src/main/java/com/sqx/modules/coupon/controller/app/AppCouponUserController.java +++ b/src/main/java/com/sqx/modules/coupon/controller/app/AppCouponUserController.java @@ -39,12 +39,12 @@ public class AppCouponUserController extends AbstractController { @Login @GetMapping("/selectCouponUserList") @ApiOperation("查询用户优惠券") - public Result selectCouponUserList(Integer page,Integer limit,Long id,@RequestAttribute Long userId,Integer status,String phone){ + public Result selectCouponUserList(Integer page,Integer limit,String id,@RequestAttribute Long userId,Integer status,String phone){ return couponUserService.selectCouponByUserId(page, limit, id ,userId, status, phone,null); } //将所有超过失效时间的优惠券改为失效状态 - @Scheduled(cron = "0 */1 * * * ?", zone = "Asia/Shanghai") +// @Scheduled(cron = "0 */1 * * * ?", zone = "Asia/Shanghai") public void couponEnd(){ couponUserService.updateExpiration(); } diff --git a/src/main/java/com/sqx/modules/coupon/dao/CouponUserDao.java b/src/main/java/com/sqx/modules/coupon/dao/CouponUserDao.java index e5be409..5ccb2bf 100644 --- a/src/main/java/com/sqx/modules/coupon/dao/CouponUserDao.java +++ b/src/main/java/com/sqx/modules/coupon/dao/CouponUserDao.java @@ -20,7 +20,7 @@ public interface CouponUserDao extends BaseMapper { void updateExpiration(@Param("date") String date); - IPage selectCouponByUserId(Page pages, @Param("id") Long id,@Param("userId") Long userId,@Param("status") Integer status, @Param("phone") String phone,@Param("couponName") String couponName); + IPage selectCouponByUserId(Page pages, @Param("arr") String[] arr,@Param("userId") Long userId,@Param("status") Integer status, @Param("phone") String phone,@Param("couponName") String couponName); int selectCountCoupon(Long userId); diff --git a/src/main/java/com/sqx/modules/coupon/service/CouponUserService.java b/src/main/java/com/sqx/modules/coupon/service/CouponUserService.java index 13972d0..8fa2c2b 100644 --- a/src/main/java/com/sqx/modules/coupon/service/CouponUserService.java +++ b/src/main/java/com/sqx/modules/coupon/service/CouponUserService.java @@ -17,7 +17,7 @@ public interface CouponUserService extends IService { Result buyCoupon(Long userId, Long couponId); - Result selectCouponByUserId(Integer page, Integer limit, Long id, Long userId, Integer status, String phone,String couponName); + Result selectCouponByUserId(Integer page, Integer limit, String id, Long userId, Integer status, String phone,String couponName); Result insertNewUserCoupon(UserEntity userEntity); diff --git a/src/main/java/com/sqx/modules/coupon/service/impl/CouponUserServiceImpl.java b/src/main/java/com/sqx/modules/coupon/service/impl/CouponUserServiceImpl.java index 10b3c11..675cce0 100644 --- a/src/main/java/com/sqx/modules/coupon/service/impl/CouponUserServiceImpl.java +++ b/src/main/java/com/sqx/modules/coupon/service/impl/CouponUserServiceImpl.java @@ -89,9 +89,13 @@ public class CouponUserServiceImpl extends ServiceImpl0){ + arr = id.split(","); + } Page pages = new Page<>(page, limit); - PageUtils pageUtils = new PageUtils(CouponUserDao.selectCouponByUserId(pages, id, userId, status, phone,couponName)); + PageUtils pageUtils = new PageUtils(CouponUserDao.selectCouponByUserId(pages, arr, userId, status, phone,couponName)); return Result.success().put("data", pageUtils); } diff --git a/src/main/java/com/sqx/modules/pay/controller/CashController.java b/src/main/java/com/sqx/modules/pay/controller/CashController.java index 61b6185..2bbdecb 100644 --- a/src/main/java/com/sqx/modules/pay/controller/CashController.java +++ b/src/main/java/com/sqx/modules/pay/controller/CashController.java @@ -358,6 +358,12 @@ public class CashController { one.setOutAt(sdf.format(new Date())); //更新转账订单 cashOutService.update(one); + + UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); + userMoneyDetails.setUserId(one.getUserMoneyDetailId()); + userMoneyDetails.setState(2); + userMoneyDetailsService.updateById(userMoneyDetails); + //查询用户 UserEntity userInfo=userService.queryByUserId(one.getUserId()); cashOutService.cashOutSuccess(userInfo, one.getOutAt(), one.getMoney(), one.getZhifubao(), commonInfoService.findOne(19).getValue()); @@ -417,6 +423,12 @@ public class CashController { one.setState(1); one.setOutAt(sdf.format(now)); cashOutService.update(one); + + UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); + userMoneyDetails.setUserId(one.getUserMoneyDetailId()); + userMoneyDetails.setState(2); + userMoneyDetailsService.updateById(userMoneyDetails); + UserEntity userInfo=userService.queryByUserId(one.getUserId()); cashOutService.cashOutSuccess(userInfo, one.getOutAt(), one.getMoney(), one.getZhifubao(),commonInfoService.findOne(19).getValue()); return Result.success(one.getZhifubaoName() + "转账成功"); @@ -455,6 +467,12 @@ public class CashController { one.setState(1); one.setOutAt(sdf.format(now)); cashOutService.update(one); + + UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); + userMoneyDetails.setUserId(one.getUserMoneyDetailId()); + userMoneyDetails.setState(2); + userMoneyDetailsService.updateById(userMoneyDetails); + UserEntity userInfo=userService.queryByUserId(one.getUserId()); cashOutService.cashOutSuccess(userInfo, one.getOutAt(), one.getMoney(), one.getZhifubao(),commonInfoService.findOne(19).getValue()); } diff --git a/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java b/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java index 52974f9..90d224d 100644 --- a/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java +++ b/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java @@ -396,7 +396,7 @@ public class AliPayController { userMoneyDetailsService.save(userMoneyDetails); } else if (payDetails.getType() == 3) { PayClassify payClassify = payClassifyService.getById(Long.parseLong(payDetails.getRemark())); - userMoneyDao.updateMayMoney(1, payDetails.getUserId(), payClassify.getPrice().doubleValue()); + userMoneyDao.updateMayMoney(1, payDetails.getUserId(), payClassify.getMoney().doubleValue()); //查询用户当前余额 UserMoney userNowMoney = userMoneyService.selectUserMoneyByUserId(payDetails.getUserId()); //钱包明细需要做调整2条记录,充值时钱包类型增加金额,现金类型减少金额 @@ -877,6 +877,31 @@ public class AliPayController { @ApiOperation("支付宝支付订单") @RequestMapping(value = "/payOrderMoney", method = RequestMethod.POST) @Transactional(rollbackFor = Exception.class) +// public Result payOrderMoney(@RequestAttribute Long userId, Long payClassifyId, Integer type, Long artificerId) { +// //通知页面地址 +// CommonInfo one = commonInfoService.findOne(19); +// String returnUrl = one.getValue() + "/#/pages/my/index"; +// CommonInfo one3 = commonInfoService.findOne(12); +// String name = one3.getValue(); +// String generalOrder = getGeneralOrder(); +// PayClassify payClassify = payClassifyService.getById(payClassifyId); +// PayDetails payDetails = new PayDetails(); +// payDetails.setState(0); +// payDetails.setCreateTime(sdf.format(new Date())); +// payDetails.setOrderId(generalOrder); +// payDetails.setUserId(userId); +// payDetails.setMoney(payClassify.getPrice().doubleValue()); +// payDetails.setClassify(6); +// payDetails.setType(3); +// payDetails.setArtificerId(artificerId); +// payDetails.setRemark(String.valueOf(payClassifyId)); +// payDetailsDao.insert(payDetails); +// if (type == 1) { +// return payApp(name, generalOrder, payClassify.getPrice().doubleValue()); +// } else { +// return payH5(name, generalOrder, payClassify.getPrice().doubleValue(), returnUrl); +// } +// } public Result payOrderMoney(@RequestAttribute Long userId, Long payClassifyId, Integer type, Long artificerId) { //通知页面地址 CommonInfo one = commonInfoService.findOne(19); @@ -896,10 +921,535 @@ public class AliPayController { payDetails.setArtificerId(artificerId); payDetails.setRemark(String.valueOf(payClassifyId)); payDetailsDao.insert(payDetails); - if (type == 1) { - return payApp(name, generalOrder, payClassify.getPrice().doubleValue()); - } else { - return payH5(name, generalOrder, payClassify.getPrice().doubleValue(), returnUrl); + payOrderResult(generalOrder); + return Result.success(); + } + + private void payOrderResult(String outTradeNo) { + try { + String tradeStatus = "TRADE_SUCCESS"; + if ("TRADE_SUCCESS".equals(tradeStatus) || "TRADE_FINISHED".equals(tradeStatus)) { + //支付宝支付单号 + String tradeNo = getGeneralOrder(); + PayDetails payDetails = payDetailsDao.selectByOrderId(outTradeNo); + if (payDetails.getState() == 0) { + payDetailsDao.updateState(payDetails.getId(), 1, sdf.format(new Date()), tradeNo); + if (payDetails.getType() == 1) { + Orders orders = ordersService.selectOrdersByOrderNo(payDetails.getOrderId()); + if(orders.getIsSupplement() == 2){ + orders.setStatus(6); + }else if(orders.getIsSupplement() == 3){ + orders.setStatus(2); + }else{ + orders.setStatus(9);//用户已支付技师待接单 + } + orders.setPayWay(6); + orders.setPayTime(sdf.format(new Date())); + + BigDecimal pingMoney=orders.getPayMoney(); + UserEntity user = userService.selectUserById(orders.getUserId()); + UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode()); + BigDecimal oneUserMoney=BigDecimal.ZERO; + if(oneUser!=null && oneUser.getIsAgency()!=null && oneUser.getIsAgency()==1){ + orders.setOneUserId(oneUser.getUserId()); + orders.setOneUserName(oneUser.getUserName()); + oneUserMoney=pingMoney.multiply(oneUser.getUserRate()); + } + + Artificer artificer = artificerService.getById(orders.getArtificerId()); + UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); + UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode()); + BigDecimal oneArtificerMoney=BigDecimal.ZERO; + if(oneArtificerUser!=null && oneArtificerUser.getIsAgency()!=null && oneArtificerUser.getIsAgency()==1){ + orders.setOneArtificerUserId(oneArtificerUser.getUserId()); + orders.setOneArtificerUserName(oneArtificerUser.getUserName()); + oneArtificerMoney=pingMoney.multiply(oneArtificerUser.getShopRate()); + + } + + BigDecimal shopMoney=BigDecimal.ZERO; + if(artificerUser.getConsortiaId()!=null){ + Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId()); + if(consortia!=null && consortia.getUserId()!=null){ + UserEntity consortiaUser = userService.getById(consortia.getUserId()); + if(consortiaUser!=null){ + shopMoney = pingMoney.multiply(consortia.getRate()); + orders.setConsortiaId(consortia.getConsortiaId()); + orders.setShopUserId(consortiaUser.getUserId()); + orders.setShopUserName(consortiaUser.getUserName()); + + } + } + } + pingMoney=pingMoney.subtract(orders.getArtificerMoney()); + pingMoney=pingMoney.subtract(oneUserMoney); + pingMoney=pingMoney.subtract(oneArtificerMoney); + pingMoney=pingMoney.subtract(shopMoney); + orders.setShopMoney(shopMoney); + orders.setOneUserMoney(oneUserMoney); + orders.setOneArtificerMoney(oneArtificerMoney); + orders.setPingMoney(pingMoney); + + ordersService.updateById(orders); + if(orders.getParentId()!=null && orders.getParentId()!=0){ + String value1 = commonInfoService.findOne(395).getValue(); + OrdersMassage ordersMassage = ordersMassageService.getOne(new QueryWrapper().eq("orders_id", orders.getOrdersId())); + MassageType massageType = massageTypeService.getById(ordersMassage.getMassageId()); + Integer duration=massageType.getDuration(); + Calendar calendar=Calendar.getInstance(); + if("是".equals(value1)){ + + ArtificerTime artificerTime = artificerTimeService.getOne(new QueryWrapper().eq("orders_id", orders.getParentId()).last(" order by artificer_time_id desc limit 1 ")); + String serveTime = artificerTime.getArtificerDate()+" "+artificerTime.getArtificerTime(); + String value = commonInfoService.findOne(392).getValue(); + int minute = Integer.parseInt(value); + int i=1; + if(duration%minute==0){ + i=duration/minute; + }else{ + i=duration/minute; + i++; + } + + SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + Date parse = null; + try { + parse = sdf1.parse(serveTime); + } catch (ParseException e) { + e.printStackTrace(); + } + + calendar.setTime(parse); + for(int j=0;j().eq("orders_id", orders1.getOrdersId())); + massageType = massageTypeService.getById(ordersMassage.getMassageId()); + duration=massageType.getDuration(); + String endTime = orders1.getEndTime(); + Date date = DateUtils.stringToDate(endTime, "yyyy-MM-dd HH:mm:ss"); + calendar=Calendar.getInstance(); + if(date.getTime()>System.currentTimeMillis()){ + calendar.setTime(date); + } + calendar.add(Calendar.MINUTE,duration); + orders1.setEndTime(endTime); + } + + ordersDao.updateById(orders1); + }else{ + MessageInfo messageInfo=new MessageInfo(); + messageInfo.setState("16"); + messageInfo.setTitle("新订单通知"); + messageInfo.setUserId("0"); + messageInfo.setIsSee("0"); + messageService.saveBody(messageInfo); + //电话通知 add 2024-06-20 by caolei + messageService.sendNoticeByCall(artificer.getUserId()); + } + + ordersService.sendMsg(orders); + + UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); + userMoneyDetails.setManipulateType(1); + userMoneyDetails.setMoney(orders.getPayMoney()); + userMoneyDetails.setUserId(orders.getUserId()); + userMoneyDetails.setContent("订单号:" + orders.getOrdersNo() + ",已经下单成功!"); + userMoneyDetails.setTitle("支付服务包订单"); + userMoneyDetails.setType(2); + userMoneyDetails.setState(2); + userMoneyDetails.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + userMoneyDetails.setBlRole(1); + userMoneyDetails.setBlFlag(2); + userMoneyDetailsService.save(userMoneyDetails); + + + } else if (payDetails.getType() == 2) { + //缴纳保证金 + Double cashDeposit = payDetails.getMoney(); + Long userId = payDetails.getUserId(); + userMoneyDao.updateCashDeposit(1, userId, cashDeposit); + UserEntity userEntity = userService.selectUserById(userId); + userEntity.setIsCashDeposit(2); + userService.updateById(userEntity); + //交保证金的记录 + UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); + userMoneyDetails.setUserId(userId); + userMoneyDetails.setTitle("缴纳保证金"); + userMoneyDetails.setContent("已缴纳保证金:" + cashDeposit + "元"); +// userMoneyDetails.setType(1); + userMoneyDetails.setManipulateType(1); + userMoneyDetails.setMoney(BigDecimal.valueOf(cashDeposit)); + userMoneyDetails.setType(2); + userMoneyDetails.setState(2); + userMoneyDetails.setClassify(1); + userMoneyDetails.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + userMoneyDetails.setBlRole(2); + userMoneyDetails.setBlFlag(2); + userMoneyDetailsService.save(userMoneyDetails); + } else + if (payDetails.getType() == 3) { + PayClassify payClassify = payClassifyService.getById(Long.parseLong(payDetails.getRemark())); + userMoneyDao.updateMayMoney(1, payDetails.getUserId(), payClassify.getMoney().doubleValue()); + //查询用户当前余额 + UserMoney userNowMoney = userMoneyService.selectUserMoneyByUserId(payDetails.getUserId()); + //钱包明细需要做调整2条记录,充值时钱包类型增加金额,现金类型减少金额 + UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); + //插入余额 + userMoneyDetails.setBalance(userNowMoney.getMoney()); + userMoneyDetails.setUserId(payDetails.getUserId()); + userMoneyDetails.setTitle("支付宝充值"); + userMoneyDetails.setContent("支付宝花费:"+payClassify.getPrice()+",钱包增加余额:"+payClassify.getMoney()); + userMoneyDetails.setManipulateType(2); + userMoneyDetails.setType(1); + userMoneyDetails.setState(2); + userMoneyDetails.setMoney(payClassify.getMoney()); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + userMoneyDetails.setCreateTime(sdf.format(new Date())); + userMoneyDetails.setBlRole(1); + userMoneyDetails.setBlFlag(1); + userMoneyDetailsService.save(userMoneyDetails); + userMoneyDetails.setTitle("支付宝充值"); + userMoneyDetails.setContent("支付宝花费:"+payClassify.getPrice()); + userMoneyDetails.setMoney(payClassify.getPrice()); + userMoneyDetails.setType(2); + userMoneyDetails.setBlRole(1); + userMoneyDetails.setBlFlag(2); + userMoneyDetailsService.save(userMoneyDetails); + + List list = payClassifyDetailService.findList(payClassify.getPayClassifyId()); + if(list!=null && list.size()>0){ + for(int m=0;m().eq("id", Long.parseLong(payDetails.getRemark()))); + //查看用户是否是会员 + UserVip userVip = userVipDao.selectOne(new QueryWrapper().eq("user_id", userId)); + Calendar cal = Calendar.getInstance(); + if(userVip!=null){ + Date endDate = null; + try { + endDate = sdf.parse(userVip.getEndTime()); + if (endDate != null && System.currentTimeMillis() < (endDate.getTime())) { + cal.setTime(endDate); + } + } catch (Exception e) { + e.getMessage(); + } + }else{ + userVip=new UserVip(); + //设置会员类型 + userVip.setVipNameType(vipDetails.getVipNameType()); + //设置开通会员的用户id + userVip.setUserId(userId); + //设置会员的购买时间 + userVip.setCreateTime(sdf.format(new Date())); + } + + MessageInfo messageInfo=new MessageInfo(); + UserMoneyDetails userMoneyDetails=new UserMoneyDetails(); + userMoneyDetails.setMoney(money); + userMoneyDetails.setUserId(userId); + + if ((vipDetails.getVipNameType().equals(0))) { + //月 + userMoneyDetails.setContent("支付宝开通月卡会员"); + messageInfo.setContent("支付宝开通月卡会员"); + cal.add(Calendar.MONTH, 1); + } else if ((vipDetails.getVipNameType()).equals(1)) { + //季 + userMoneyDetails.setContent("支付宝开通季卡会员"); + messageInfo.setContent("支付宝开通季卡会员"); + cal.add(Calendar.MONTH, 3); + } else { + //年 + userMoneyDetails.setContent("支付宝开通年费会员"); + messageInfo.setContent("支付宝开通年费会员"); + cal.add(Calendar.YEAR, 1); + } + + userVip.setEndTime(sdf.format(cal.getTime())); + if(userVip.getVipId()!=null){ + userVipDao.updateById(userVip); + }else{ + userVipDao.insert(userVip); + } + userMoneyDetails.setTitle("开通会员"); + userMoneyDetails.setType(2); + userMoneyDetails.setState(2); + userMoneyDetails.setManipulateType(1); + userMoneyDetails.setCreateTime(sdf.format(new Date())); + userMoneyDetails.setBlRole(1); + userMoneyDetails.setBlFlag(2); + userMoneyDetailsService.save(userMoneyDetails); + UserEntity userEntity = userService.selectUserById(userId); + messageInfo.setTitle("开通会员"); + messageInfo.setState(String.valueOf(4)); + messageInfo.setUserName(userEntity.getUserName()); + messageInfo.setUserId(String.valueOf(userEntity.getUserId())); + messageInfo.setCreateAt(sdf.format(new Date())); + messageInfo.setIsSee("0"); + messageService.saveBody(messageInfo); + if(StringUtil.isNotBlank(userEntity.getClientid())){ + userService.pushToSingle(messageInfo.getTitle(),messageInfo.getContent(),userEntity.getClientid()); + } + + }else if(payDetails.getType()==6){ + double money=payDetails.getMoney(); + long artificerId = Long.parseLong(payDetails.getRemark()); + Artificer artificer = artificerService.getById(artificerId); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + //用户流水 + UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); + userMoneyDetails.setClassify(8); + userMoneyDetails.setManipulateType(1); + userMoneyDetails.setUserId(payDetails.getUserId()); + userMoneyDetails.setTitle("支付宝给技师打赏"); + userMoneyDetails.setContent("使用支付宝给指定技师“"+artificer.getArtificerName()+"”打赏:"+money); + userMoneyDetails.setType(2); + userMoneyDetails.setState(2); + userMoneyDetails.setMoney(BigDecimal.valueOf(money)); + userMoneyDetails.setArtificerId(artificerId); + userMoneyDetails.setCreateTime(sdf.format(new Date())); + userMoneyDetails.setBlRole(1); + userMoneyDetails.setBlFlag(2); + userMoneyDetailsService.save(userMoneyDetails); + //技师流水 + UserEntity userEntity = userService.queryByUserId(payDetails.getUserId()); + userMoneyDao.updateMayMoney(1, artificerId, money); + //查询技师当前余额 + UserMoney userNowMoney = userMoneyService.selectUserMoneyByUserId(artificerId); + UserMoneyDetails userMoneyDetails2 = new UserMoneyDetails(); + //插入余额 + userMoneyDetails2.setBalance(userNowMoney.getMoney()); + userMoneyDetails2.setManipulateType(2); + userMoneyDetails2.setClassify(8); + userMoneyDetails2.setUserId(artificerId); + userMoneyDetails2.setTitle("用户支付宝打赏"); + userMoneyDetails2.setContent("来自用户“"+userEntity.getUserName()+"”支付宝打赏:"+money); + userMoneyDetails2.setType(1); + userMoneyDetails2.setState(2); + userMoneyDetails2.setMoney(BigDecimal.valueOf(money)); + userMoneyDetails2.setCreateTime(sdf.format(new Date())); + userMoneyDetails2.setBlRole(2); + userMoneyDetails2.setBlFlag(1); + userMoneyDetailsService.save(userMoneyDetails2); + }else if(payDetails.getType()==7){ + //服务包下单,分单 + UserPackageOrder orders = userPackageOrderDao.getByNo(outTradeNo); + UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); + userMoneyDetails.setManipulateType(1); + userMoneyDetails.setUserId(orders.getUserId()); + userMoneyDetails.setMoney(orders.getPayMoney()); + userMoneyDetails.setContent("订单号:" + orders.getOrdersNo() + ",已经下单成功!"); + userMoneyDetails.setTitle("支付服务包订单"); + userMoneyDetails.setType(2); + userMoneyDetails.setState(2); + userMoneyDetails.setCreateTime(sdf.format(new Date())); + userMoneyDetails.setBlRole(1); + userMoneyDetails.setBlFlag(1); + userMoneyDetailsService.save(userMoneyDetails); + + orders.setStatus(2); + orders.setPayWay(payDetails.getClassify()); + orders.setPayTime(sdf.format(new Date())); + userPackageOrderDao.updateStatus(orders); + + //获取订单-服务包映射关系列表 + List mappingList = userPackageOrdersMappingService.findListByOrdersId(orders.getOrdersId()); + for (UserPackageOrdersMapping ordersPackage : mappingList) { + int quantity = ordersPackage.getNum(); + MassagePackage massagePackage = massagePackageService.getById(ordersPackage.getPackageId()); + //修改服务包销量 + int sales = massagePackage.getSales(); + sales = sales+quantity; + massagePackage.setSales(sales); + massagePackageService.updateSales(massagePackage); + for(int i=0;i userPackageDetailList = userPackageDetailService.findMassagePackageDetails(userPackageDetail); + if(userPackageDetailList.size()>0){ + for(int j=0;j impleme //插入操作类型为已操作用户余额 userMoneyDetails.setManipulateType(2); userMoneyDetails.setUserId(userId); + userMoneyDetails.setClassify(3); userMoneyDetails.setTitle("提现:" + money); userMoneyDetails.setContent("支付宝提现:" + money + ",手续费:" + mul ); userMoneyDetails.setType(2); + userMoneyDetails.setState(1); userMoneyDetails.setMoney(new BigDecimal(moneySum)); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); userMoneyDetails.setCreateTime(sdf.format(new Date())); + userMoneyDetails.setBlRole(2); + userMoneyDetails.setBlFlag(1); userMoneyDetailsService.save(userMoneyDetails); + cashOut.setUserMoneyDetailId(userMoneyDetails.getId()); cashOut.setState(0); cashOut.setMoney(money.toString()); cashOut.setCreateAt(sdf.format(new Date())); @@ -371,13 +376,18 @@ public class CashOutServiceImpl extends ServiceImpl impleme //插入操作类型为已操作用户余额 userMoneyDetails.setManipulateType(2); userMoneyDetails.setUserId(userId); + userMoneyDetails.setClassify(3); userMoneyDetails.setTitle("提现:" + moneySub); userMoneyDetails.setContent("支付宝提现:" + moneySub + ",手续费:" + mul ); userMoneyDetails.setType(2); + userMoneyDetails.setState(1); userMoneyDetails.setMoney(new BigDecimal(money)); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); userMoneyDetails.setCreateTime(sdf.format(new Date())); + userMoneyDetails.setBlRole(2); + userMoneyDetails.setBlFlag(1); userMoneyDetailsService.save(userMoneyDetails); + cashOut.setUserMoneyDetailId(userMoneyDetails.getId()); cashOut.setState(0); cashOut.setMoney(moneySub.toString()); cashOut.setCreateAt(sdf.format(new Date())); diff --git a/src/main/java/com/sqx/modules/pay/service/impl/WxServiceImpl.java b/src/main/java/com/sqx/modules/pay/service/impl/WxServiceImpl.java index 980a3df..691180d 100644 --- a/src/main/java/com/sqx/modules/pay/service/impl/WxServiceImpl.java +++ b/src/main/java/com/sqx/modules/pay/service/impl/WxServiceImpl.java @@ -869,7 +869,7 @@ public class WxServiceImpl implements WxService { }else if(payDetails.getType()==3){ PayClassify payClassify = payClassifyService.getById(Long.parseLong(payDetails.getRemark())); - userMoneyDao.updateMayMoney(1, payDetails.getUserId(), payClassify.getPrice().doubleValue()); + userMoneyDao.updateMayMoney(1, payDetails.getUserId(), payClassify.getMoney().doubleValue()); //查询用户当前余额 UserMoney userNowMoney = userMoneyService.selectUserMoneyByUserId(payDetails.getUserId()); //钱包明细需要做调整2条记录,充值时钱包类型增加金额,现金类型减少金额 diff --git a/src/main/java/com/sqx/modules/task/service/impl/AllTaskServiceImpl.java b/src/main/java/com/sqx/modules/task/service/impl/AllTaskServiceImpl.java index cf25d15..6d7abf5 100644 --- a/src/main/java/com/sqx/modules/task/service/impl/AllTaskServiceImpl.java +++ b/src/main/java/com/sqx/modules/task/service/impl/AllTaskServiceImpl.java @@ -55,7 +55,7 @@ public class AllTaskServiceImpl implements AllTaskSercice { * 计算技师升级规则 每天半夜1点执行,预留12点到01点之间的计算间隔,用于触发其他计算逻辑 * A0,A1,A2,A3,A4,A5等 */ - @Scheduled(cron = "0 0 0 * * ?") +// @Scheduled(cron = "0 0 0 * * ?") public void upgradeJishi() { System.out.println("------------计算技师升级规则-----------"); //1.获取全部参与积分规则的技师 @@ -231,7 +231,7 @@ public class AllTaskServiceImpl implements AllTaskSercice { /** * 积分汇总 t+1进行汇总 */ - @Scheduled(cron = "0 0 0 * * ?") +// @Scheduled(cron = "0 0 0 * * ?") public void tongjiJishiGrade() { System.out.println("----------------每日积分汇总 定时任务-------------"); //当前时间减一天 diff --git a/src/main/resources/mapper/artificer/ArtificerMassageMapper.xml b/src/main/resources/mapper/artificer/ArtificerMassageMapper.xml index cabd01a..babd91e 100644 --- a/src/main/resources/mapper/artificer/ArtificerMassageMapper.xml +++ b/src/main/resources/mapper/artificer/ArtificerMassageMapper.xml @@ -29,7 +29,7 @@ - update artificer_massage set status=1 where massage_type_id=#{massageTypeId} + update artificer_massage set status=#{status} where massage_type_id=#{massageTypeId} and artificer_id = #{artificerId} \ No newline at end of file diff --git a/src/main/resources/mapper/artificer/OrdersDao.xml b/src/main/resources/mapper/artificer/OrdersDao.xml index 736a94d..9c3933c 100644 --- a/src/main/resources/mapper/artificer/OrdersDao.xml +++ b/src/main/resources/mapper/artificer/OrdersDao.xml @@ -303,7 +303,7 @@ and o.status=#{status} - and o.status=(2,9) + and o.status in (2,9) and o.status in (3,5) diff --git a/src/main/resources/mapper/coupon/TbCouponUserMapper.xml b/src/main/resources/mapper/coupon/TbCouponUserMapper.xml index 2b71a15..4607661 100644 --- a/src/main/resources/mapper/coupon/TbCouponUserMapper.xml +++ b/src/main/resources/mapper/coupon/TbCouponUserMapper.xml @@ -31,8 +31,11 @@ left join tb_user tu on tcu.user_id = tu.user_id left join sys_dict d on tcu.classify_id = d.id where 1 = 1 - - and tcu.id = #{id} + + and tcu.id in + + #{item} + and tcu.user_id = #{userId}