From d7e91a7faa609dbac982f974bc19af16f90d4d79 Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Fri, 28 Feb 2025 16:02:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=89=A9=E4=BD=99=E9=9C=80=E6=B1=82=EF=BC=8C?= =?UTF-8?q?=E6=AD=A4=E7=89=88=E6=9C=AC=E9=83=A8=E5=88=86=E8=AE=BF=E9=97=AE?= =?UTF-8?q?=E5=9C=B0=E5=9D=80=E8=BF=98=E6=98=AF=E6=8C=87=E5=90=91=E6=9C=AC?= =?UTF-8?q?=E5=9C=B0=EF=BC=8C=E4=B8=8B=E4=B8=80=E7=89=88=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/app/AppLoginController.java | 4 +- .../sqx/modules/app/service/UserService.java | 3 +- .../app/service/impl/UserServiceImpl.java | 7 +- .../controller/ArtificerController.java | 2 +- .../app/AppArtificerController.java | 4 +- .../modules/artificer/dao/ArtificerDao.java | 3 +- .../sqx/modules/artificer/dao/OrdersDao.java | 3 +- .../modules/artificer/entity/MassageType.java | 5 + .../sqx/modules/artificer/entity/Orders.java | 53 +- .../artificer/service/ArtificerService.java | 6 +- .../artificer/service/OrdersService.java | 4 +- .../service/impl/ArtificerServiceImpl.java | 17 +- .../service/impl/OrdersServiceImpl.java | 1971 ++++++++++------- .../fxy/controller/app/AppFxyController.java | 9 + .../fxy/service/impl/FxyDataServiceImpl.java | 3 +- .../controller/QdsCodeRecordController.java | 29 + .../qds/controller/app/AppQdsController.java | 21 +- .../commission/qds/dao/QdsCodeRecordDao.java | 11 + .../commission/qds/entity/QdsCodeRecord.java | 42 + .../bl/commission/qds/entity/QdsData.java | 28 +- .../qds/service/QdsCodeRecordService.java | 10 + .../qds/service/QdsCodeService.java | 3 +- .../impl/DqsCodeRecordServiceImpl.java | 47 + .../qds/service/impl/DqsCodeServiceImpl.java | 8 +- .../bl/commission/ywy/entity/YwyConfig.java | 4 + .../bl/dashboard/DashBoardController.java | 91 + .../controller/MassagePackageController.java | 6 + .../bl/massage/dao/MassagePackageDao.java | 3 +- .../bl/massage/entity/MassagePackage.java | 5 + .../service/MassagePackageService.java | 3 +- .../impl/MassagePackageServiceImpl.java | 7 +- .../coupon/controller/CouponController.java | 10 + .../com/sqx/modules/coupon/entity/Coupon.java | 17 +- .../modules/coupon/service/CouponService.java | 1 + .../coupon/service/CouponUserService.java | 3 + .../service/impl/CouponServiceImpl.java | 115 +- .../service/impl/CouponUserServiceImpl.java | 45 + .../impl/MaterialArtificerServiceImpl.java | 115 +- .../modules/message/dao/MessageInfoDao.java | 2 + .../modules/message/entity/MessageInfo.java | 3 + .../message/service/MessageService.java | 2 + .../service/impl/MessageServiceImpl.java | 5 + .../pay/controller/app/AliPayController.java | 126 +- .../pay/service/impl/WxServiceImpl.java | 129 +- .../service/impl/SelfGoodsServiceImpl.java | 41 +- .../task/service/impl/AllTaskServiceImpl.java | 230 +- .../service/impl/AllTaskServiceImpl_bk.java | 505 +++++ src/main/resources/application.yml | 7 +- .../mapper/artificer/ArtificerDao.xml | 8 +- .../resources/mapper/artificer/OrdersDao.xml | 5 +- .../bl/commission/qds/QdsCodeRecordDao.xml | 10 + .../mapper/bl/commission/qds/QdsDataDao.xml | 301 ++- .../mapper/bl/massage/MassagePackageDao.xml | 12 +- .../mapper/coupon/TbCouponMapper.xml | 8 +- .../mapper/message/MessageInfoDao.xml | 7 +- 55 files changed, 3030 insertions(+), 1089 deletions(-) create mode 100644 src/main/java/com/sqx/modules/bl/commission/qds/controller/QdsCodeRecordController.java create mode 100644 src/main/java/com/sqx/modules/bl/commission/qds/dao/QdsCodeRecordDao.java create mode 100644 src/main/java/com/sqx/modules/bl/commission/qds/entity/QdsCodeRecord.java create mode 100644 src/main/java/com/sqx/modules/bl/commission/qds/service/QdsCodeRecordService.java create mode 100644 src/main/java/com/sqx/modules/bl/commission/qds/service/impl/DqsCodeRecordServiceImpl.java create mode 100644 src/main/java/com/sqx/modules/bl/dashboard/DashBoardController.java create mode 100644 src/main/java/com/sqx/modules/task/service/impl/AllTaskServiceImpl_bk.java create mode 100644 src/main/resources/mapper/bl/commission/qds/QdsCodeRecordDao.xml diff --git a/src/main/java/com/sqx/modules/app/controller/app/AppLoginController.java b/src/main/java/com/sqx/modules/app/controller/app/AppLoginController.java index 9f7ff22..a11db1e 100644 --- a/src/main/java/com/sqx/modules/app/controller/app/AppLoginController.java +++ b/src/main/java/com/sqx/modules/app/controller/app/AppLoginController.java @@ -118,8 +118,8 @@ public class AppLoginController { @RequestMapping(value = "/registerCode", method = RequestMethod.POST) @ApiOperation("app或h5注册或登录") @ResponseBody - public Result registerCode( String phone, String msg,String platform, Integer sysPhone,String openId,String inviterCode,String bindingConsortiaId,String password,String userName,String avatar,String scanningChannel) { - return userService.registerCode(phone,msg,platform,sysPhone,openId,inviterCode,bindingConsortiaId,password,userName,avatar,scanningChannel); + public Result registerCode( String phone, String msg,String platform, Integer sysPhone,String openId,String inviterCode,String bindingConsortiaId,String password,String userName,String avatar,String scanningChannel,String blFxyCode,String blJjrCode,String blYwyCode,String blQdsCode,String blDlsCode) { + return userService.registerCode(phone,msg,platform,sysPhone,openId,inviterCode,bindingConsortiaId,password,userName,avatar,scanningChannel,blFxyCode,blJjrCode,blYwyCode,blQdsCode,blDlsCode); } @ApiOperation("用户端发送验证码") diff --git a/src/main/java/com/sqx/modules/app/service/UserService.java b/src/main/java/com/sqx/modules/app/service/UserService.java index d0e6f03..6140fd7 100644 --- a/src/main/java/com/sqx/modules/app/service/UserService.java +++ b/src/main/java/com/sqx/modules/app/service/UserService.java @@ -134,14 +134,13 @@ public interface UserService extends IService { /** * app注册或h5注册 * - * @param pwd 密码 * @param phone 手机号 * @param msg 验证按 * @param platform 来源 app h5 * @param scanningChannel * @return */ - Result registerCode(String phone, String msg, String platform, Integer sysPhone, String openId, String inviterCode, String bindingConsortiaId, String password, String userName, String avatar, String scanningChannel); + Result registerCode(String phone, String msg, String platform, Integer sysPhone, String openId, String inviterCode, String bindingConsortiaId, String password, String userName, String avatar, String scanningChannel,String blFxyCode,String blJjrCode,String blYwyCode,String blQdsCode,String blDlsCode); Result loginByOpenId(String openId); diff --git a/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java b/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java index 5bd8b8a..bf922a9 100644 --- a/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java +++ b/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java @@ -534,7 +534,7 @@ public class UserServiceImpl extends ServiceImpl implements @Override - public Result registerCode(String phone, String msg, String platform, Integer sysPhone, String openId, String inviterCode, String bindingConsortiaId, String password, String userName, String avatar, String scanningChannel) { + public Result registerCode(String phone, String msg, String platform, Integer sysPhone, String openId, String inviterCode, String bindingConsortiaId, String password, String userName, String avatar, String scanningChannel,String blFxyCode,String blJjrCode,String blYwyCode,String blQdsCode,String blDlsCode) { Msg msg1 = msgDao.findByPhoneAndCode(phone, msg); //校验短信验证码 if (msg1 == null) { @@ -581,6 +581,11 @@ public class UserServiceImpl extends ServiceImpl implements userInfo.setSysPhone(sysPhone); userInfo.setStatus(1); userInfo.setWxOpenId(openId); + userInfo.setBlFxyCode(blFxyCode); + userInfo.setBlJjrCode(blJjrCode); + userInfo.setBlYwyCode(blYwyCode); + userInfo.setBlQdsCode(blQdsCode); + userInfo.setBlDlsCode(blDlsCode); if(StringUtils.isNotEmpty(password)){ userInfo.setPassword(DigestUtils.sha256Hex(password)); } 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 d99ac2f..171dc45 100644 --- a/src/main/java/com/sqx/modules/artificer/controller/ArtificerController.java +++ b/src/main/java/com/sqx/modules/artificer/controller/ArtificerController.java @@ -217,7 +217,7 @@ public class ArtificerController { @PostMapping("/accomplishOrders") @ApiOperation("完成订单") public Result accomplishOrders(Long ordersId){ - return ordersService.accomplishOrders(ordersId,1,null,null,null, null,null,null); + return ordersService.accomplishOrders(ordersId,1,null,null,null, null,null,null,null); } diff --git a/src/main/java/com/sqx/modules/artificer/controller/app/AppArtificerController.java b/src/main/java/com/sqx/modules/artificer/controller/app/AppArtificerController.java index 7fd1b6f..13f07e2 100644 --- a/src/main/java/com/sqx/modules/artificer/controller/app/AppArtificerController.java +++ b/src/main/java/com/sqx/modules/artificer/controller/app/AppArtificerController.java @@ -294,8 +294,8 @@ public class AppArtificerController { @PostMapping("/accomplishOrders") @ApiOperation("完成订单") - public Result accomplishOrders(Long ordersId,String accomplishLongitude,String accomplishLatitude,String jsFwcn,String jsPjtag,String jsTsbz,String earlyFinishReason){ - return ordersService.accomplishOrders(ordersId,2,accomplishLongitude,accomplishLatitude, jsFwcn, jsPjtag, jsTsbz,earlyFinishReason); + public Result accomplishOrders(Long ordersId,String accomplishLongitude,String accomplishLatitude,String jsFwcn,String jsPjtag,String jsTsbz,String earlyFinishReason,Integer adminOperation){ + return ordersService.accomplishOrders(ordersId,2,accomplishLongitude,accomplishLatitude, jsFwcn, jsPjtag, jsTsbz,earlyFinishReason,adminOperation); } @PostMapping("/startOrders") diff --git a/src/main/java/com/sqx/modules/artificer/dao/ArtificerDao.java b/src/main/java/com/sqx/modules/artificer/dao/ArtificerDao.java index 892ee8b..8f2133c 100644 --- a/src/main/java/com/sqx/modules/artificer/dao/ArtificerDao.java +++ b/src/main/java/com/sqx/modules/artificer/dao/ArtificerDao.java @@ -69,4 +69,5 @@ public interface ArtificerDao extends BaseMapper { void insertJfDetail(Long artificerId, String artificerName, Integer type, BigDecimal integral,String remarks); -} \ No newline at end of file + int queryInServiceCount(); +} diff --git a/src/main/java/com/sqx/modules/artificer/dao/OrdersDao.java b/src/main/java/com/sqx/modules/artificer/dao/OrdersDao.java index 6a07461..532b27b 100644 --- a/src/main/java/com/sqx/modules/artificer/dao/OrdersDao.java +++ b/src/main/java/com/sqx/modules/artificer/dao/OrdersDao.java @@ -160,4 +160,5 @@ public interface OrdersDao extends BaseMapper { Orders getOrdersMoneyById(Long ordersId); -} \ No newline at end of file + List gztddList(); +} diff --git a/src/main/java/com/sqx/modules/artificer/entity/MassageType.java b/src/main/java/com/sqx/modules/artificer/entity/MassageType.java index e974650..1613483 100644 --- a/src/main/java/com/sqx/modules/artificer/entity/MassageType.java +++ b/src/main/java/com/sqx/modules/artificer/entity/MassageType.java @@ -130,6 +130,11 @@ public class MassageType implements Serializable { */ private Integer isTj; + /** + * 是否推广0否1是 + */ + private Integer isTg; + @TableField(exist = false) private String ids; diff --git a/src/main/java/com/sqx/modules/artificer/entity/Orders.java b/src/main/java/com/sqx/modules/artificer/entity/Orders.java index 6842174..1a8e77b 100644 --- a/src/main/java/com/sqx/modules/artificer/entity/Orders.java +++ b/src/main/java/com/sqx/modules/artificer/entity/Orders.java @@ -104,7 +104,16 @@ public class Orders implements Serializable { */ @TableField(exist = false) private BigDecimal fxyArtificerDeductMoneyTotal; - + /** + * 渠道商分佣技师承担总金额 + */ + @TableField(exist = false) + private BigDecimal qdsArtificerDeductMoneyTotal; + /** + * 业务员分佣技师承担总金额 + */ + @TableField(exist = false) + private BigDecimal ywyArtificerDeductMoneyTotal; /** * 总业绩 */ @@ -243,7 +252,14 @@ public class Orders implements Serializable { * 加钟二级分销员分佣技师分担 */ private BigDecimal addFxyTwoArtificerDeductMoney; - + /** + * 加钟渠道商分佣技师分担 + */ + private BigDecimal addQdsArtificerDeductMoney; + /** + * 加钟业务员分佣技师分担 + */ + private BigDecimal addYwyArtificerDeductMoney; /** * 技师总收益 */ @@ -692,5 +708,38 @@ public class Orders implements Serializable { */ private BigDecimal fxyTwoArtificerDeductMoney; + + // 渠道商ID + private Long qdsUserId; + + // 渠道商姓名 + private String qdsUserName; + + // 渠道商渠道码 + private String qdsCode; + + // 渠道码分佣 + private BigDecimal qdsCodeMoney; + + // 渠道商分佣技师承担金额 + private BigDecimal qdsArtificerDeductMoney; + + // 业务员ID + private Long ywyUserId; + + // 业务员姓名 + private String ywyUserName; + + // 业务员分佣 + private BigDecimal ywyCodeMoney; + + // 业务员分佣技师承担金额 + private BigDecimal ywyArtificerDeductMoney; + + @TableField(exist = false) + private String ztName; + @TableField(exist = false) + private int cs; + public Orders() {} } diff --git a/src/main/java/com/sqx/modules/artificer/service/ArtificerService.java b/src/main/java/com/sqx/modules/artificer/service/ArtificerService.java index 73b4707..a19aee9 100644 --- a/src/main/java/com/sqx/modules/artificer/service/ArtificerService.java +++ b/src/main/java/com/sqx/modules/artificer/service/ArtificerService.java @@ -59,4 +59,8 @@ public interface ArtificerService extends IService { Result getJfDetailList(Integer page,Integer limit,Long artificerId,String startTime,String endTime,Integer classify); void insertJfDetail(Long artificerId, String artificerName, Integer type, BigDecimal integral, String remarks); -} \ No newline at end of file + + int queryOnlineCount(); + + int queryInServiceCount(); +} diff --git a/src/main/java/com/sqx/modules/artificer/service/OrdersService.java b/src/main/java/com/sqx/modules/artificer/service/OrdersService.java index d6c90e6..bbf305c 100644 --- a/src/main/java/com/sqx/modules/artificer/service/OrdersService.java +++ b/src/main/java/com/sqx/modules/artificer/service/OrdersService.java @@ -56,7 +56,7 @@ public interface OrdersService extends IService { Result payUserVip(Long userId,Long vipDetailsId); - Result accomplishOrders(Long ordersId,Integer type,String accomplishLongitude,String accomplishLatitude,String jsFwcn,String jsPjtag,String jsTsbz,String earlyFinishReason); + Result accomplishOrders(Long ordersId,Integer type,String accomplishLongitude,String accomplishLatitude,String jsFwcn,String jsPjtag,String jsTsbz,String earlyFinishReason,Integer adminOperation); Result startOrders(Long ordersId,String startLongitude,String startLatitude,String startImg,String startRemark); @@ -114,4 +114,4 @@ public interface OrdersService extends IService { Result jishiQueren(Long ordersId); Result jszd(Long orderId, Long artificerId); -} \ No newline at end of file +} diff --git a/src/main/java/com/sqx/modules/artificer/service/impl/ArtificerServiceImpl.java b/src/main/java/com/sqx/modules/artificer/service/impl/ArtificerServiceImpl.java index c64c8d3..4421db8 100644 --- a/src/main/java/com/sqx/modules/artificer/service/impl/ArtificerServiceImpl.java +++ b/src/main/java/com/sqx/modules/artificer/service/impl/ArtificerServiceImpl.java @@ -1,6 +1,5 @@ package com.sqx.modules.artificer.service.impl; -import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.NumberUtil; import com.alibaba.druid.util.StringUtils; @@ -28,19 +27,15 @@ import com.sqx.modules.bl.artificer.entity.ArtificerIntegralStatistics; import com.sqx.modules.bl.artificer.service.ArtificerIntegralStatisticsService; import com.sqx.modules.common.dao.CommonInfoDao; import com.sqx.modules.common.service.CommonInfoService; -import com.sqx.modules.file.utils.FileUploadUtils; import com.sqx.modules.message.entity.MessageInfo; import com.sqx.modules.message.service.MessageService; import com.sqx.modules.pay.dao.CashOutDao; import com.sqx.modules.sys.entity.SysDictEntity; import com.sqx.modules.sys.service.SysDictService; -import org.apache.ibatis.annotations.Param; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; -import java.math.RoundingMode; -import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.util.*; @@ -1246,5 +1241,15 @@ public class ArtificerServiceImpl extends ServiceImpl i // // } + @Override + public int queryOnlineCount(){ + QueryWrapper artificerQueryWrapper = new QueryWrapper<>(); + artificerQueryWrapper.eq("status",1); + return baseMapper.selectCount(artificerQueryWrapper); + } -} \ No newline at end of file + @Override + public int queryInServiceCount(){ + return baseMapper.queryInServiceCount(); + } +} 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 41027cc..f42dc94 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 @@ -42,13 +42,24 @@ import com.sqx.modules.bl.commission.jjr.entity.JjrConfigLevel; import com.sqx.modules.bl.commission.jjr.service.JjrApplyService; import com.sqx.modules.bl.commission.jjr.service.JjrConfigLevelService; import com.sqx.modules.bl.commission.jjr.service.JjrConfigService; +import com.sqx.modules.bl.commission.qds.entity.QdsApply; +import com.sqx.modules.bl.commission.qds.entity.QdsCode; +import com.sqx.modules.bl.commission.qds.entity.QdsConfig; +import com.sqx.modules.bl.commission.qds.service.QdsCodeRecordService; +import com.sqx.modules.bl.commission.qds.service.QdsConfigService; +import com.sqx.modules.bl.commission.qds.service.impl.DqsApplyServiceImpl; +import com.sqx.modules.bl.commission.qds.service.impl.DqsCodeServiceImpl; +import com.sqx.modules.bl.commission.ywy.entity.YwyApply; +import com.sqx.modules.bl.commission.ywy.entity.YwyConfig; +import com.sqx.modules.bl.commission.ywy.service.impl.YwyApplyServiceImpl; +import com.sqx.modules.bl.commission.ywy.service.impl.YwyConfigServiceImpl; import com.sqx.modules.bl.order.entity.UserPackage; +import com.sqx.modules.bl.order.entity.UserPackageDetail; import com.sqx.modules.bl.order.entity.UserPackageOrder; +import com.sqx.modules.bl.order.service.UserPackageDetailService; import com.sqx.modules.bl.order.service.UserPackageOrderService; import com.sqx.modules.bl.order.service.UserPackageService; import com.sqx.modules.common.dao.CommonInfoDao; -import com.sqx.modules.bl.order.entity.UserPackageDetail; -import com.sqx.modules.bl.order.service.UserPackageDetailService; import com.sqx.modules.common.entity.CommonInfo; import com.sqx.modules.common.enums.CommonEnum; import com.sqx.modules.common.service.CommonInfoService; @@ -75,19 +86,14 @@ import com.sqx.modules.travelconf.service.TravelConfService; import com.sqx.modules.travelconf.vo.TravelPriceVo; import com.sqx.modules.trip.entity.Trip; import com.sqx.modules.trip.service.TripService; -import com.sqx.modules.utils.AppNotifyUtil; import com.sqx.modules.utils.LonLatUtil; import com.sqx.modules.utils.SenInfoCheckUtil; -import com.sqx.modules.utils.address.AddressUtil; -import com.sqx.modules.utils.address.WSSsdrAddress; import com.sqx.modules.utils.excel.ExcelData; import jodd.util.StringUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.gavaghan.geodesy.Ellipsoid; import org.gavaghan.geodesy.GlobalCoordinates; -import org.joda.time.format.DateTimeFormat; -import org.joda.time.format.DateTimeFormatter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; @@ -95,8 +101,9 @@ import org.springframework.transaction.annotation.Transactional; import weixin.popular.bean.message.templatemessage.TemplateMessageItem; import java.math.BigDecimal; -import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.*; import java.util.concurrent.locks.ReentrantReadWriteLock; @@ -184,6 +191,18 @@ public class OrdersServiceImpl extends ServiceImpl implements private ArtificerIntegralStatisticsDao artificerIntegralStatisticsDao; @Autowired AchievementIntegralService achievementIntegralService; + @Autowired + private DqsCodeServiceImpl dqsCodeService; + @Autowired + private DqsApplyServiceImpl dqsApplyService; + @Autowired + private QdsConfigService qdsConfigService; + @Autowired + private YwyApplyServiceImpl ywyApplyService; + @Autowired + private YwyConfigServiceImpl ywyConfigService; + @Autowired + private QdsCodeRecordService qdsCodeRecordService; private ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock(true); @@ -281,15 +300,16 @@ public class OrdersServiceImpl extends ServiceImpl implements /** * 获取总花费时间 - * @param duration 服务时长 - * @param serveTime 服务时间 - * @param value1 是否开启忙时 - * @param tripWay 出行方式 + * + * @param duration 服务时长 + * @param serveTime 服务时间 + * @param value1 是否开启忙时 + * @param tripWay 出行方式 * @param artificerId 技师ID * @return */ - private Map getTaskTime(Integer duration,String serveTime,String value1,Integer tripWay,Long artificerId){ - Map map = new HashMap<>(); + private Map getTaskTime(Integer duration, String serveTime, String value1, Integer tripWay, Long artificerId) { + Map map = new HashMap<>(); String beforeTime = commonInfoService.findOne(457).getValue(); int beforeTimeInt = Integer.parseInt(beforeTime); @@ -301,22 +321,22 @@ public class OrdersServiceImpl extends ServiceImpl implements int jyMinuteInt = Integer.parseInt(jyValue); int cxsjInt = 0; - if(Objects.nonNull(tripWay)){ - if(tripWay.equals(1)){ + if (Objects.nonNull(tripWay)) { + if (tripWay.equals(1)) { String cxsj = commonInfoService.findOne(454).getValue(); cxsjInt = Integer.parseInt(cxsj); } - if(tripWay.equals(2)){ + if (tripWay.equals(2)) { String cxsj = commonInfoService.findOne(455).getValue(); cxsjInt = Integer.parseInt(cxsj); } - if(tripWay.equals(3)){ + if (tripWay.equals(3)) { String cxsj = commonInfoService.findOne(456).getValue(); cxsjInt = Integer.parseInt(cxsj); } } beforeTimeInt = beforeTimeInt + cxsjInt; //服务时间前锁单时间 - int minute=0; + int minute = 0; int i = 0; int f = 0; int a = 0; @@ -344,14 +364,14 @@ public class OrdersServiceImpl extends ServiceImpl implements List allTime = new ArrayList<>(); String date = serveTime.substring(0, 10); String time = serveTime.substring(11, 16); - Date parse = DateUtils.stringToDate(serveTime,"yyyy-MM-dd HH:mm"); + Date parse = DateUtils.stringToDate(serveTime, "yyyy-MM-dd HH:mm"); //服务时间前锁单时间判断 if (f > 0) { Calendar calendar = Calendar.getInstance(); calendar.setTime(parse); for (int j = 0; j < f; j++) { calendar.add(Calendar.MINUTE, -minute); - String format = DateUtils.format(calendar.getTime(),"yyyy-MM-dd HH:mm"); + String format = DateUtils.format(calendar.getTime(), "yyyy-MM-dd HH:mm"); allTime.add(format); date = format.substring(0, 10); time = format.substring(11, 16); @@ -362,7 +382,7 @@ public class OrdersServiceImpl extends ServiceImpl implements .eq("artificer_time", time) .last("limit 1")); if (artificerTime != null) { - map.put("code","1"); + map.put("code", "1"); return map; } } @@ -371,11 +391,11 @@ public class OrdersServiceImpl extends ServiceImpl implements if (i >= 0) { Calendar calendar = Calendar.getInstance(); calendar.setTime(parse); - String format = DateUtils.format(calendar.getTime(),"yyyy-MM-dd HH:mm"); + String format = DateUtils.format(calendar.getTime(), "yyyy-MM-dd HH:mm"); allTime.add(format); for (int j = 0; j < i; j++) { calendar.add(Calendar.MINUTE, minute); - format = DateUtils.format(calendar.getTime(),"yyyy-MM-dd HH:mm"); + format = DateUtils.format(calendar.getTime(), "yyyy-MM-dd HH:mm"); allTime.add(format); date = format.substring(0, 10); time = format.substring(11, 16); @@ -386,7 +406,7 @@ public class OrdersServiceImpl extends ServiceImpl implements .eq("artificer_time", time) .last("limit 1")); if (artificerTime != null) { - map.put("code","1"); + map.put("code", "1"); return map; } } @@ -395,10 +415,10 @@ public class OrdersServiceImpl extends ServiceImpl implements if (a > 0) { Calendar calendar = Calendar.getInstance(); calendar.setTime(parse); - calendar.add(Calendar.MINUTE, minute*i); + calendar.add(Calendar.MINUTE, minute * i); for (int j = 0; j < a; j++) { calendar.add(Calendar.MINUTE, minute); - String format = DateUtils.format(calendar.getTime(),"yyyy-MM-dd HH:mm"); + String format = DateUtils.format(calendar.getTime(), "yyyy-MM-dd HH:mm"); allTime.add(format); date = format.substring(0, 10); time = format.substring(11, 16); @@ -409,29 +429,30 @@ public class OrdersServiceImpl extends ServiceImpl implements .eq("artificer_time", time) .last("limit 1")); if (artificerTime != null) { - map.put("code","1"); + map.put("code", "1"); return map; } } } allTime.sort(Comparator.naturalOrder()); - map.put("timeList",allTime); - map.put("code","0"); + map.put("timeList", allTime); + map.put("code", "0"); return map; } /** * 获取总花费时间,包含当前订单中得时间 - * @param duration 服务时长 - * @param serveTime 服务时间 - * @param value1 是否开启忙时 - * @param tripWay 出行方式 + * + * @param duration 服务时长 + * @param serveTime 服务时间 + * @param value1 是否开启忙时 + * @param tripWay 出行方式 * @param artificerId 技师ID - * @param ordersId 订单ID + * @param ordersId 订单ID * @return */ - private Map getTaskTimeIncudeOrders(Integer duration,String serveTime,String value1,Integer tripWay,Long artificerId,Long ordersId){ - Map map = new HashMap<>(); + private Map getTaskTimeIncudeOrders(Integer duration, String serveTime, String value1, Integer tripWay, Long artificerId, Long ordersId) { + Map map = new HashMap<>(); String beforeTime = commonInfoService.findOne(457).getValue(); int beforeTimeInt = Integer.parseInt(beforeTime); @@ -443,22 +464,22 @@ public class OrdersServiceImpl extends ServiceImpl implements int jyMinuteInt = Integer.parseInt(jyValue); int cxsjInt = 0; - if(Objects.nonNull(tripWay)){ - if(tripWay.equals(1)){ + if (Objects.nonNull(tripWay)) { + if (tripWay.equals(1)) { String cxsj = commonInfoService.findOne(454).getValue(); cxsjInt = Integer.parseInt(cxsj); } - if(tripWay.equals(2)){ + if (tripWay.equals(2)) { String cxsj = commonInfoService.findOne(455).getValue(); cxsjInt = Integer.parseInt(cxsj); } - if(tripWay.equals(3)){ + if (tripWay.equals(3)) { String cxsj = commonInfoService.findOne(456).getValue(); cxsjInt = Integer.parseInt(cxsj); } } beforeTimeInt = beforeTimeInt + cxsjInt; //服务时间前锁单时间 - int minute=0; + int minute = 0; int i = 0; int f = 0; int a = 0; @@ -486,14 +507,14 @@ public class OrdersServiceImpl extends ServiceImpl implements List allTime = new ArrayList<>(); String date = serveTime.substring(0, 10); String time = serveTime.substring(11, 16); - Date parse = DateUtils.stringToDate(serveTime,"yyyy-MM-dd HH:mm"); + Date parse = DateUtils.stringToDate(serveTime, "yyyy-MM-dd HH:mm"); //服务时间前锁单时间判断 if (f > 0) { Calendar calendar = Calendar.getInstance(); calendar.setTime(parse); for (int j = 0; j < f; j++) { calendar.add(Calendar.MINUTE, -minute); - String format = DateUtils.format(calendar.getTime(),"yyyy-MM-dd HH:mm"); + String format = DateUtils.format(calendar.getTime(), "yyyy-MM-dd HH:mm"); allTime.add(format); date = format.substring(0, 10); time = format.substring(11, 16); @@ -505,7 +526,7 @@ public class OrdersServiceImpl extends ServiceImpl implements .ne("orders_id", ordersId) .last("limit 1")); if (artificerTime != null) { - map.put("code","1"); + map.put("code", "1"); return map; } } @@ -516,7 +537,7 @@ public class OrdersServiceImpl extends ServiceImpl implements calendar.setTime(parse); for (int j = 0; j < i; j++) { calendar.add(Calendar.MINUTE, minute); - String format = DateUtils.format(calendar.getTime(),"yyyy-MM-dd HH:mm"); + String format = DateUtils.format(calendar.getTime(), "yyyy-MM-dd HH:mm"); allTime.add(format); date = format.substring(0, 10); time = format.substring(11, 16); @@ -528,7 +549,7 @@ public class OrdersServiceImpl extends ServiceImpl implements .ne("orders_id", ordersId) .last("limit 1")); if (artificerTime != null) { - map.put("code","1"); + map.put("code", "1"); return map; } } @@ -537,10 +558,10 @@ public class OrdersServiceImpl extends ServiceImpl implements if (a > 0) { Calendar calendar = Calendar.getInstance(); calendar.setTime(parse); - calendar.add(Calendar.MINUTE, minute*i); + calendar.add(Calendar.MINUTE, minute * i); for (int j = 0; j < a; j++) { calendar.add(Calendar.MINUTE, minute); - String format = DateUtils.format(calendar.getTime(),"yyyy-MM-dd HH:mm"); + String format = DateUtils.format(calendar.getTime(), "yyyy-MM-dd HH:mm"); allTime.add(format); date = format.substring(0, 10); time = format.substring(11, 16); @@ -552,30 +573,31 @@ public class OrdersServiceImpl extends ServiceImpl implements .ne("orders_id", ordersId) .last("limit 1")); if (artificerTime != null) { - map.put("code","1"); + map.put("code", "1"); return map; } } } allTime.sort(Comparator.naturalOrder()); - map.put("timeList",allTime); - map.put("code","0"); + map.put("timeList", allTime); + map.put("code", "0"); return map; } /** * 获取加钟总花费时间 - * @param duration 服务时长 - * @param serveTime 服务时间 - * @param value1 是否开启忙时 + * + * @param duration 服务时长 + * @param serveTime 服务时间 + * @param value1 是否开启忙时 * @param artificerId 技师ID * @return */ - private Map getAddTaskTime(Integer duration,String serveTime,String value1,Long artificerId){ - Map map = new HashMap<>(); + private Map getAddTaskTime(Integer duration, String serveTime, String value1, Long artificerId) { + Map map = new HashMap<>(); String jyValue = commonInfoService.findOne(392).getValue(); int jyMinuteInt = Integer.parseInt(jyValue); - int minute=0; + int minute = 0; int i = 0; if ("是".equals(value1)) { minute = jyMinuteInt; @@ -589,14 +611,14 @@ public class OrdersServiceImpl extends ServiceImpl implements List allTime = new ArrayList<>(); String date = serveTime.substring(0, 10); String time = serveTime.substring(11, 16); - Date parse = DateUtils.stringToDate(serveTime,"yyyy-MM-dd HH:mm"); + Date parse = DateUtils.stringToDate(serveTime, "yyyy-MM-dd HH:mm"); //服务时间后锁单时间判断 if (i > 0) { Calendar calendar = Calendar.getInstance(); calendar.setTime(parse); for (int j = 0; j < i; j++) { calendar.add(Calendar.MINUTE, minute); - String format = DateUtils.format(calendar.getTime(),"yyyy-MM-dd HH:mm"); + String format = DateUtils.format(calendar.getTime(), "yyyy-MM-dd HH:mm"); allTime.add(format); date = format.substring(0, 10); time = format.substring(11, 16); @@ -607,26 +629,27 @@ public class OrdersServiceImpl extends ServiceImpl implements .eq("artificer_time", time) .last("limit 1")); if (artificerTime != null) { - map.put("code","1"); + map.put("code", "1"); return map; } } } allTime.sort(Comparator.naturalOrder()); - map.put("timeList",allTime); - map.put("code","0"); + map.put("timeList", allTime); + map.put("code", "0"); return map; } /** * 插入技师占用时间表 - * @param allTime 时间集合 + * + * @param allTime 时间集合 * @param artificerId 技师ID - * @param ordersId 订单ID + * @param ordersId 订单ID */ - private void insertArtificerTime(List allTime,Long artificerId,Long ordersId){ - if(allTime!=null && allTime.size()>0) { - for (int i=0; i allTime, Long artificerId, Long ordersId) { + if (allTime != null && allTime.size() > 0) { + for (int i = 0; i < allTime.size(); i++) { String serveTime2 = allTime.get(i); String date2 = serveTime2.substring(0, 10); String time2 = serveTime2.substring(11, 16); @@ -649,11 +672,22 @@ public class OrdersServiceImpl extends ServiceImpl implements // Artificer artificer1 = artificerDao.selectOne(Wrappers.lambdaQuery() // .eq(Artificer::getArtificerId, orders.getArtificerId())); // orders.setClassifyId(artificer1.getClassifyId()); + + //渠道商邀请码规则:先看下渠道码中间表24小时内是否有扫码记录,如果没有还需确认下用户本身是否为渠道扫码注册用户 + String qdsCode = qdsCodeRecordService.queryScanCodeRecord(orders.getUserId()); + if (StringUtils.isBlank(qdsCode)) { + UserEntity userEntity = userService.selectUserById(orders.getUserId()); + if (userEntity == null && StringUtils.isNotBlank(userEntity.getBlQdsCode())) { + orders.setQdsCode(userEntity.getBlQdsCode()); + } + }else{ + orders.setQdsCode(qdsCode); + } try { - if(orders.getUserPackageDetailId() !=null ){ + if (orders.getUserPackageDetailId() != null) { //套餐订单 return insertPackageOrders(orders); - }else{ + } else { //项目订单 return insertMassageOrders(orders); } @@ -668,27 +702,27 @@ public class OrdersServiceImpl extends ServiceImpl implements // return Result.error("系统繁忙,请稍后再试!"); } - private Result insertMassageOrders(Orders orders) throws Exception{ + private Result insertMassageOrders(Orders orders) throws Exception { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); BigDecimal couponMinMoney = BigDecimal.ZERO;//所有代金券的使用额度总和 //获取并判断代金券信息 List CouponUserList = Lists.newArrayList(); - if(orders.getCouponId() != null){ + if (orders.getCouponId() != null) { String couponIds = orders.getCouponId(); - if(StringUtils.isNotBlank(couponIds)){ + if (StringUtils.isNotBlank(couponIds)) { String[] couponArr = couponIds.trim().split(","); BigDecimal couponMoney = new BigDecimal(0); StringBuffer couponNameSb = new StringBuffer(); - for(int i=0;i implements } orders.setCouponName(couponNameSb.toString()); orders.setCouponMoney(couponMoney); - }else{ + } else { orders.setCouponName(""); orders.setCouponMoney(BigDecimal.ZERO); } - }else{ + } else { orders.setCouponName(""); orders.setCouponMoney(BigDecimal.ZERO); } @@ -744,10 +778,10 @@ public class OrdersServiceImpl extends ServiceImpl implements List ordersMassageList = orders.getOrdersMassageList(); MassageType massageType = massageTypeService.getById(ordersMassageList.get(0).getMassageId()); - if(massageType == null){ + if (massageType == null) { Long id = ordersMassageList.get(0).getMassageId(); Orders tempOrders = baseMapper.selectById(id); - if(tempOrders != null){ + if (tempOrders != null) { return Result.error("该订单已生成,请到订单列表进行支付!"); } } @@ -761,20 +795,20 @@ public class OrdersServiceImpl extends ServiceImpl implements for (OrdersMassage ordersMassage : ordersMassageList) { orders.setMassageNum(ordersMassage.getNum()); price = massageType.getPrice().multiply(BigDecimal.valueOf(ordersMassage.getNum())); - price = price.setScale(2,BigDecimal.ROUND_HALF_UP); + price = price.setScale(2, BigDecimal.ROUND_HALF_UP); if (orders.getParentId() != null && orders.getParentId() != 0) { orders.setAddTime(massageType.getDuration()); List parentList = baseMapper.getParentOrders(orders.getParentId()); - if(parentList.size()>0){ - for(Orders parentOrder : parentList){ - if(parentOrder.getStatus()==1 || parentOrder.getStatus()==4){ + 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){ + if (parentList.size() > 0) { return Result.error("当前订单已有加钟订单,无法继续加钟!"); } } @@ -788,17 +822,17 @@ public class OrdersServiceImpl extends ServiceImpl implements //技师加成金额 BigDecimal technicianMoney = price.multiply(orders.getTechnicianRate()).divide(new BigDecimal(100)); - technicianMoney = technicianMoney.setScale(2,BigDecimal.ROUND_HALF_UP); + technicianMoney = technicianMoney.setScale(2, BigDecimal.ROUND_HALF_UP); orders.setTechnicianMoney(technicianMoney); //技师加成后总额 BigDecimal priceMarkup = technicianMoney.add(price); - priceMarkup = priceMarkup.setScale(2,BigDecimal.ROUND_HALF_UP); + priceMarkup = priceMarkup.setScale(2, BigDecimal.ROUND_HALF_UP); orders.setPriceMarkup(priceMarkup); //会员优惠后金额,及会员减免金额 BigDecimal vipMoney = priceMarkup.multiply(orders.getVipRate()).divide(new BigDecimal(100)); - vipMoney = vipMoney.setScale(2,BigDecimal.ROUND_HALF_UP); + vipMoney = vipMoney.setScale(2, BigDecimal.ROUND_HALF_UP); BigDecimal vipReductionMoney = priceMarkup.subtract(vipMoney); orders.setVipReductionMoney(vipReductionMoney); @@ -807,7 +841,7 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setMassageMoney(payMoney); //判断金额是否满足代金券金额最少消费额度 - if(orders.getMassagePrice().compareTo(couponMinMoney) < 0){ + if (orders.getMassagePrice().compareTo(couponMinMoney) < 0) { return Result.error("当前应付总金额不满足优惠券使用的最小额度,请重新选择优惠券!"); } @@ -831,17 +865,17 @@ public class OrdersServiceImpl extends ServiceImpl implements return Result.error("预约时间正忙,请更换其他时间!"); } - Map map = getTaskTime(massageType.getDuration(),serveTime,value1,tripWay,orders.getArtificerId()); - if(map.get("code").toString().equals("1")){ + Map map = getTaskTime(massageType.getDuration(), serveTime, value1, tripWay, orders.getArtificerId()); + if (map.get("code").toString().equals("1")) { return Result.error("预约时间正忙,请更换其他时间!"); } //计算车费 - TravelPriceVo travelPriceVo = travelConfService.calcTravelPrice(orders.getArtificerId(), orders.getLongitude(), orders.getLatitude(),orders.getServeTime()); + TravelPriceVo travelPriceVo = travelConfService.calcTravelPrice(orders.getArtificerId(), orders.getLongitude(), orders.getLatitude(), orders.getServeTime()); if (travelPriceVo == null) { return Result.error("暂不支持当前地址,请更换其他地址!"); } taxiMoney = new BigDecimal(travelPriceVo.getTravelPrice()); - taxiMoney = taxiMoney.setScale(2,BigDecimal.ROUND_HALF_UP); + taxiMoney = taxiMoney.setScale(2, BigDecimal.ROUND_HALF_UP); orders.setTaxiMoney(taxiMoney); orders.setKm(travelPriceVo.getKilometerNum()); orders.setUsualTravelMoney(travelPriceVo.getUsualTravelMoney()); @@ -849,10 +883,10 @@ public class OrdersServiceImpl extends ServiceImpl implements } else { if ("是".equals(value1)) { ArtificerTime artificerTime = artificerTimeService.getOne(new QueryWrapper().eq("orders_id", orders.getParentId()).last(" order by artificer_time_id desc limit 1 ")); - if(artificerTime!=null){ + if (artificerTime != null) { String serveTime = artificerTime.getArtificerDate() + " " + artificerTime.getArtificerTime(); - Map map = getAddTaskTime(orders.getDuration(),serveTime,value1,orders.getArtificerId()); - if(map.get("code").toString().equals("1")){ + Map map = getAddTaskTime(orders.getDuration(), serveTime, value1, orders.getArtificerId()); + if (map.get("code").toString().equals("1")) { return Result.error("预约时间正忙,请更换其他时间!"); } } @@ -861,19 +895,19 @@ public class OrdersServiceImpl extends ServiceImpl implements //加上车费 BigDecimal subtract = payMoney; payMoney = payMoney.add(taxiMoney); - payMoney = payMoney.setScale(2,BigDecimal.ROUND_HALF_UP); + payMoney = payMoney.setScale(2, BigDecimal.ROUND_HALF_UP); orders.setPayMoney(payMoney); //计算用户收益 !计算前先减去通行费用再计算技师抽成 - artificerPrice = subtract.multiply(artificer.getRate()).setScale(2,BigDecimal.ROUND_HALF_UP); + artificerPrice = subtract.multiply(artificer.getRate()).setScale(2, BigDecimal.ROUND_HALF_UP); //查询是否计算出租车扣费 String taxi = commonInfoService.findOne(394).getValue(); //计算技师出租车收益(按照技师表收益计算) if ("是".equals(taxi)) { //计算技师应该收取的出租车费用 - BigDecimal artificerTaxiMoney = taxiMoney.multiply(artificer.getRate()).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal artificerTaxiMoney = taxiMoney.multiply(artificer.getRate()).setScale(2, BigDecimal.ROUND_HALF_UP); //计算出租车扣款 - BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiMoney).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiMoney).setScale(2, BigDecimal.ROUND_HALF_UP); //赋值技师出租收款 orders.setArtificerTaxiMoney(artificerTaxiMoney); //赋值出租车扣款 @@ -898,9 +932,9 @@ public class OrdersServiceImpl extends ServiceImpl implements // } // //获取项目应支付金额 // BigDecimal projectBenefits = massageMoney; - BigDecimal projectBenefits = subtract; + BigDecimal projectBenefits = subtract; //计算技师项目提成金额 - orders.setProjectBenefits(projectBenefits.multiply(artificer.getRate()).setScale(2,BigDecimal.ROUND_HALF_UP)); + orders.setProjectBenefits(projectBenefits.multiply(artificer.getRate()).setScale(2, BigDecimal.ROUND_HALF_UP)); orders.setOrdersNo(getGeneralOrder()); orders.setStatus(1); @@ -909,12 +943,12 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setCreateTime(sdf.format(new Date())); //留存订单生成时的技师分成比例 orders.setArtificerRate(artificer.getRate()); - orders.setSumMoney(orders.getPayMoney().setScale(2,BigDecimal.ROUND_HALF_UP)); + orders.setSumMoney(orders.getPayMoney().setScale(2, BigDecimal.ROUND_HALF_UP)); //保存订单 baseMapper.insert(orders); //更新代金券状态 - if(CouponUserList.size()>0){ + if (CouponUserList.size() > 0) { for (CouponUser couponUser : CouponUserList) { couponUser.setStatus(1); couponUserService.updateById(couponUser); @@ -940,13 +974,13 @@ public class OrdersServiceImpl extends ServiceImpl implements return Result.success().put("data", orders); } - private Result insertPackageOrders(Orders orders) throws Exception{ + private Result insertPackageOrders(Orders orders) throws Exception { List ordersMassageList = orders.getOrdersMassageList(); UserPackageDetail userPackageDetail = userPackageDetailService.getById(ordersMassageList.get(0).getMassageId()); - if(userPackageDetail == null){ + if (userPackageDetail == null) { Long id = ordersMassageList.get(0).getMassageId(); Orders tempOrders = baseMapper.selectById(id); - if(tempOrders != null){ + if (tempOrders != null) { return Result.error("该订单已生成,请到订单列表进行支付!"); } } @@ -955,7 +989,7 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setUserPackageId(userPackageDetail.getMainId()); orders.setUserPackageDetailId(userPackageDetail.getId()); - if(userPackageDetail.getStatus().equals(1)){ + if (userPackageDetail.getStatus().equals(1)) { return Result.error("此服务项目已经被使用,无法重复使用!"); } @@ -978,22 +1012,22 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setDuration(userPackageDetail.getDuration()); for (OrdersMassage ordersMassage : ordersMassageList) { orders.setMassageNum(ordersMassage.getNum()); - price = userPackageDetail.getPrice().multiply(BigDecimal.valueOf(ordersMassage.getNum())).setScale(2,BigDecimal.ROUND_HALF_UP); - packagePrice = userPackageDetail.getPackagePrice().multiply(BigDecimal.valueOf(ordersMassage.getNum())).setScale(2,BigDecimal.ROUND_HALF_UP); + price = userPackageDetail.getPrice().multiply(BigDecimal.valueOf(ordersMassage.getNum())).setScale(2, BigDecimal.ROUND_HALF_UP); + packagePrice = userPackageDetail.getPackagePrice().multiply(BigDecimal.valueOf(ordersMassage.getNum())).setScale(2, BigDecimal.ROUND_HALF_UP); if (orders.getParentId() != null && orders.getParentId() != 0) { orders.setAddTime(userPackageDetail.getDuration()); List parentList = baseMapper.getParentOrders(orders.getParentId()); - if(parentList.size()>0){ - for(Orders parentOrder : parentList){ - if(parentOrder.getStatus()==1 || parentOrder.getStatus()==4){ + 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){ + if (parentList.size() > 0) { return Result.error("当前订单已有加钟订单,无法继续加钟!"); } } @@ -1020,12 +1054,12 @@ public class OrdersServiceImpl extends ServiceImpl implements BigDecimal taxiMoney = BigDecimal.ZERO; String isTravelFree = commonInfoService.findOne(460).getValue(); - if(isTravelFree.equals("是")){ + if (isTravelFree.equals("是")) { taxiMoney = BigDecimal.ZERO; tripWay = 3; orders.setTripWay(3); } - TravelPriceVo travelPriceVo = travelConfService.calcTravelPrice(orders.getArtificerId(), orders.getLongitude(), orders.getLatitude(),orders.getServeTime(),tripWay); + TravelPriceVo travelPriceVo = travelConfService.calcTravelPrice(orders.getArtificerId(), orders.getLongitude(), orders.getLatitude(), orders.getServeTime(), tripWay); if (travelPriceVo == null) { return Result.error("暂不支持当前地址,请更换其他地址!"); } @@ -1047,16 +1081,16 @@ public class OrdersServiceImpl extends ServiceImpl implements if (artificerTime != null) { return Result.error("预约时间正忙,请更换其他时间!"); } - Map map = getTaskTime(userPackageDetail.getDuration(),serveTime,value1,tripWay,orders.getArtificerId()); - if(map.get("code").toString().equals("1")){ + Map map = getTaskTime(userPackageDetail.getDuration(), serveTime, value1, tripWay, orders.getArtificerId()); + if (map.get("code").toString().equals("1")) { return Result.error("预约时间正忙,请更换其他时间!"); } } else { 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(); - Map map = getAddTaskTime(userPackageDetail.getDuration(),serveTime,value1,orders.getArtificerId()); - if(map.get("code").toString().equals("1")){ + Map map = getAddTaskTime(userPackageDetail.getDuration(), serveTime, value1, orders.getArtificerId()); + if (map.get("code").toString().equals("1")) { return Result.error("预约时间正忙,请更换其他时间!"); } } @@ -1064,19 +1098,19 @@ public class OrdersServiceImpl extends ServiceImpl implements //加上车费 BigDecimal subtract = payMoney; payMoney = payMoney.add(taxiMoney); - payMoney = payMoney.setScale(2,BigDecimal.ROUND_HALF_UP); + payMoney = payMoney.setScale(2, BigDecimal.ROUND_HALF_UP); orders.setPayMoney(payMoney); //计算用户收益 !计算前先减去通行费用再计算技师抽成 - artificerPrice = subtract.multiply(artificer.getRate()).setScale(2,BigDecimal.ROUND_HALF_UP); + artificerPrice = subtract.multiply(artificer.getRate()).setScale(2, BigDecimal.ROUND_HALF_UP); //查询是否计算出租车扣费 String taxi = commonInfoService.findOne(394).getValue(); //计算技师出租车收益(按照技师表收益计算) if ("是".equals(taxi)) { //计算技师应该收取的出租车费用 - BigDecimal artificerTaxiMoney = taxiMoney.multiply(artificer.getRate()).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal artificerTaxiMoney = taxiMoney.multiply(artificer.getRate()).setScale(2, BigDecimal.ROUND_HALF_UP); //计算出租车扣款 - BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiMoney).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiMoney).setScale(2, BigDecimal.ROUND_HALF_UP); //赋值技师出租收款 orders.setArtificerTaxiMoney(artificerTaxiMoney); //赋值出租车扣款 @@ -1097,9 +1131,9 @@ public class OrdersServiceImpl extends ServiceImpl implements //计算项目收益 //获取项目应支付金额 // BigDecimal projectBenefits = orders.getMassageMoney(); - BigDecimal projectBenefits = subtract; + BigDecimal projectBenefits = subtract; //计算技师项目提成金额 - orders.setProjectBenefits(projectBenefits.multiply(artificer.getRate()).setScale(2,BigDecimal.ROUND_HALF_UP)); + orders.setProjectBenefits(projectBenefits.multiply(artificer.getRate()).setScale(2, BigDecimal.ROUND_HALF_UP)); orders.setOrdersNo(getGeneralOrder()); orders.setStatus(1); @@ -1108,7 +1142,7 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setCreateTime(sdf.format(new Date())); //留存订单生成时的技师分成比例 orders.setArtificerRate(artificer.getRate()); - orders.setSumMoney(orders.getPayMoney().setScale(2,BigDecimal.ROUND_HALF_UP)); + orders.setSumMoney(orders.getPayMoney().setScale(2, BigDecimal.ROUND_HALF_UP)); //保存订单 baseMapper.insert(orders); @@ -1138,6 +1172,7 @@ public class OrdersServiceImpl extends ServiceImpl implements /** * 入参与insertOrders一致,就是没有代金券 * 判断差额,如差额为0则修改原单据,如差额不为0则新增单据。 + * * @param orders * @return */ @@ -1159,11 +1194,11 @@ public class OrdersServiceImpl extends ServiceImpl implements int dbd = 0; int sjd = 0; int xgd = 0; - if(oldOrders.getStatus().equals(11)){ + if (oldOrders.getStatus().equals(11)) { List newOrders = baseMapper.getNewOrdersByOld(orders.getOrdersId()); - if(newOrders.size()>0){ - for(Orders newOrder : newOrders){ - if(newOrder.getStatus()==1 || newOrder.getStatus()==4) { + if (newOrders.size() > 0) { + for (Orders newOrder : newOrders) { + if (newOrder.getStatus() == 1 || newOrder.getStatus() == 4) { if (newOrder.getIsSupplement().equals(1)) { dbd = 1; break; @@ -1186,11 +1221,11 @@ public class OrdersServiceImpl extends ServiceImpl implements Long massageTypeId; if (orders.getOrdersMassageList() != null) { List ordersMassageList = orders.getOrdersMassageList(); - if(orders.getUserPackageDetailId() != null) { + if (orders.getUserPackageDetailId() != null) { UserPackageDetail userPackageDetail = userPackageDetailService.getById(ordersMassageList.get(0).getMassageId()); massageTypeId = userPackageDetail.getMassageTypeId(); orders.setUserPackageId(userPackageDetail.getMainId()); - }else{ + } else { massageTypeId = ordersMassageList.get(0).getMassageId(); } } else { @@ -1214,7 +1249,7 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setMassageMoney(oldOrders.getMassageMoney()); Date serveTimeDate = DateUtils.stringToDate(orders.getServeTime(), "yyyy-MM-dd HH:mm"); - if(serveTimeDate.getTime() < (new Date()).getTime()){ + if (serveTimeDate.getTime() < (new Date()).getTime()) { return Result.error("服务时间不能晚于当前时间!"); } @@ -1234,37 +1269,37 @@ public class OrdersServiceImpl extends ServiceImpl implements return Result.error("预约时间正忙,请更换其他时间!"); } - Map map = getTaskTime(orders.getDuration(),serveTime,value1,tripWay,orders.getArtificerId()); - if(map.get("code").toString().equals("1")){ + Map map = getTaskTime(orders.getDuration(), serveTime, value1, tripWay, orders.getArtificerId()); + if (map.get("code").toString().equals("1")) { return Result.error("预约时间正忙,请更换其他时间!"); } TravelPriceVo travelPriceVo = null; - if(orders.getUserPackageDetailId() != null) { + if (orders.getUserPackageDetailId() != null) { String isTravelFree = commonInfoService.findOne(460).getValue(); - if(isTravelFree.equals("是")){ + if (isTravelFree.equals("是")) { tripWay = 3; orders.setTripWay(3); - travelPriceVo = travelConfService.calcTravelPrice(orders.getArtificerId(), orders.getLongitude(), orders.getLatitude(),orders.getServeTime(),tripWay); + travelPriceVo = travelConfService.calcTravelPrice(orders.getArtificerId(), orders.getLongitude(), orders.getLatitude(), orders.getServeTime(), tripWay); } - }else{ - travelPriceVo = travelConfService.calcTravelPrice(orders.getArtificerId(), orders.getLongitude(), orders.getLatitude(),orders.getServeTime()); + } else { + travelPriceVo = travelConfService.calcTravelPrice(orders.getArtificerId(), orders.getLongitude(), orders.getLatitude(), orders.getServeTime()); } if (travelPriceVo == null) { return Result.error("暂不支持当前地址,请更换其他地址!"); } //删除未支付,无用的升级新单据 List newList = baseMapper.getNewOrdersByOld(oldOrders.getOrdersId()); - if(newList.size()>0){ - for(Orders newOrder : newList){ - if(newOrder.getStatus()==1 || newOrder.getStatus()==4){ + if (newList.size() > 0) { + for (Orders newOrder : newList) { + if (newOrder.getStatus() == 1 || newOrder.getStatus() == 4) { baseMapper.deleteById(newOrder.getOrdersId()); ordersMassageService.removeByOrdersId(newOrder.getOrdersId()); } } } BigDecimal taxiMoney = new BigDecimal(travelPriceVo.getTravelPrice()); - taxiMoney = taxiMoney.setScale(2,BigDecimal.ROUND_HALF_UP); + taxiMoney = taxiMoney.setScale(2, BigDecimal.ROUND_HALF_UP); orders.setTaxiMoney(taxiMoney); orders.setKm(travelPriceVo.getKilometerNum()); orders.setUsualTravelMoney(travelPriceVo.getUsualTravelMoney()); @@ -1312,7 +1347,7 @@ public class OrdersServiceImpl extends ServiceImpl implements ordersOld.setPingTaxiMoney(BigDecimal.ZERO); BigDecimal massageMoney = oldOrders.getMassageMoney(); - if(oldOrders.getCouponMoney()!=null){ + if (oldOrders.getCouponMoney() != null) { massageMoney = massageMoney.subtract(oldOrders.getCouponMoney()); } BigDecimal subtract = oldOrders.getPayMoney(); @@ -1320,7 +1355,7 @@ public class OrdersServiceImpl extends ServiceImpl implements BigDecimal artificerPrice = subtract.multiply(artificer.getRate()); artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP); - if(oldOrders.getPayWay().equals(5)){ + if (oldOrders.getPayWay().equals(5)) { BigDecimal rate = new BigDecimal(commonInfoService.findOne(449).getValue()); ordersOld.setWalletRate(rate); rate = rate.divide(new BigDecimal(100)); @@ -1333,7 +1368,7 @@ public class OrdersServiceImpl extends ServiceImpl implements valueStorageDeduction = valueStorageDeduction.subtract(artificerPrice); ordersOld.setValueStorageDeduction(valueStorageDeduction); ordersOld.setProjectBenefits(artificerPrice); - }else{ + } else { ordersOld.setValueStorageDeduction(BigDecimal.ZERO); //计算技师项目提成金额 ordersOld.setProjectBenefits(artificerPrice); @@ -1354,33 +1389,33 @@ public class OrdersServiceImpl extends ServiceImpl implements ordersOld.setJjrMoney(BigDecimal.ZERO); ordersOld.setJjrArtificerDeductMoney(BigDecimal.ZERO); JjrConfig jc = jjrConfigService.getOne(new QueryWrapper()); - if(jc!=null && jc.getIsOpen().equals(1)){ + if (jc != null && jc.getIsOpen().equals(1)) { UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); - if(jjrUser!=null){ + if (jjrUser != null) { JjrApply jjrApply = jjrApplyService.findByUserId(jjrUser.getUserId()); - if(jjrApply!=null && jjrApply.getStatus().equals(1)){ - if(jjrUser.getBlIsJjr() !=null && jjrUser.getBlIsJjr() ==1){ + if (jjrApply != null && jjrApply.getStatus().equals(1)) { + if (jjrUser.getBlIsJjr() != null && jjrUser.getBlIsJjr() == 1) { ordersOld.setJjrUserId(jjrUser.getUserId()); ordersOld.setJjrUserName(jjrUser.getUserName()); BigDecimal artificerRate = jc.getArtificerRate(); BigDecimal agentRate = jc.getAgentRate(); BigDecimal rate = BigDecimal.ZERO; - if(jc.getType().equals(1)){ + if (jc.getType().equals(1)) { rate = jc.getRate(); - }else{ + } else { int invitationCn = jjrApplyService.getInvitationCn(artificerUser.getBlJjrCode()); List list = jjrConfigServiceLevel.findList(null); - for(int i=0;ijjrcl.getMinNumber() && invitationCn<=jjrcl.getMaxNumber()){ + if (invitationCn > jjrcl.getMinNumber() && invitationCn <= jjrcl.getMaxNumber()) { rate = jjrcl.getRate(); break; } } } - BigDecimal jjrMoney = subtract.multiply(rate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal jjrMoney = subtract.multiply(rate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); ordersOld.setJjrMoney(jjrMoney); - BigDecimal jjrOneArtificerDeductMoney = jjrMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal jjrOneArtificerDeductMoney = jjrMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); ordersOld.setJjrArtificerDeductMoney(jjrOneArtificerDeductMoney); } } @@ -1419,37 +1454,37 @@ public class OrdersServiceImpl extends ServiceImpl implements ordersOld.setFxyTwoMoney(BigDecimal.ZERO); ordersOld.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); FxyConfig fc = fxyConfigService.getOne(new QueryWrapper()); - if(fc!=null && fc.getIsOpen().equals(1)){ + if (fc != null && fc.getIsOpen().equals(1)) { UserEntity user = userService.selectUserById(orders.getUserId()); UserEntity fxyOneUser = userService.queryByInvitationCode(user.getBlFxyCode()); - if(fxyOneUser!=null){ + if (fxyOneUser != null) { FxyApply faOne = fxyApplyService.findByUserId(fxyOneUser.getUserId()); - if(faOne!=null && faOne.getStatus().equals(1)){ - if(fxyOneUser.getBlIsFxy() !=null && fxyOneUser.getBlIsFxy() ==1){ + if (faOne != null && faOne.getStatus().equals(1)) { + if (fxyOneUser.getBlIsFxy() != null && fxyOneUser.getBlIsFxy() == 1) { boolean isCanFxyFy = false; - if(fc.getFxmLimit().equals(2)){ + if (fc.getFxmLimit().equals(2)) { int fxmLimitDays = fc.getFxmLimitDays(); String approveTime = faOne.getApproveTime(); - Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Date approveDate = DateUtils.stringToDate(approveTime, DateUtils.DATE_TIME_PATTERN); Calendar calendar = Calendar.getInstance(); calendar.setTime(approveDate); calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); approveDate = calendar.getTime(); Date current = new Date(); - if(approveDate.getTime() > current.getTime()){ + if (approveDate.getTime() > current.getTime()) { isCanFxyFy = true; } - }else{ + } else { isCanFxyFy = true; } - if(isCanFxyFy){ + if (isCanFxyFy) { ordersOld.setFxyOneUserId(fxyOneUser.getUserId()); ordersOld.setFxyOneUserName(fxyOneUser.getUserName()); BigDecimal fxyMoney = BigDecimal.ZERO; - if(fc.getType().equals(1)){ + if (fc.getType().equals(1)) { fxyMoney = artificerPrice; } - if(fc.getType().equals(2)){ + if (fc.getType().equals(2)) { fxyMoney = subtract; } BigDecimal artificerRate = fc.getArtificerRate(); @@ -1457,44 +1492,44 @@ public class OrdersServiceImpl extends ServiceImpl implements BigDecimal oneRate = fc.getOneRate(); BigDecimal oneRecommendRate = fc.getOneRecommendRate(); BigDecimal fxyRate = BigDecimal.ZERO; - if(oneRate == null || oneRate.compareTo(BigDecimal.ZERO) == 0){ + if (oneRate == null || oneRate.compareTo(BigDecimal.ZERO) == 0) { fxyRate = oneRecommendRate; - if(oneRecommendRate.compareTo(mostRate)> 0){ + if (oneRecommendRate.compareTo(mostRate) > 0) { fxyRate = mostRate; } - }else{ + } else { fxyRate = oneRate; - if(oneRate.compareTo(mostRate)> 0){ + if (oneRate.compareTo(mostRate) > 0) { fxyRate = mostRate; } } - BigDecimal fxyOneMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal fxyOneMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); ordersOld.setFxyOneMoney(fxyOneMoney); - BigDecimal fxyOneArtificerDeductMoney = fxyOneMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal fxyOneArtificerDeductMoney = fxyOneMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); ordersOld.setFxyOneArtificerDeductMoney(fxyOneArtificerDeductMoney); - if(fxyOneUser.getBlFxyLevel().equals(1)){ + if (fxyOneUser.getBlFxyLevel().equals(1)) { UserEntity fxyTwoUser = userService.queryByInvitationCode(fxyOneUser.getBlFxyCode()); - if(fxyTwoUser!=null){ + if (fxyTwoUser != null) { FxyApply faTwo = fxyApplyService.findByUserId(fxyTwoUser.getUserId()); - if(faTwo!=null && faTwo.getStatus().equals(1)){ - if(fxyTwoUser.getBlIsFxy() !=null && fxyTwoUser.getBlIsFxy() ==1){ + if (faTwo != null && faTwo.getStatus().equals(1)) { + if (fxyTwoUser.getBlIsFxy() != null && fxyTwoUser.getBlIsFxy() == 1) { isCanFxyFy = false; - if(fc.getFxmLimit().equals(2)){ + if (fc.getFxmLimit().equals(2)) { int fxmLimitDays = fc.getFxmLimitDays(); String approveTime = faTwo.getApproveTime(); - Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Date approveDate = DateUtils.stringToDate(approveTime, DateUtils.DATE_TIME_PATTERN); Calendar calendar = Calendar.getInstance(); calendar.setTime(approveDate); calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); approveDate = calendar.getTime(); Date current = new Date(); - if(approveDate.getTime() > current.getTime()){ + if (approveDate.getTime() > current.getTime()) { isCanFxyFy = true; } - }else{ + } else { isCanFxyFy = true; } - if(isCanFxyFy) { + if (isCanFxyFy) { ordersOld.setFxyTwoUserId(fxyTwoUser.getUserId()); ordersOld.setFxyTwoUserName(fxyTwoUser.getUserName()); BigDecimal twoRate = fc.getTwoRate(); @@ -1582,14 +1617,14 @@ public class OrdersServiceImpl extends ServiceImpl implements massageTypeId = ordersMassageList.get(0).getMassageId(); MassageType massageType = massageTypeService.getById(massageTypeId); orders.setDuration(massageType.getDuration()); - if(massageType.getDuration().compareTo(oldOrders.getDuration()) > 0){ - timeDifference = massageType.getDuration()-oldOrders.getDuration(); - }else{ + if (massageType.getDuration().compareTo(oldOrders.getDuration()) > 0) { + timeDifference = massageType.getDuration() - oldOrders.getDuration(); + } else { orders.setDuration(oldOrders.getDuration()); } for (OrdersMassage ordersMassage : ordersMassageList) { orders.setMassageNum(ordersMassage.getNum()); - price = massageType.getPrice().multiply(BigDecimal.valueOf(ordersMassage.getNum())).setScale(2,BigDecimal.ROUND_HALF_UP); + price = massageType.getPrice().multiply(BigDecimal.valueOf(ordersMassage.getNum())).setScale(2, BigDecimal.ROUND_HALF_UP); } orders.setMassagePrice(price); @@ -1609,16 +1644,16 @@ public class OrdersServiceImpl extends ServiceImpl implements if ("是".equals(value1)) { ArtificerTime artificerTime = artificerTimeService.getOne(new QueryWrapper().eq("orders_id", orders.getOrdersId()).last(" order by artificer_time_id desc limit 1 ")); String serveTime = artificerTime.getArtificerDate() + " " + artificerTime.getArtificerTime(); - Map map = getAddTaskTime(timeDifference,serveTime,value1,oldOrders.getArtificerId()); - if(map.get("code").toString().equals("1")){ + Map map = getAddTaskTime(timeDifference, serveTime, value1, oldOrders.getArtificerId()); + if (map.get("code").toString().equals("1")) { return Result.error("预约时间正忙,请更换其他时间!"); } } //删除未支付,无用的升级新单据 List newList = baseMapper.getNewOrdersByOld(oldOrders.getOrdersId()); - if(newList.size()>0){ - for(Orders newOrder : newList){ - if(newOrder.getStatus()==1 || newOrder.getStatus()==4){ + if (newList.size() > 0) { + for (Orders newOrder : newList) { + if (newOrder.getStatus() == 1 || newOrder.getStatus() == 4) { baseMapper.deleteById(newOrder.getOrdersId()); ordersMassageService.removeByOrdersId(newOrder.getOrdersId()); } @@ -1663,14 +1698,14 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setOldPriceMarkup(oldOrders.getPriceMarkup()); orders.setOldTechnicianMoney(oldOrders.getTechnicianMoney()); orders.setOldVipReductionMoney(oldOrders.getVipReductionMoney()); - if(oldOrders.getIsSupplement()!=null){ - if(oldOrders.getIsSupplement().equals(1)){ + if (oldOrders.getIsSupplement() != null) { + if (oldOrders.getIsSupplement().equals(1)) { BigDecimal projectBenefits = oldOrders.getProjectBenefits().add(oldOrders.getOldProjectBenefits()); orders.setOldProjectBenefits(projectBenefits); - }else{ + } else { orders.setOldProjectBenefits(oldOrders.getProjectBenefits()); } - }else{ + } else { orders.setOldProjectBenefits(oldOrders.getProjectBenefits()); } @@ -1708,11 +1743,11 @@ public class OrdersServiceImpl extends ServiceImpl implements //技师加成金额 BigDecimal technicianMoney = price.multiply(orders.getTechnicianRate()).divide(new BigDecimal(100)); - technicianMoney = technicianMoney.setScale(2,BigDecimal.ROUND_HALF_UP); + technicianMoney = technicianMoney.setScale(2, BigDecimal.ROUND_HALF_UP); orders.setTechnicianMoney(technicianMoney); //技师加成后总额 BigDecimal priceMarkup = technicianMoney.add(price); - priceMarkup = priceMarkup.setScale(2,BigDecimal.ROUND_HALF_UP); + priceMarkup = priceMarkup.setScale(2, BigDecimal.ROUND_HALF_UP); orders.setPriceMarkup(priceMarkup); //会员优惠后金额,及会员减免金额 @@ -1732,7 +1767,7 @@ public class OrdersServiceImpl extends ServiceImpl implements // BigDecimal chajiaVipMoney = chajia.subtract(vipReductionMoney); BigDecimal chajiaVipMoney = chajia.multiply(orders.getVipRate()).divide(new BigDecimal(100)); - chajiaVipMoney = chajiaVipMoney.setScale(2,BigDecimal.ROUND_HALF_UP); + chajiaVipMoney = chajiaVipMoney.setScale(2, BigDecimal.ROUND_HALF_UP); BigDecimal chajiaVipReductionMoney = chajia.subtract(chajiaVipMoney); orders.setVipReductionMoney(chajiaVipReductionMoney); @@ -2562,11 +2597,11 @@ public class OrdersServiceImpl extends ServiceImpl implements MassageType massageType = null; if (orders.getOrdersMassageList() != null) { List ordersMassageList = orders.getOrdersMassageList(); - if(orders.getUserPackageDetailId() != null) { + if (orders.getUserPackageDetailId() != null) { UserPackageDetail userPackageDetail = userPackageDetailService.getById(ordersMassageList.get(0).getMassageId()); massageTypeId = userPackageDetail.getMassageTypeId(); orders.setUserPackageId(userPackageDetail.getMainId()); - }else{ + } else { massageTypeId = ordersMassageList.get(0).getMassageId(); } @@ -2577,7 +2612,7 @@ public class OrdersServiceImpl extends ServiceImpl implements for (OrdersMassage ordersMassage : ordersMassageList) { orders.setMassageNum(ordersMassage.getNum()); - price = massageType.getPrice().multiply(BigDecimal.valueOf(ordersMassage.getNum())).setScale(2,BigDecimal.ROUND_HALF_UP); + price = massageType.getPrice().multiply(BigDecimal.valueOf(ordersMassage.getNum())).setScale(2, BigDecimal.ROUND_HALF_UP); } orders.setMassagePrice(price); orders.setPrice(price); @@ -2586,7 +2621,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } Date serveTimeDate = DateUtils.stringToDate(orders.getServeTime(), "yyyy-MM-dd HH:mm"); - if(serveTimeDate.getTime() < (new Date()).getTime()){ + if (serveTimeDate.getTime() < (new Date()).getTime()) { return Result.error("服务时间不能晚于当前时间!"); } @@ -2598,9 +2633,9 @@ public class OrdersServiceImpl extends ServiceImpl implements String value1 = commonInfoService.findOne(395).getValue(); Integer tripWay = orders.getTripWay(); BigDecimal taxiMoney = BigDecimal.ZERO; - if(orders.getUserPackageDetailId() != null) { + if (orders.getUserPackageDetailId() != null) { String isTravelFree = commonInfoService.findOne(460).getValue(); - if(isTravelFree.equals("是")){ + if (isTravelFree.equals("是")) { taxiMoney = BigDecimal.ZERO; tripWay = 3; orders.setTripWay(3); @@ -2621,8 +2656,8 @@ public class OrdersServiceImpl extends ServiceImpl implements return Result.error("预约时间正忙,请更换其他时间!"); } - Map map = getTaskTimeIncudeOrders(massageType.getDuration(),serveTime,value1,tripWay,orders.getArtificerId(),orders.getOrdersId()); - if(map.get("code").toString().equals("1")){ + Map map = getTaskTimeIncudeOrders(massageType.getDuration(), serveTime, value1, tripWay, orders.getArtificerId(), orders.getOrdersId()); + if (map.get("code").toString().equals("1")) { return Result.error("预约时间正忙,请更换其他时间!"); } @@ -2633,19 +2668,19 @@ public class OrdersServiceImpl extends ServiceImpl implements } TravelPriceVo travelPriceVo = null; - if(orders.getUserPackageDetailId() != null) { - travelPriceVo = travelConfService.calcTravelPrice(orders.getArtificerId(), orders.getLongitude(), orders.getLatitude(),orders.getServeTime(),tripWay); - }else{ - travelPriceVo = travelConfService.calcTravelPrice(orders.getArtificerId(), orders.getLongitude(), orders.getLatitude(),orders.getServeTime()); + if (orders.getUserPackageDetailId() != null) { + travelPriceVo = travelConfService.calcTravelPrice(orders.getArtificerId(), orders.getLongitude(), orders.getLatitude(), orders.getServeTime(), tripWay); + } else { + travelPriceVo = travelConfService.calcTravelPrice(orders.getArtificerId(), orders.getLongitude(), orders.getLatitude(), orders.getServeTime()); } if (travelPriceVo == null) { return Result.error("暂不支持当前地址,请更换其他地址!"); } //删除未支付,无用的升级新单据 List newList = baseMapper.getNewOrdersByOld(oldOrders.getOrdersId()); - if(newList.size()>0){ - for(Orders newOrder : newList){ - if(newOrder.getStatus()==1 || newOrder.getStatus()==4){ + if (newList.size() > 0) { + for (Orders newOrder : newList) { + if (newOrder.getStatus() == 1 || newOrder.getStatus() == 4) { baseMapper.deleteById(newOrder.getOrdersId()); ordersMassageService.removeByOrdersId(newOrder.getOrdersId()); } @@ -2654,7 +2689,7 @@ public class OrdersServiceImpl extends ServiceImpl implements taxiMoney = new BigDecimal(travelPriceVo.getTravelPrice()); BigDecimal usualTravelMoney = travelPriceVo.getUsualTravelMoney(); BigDecimal nightTravelMoney = travelPriceVo.getNightTravelMoney(); - taxiMoney = taxiMoney.setScale(2,BigDecimal.ROUND_HALF_UP); + taxiMoney = taxiMoney.setScale(2, BigDecimal.ROUND_HALF_UP); BigDecimal oldTaxiMoney = oldOrders.getTaxiMoney(); BigDecimal oldUsualTravelMoney = oldOrders.getUsualTravelMoney(); BigDecimal oldNightTravelMoney = oldOrders.getNightTravelMoney(); @@ -2671,11 +2706,11 @@ public class OrdersServiceImpl extends ServiceImpl implements BigDecimal yjcxchajia = nightTravelMoney.subtract(oldNightTravelMoney); //出行交通费差价 BigDecimal cxchajia = taxiMoney.subtract(oldTaxiMoney); - if(cxchajia.compareTo(BigDecimal.ZERO)<0){ + if (cxchajia.compareTo(BigDecimal.ZERO) < 0) { cxchajia = BigDecimal.ZERO; } //总差价 - BigDecimal chajia =cxchajia; + BigDecimal chajia = cxchajia; if (chajia.compareTo(BigDecimal.ZERO) == 0) { orders.setStatus(9); //总差价不变,则修改原单据 @@ -2775,7 +2810,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } } return Result.error("此状态单据无法修改操作!"); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return Result.error(e.getMessage()); } @@ -2786,115 +2821,115 @@ public class OrdersServiceImpl extends ServiceImpl implements Orders orders = baseMapper.selectById(ordersId); if (orders.getStatus() == 1) { String remarks = "取消订单将扣除:0元的手续费!"; - return Result.success().put("data",remarks); - }else if (orders.getStatus() == 4) { + return Result.success().put("data", remarks); + } else if (orders.getStatus() == 4) { return Result.error("订单已经取消了!"); - }else if (orders.getStatus() == 1) { + } else if (orders.getStatus() == 1) { String remarks = "取消订单将扣除:0元的手续费!"; - return Result.success().put("data",remarks); - }else if (orders.getStatus() == 3 || orders.getStatus() == 5) { + return Result.success().put("data", remarks); + } else if (orders.getStatus() == 3 || orders.getStatus() == 5) { return Result.error("订单已经完成了,无法取消!"); - }else if (orders.getStatus() == 6) { - if(orders.getOldOrdersId() != null && orders.getOldOrdersId() != 0){ + } else if (orders.getStatus() == 6) { + if (orders.getOldOrdersId() != null && orders.getOldOrdersId() != 0) { return Result.error("项目升级之后,无法取消!"); } - if(orders.getParentId() != null && orders.getParentId() != 0){ + if (orders.getParentId() != null && orders.getParentId() != 0) { return Result.error("项目加钟之后,无法取消!"); } - }else if(orders.getStatus() == 10) { + } else if (orders.getStatus() == 10) { String remarks = "取消订单将扣除:0元的手续费!"; - return Result.success().put("data",remarks); + return Result.success().put("data", remarks); - }else if(orders.getStatus() == 9) { - if(orders.getRefusalContent()!=null && !orders.getRefusalContent().equals("")){ + } else if (orders.getStatus() == 9) { + if (orders.getRefusalContent() != null && !orders.getRefusalContent().equals("")) { String remarks = "取消订单将扣除:0元的手续费!"; - return Result.success().put("data",remarks); + return Result.success().put("data", remarks); } } //按时间扣款,获取扣款金额 - CommonInfo commonInfo = commonInfoService.isCheckChangeOrder(DateUtils.stringToDate(orders.getServeTime(),"yyyy-MM-dd HH:mm") ,new Date()); + CommonInfo commonInfo = commonInfoService.isCheckChangeOrder(DateUtils.stringToDate(orders.getServeTime(), "yyyy-MM-dd HH:mm"), new Date()); CommonEnum commonEnum = CommonConfigUtil.getCommonEnumByKey(commonInfo.getType()); String[] values = CommonConfigUtil.getArrayValue(commonInfo.getValue()); BigDecimal massageDeduction = BigDecimal.ZERO; BigDecimal trafficDeduction = BigDecimal.ZERO; BigDecimal massageRate = BigDecimal.ZERO; BigDecimal trafficRate = BigDecimal.ZERO; - if(CommonEnum.V3_ORDER_FORM_CANCEL_NOT_START_01 == commonEnum){ + if (CommonEnum.V3_ORDER_FORM_CANCEL_NOT_START_01 == commonEnum) { //距离服务开始n分钟以上免费取消,全额退服务费和车费 massageDeduction = BigDecimal.ZERO; trafficDeduction = BigDecimal.ZERO; massageRate = BigDecimal.ZERO; trafficRate = BigDecimal.ZERO; } - if(CommonEnum.V3_ORDER_FORM_CANCEL_NOT_START_02 == commonEnum){ + if (CommonEnum.V3_ORDER_FORM_CANCEL_NOT_START_02 == commonEnum) { //距离服务开始前取消n-n分钟内,收取n元,扣服务费,全额退车费 massageDeduction = new BigDecimal(values[2]); trafficDeduction = BigDecimal.ZERO; massageRate = BigDecimal.ZERO; trafficRate = BigDecimal.ZERO; } - if(CommonEnum.V3_ORDER_FORM_CANCEL_NOT_START_03 == commonEnum){ + if (CommonEnum.V3_ORDER_FORM_CANCEL_NOT_START_03 == commonEnum) { //距离服务开始前取消少于n分钟内,收取n元,扣服务费,全额退车费 massageDeduction = new BigDecimal(values[1]); trafficDeduction = BigDecimal.ZERO; massageRate = BigDecimal.ZERO; trafficRate = BigDecimal.ZERO; } - if(CommonEnum.V3_ORDER_FORM_CANCEL_START_01 == commonEnum){ + if (CommonEnum.V3_ORDER_FORM_CANCEL_START_01 == commonEnum) { //服务开始n分钟内取消订单,扣项目费用n%,车费全扣n%,扣服务费和车费 massageDeduction = BigDecimal.ZERO; trafficDeduction = BigDecimal.ZERO; massageRate = new BigDecimal(values[1]).divide(new BigDecimal(100)); trafficRate = new BigDecimal(values[2]).divide(new BigDecimal(100)); } - if(orders.getUserPackageDetailId() !=null){ - return cancelPackageOrdersMoney(userId,orders,trafficDeduction,trafficRate); - }else{ - return cancelMassageOrdersMoney(userId,orders,massageDeduction,trafficDeduction,massageRate,trafficRate); + if (orders.getUserPackageDetailId() != null) { + return cancelPackageOrdersMoney(userId, orders, trafficDeduction, trafficRate); + } else { + return cancelMassageOrdersMoney(userId, orders, massageDeduction, trafficDeduction, massageRate, trafficRate); } } private Result cancelMassageOrdersMoney(Long userId, Orders orders, BigDecimal massageDeduction, BigDecimal trafficDeduction, BigDecimal massageRate, BigDecimal trafficRate) { //项目扣款 BigDecimal massageMoneyDeduction = BigDecimal.ZERO; - if(massageRate.compareTo(BigDecimal.ZERO) == 0){ + if (massageRate.compareTo(BigDecimal.ZERO) == 0) { massageMoneyDeduction = massageDeduction; - }else{ + } else { massageMoneyDeduction = orders.getPayMoney().subtract(orders.getTaxiMoney()).multiply(massageRate).setScale(2, BigDecimal.ROUND_HALF_UP); } - if(orders.getPayMoney().subtract(orders.getTaxiMoney()).compareTo(massageDeduction) < 0){ + 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){ + if (trafficRate.compareTo(BigDecimal.ZERO) == 0) { taxiMoneyDeduction = trafficDeduction; - }else{ + } else { taxiMoneyDeduction = orders.getTaxiMoney().multiply(trafficRate).setScale(2, BigDecimal.ROUND_HALF_UP); } - if(orders.getTaxiMoney().compareTo(taxiMoneyDeduction) < 0){ + if (orders.getTaxiMoney().compareTo(taxiMoneyDeduction) < 0) { taxiMoneyDeduction = orders.getTaxiMoney(); } //项目总扣款数 BigDecimal sumMoney = massageMoneyDeduction.add(taxiMoneyDeduction);//总扣费 - String remarks = "取消订单将扣除:"+sumMoney+"元的手续费,其中项目费将扣除:"+massageMoneyDeduction+"元,车费将扣除:"+taxiMoneyDeduction+"元!"; - return Result.success().put("data",remarks); + String remarks = "取消订单将扣除:" + sumMoney + "元的手续费,其中项目费将扣除:" + massageMoneyDeduction + "元,车费将扣除:" + taxiMoneyDeduction + "元!"; + return Result.success().put("data", remarks); } - private Result cancelPackageOrdersMoney(Long userId, Orders orders, BigDecimal trafficDeduction, BigDecimal trafficRate){ + private Result cancelPackageOrdersMoney(Long userId, Orders orders, BigDecimal trafficDeduction, BigDecimal trafficRate) { //车费扣款 BigDecimal taxiMoneyDeduction = BigDecimal.ZERO; - if(trafficRate.compareTo(BigDecimal.ZERO) == 0){ + if (trafficRate.compareTo(BigDecimal.ZERO) == 0) { taxiMoneyDeduction = trafficDeduction; - }else{ + } else { taxiMoneyDeduction = orders.getTaxiMoney().multiply(trafficRate).setScale(2, BigDecimal.ROUND_HALF_UP); } - if(orders.getTaxiMoney().compareTo(taxiMoneyDeduction) < 0){ + if (orders.getTaxiMoney().compareTo(taxiMoneyDeduction) < 0) { taxiMoneyDeduction = orders.getTaxiMoney(); } - String remarks = "取消订单将扣除:"+taxiMoneyDeduction+"元的手续费,其中车费将扣除:"+taxiMoneyDeduction+"元!"; - return Result.success().put("data",remarks); + String remarks = "取消订单将扣除:" + taxiMoneyDeduction + "元的手续费,其中车费将扣除:" + taxiMoneyDeduction + "元!"; + return Result.success().put("data", remarks); } @Override @@ -2908,19 +2943,19 @@ public class OrdersServiceImpl extends ServiceImpl implements return Result.error("订单已经完成了,无法取消!"); } artificerTimeService.remove(new QueryWrapper().eq("orders_id", orders.getOrdersId())); - if(orders.getUserPackageDetailId() !=null){ + if (orders.getUserPackageDetailId() != null) { //释放套餐 UserPackageDetail userPackageDetail = new UserPackageDetail(); userPackageDetail.setId(orders.getUserPackageDetailId()); userPackageDetail.setStatus(0); userPackageDetailService.updateById(userPackageDetail); - }else{ + } else { //释放代金券 String couponIds = orders.getCouponId(); - if(orders.getCouponId() != null && couponIds.length()>0){ + if (orders.getCouponId() != null && couponIds.length() > 0) { String[] couponArr = couponIds.trim().split(","); - for(int i=0;i implements orders1.setStatus(4); baseMapper.updateById(orders1); } - if(orders.getOldOrdersId()!=null && orders.getOldOrdersId() !=0){ + if (orders.getOldOrdersId() != null && orders.getOldOrdersId() != 0) { Orders ordersOld = new Orders(); ordersOld.setOrdersId(orders.getOldOrdersId()); ordersOld.setStatus(4); @@ -2952,31 +2987,30 @@ public class OrdersServiceImpl extends ServiceImpl implements Orders orders = baseMapper.selectById(ordersId); //状态 1待支付 2待服务 3待评论 4已取消 5已完成 6进行中 7技师出发 8技师到达 9用户已支付技师待接单 10待补单 if (orders.getStatus() == 1) { - if(orders.getUserPackageDetailId() !=null){ - return cancelPackageOrders(userId,orders,BigDecimal.ZERO,BigDecimal.ZERO); - }else{ - return cancelMassageOrders(userId,orders,BigDecimal.ZERO,BigDecimal.ZERO,BigDecimal.ZERO,BigDecimal.ZERO); + if (orders.getUserPackageDetailId() != null) { + return cancelPackageOrders(userId, orders, BigDecimal.ZERO, BigDecimal.ZERO); + } else { + return cancelMassageOrders(userId, orders, BigDecimal.ZERO, BigDecimal.ZERO, BigDecimal.ZERO, BigDecimal.ZERO); } - } - else if (orders.getStatus() == 4) { + } else if (orders.getStatus() == 4) { 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){ + } else if (orders.getStatus() == 6) { + if (orders.getOldOrdersId() != null && orders.getOldOrdersId() != 0) { return Result.error("项目升级之后,无法取消!"); } - if(orders.getParentId() != null && orders.getParentId() != 0){ + if (orders.getParentId() != null && orders.getParentId() != 0) { return Result.error("项目加钟之后,无法取消!"); } - }else if(orders.getStatus() == 10) { - return cancelSupplementOrders(userId,ordersId,0,2); - }else if(orders.getStatus() == 9) { - if(orders.getRefusalContent()!=null && !orders.getRefusalContent().equals("")){ - return cancelSupplementOrders(userId,ordersId,0,3); + } else if (orders.getStatus() == 10) { + return cancelSupplementOrders(userId, ordersId, 0, 2); + } else if (orders.getStatus() == 9) { + if (orders.getRefusalContent() != null && !orders.getRefusalContent().equals("")) { + return cancelSupplementOrders(userId, ordersId, 0, 3); } } - switch (orders.getStatus()){ + switch (orders.getStatus()) { case 1: orders.setCancelRemark("未支付-手动"); break; @@ -3000,61 +3034,61 @@ public class OrdersServiceImpl extends ServiceImpl implements break; } //按时间扣款,获取扣款金额 - CommonInfo commonInfo = commonInfoService.isCheckChangeOrder(DateUtils.stringToDate(orders.getServeTime(),"yyyy-MM-dd HH:mm") ,new Date()); + CommonInfo commonInfo = commonInfoService.isCheckChangeOrder(DateUtils.stringToDate(orders.getServeTime(), "yyyy-MM-dd HH:mm"), new Date()); CommonEnum commonEnum = CommonConfigUtil.getCommonEnumByKey(commonInfo.getType()); String[] values = CommonConfigUtil.getArrayValue(commonInfo.getValue()); BigDecimal massageDeduction = BigDecimal.ZERO; BigDecimal trafficDeduction = BigDecimal.ZERO; BigDecimal massageRate = BigDecimal.ZERO; BigDecimal trafficRate = BigDecimal.ZERO; - if(CommonEnum.V3_ORDER_FORM_CANCEL_NOT_START_01 == commonEnum){ + if (CommonEnum.V3_ORDER_FORM_CANCEL_NOT_START_01 == commonEnum) { //距离服务开始n分钟以上免费取消,全额退服务费和车费 massageDeduction = BigDecimal.ZERO; trafficDeduction = BigDecimal.ZERO; massageRate = BigDecimal.ZERO; trafficRate = BigDecimal.ZERO; } - if(CommonEnum.V3_ORDER_FORM_CANCEL_NOT_START_02 == commonEnum){ + if (CommonEnum.V3_ORDER_FORM_CANCEL_NOT_START_02 == commonEnum) { //距离服务开始前取消n-n分钟内,收取n元,扣服务费,全额退车费 massageDeduction = new BigDecimal(values[2]); trafficDeduction = BigDecimal.ZERO; massageRate = BigDecimal.ZERO; trafficRate = BigDecimal.ZERO; } - if(CommonEnum.V3_ORDER_FORM_CANCEL_NOT_START_03 == commonEnum){ + if (CommonEnum.V3_ORDER_FORM_CANCEL_NOT_START_03 == commonEnum) { //距离服务开始前取消少于n分钟内,收取n元,扣服务费,全额退车费 massageDeduction = new BigDecimal(values[1]); trafficDeduction = BigDecimal.ZERO; massageRate = BigDecimal.ZERO; trafficRate = BigDecimal.ZERO; } - if(CommonEnum.V3_ORDER_FORM_CANCEL_START_01 == commonEnum){ + if (CommonEnum.V3_ORDER_FORM_CANCEL_START_01 == commonEnum) { //服务开始n分钟内取消订单,扣项目费用n%,车费全扣n%,扣服务费和车费 massageDeduction = BigDecimal.ZERO; trafficDeduction = BigDecimal.ZERO; massageRate = new BigDecimal(values[1]).divide(new BigDecimal(100)); trafficRate = new BigDecimal(values[2]).divide(new BigDecimal(100)); } - if(CommonEnum.V3_ORDER_FORM_CANCEL_START_02 == commonEnum){ + if (CommonEnum.V3_ORDER_FORM_CANCEL_START_02 == commonEnum) { //服务开始n分钟后不可以取消订单 - return Result.error("订单已进行"+values[0]+"分钟后,无法取消!"); + return Result.error("订单已进行" + values[0] + "分钟后,无法取消!"); } artificerTimeService.remove(new QueryWrapper().eq("orders_id", orders.getOrdersId())); - if(orders.getUserPackageDetailId() !=null){ - return cancelPackageOrders(userId,orders,trafficDeduction,trafficRate); - }else{ - return cancelMassageOrders(userId,orders,massageDeduction,trafficDeduction,massageRate,trafficRate); + if (orders.getUserPackageDetailId() != null) { + return cancelPackageOrders(userId, orders, trafficDeduction, trafficRate); + } else { + return cancelMassageOrders(userId, orders, massageDeduction, trafficDeduction, massageRate, trafficRate); } } @Transactional - public Result cancelMassageOrders(Long userId, Orders orders, BigDecimal massageDeduction, BigDecimal trafficDeduction, BigDecimal massageRate, BigDecimal trafficRate){ + public Result cancelMassageOrders(Long userId, Orders orders, BigDecimal massageDeduction, BigDecimal trafficDeduction, BigDecimal massageRate, BigDecimal trafficRate) { String couponIds = orders.getCouponId(); - if(orders.getCouponId() != null && couponIds.length()>0){ + if (orders.getCouponId() != null && couponIds.length() > 0) { String[] couponArr = couponIds.trim().split(","); - for(int i=0;i implements String time = simpleDateFormat.format(new Date()); //项目扣款 BigDecimal massageMoneyDeduction = BigDecimal.ZERO; - if(massageRate.compareTo(BigDecimal.ZERO) == 0){ + if (massageRate.compareTo(BigDecimal.ZERO) == 0) { massageMoneyDeduction = massageDeduction; - }else{ + } else { massageMoneyDeduction = orders.getPayMoney().subtract(orders.getTaxiMoney()).multiply(massageRate).setScale(2, BigDecimal.ROUND_HALF_UP); } - if(orders.getPayMoney().subtract(orders.getTaxiMoney()).compareTo(massageDeduction) < 0){ + 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){ + if (trafficRate.compareTo(BigDecimal.ZERO) == 0) { taxiMoneyDeduction = trafficDeduction; - }else{ + } else { taxiMoneyDeduction = orders.getTaxiMoney().multiply(trafficRate).setScale(2, BigDecimal.ROUND_HALF_UP); } - if(orders.getTaxiMoney().compareTo(taxiMoneyDeduction) < 0){ + if (orders.getTaxiMoney().compareTo(taxiMoneyDeduction) < 0) { taxiMoneyDeduction = orders.getTaxiMoney(); } @@ -3093,12 +3127,12 @@ public class OrdersServiceImpl extends ServiceImpl implements BigDecimal rate = massageMoneyDeduction; //退款金额 BigDecimal userMoney = orders.getPayMoney().subtract(rate).subtract(taxiMoneyDeduction); - if(userMoney.compareTo(BigDecimal.ZERO) < 0 ){ + 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){ + if (userMoney.compareTo(BigDecimal.ZERO) > 0) { boolean refund = wxService.refund(orders.getOrdersNo(), orders.getPayMoney(), userMoney, orders.getPayWay()); if (!refund) { return Result.error("退款失败,请联系客服!"); @@ -3107,7 +3141,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setManipulateType(1); userMoneyDetails.setBlFlag(2); } else if (orders.getPayWay() == 6) { - if(userMoney.compareTo(BigDecimal.ZERO) > 0) { + if (userMoney.compareTo(BigDecimal.ZERO) > 0) { String data = aliPayController.alipayRefund(orders.getOrdersNo(), userMoney); if (StringUtils.isNotBlank(data)) { log.error(data); @@ -3129,7 +3163,7 @@ public class OrdersServiceImpl extends ServiceImpl implements // // userMoneyArtificerService.updateMoney(1, orders.getUserId(), orders.getArtificerId(), userMoney.doubleValue()); // } else { - if(userMoney.compareTo(BigDecimal.ZERO) > 0) { + if (userMoney.compareTo(BigDecimal.ZERO) > 0) { userMoneyService.updateMoney(1, orders.getUserId(), userMoney.doubleValue()); } // } @@ -3154,14 +3188,14 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetailsService.save(userMoneyDetails); BigDecimal sumMoney = rate.add(taxiMoneyDeduction);//总扣费 - if(sumMoney.compareTo(BigDecimal.ZERO) > 0){ + if (sumMoney.compareTo(BigDecimal.ZERO) > 0) { //按照比例 将扣除的钱进行分佣 BigDecimal taxiMoney = taxiMoneyDeduction; Artificer artificer = artificerService.getById(orders.getArtificerId()); BigDecimal artificerTaxiMoney = taxiMoneyDeduction;//扣车费 BigDecimal pingTaxiMoney = BigDecimal.ZERO; BigDecimal subtract = rate; - BigDecimal artificerMoney = rate.multiply(artificer.getRate()).setScale(2,BigDecimal.ROUND_HALF_UP); //技师获得扣款提成 + BigDecimal artificerMoney = rate.multiply(artificer.getRate()).setScale(2, BigDecimal.ROUND_HALF_UP); //技师获得扣款提成 orders.setProjectBenefits(artificerMoney); BigDecimal pingMoney = massageMoneyDeduction.subtract(artificerMoney);//平台获得项目扣款 @@ -3179,33 +3213,33 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setJjrMoney(BigDecimal.ZERO); orders.setJjrArtificerDeductMoney(BigDecimal.ZERO); JjrConfig jc = jjrConfigService.getOne(new QueryWrapper()); - if(jc!=null && jc.getIsOpen().equals(1)){ + if (jc != null && jc.getIsOpen().equals(1)) { UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); - if(jjrUser!=null){ + if (jjrUser != null) { JjrApply jjrApply = jjrApplyService.findByUserId(jjrUser.getUserId()); - if(jjrApply!=null && jjrApply.getStatus().equals(1)){ - if(jjrUser.getBlIsJjr() !=null && jjrUser.getBlIsJjr() ==1){ + if (jjrApply != null && jjrApply.getStatus().equals(1)) { + if (jjrUser.getBlIsJjr() != null && jjrUser.getBlIsJjr() == 1) { orders.setJjrUserId(jjrUser.getUserId()); orders.setJjrUserName(jjrUser.getUserName()); BigDecimal artificerRate = jc.getArtificerRate(); BigDecimal agentRate = jc.getAgentRate(); BigDecimal jjrRate = BigDecimal.ZERO; - if(jc.getType().equals(1)){ + if (jc.getType().equals(1)) { jjrRate = jc.getRate(); - }else{ + } else { int invitationCn = jjrApplyService.getInvitationCn(artificerUser.getBlJjrCode()); List list = jjrConfigServiceLevel.findList(null); - for(int i=0;ijjrcl.getMinNumber() && invitationCn<=jjrcl.getMaxNumber()){ + if (invitationCn > jjrcl.getMinNumber() && invitationCn <= jjrcl.getMaxNumber()) { jjrRate = jjrcl.getRate(); break; } } } - BigDecimal jjrMoney = subtract.multiply(jjrRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal jjrMoney = subtract.multiply(jjrRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); orders.setJjrMoney(jjrMoney); - BigDecimal jjrOneArtificerDeductMoney = jjrMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal jjrOneArtificerDeductMoney = jjrMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); orders.setJjrArtificerDeductMoney(jjrOneArtificerDeductMoney); } } @@ -3244,37 +3278,37 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setFxyTwoMoney(BigDecimal.ZERO); orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); FxyConfig fc = fxyConfigService.getOne(new QueryWrapper()); - if(fc!=null && fc.getIsOpen().equals(1)){ + if (fc != null && fc.getIsOpen().equals(1)) { UserEntity user = userService.selectUserById(orders.getUserId()); UserEntity fxyOneUser = userService.queryByInvitationCode(user.getBlFxyCode()); - if(fxyOneUser!=null){ + if (fxyOneUser != null) { FxyApply faOne = fxyApplyService.findByUserId(fxyOneUser.getUserId()); - if(faOne!=null && faOne.getStatus().equals(1)){ - if(fxyOneUser.getBlIsFxy() !=null && fxyOneUser.getBlIsFxy() ==1){ + if (faOne != null && faOne.getStatus().equals(1)) { + if (fxyOneUser.getBlIsFxy() != null && fxyOneUser.getBlIsFxy() == 1) { boolean isCanFxyFy = false; - if(fc.getFxmLimit().equals(2)){ + if (fc.getFxmLimit().equals(2)) { int fxmLimitDays = fc.getFxmLimitDays(); String approveTime = faOne.getApproveTime(); - Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Date approveDate = DateUtils.stringToDate(approveTime, DateUtils.DATE_TIME_PATTERN); Calendar calendar = Calendar.getInstance(); calendar.setTime(approveDate); calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); approveDate = calendar.getTime(); Date current = new Date(); - if(approveDate.getTime() > current.getTime()){ + if (approveDate.getTime() > current.getTime()) { isCanFxyFy = true; } - }else{ + } else { isCanFxyFy = true; } - if(isCanFxyFy){ + if (isCanFxyFy) { orders.setFxyOneUserId(fxyOneUser.getUserId()); orders.setFxyOneUserName(fxyOneUser.getUserName()); BigDecimal fxyMoney = BigDecimal.ZERO; - if(fc.getType().equals(1)){ + if (fc.getType().equals(1)) { fxyMoney = artificerMoney; } - if(fc.getType().equals(2)){ + if (fc.getType().equals(2)) { fxyMoney = subtract; } BigDecimal artificerRate = fc.getArtificerRate(); @@ -3282,44 +3316,44 @@ public class OrdersServiceImpl extends ServiceImpl implements BigDecimal oneRate = fc.getOneRate(); BigDecimal oneRecommendRate = fc.getOneRecommendRate(); BigDecimal fxyRate = BigDecimal.ZERO; - if(oneRate == null || oneRate.compareTo(BigDecimal.ZERO) == 0){ + if (oneRate == null || oneRate.compareTo(BigDecimal.ZERO) == 0) { fxyRate = oneRecommendRate; - if(oneRecommendRate.compareTo(mostRate)> 0){ + if (oneRecommendRate.compareTo(mostRate) > 0) { fxyRate = mostRate; } - }else{ + } else { fxyRate = oneRate; - if(oneRate.compareTo(mostRate)> 0){ + if (oneRate.compareTo(mostRate) > 0) { fxyRate = mostRate; } } - BigDecimal fxyOneMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal fxyOneMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); orders.setFxyOneMoney(fxyOneMoney); - BigDecimal fxyOneArtificerDeductMoney = fxyOneMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal fxyOneArtificerDeductMoney = fxyOneMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); orders.setFxyOneArtificerDeductMoney(fxyOneArtificerDeductMoney); - if(fxyOneUser.getBlFxyLevel().equals(1)){ + if (fxyOneUser.getBlFxyLevel().equals(1)) { UserEntity fxyTwoUser = userService.queryByInvitationCode(fxyOneUser.getBlFxyCode()); - if(fxyTwoUser!=null){ + if (fxyTwoUser != null) { FxyApply faTwo = fxyApplyService.findByUserId(fxyTwoUser.getUserId()); - if(faTwo!=null && faTwo.getStatus().equals(1)){ - if(fxyTwoUser.getBlIsFxy() !=null && fxyTwoUser.getBlIsFxy() ==1){ + if (faTwo != null && faTwo.getStatus().equals(1)) { + if (fxyTwoUser.getBlIsFxy() != null && fxyTwoUser.getBlIsFxy() == 1) { isCanFxyFy = false; - if(fc.getFxmLimit().equals(2)){ + if (fc.getFxmLimit().equals(2)) { int fxmLimitDays = fc.getFxmLimitDays(); String approveTime = faTwo.getApproveTime(); - Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Date approveDate = DateUtils.stringToDate(approveTime, DateUtils.DATE_TIME_PATTERN); Calendar calendar = Calendar.getInstance(); calendar.setTime(approveDate); calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); approveDate = calendar.getTime(); Date current = new Date(); - if(approveDate.getTime() > current.getTime()){ + if (approveDate.getTime() > current.getTime()) { isCanFxyFy = true; } - }else{ + } else { isCanFxyFy = true; } - if(isCanFxyFy) { + if (isCanFxyFy) { orders.setFxyTwoUserId(fxyTwoUser.getUserId()); orders.setFxyTwoUserName(fxyTwoUser.getUserName()); BigDecimal twoRate = fc.getTwoRate(); @@ -3405,7 +3439,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetailsService.save(userMoneyDetails); if (orders.getFxyOneUserId() != null) { - if(orders.getFxyOneMoney().compareTo(BigDecimal.ZERO)>0){ + if (orders.getFxyOneMoney().compareTo(BigDecimal.ZERO) > 0) { userMoneyService.updateMoney(1, orders.getFxyOneUserId(), orders.getFxyOneMoney().doubleValue()); userMoneyDetails = new UserMoneyDetails(); //查询用户当前余额 @@ -3417,7 +3451,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setMoney(orders.getFxyOneMoney()); userMoneyDetails.setUserId(orders.getFxyOneUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); - userMoneyDetails.setContent("一级分销员收益:"+orders.getFxyOneMoney()); + userMoneyDetails.setContent("一级分销员收益:" + orders.getFxyOneMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); @@ -3428,7 +3462,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } if (orders.getFxyTwoUserId() != null) { - if(orders.getFxyTwoMoney().compareTo(BigDecimal.ZERO)>0){ + if (orders.getFxyTwoMoney().compareTo(BigDecimal.ZERO) > 0) { userMoneyService.updateMoney(1, orders.getFxyTwoUserId(), orders.getFxyTwoMoney().doubleValue()); userMoneyDetails = new UserMoneyDetails(); //查询用户当前余额 @@ -3440,7 +3474,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setMoney(orders.getFxyTwoMoney()); userMoneyDetails.setUserId(orders.getFxyTwoUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); - userMoneyDetails.setContent("二级分销员收益:"+orders.getFxyTwoMoney()); + userMoneyDetails.setContent("二级分销员收益:" + orders.getFxyTwoMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); @@ -3451,7 +3485,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } if (orders.getJjrUserId() != null) { - if(orders.getJjrMoney().compareTo(BigDecimal.ZERO)>0) { + if (orders.getJjrMoney().compareTo(BigDecimal.ZERO) > 0) { userMoneyService.updateMoney(1, orders.getJjrUserId(), orders.getJjrMoney().doubleValue()); userMoneyDetails = new UserMoneyDetails(); //查询用户当前余额 @@ -3463,7 +3497,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setMoney(orders.getJjrMoney()); userMoneyDetails.setUserId(orders.getJjrUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); - userMoneyDetails.setContent("经纪人收益:"+orders.getJjrMoney()); + userMoneyDetails.setContent("经纪人收益:" + orders.getJjrMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); @@ -3473,8 +3507,8 @@ public class OrdersServiceImpl extends ServiceImpl implements } } - if (orders.getShopUserId() != null && orders.getShopMoney().compareTo(BigDecimal.ZERO)!=0) { - if(orders.getShopMoney().compareTo(BigDecimal.ZERO)>0) { + if (orders.getShopUserId() != null && orders.getShopMoney().compareTo(BigDecimal.ZERO) != 0) { + if (orders.getShopMoney().compareTo(BigDecimal.ZERO) > 0) { userMoneyService.updateMoney(1, orders.getShopUserId(), orders.getShopMoney().doubleValue()); userMoneyDetails = new UserMoneyDetails(); //查询用户当前余额 @@ -3486,7 +3520,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setMoney(orders.getShopMoney()); userMoneyDetails.setUserId(orders.getShopUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单取消!"); - userMoneyDetails.setContent("商家收益:"+orders.getShopMoney()); + userMoneyDetails.setContent("商家收益:" + orders.getShopMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); @@ -3522,11 +3556,11 @@ public class OrdersServiceImpl extends ServiceImpl 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()); //插入余额 @@ -3570,7 +3604,7 @@ public class OrdersServiceImpl extends ServiceImpl implements artificerService.updateById(artificer2); messageService.saveBody(messageInfo); } - }else{ + } else { orders.setProjectBenefits(BigDecimal.ZERO); orders.setArtificerTaxiMoney(BigDecimal.ZERO); orders.setPingTaxiMoney(BigDecimal.ZERO); @@ -3626,18 +3660,18 @@ public class OrdersServiceImpl extends ServiceImpl implements baseMapper.updateById(orders); //删除技师占用时间表数据 artificerTimeService.remove(new QueryWrapper().eq("orders_id", orders.getOrdersId())); - if(orders.getOldOrdersId()!=null && orders.getOldOrdersId() !=0){ + if (orders.getOldOrdersId() != null && orders.getOldOrdersId() != 0) { Orders ordersOld = new Orders(); ordersOld.setOrdersId(orders.getOldOrdersId()); - if(orders.getIsSupplement() != null){ - if(orders.getIsSupplement() == 2){ + if (orders.getIsSupplement() != null) { + if (orders.getIsSupplement() == 2) { ordersOld.setStatus(6); - }else if(orders.getIsSupplement() == 3){ + } else if (orders.getIsSupplement() == 3) { ordersOld.setStatus(2); - }else{ + } else { ordersOld.setStatus(9);//用户已支付技师待接单 } - }else{ + } else { ordersOld.setStatus(9);//用户已支付技师待接单 } baseMapper.updateById(ordersOld);//原单暂变成挂单状态 @@ -3646,7 +3680,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } @Transactional - public Result cancelPackageOrders(Long userId, Orders orders, BigDecimal trafficDeduction, BigDecimal trafficRate){ + public Result cancelPackageOrders(Long userId, Orders orders, BigDecimal trafficDeduction, BigDecimal trafficRate) { //释放 UserPackageDetail userPackageDetail = new UserPackageDetail(); userPackageDetail.setId(orders.getUserPackageDetailId()); @@ -3660,19 +3694,19 @@ public class OrdersServiceImpl extends ServiceImpl implements String time = simpleDateFormat.format(new Date()); //车费扣款 BigDecimal taxiMoneyDeduction = BigDecimal.ZERO; - if(trafficRate.compareTo(BigDecimal.ZERO) == 0){ + if (trafficRate.compareTo(BigDecimal.ZERO) == 0) { taxiMoneyDeduction = trafficDeduction; - }else{ - taxiMoneyDeduction = orders.getTaxiMoney().multiply(trafficRate).setScale(2,BigDecimal.ROUND_HALF_UP); + } else { + taxiMoneyDeduction = orders.getTaxiMoney().multiply(trafficRate).setScale(2, BigDecimal.ROUND_HALF_UP); } - if(orders.getTaxiMoney().compareTo(taxiMoneyDeduction) < 0){ + if (orders.getTaxiMoney().compareTo(taxiMoneyDeduction) < 0) { taxiMoneyDeduction = orders.getTaxiMoney(); } //退款金额 BigDecimal userMoney = orders.getTaxiMoney().subtract(taxiMoneyDeduction); UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); if (orders.getPayWay() == 1 || orders.getPayWay() == 2 || orders.getPayWay() == 3 || orders.getPayWay() == 4) { - if(userMoney.compareTo(BigDecimal.ZERO) > 0) { + if (userMoney.compareTo(BigDecimal.ZERO) > 0) { boolean refund = wxService.refund(orders.getOrdersNo(), orders.getTaxiMoney(), userMoney, orders.getPayWay()); if (!refund) { return Result.error("退款失败,请联系客服!"); @@ -3681,7 +3715,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setManipulateType(1); userMoneyDetails.setBlFlag(2); } else if (orders.getPayWay() == 6) { - if(userMoney.compareTo(BigDecimal.ZERO) > 0) { + if (userMoney.compareTo(BigDecimal.ZERO) > 0) { String data = aliPayController.alipayRefund(orders.getOrdersNo(), userMoney); if (StringUtils.isNotBlank(data)) { log.error(data); @@ -3698,7 +3732,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setManipulateType(1); userMoneyDetails.setBlFlag(2); } else { - if(userMoney.compareTo(BigDecimal.ZERO) > 0) { + if (userMoney.compareTo(BigDecimal.ZERO) > 0) { userMoneyService.updateMoney(1, orders.getUserId(), userMoney.doubleValue()); } //查询用户当前余额 @@ -3722,7 +3756,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetailsService.save(userMoneyDetails); BigDecimal sumMoney = taxiMoneyDeduction;//总扣费 - if(sumMoney.compareTo(BigDecimal.ZERO)>0){ + if (sumMoney.compareTo(BigDecimal.ZERO) > 0) { orders.setProjectBenefits(BigDecimal.ZERO); // orders.setOneArtificerMoney(BigDecimal.ZERO); orders.setJjrMoney(BigDecimal.ZERO); @@ -3745,7 +3779,7 @@ public class OrdersServiceImpl extends ServiceImpl implements String taxi = commonInfoService.findOne(394).getValue(); if ("是".equals(taxi)) { - artificerTaxiMoney = taxiMoney.multiply(artificer.getRate()).setScale(2,BigDecimal.ROUND_HALF_UP); + artificerTaxiMoney = taxiMoney.multiply(artificer.getRate()).setScale(2, BigDecimal.ROUND_HALF_UP); pingTaxiMoney = taxiMoney.subtract(artificerTaxiMoney); } orders.setArtificerTaxiMoney(artificerTaxiMoney); @@ -3756,12 +3790,12 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setJjrMoney(BigDecimal.ZERO); orders.setJjrArtificerDeductMoney(BigDecimal.ZERO); JjrConfig jc = jjrConfigService.getOne(new QueryWrapper()); - if(jc!=null && jc.getIsOpen().equals(1)){ + if (jc != null && jc.getIsOpen().equals(1)) { UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); - if(jjrUser!=null){ + if (jjrUser != null) { JjrApply jjrApply = jjrApplyService.findByUserId(jjrUser.getUserId()); - if(jjrApply!=null && jjrApply.getStatus().equals(1)){ - if(jjrUser.getBlIsJjr() !=null && jjrUser.getBlIsJjr() ==1){ + if (jjrApply != null && jjrApply.getStatus().equals(1)) { + if (jjrUser.getBlIsJjr() != null && jjrUser.getBlIsJjr() == 1) { orders.setJjrUserId(jjrUser.getUserId()); orders.setJjrUserName(jjrUser.getUserName()); orders.setJjrMoney(BigDecimal.ZERO); @@ -3791,57 +3825,57 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setFxyTwoMoney(BigDecimal.ZERO); orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); FxyConfig fc = fxyConfigService.getOne(new QueryWrapper()); - if(fc!=null && fc.getIsOpen().equals(1)){ + if (fc != null && fc.getIsOpen().equals(1)) { UserEntity user = userService.selectUserById(orders.getUserId()); UserEntity fxyOneUser = userService.queryByInvitationCode(user.getBlFxyCode()); - if(fxyOneUser!=null){ + if (fxyOneUser != null) { FxyApply faOne = fxyApplyService.findByUserId(fxyOneUser.getUserId()); - if(faOne!=null && faOne.getStatus().equals(1)){ - if(fxyOneUser.getBlIsFxy() !=null && fxyOneUser.getBlIsFxy() ==1){ + if (faOne != null && faOne.getStatus().equals(1)) { + if (fxyOneUser.getBlIsFxy() != null && fxyOneUser.getBlIsFxy() == 1) { boolean isCanFxyFy = false; - if(fc.getFxmLimit().equals(2)){ + if (fc.getFxmLimit().equals(2)) { int fxmLimitDays = fc.getFxmLimitDays(); String approveTime = faOne.getApproveTime(); - Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Date approveDate = DateUtils.stringToDate(approveTime, DateUtils.DATE_TIME_PATTERN); Calendar calendar = Calendar.getInstance(); calendar.setTime(approveDate); calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); approveDate = calendar.getTime(); Date current = new Date(); - if(approveDate.getTime() > current.getTime()){ + if (approveDate.getTime() > current.getTime()) { isCanFxyFy = true; } - }else{ + } else { isCanFxyFy = true; } - if(isCanFxyFy){ + if (isCanFxyFy) { orders.setFxyOneUserId(fxyOneUser.getUserId()); orders.setFxyOneUserName(fxyOneUser.getUserName()); orders.setFxyOneMoney(BigDecimal.ZERO); orders.setFxyOneArtificerDeductMoney(BigDecimal.ZERO); - if(fxyOneUser.getBlFxyLevel().equals(1)){ + if (fxyOneUser.getBlFxyLevel().equals(1)) { UserEntity fxyTwoUser = userService.queryByInvitationCode(fxyOneUser.getBlFxyCode()); - if(fxyTwoUser!=null){ + if (fxyTwoUser != null) { FxyApply faTwo = fxyApplyService.findByUserId(fxyTwoUser.getUserId()); - if(faTwo!=null && faTwo.getStatus().equals(1)){ - if(fxyTwoUser.getBlIsFxy() !=null && fxyTwoUser.getBlIsFxy() ==1){ + if (faTwo != null && faTwo.getStatus().equals(1)) { + if (fxyTwoUser.getBlIsFxy() != null && fxyTwoUser.getBlIsFxy() == 1) { isCanFxyFy = false; - if(fc.getFxmLimit().equals(2)){ + if (fc.getFxmLimit().equals(2)) { int fxmLimitDays = fc.getFxmLimitDays(); String approveTime = faTwo.getApproveTime(); - Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Date approveDate = DateUtils.stringToDate(approveTime, DateUtils.DATE_TIME_PATTERN); Calendar calendar = Calendar.getInstance(); calendar.setTime(approveDate); calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); approveDate = calendar.getTime(); Date current = new Date(); - if(approveDate.getTime() > current.getTime()){ + if (approveDate.getTime() > current.getTime()) { isCanFxyFy = true; } - }else{ + } else { isCanFxyFy = true; } - if(isCanFxyFy) { + if (isCanFxyFy) { orders.setFxyTwoUserId(fxyTwoUser.getUserId()); orders.setFxyTwoUserName(fxyTwoUser.getUserName()); orders.setFxyTwoMoney(BigDecimal.ZERO); @@ -3976,7 +4010,7 @@ public class OrdersServiceImpl extends ServiceImpl implements artificerService.updateById(artificer2); messageService.saveBody(messageInfo); } - }else{ + } else { orders.setProjectBenefits(BigDecimal.ZERO); orders.setArtificerTaxiMoney(BigDecimal.ZERO); orders.setPingTaxiMoney(BigDecimal.ZERO); @@ -4034,20 +4068,20 @@ public class OrdersServiceImpl extends ServiceImpl implements baseMapper.updateById(orders); //删除技师占用时间表数据 artificerTimeService.remove(new QueryWrapper().eq("orders_id", orders.getOrdersId())); - if(orders.getOldOrdersId()!=null && orders.getOldOrdersId() !=0){ + if (orders.getOldOrdersId() != null && orders.getOldOrdersId() != 0) { Orders ordersOld = new Orders(); ordersOld.setOrdersId(orders.getOldOrdersId()); - if(orders.getIsSupplement() != null){ - if(orders.getIsSupplement() == 1){ + if (orders.getIsSupplement() != null) { + if (orders.getIsSupplement() == 1) { orders.setStatus(10); - }else if(orders.getIsSupplement() == 2){ + } else if (orders.getIsSupplement() == 2) { orders.setStatus(6); - }else if(orders.getIsSupplement() == 3){ + } else if (orders.getIsSupplement() == 3) { orders.setStatus(2); - }else{ + } else { orders.setStatus(9);//用户已支付技师待接单 } - }else{ + } else { orders.setStatus(9);//用户已支付技师待接单 } ordersOld.setStatus(11); @@ -4067,33 +4101,33 @@ public class OrdersServiceImpl extends ServiceImpl implements public Result cancelSupplementOrders(Long userId, Long ordersId, Integer isAuto, Integer type) { Orders orders = baseMapper.selectById(ordersId); //状态 1待支付 2待服务 3待评论 4已取消 5已完成 6进行中 7技师出发 8技师到达 9用户已支付技师待接单 10待补单 - if(orders.getRefusalContent()!=null && !orders.getRefusalContent().equals("")){ - }else{ - if(orders.getOldOrdersId()!=null && orders.getOldOrdersId() !=0 && type == 1){ + if (orders.getRefusalContent() != null && !orders.getRefusalContent().equals("")) { + } else { + if (orders.getOldOrdersId() != null && orders.getOldOrdersId() != 0 && type == 1) { return Result.error("补差价的单据无法生成待补单!"); } } if (orders.getStatus() == 8 || orders.getStatus() == 9 || orders.getStatus() == 10 || orders.getStatus() == 11) { - if(orders.getUserPackageDetailId() !=null){ - return cancelSupplementPackageOrders(userId,orders,isAuto,type); - }else{ - return cancelSupplementMassageOrders(userId,orders,isAuto,type); + if (orders.getUserPackageDetailId() != null) { + return cancelSupplementPackageOrders(userId, orders, isAuto, type); + } else { + return cancelSupplementMassageOrders(userId, orders, isAuto, type); } - }else{ + } else { return Result.error("不满足待补单条件!"); } } private Result cancelSupplementMassageOrders(Long userId, Orders orders, Integer isAuto, Integer type) { - if(type == 1){ - if(orders.getTaxiMoney().compareTo(BigDecimal.ZERO) != 0){ + if (type == 1) { + if (orders.getTaxiMoney().compareTo(BigDecimal.ZERO) != 0) { //退车费或扣车费,成为待补单 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = simpleDateFormat.format(new Date()); //退款金额 BigDecimal userMoney = BigDecimal.ZERO; UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); - if(isAuto == 0){ + if (isAuto == 0) { //退款车费 userMoney = orders.getTaxiMoney(); if (orders.getPayWay() == 1 || orders.getPayWay() == 2 || orders.getPayWay() == 3 || orders.getPayWay() == 4) { @@ -4162,7 +4196,7 @@ public class OrdersServiceImpl extends ServiceImpl implements UserEntity userEntity = userService.selectUserById(orders.getUserId()); //超过十个字 则截取 - String content = "订单:"+orders.getOrdersNo()+",转为待补单"; + String content = "订单:" + orders.getOrdersNo() + ",转为待补单"; //消息推送 if (StringUtils.isNotEmpty(userEntity.getOpenId())) { CommonInfo one = commonInfoService.findOne(248); @@ -4186,15 +4220,15 @@ public class OrdersServiceImpl extends ServiceImpl implements userService.sendWxMessage(apkey, data, userEntity.getWxOpenId()); } } - if(isAuto == 1){ + 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 serveTimeDate = DateUtils.stringToDate(serveTime, "yyyy-MM-dd HH:mm"); + serveTimeDate = DateUtils.addDateMinutes(serveTimeDate, minutes); Date currentDate = new Date(); - if(currentDate.getTime()>serveTimeDate.getTime()){ - }else{ + if (currentDate.getTime() > serveTimeDate.getTime()) { + } else { return Result.error("当前单据不满足待补单条件!"); } //按照比例 将扣除的车费钱 @@ -4241,7 +4275,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } //删除技师占用时间表数据 artificerTimeService.remove(new QueryWrapper().eq("orders_id", orders.getOrdersId())); - if(orders.getOldOrdersId()!=null && orders.getOldOrdersId() !=0){ + if (orders.getOldOrdersId() != null && orders.getOldOrdersId() != 0) { //此笔单子退车费,并改为取消,再将原单改成待补单 orders.setRefusalContent(""); orders.setTaxiMoney(BigDecimal.ZERO); @@ -4250,7 +4284,7 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setStatus(4); baseMapper.updateById(orders); cancelSupplementOrders(userId, orders.getOldOrdersId(), isAuto, 1);//退原单,原单的车费已被退/扣,所以只退项目 - }else{ + } else { BigDecimal taxiMoney = orders.getTaxiMoney(); BigDecimal artificerMoney = orders.getArtificerMoney().subtract(taxiMoney); orders.setRefusalContent(""); @@ -4263,13 +4297,13 @@ public class OrdersServiceImpl extends ServiceImpl implements baseMapper.updateById(orders); } } - if(type == 2){ + if (type == 2) { //退项目费 String couponIds = orders.getCouponId(); - if(orders.getCouponId() != null && couponIds.length()>0){ + if (orders.getCouponId() != null && couponIds.length() > 0) { String[] couponArr = couponIds.trim().split(","); - for(int i=0;i implements } } - if(type == 3){ + if (type == 3) { //全退 String couponIds = orders.getCouponId(); - if(orders.getCouponId() != null && couponIds.length()>0){ + if (orders.getCouponId() != null && couponIds.length() > 0) { String[] couponArr = couponIds.trim().split(","); - for(int i=0;i implements userService.sendWxMessage(apkey, data, userEntity.getWxOpenId()); } - if(orders.getOldOrdersId()!=null && orders.getOldOrdersId() !=0){ + if (orders.getOldOrdersId() != null && orders.getOldOrdersId() != 0) { cancelSupplementOrders(userId, orders.getOldOrdersId(), isAuto, 2);//退原单,原单的车费已被退/扣,所以只退项目 } } @@ -4503,8 +4537,8 @@ public class OrdersServiceImpl extends ServiceImpl implements } private Result cancelSupplementPackageOrders(Long userId, Orders orders, Integer isAuto, Integer type) { - if(type == 1){ - if(orders.getTaxiMoney().compareTo(BigDecimal.ZERO) != 0) { + if (type == 1) { + if (orders.getTaxiMoney().compareTo(BigDecimal.ZERO) != 0) { //退车费或扣车费,成为待补单 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = simpleDateFormat.format(new Date()); @@ -4607,11 +4641,11 @@ public class OrdersServiceImpl extends ServiceImpl implements 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 serveTimeDate = DateUtils.stringToDate(serveTime, "yyyy-MM-dd HH:mm"); + serveTimeDate = DateUtils.addDateMinutes(serveTimeDate, minutes); Date currentDate = new Date(); - if(currentDate.getTime()>serveTimeDate.getTime()){ - }else{ + if (currentDate.getTime() > serveTimeDate.getTime()) { + } else { return Result.error("当前单据不满足待补单条件!"); } //按照比例 将扣除的车费钱 @@ -4658,7 +4692,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } //删除技师占用时间表数据 artificerTimeService.remove(new QueryWrapper().eq("orders_id", orders.getOrdersId())); - if(orders.getOldOrdersId()!=null && orders.getOldOrdersId() !=0){ + if (orders.getOldOrdersId() != null && orders.getOldOrdersId() != 0) { //此笔单子退车费,并改为取消,再将原单改成待补单 orders.setRefusalContent(""); orders.setTaxiMoney(BigDecimal.ZERO); @@ -4667,7 +4701,7 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setStatus(4); baseMapper.updateById(orders); cancelSupplementOrders(userId, orders.getOldOrdersId(), isAuto, 1);//退原单,原单的车费已被退/扣,所以只退项目 - }else{ + } else { BigDecimal taxiMoney = orders.getTaxiMoney(); BigDecimal artificerMoney = orders.getArtificerMoney().subtract(taxiMoney); orders.setRefusalContent(""); @@ -4680,7 +4714,7 @@ public class OrdersServiceImpl extends ServiceImpl implements baseMapper.updateById(orders); } } - if(type == 2){ + if (type == 2) { //退项目费 //释放 UserPackageDetail userPackageDetail = new UserPackageDetail(); @@ -4726,7 +4760,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userService.sendWxMessage(apkey, data, userEntity.getWxOpenId()); } - }else if(type == 3){ + } else if (type == 3) { //全退 //释放 UserPackageDetail userPackageDetail = new UserPackageDetail(); @@ -4845,7 +4879,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userService.sendWxMessage(apkey, data, userEntity.getWxOpenId()); } - if(orders.getOldOrdersId()!=null && orders.getOldOrdersId() !=0){ + if (orders.getOldOrdersId() != null && orders.getOldOrdersId() != 0) { cancelSupplementOrders(userId, orders.getOldOrdersId(), 0, 2);//退原单,原单的车费已被退/扣,所以只退项目 } } @@ -4860,10 +4894,10 @@ public class OrdersServiceImpl extends ServiceImpl implements return Result.error("订单已经取消了!"); } String couponIds = orders.getCouponId(); - if(orders.getCouponId() != null && couponIds.length()>0){ + if (orders.getCouponId() != null && couponIds.length() > 0) { String[] couponArr = couponIds.trim().split(","); - for(int i=0;i implements UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); if (orders.getPayWay() == 1 || orders.getPayWay() == 2 || orders.getPayWay() == 3 || orders.getPayWay() == 4) { - if(refundMoney.compareTo(BigDecimal.ZERO) > 0) { + if (refundMoney.compareTo(BigDecimal.ZERO) > 0) { boolean refund = wxService.refund(orders.getOrdersNo(), orders.getPayMoney(), refundMoney, orders.getPayWay()); if (!refund) { return Result.error("退款失败,请联系客服!"); @@ -4895,7 +4929,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setManipulateType(1); userMoneyDetails.setBlFlag(2); } else if (orders.getPayWay() == 6) { - if(refundMoney.compareTo(BigDecimal.ZERO) > 0) { + if (refundMoney.compareTo(BigDecimal.ZERO) > 0) { String data = aliPayController.alipayRefund(orders.getOrdersNo(), refundMoney); if (StringUtils.isNotBlank(data)) { log.error(data); @@ -4917,7 +4951,7 @@ public class OrdersServiceImpl extends ServiceImpl implements // } else { // userMoneyService.updateMoney(1, orders.getUserId(), refundMoney.doubleValue()); // } - if(refundMoney.compareTo(BigDecimal.ZERO) > 0) { + if (refundMoney.compareTo(BigDecimal.ZERO) > 0) { userMoneyService.updateMoney(1, orders.getUserId(), refundMoney.doubleValue()); } //查询用户当前余额 @@ -4954,7 +4988,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } if (orders1.getPayWay() == 1 || orders1.getPayWay() == 2 || orders1.getPayWay() == 3 || orders1.getPayWay() == 4) { - if(refundMoney1.compareTo(BigDecimal.ZERO) > 0) { + if (refundMoney1.compareTo(BigDecimal.ZERO) > 0) { boolean refund = wxService.refund(orders1.getOrdersNo(), orders1.getPayMoney(), refundMoney1, orders1.getPayWay()); if (!refund) { return Result.error("退款失败,请联系客服!"); @@ -4963,7 +4997,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setManipulateType(1); userMoneyDetails.setBlFlag(2); } else if (orders1.getPayWay() == 6) { - if(refundMoney1.compareTo(BigDecimal.ZERO) > 0) { + if (refundMoney1.compareTo(BigDecimal.ZERO) > 0) { String data = aliPayController.alipayRefund(orders1.getOrdersNo(), refundMoney1); if (StringUtils.isNotBlank(data)) { log.error(data); @@ -4985,7 +5019,7 @@ public class OrdersServiceImpl extends ServiceImpl implements // } else { // userMoneyService.updateMoney(1, orders1.getUserId(), refundMoney1.doubleValue()); // } - if(refundMoney1.compareTo(BigDecimal.ZERO) > 0) { + if (refundMoney1.compareTo(BigDecimal.ZERO) > 0) { userMoneyService.updateMoney(1, orders1.getUserId(), refundMoney1.doubleValue()); } //查询用户当前余额 @@ -5074,6 +5108,7 @@ public class OrdersServiceImpl extends ServiceImpl implements /** * 删除订单 - 无用 + * * @param ordersId * @return */ @@ -5102,41 +5137,41 @@ public class OrdersServiceImpl extends ServiceImpl implements 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 serveTimeDate = DateUtils.stringToDate(serveTime, "yyyy-MM-dd HH:mm"); + serveTimeDate = DateUtils.addDateMinutes(serveTimeDate, minutes); Date currentDate = new Date(); - if(currentDate.getTime()>serveTimeDate.getTime()){ + if (currentDate.getTime() > serveTimeDate.getTime()) { orders.setIsCanSupplement(1); - }else{ + } else { orders.setIsCanSupplement(0); } List ordersMassageList = ordersMassageService.list(new QueryWrapper().eq("orders_id", ordersId)); for (OrdersMassage ordersMassage : ordersMassageList) { - if(orders.getUserPackageDetailId() !=null){ + if (orders.getUserPackageDetailId() != null) { UserPackageDetail userPackageDetail = userPackageDetailService.getById(ordersMassage.getMassageId()); UserPackage userPackage = userPackageService.getById(userPackageDetail.getMainId()); orders.setPackageType(userPackage.getType()); userPackageDetail.setMainTitle(userPackage.getTitle()); userPackageDetail.setMainPrice(userPackage.getPrice()); ordersMassage.setUserPackageDetail(userPackageDetail); - }else{ + } else { ordersMassage.setMassageType(massageTypeService.getById(ordersMassage.getMassageId())); } } orders.setOrdersMassageList(ordersMassageList); - if(orders.getOldOrdersId()!=null){ + if (orders.getOldOrdersId() != null) { Orders oldOrders = baseMapper.selectById(orders.getOldOrdersId()); List oldOrdersMassageList = ordersMassageService.list(new QueryWrapper().eq("orders_id", orders.getOldOrdersId())); for (OrdersMassage ordersMassage : oldOrdersMassageList) { - if(oldOrders.getUserPackageDetailId() !=null){ + if (oldOrders.getUserPackageDetailId() != null) { UserPackageDetail userPackageDetail = userPackageDetailService.getById(ordersMassage.getMassageId()); UserPackage userPackage = userPackageService.getById(userPackageDetail.getMainId()); orders.setPackageType(userPackage.getType()); userPackageDetail.setMainTitle(userPackage.getTitle()); userPackageDetail.setMainPrice(userPackage.getPrice()); ordersMassage.setUserPackageDetail(userPackageDetail); - }else{ + } else { ordersMassage.setMassageType(massageTypeService.getById(ordersMassage.getMassageId())); } } @@ -5156,49 +5191,63 @@ public class OrdersServiceImpl extends ServiceImpl implements BigDecimal shopMoneyTotal = BigDecimal.ZERO; BigDecimal jjrArtificerDeductMoneyTotal = BigDecimal.ZERO; BigDecimal fxyArtificerDeductMoneyTotal = BigDecimal.ZERO; - if(orders.getPayMoney()!=null){ + BigDecimal qdsArtificerDeductMoneyTotal = BigDecimal.ZERO; + BigDecimal ywyArtificerDeductMoneyTotal = BigDecimal.ZERO; + if (orders.getPayMoney() != null) { payMoneyTotal = payMoneyTotal.add(orders.getPayMoney()); } - if(orders.getArtificerMoney()!=null){ + if (orders.getArtificerMoney() != null) { artificerMoneyTotal = artificerMoneyTotal.add(orders.getArtificerMoney()); } - if(orders.getShopMoney()!=null){ + if (orders.getShopMoney() != null) { shopMoneyTotal = shopMoneyTotal.add(orders.getShopMoney()); } - if(orders.getJjrArtificerDeductMoney()!=null){ + if (orders.getJjrArtificerDeductMoney() != null) { jjrArtificerDeductMoneyTotal = jjrArtificerDeductMoneyTotal.add(orders.getJjrArtificerDeductMoney()); } - if(orders.getFxyOneArtificerDeductMoney()!=null){ + if (orders.getFxyOneArtificerDeductMoney() != null) { fxyArtificerDeductMoneyTotal = fxyArtificerDeductMoneyTotal.add(orders.getFxyOneArtificerDeductMoney()); } - if(orders.getFxyTwoArtificerDeductMoney()!=null){ + if (orders.getFxyTwoArtificerDeductMoney() != null) { fxyArtificerDeductMoneyTotal = fxyArtificerDeductMoneyTotal.add(orders.getFxyTwoArtificerDeductMoney()); } + if (orders.getQdsArtificerDeductMoney() != null) { + qdsArtificerDeductMoneyTotal = qdsArtificerDeductMoneyTotal.add(orders.getQdsArtificerDeductMoney()); + } + if (orders.getYwyArtificerDeductMoney() != null) { + ywyArtificerDeductMoneyTotal = ywyArtificerDeductMoneyTotal.add(orders.getYwyArtificerDeductMoney()); + } //获取是否有加钟订单 - if(orders.getAddNum()!=null){ - if(orders.getAddMoney()!=null){ + if (orders.getAddNum() != null) { + if (orders.getAddMoney() != null) { payMoneyTotal = payMoneyTotal.add(orders.getAddMoney()); } - if(orders.getAddArtificerMoney()!=null){ + if (orders.getAddArtificerMoney() != null) { artificerMoneyTotal = artificerMoneyTotal.add(orders.getAddArtificerMoney()); } - if(orders.getAddShopMoney()!=null){ + if (orders.getAddShopMoney() != null) { shopMoneyTotal = shopMoneyTotal.add(orders.getAddShopMoney()); } - if(orders.getAddJjrArtificerDeductMoney()!=null){ + if (orders.getAddJjrArtificerDeductMoney() != null) { jjrArtificerDeductMoneyTotal = jjrArtificerDeductMoneyTotal.add(orders.getAddJjrArtificerDeductMoney()); } - if(orders.getAddFxyOneArtificerDeductMoney()!=null){ + if (orders.getAddFxyOneArtificerDeductMoney() != null) { fxyArtificerDeductMoneyTotal = fxyArtificerDeductMoneyTotal.add(orders.getAddFxyOneArtificerDeductMoney()); } - if(orders.getAddFxyTwoArtificerDeductMoney()!=null){ + if (orders.getAddFxyTwoArtificerDeductMoney() != null) { fxyArtificerDeductMoneyTotal = fxyArtificerDeductMoneyTotal.add(orders.getAddFxyTwoArtificerDeductMoney()); } + if (orders.getAddQdsArtificerDeductMoney() != null) { + qdsArtificerDeductMoneyTotal = qdsArtificerDeductMoneyTotal.add(orders.getAddQdsArtificerDeductMoney()); + } + if (orders.getAddYwyArtificerDeductMoney() != null) { + ywyArtificerDeductMoneyTotal = ywyArtificerDeductMoneyTotal.add(orders.getAddYwyArtificerDeductMoney()); + } } //获取是否有改价订单 - if(orders.getOldOrdersId()!=null){ + if (orders.getOldOrdersId() != null) { // QueryWrapper ordersQueryWrapper = new QueryWrapper(); // ordersQueryWrapper.eq("orders_id",orders.getOldOrdersId()); // ordersQueryWrapper.ne("status",4); @@ -5212,38 +5261,46 @@ public class OrdersServiceImpl extends ServiceImpl implements // } // } Orders oldOrders = getTotalMoney(orders); - if(oldOrders.getPayMoney()!=null){ + if (oldOrders.getPayMoney() != null) { payMoneyTotal = payMoneyTotal.add(oldOrders.getPayMoney()); } - if(oldOrders.getArtificerMoney()!=null){ + if (oldOrders.getArtificerMoney() != null) { artificerMoneyTotal = artificerMoneyTotal.add(oldOrders.getArtificerMoney()); } - if(oldOrders.getShopMoney()!=null){ + if (oldOrders.getShopMoney() != null) { shopMoneyTotal = shopMoneyTotal.add(oldOrders.getShopMoney()); } - if(oldOrders.getJjrArtificerDeductMoney()!=null){ + if (oldOrders.getJjrArtificerDeductMoney() != null) { jjrArtificerDeductMoneyTotal = jjrArtificerDeductMoneyTotal.add(oldOrders.getJjrArtificerDeductMoney()); } - if(oldOrders.getFxyOneArtificerDeductMoney()!=null){ + if (oldOrders.getFxyOneArtificerDeductMoney() != null) { fxyArtificerDeductMoneyTotal = fxyArtificerDeductMoneyTotal.add(oldOrders.getFxyOneArtificerDeductMoney()); } - if(oldOrders.getFxyTwoArtificerDeductMoney()!=null){ + if (oldOrders.getFxyTwoArtificerDeductMoney() != null) { fxyArtificerDeductMoneyTotal = fxyArtificerDeductMoneyTotal.add(oldOrders.getFxyTwoArtificerDeductMoney()); } + if (oldOrders.getQdsArtificerDeductMoney() != null) { + qdsArtificerDeductMoneyTotal = qdsArtificerDeductMoneyTotal.add(oldOrders.getQdsArtificerDeductMoney()); + } + if (oldOrders.getYwyArtificerDeductMoney() != null) { + ywyArtificerDeductMoneyTotal = ywyArtificerDeductMoneyTotal.add(oldOrders.getYwyArtificerDeductMoney()); + } } orders.setPayMoneyTotal(payMoneyTotal); orders.setArtificerMoneyTotal(artificerMoneyTotal); orders.setShopMoneyTotal(shopMoneyTotal); orders.setJjrArtificerDeductMoneyTotal(jjrArtificerDeductMoneyTotal); orders.setFxyArtificerDeductMoneyTotal(fxyArtificerDeductMoneyTotal); + orders.setQdsArtificerDeductMoneyTotal(qdsArtificerDeductMoneyTotal); + orders.setYwyArtificerDeductMoneyTotal(ywyArtificerDeductMoneyTotal); return Result.success().put("data", orders); } - private Orders getTotalMoney(Orders orders){ + private Orders getTotalMoney(Orders orders) { Orders orders1 = new Orders(); QueryWrapper ordersQueryWrapper = new QueryWrapper(); - ordersQueryWrapper.eq("orders_id",orders.getOldOrdersId()); - ordersQueryWrapper.ne("status",4); + ordersQueryWrapper.eq("orders_id", orders.getOldOrdersId()); + ordersQueryWrapper.ne("status", 4); List list = baseMapper.selectList(ordersQueryWrapper); BigDecimal payMoneyTotal = BigDecimal.ZERO; BigDecimal artificerMoneyTotal = BigDecimal.ZERO; @@ -5251,45 +5308,45 @@ public class OrdersServiceImpl extends ServiceImpl implements BigDecimal jjrArtificerDeductMoneyTotal = BigDecimal.ZERO; BigDecimal fxyOneArtificerDeductMoneyTotal = BigDecimal.ZERO; BigDecimal fxyTwoArtificerDeductMoneyTotal = BigDecimal.ZERO; - if(list!=null && list.size()>0) { - for(Orders vo : list){ - if(vo.getOldOrdersId()!=null){ + if (list != null && list.size() > 0) { + for (Orders vo : list) { + if (vo.getOldOrdersId() != null) { Orders oldOrders = getTotalMoney(vo); - if(oldOrders.getPayMoney()!=null){ + if (oldOrders.getPayMoney() != null) { payMoneyTotal = payMoneyTotal.add(oldOrders.getPayMoney()); } - if(oldOrders.getArtificerMoney()!=null){ + if (oldOrders.getArtificerMoney() != null) { artificerMoneyTotal = artificerMoneyTotal.add(oldOrders.getArtificerMoney()); } - if(oldOrders.getShopMoney()!=null){ + if (oldOrders.getShopMoney() != null) { shopMoneyTotal = shopMoneyTotal.add(oldOrders.getShopMoney()); } - if(oldOrders.getJjrArtificerDeductMoney()!=null){ + if (oldOrders.getJjrArtificerDeductMoney() != null) { jjrArtificerDeductMoneyTotal = jjrArtificerDeductMoneyTotal.add(oldOrders.getJjrArtificerDeductMoney()); } - if(oldOrders.getFxyOneArtificerDeductMoney()!=null){ + if (oldOrders.getFxyOneArtificerDeductMoney() != null) { fxyOneArtificerDeductMoneyTotal = fxyOneArtificerDeductMoneyTotal.add(oldOrders.getFxyOneArtificerDeductMoney()); } - if(oldOrders.getFxyTwoArtificerDeductMoney()!=null){ + if (oldOrders.getFxyTwoArtificerDeductMoney() != null) { fxyTwoArtificerDeductMoneyTotal = fxyTwoArtificerDeductMoneyTotal.add(oldOrders.getFxyTwoArtificerDeductMoney()); } } - if(vo.getPayMoney()!=null){ + if (vo.getPayMoney() != null) { payMoneyTotal = payMoneyTotal.add(vo.getPayMoney()); } - if(vo.getArtificerMoney()!=null){ + if (vo.getArtificerMoney() != null) { artificerMoneyTotal = artificerMoneyTotal.add(vo.getArtificerMoney()); } - if(vo.getShopMoney()!=null){ + if (vo.getShopMoney() != null) { shopMoneyTotal = shopMoneyTotal.add(vo.getShopMoney()); } - if(vo.getJjrArtificerDeductMoney()!=null){ + if (vo.getJjrArtificerDeductMoney() != null) { jjrArtificerDeductMoneyTotal = jjrArtificerDeductMoneyTotal.add(vo.getJjrArtificerDeductMoney()); } - if(vo.getFxyOneArtificerDeductMoney()!=null){ + if (vo.getFxyOneArtificerDeductMoney() != null) { fxyOneArtificerDeductMoneyTotal = fxyOneArtificerDeductMoneyTotal.add(vo.getFxyOneArtificerDeductMoney()); } - if(vo.getFxyTwoArtificerDeductMoney()!=null){ + if (vo.getFxyTwoArtificerDeductMoney() != null) { fxyTwoArtificerDeductMoneyTotal = fxyTwoArtificerDeductMoneyTotal.add(vo.getFxyTwoArtificerDeductMoney()); } } @@ -5318,9 +5375,9 @@ public class OrdersServiceImpl extends ServiceImpl implements for (Orders orders : records) { List ordersMassageList = ordersMassageService.list(new QueryWrapper().eq("orders_id", orders.getOrdersId())); for (OrdersMassage ordersMassage : ordersMassageList) { - if(orders.getUserPackageDetailId() !=null){ + if (orders.getUserPackageDetailId() != null) { UserPackageDetail userPackageDetail = userPackageDetailService.getById(ordersMassage.getMassageId()); - if(userPackageDetail!=null){ + if (userPackageDetail != null) { UserPackage userPackage = userPackageService.getById(userPackageDetail.getMainId()); orders.setPackageType(userPackage.getType()); userPackageDetail.setMainTitle(userPackage.getTitle()); @@ -5333,7 +5390,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } } } - }else{ + } else { MassageType massageType = massageTypeService.getById(ordersMassage.getMassageId()); ordersMassage.setMassageType(massageType); if (massageType != null) { @@ -5357,16 +5414,16 @@ public class OrdersServiceImpl extends ServiceImpl implements for (Orders orders : records) { List ordersMassageList = ordersMassageService.list(new QueryWrapper().eq("orders_id", orders.getOrdersId())); for (OrdersMassage ordersMassage : ordersMassageList) { - if(orders.getUserPackageDetailId() !=null){ + if (orders.getUserPackageDetailId() != null) { UserPackageDetail userPackageDetail = userPackageDetailService.getById(ordersMassage.getMassageId()); - if(userPackageDetail!=null){ + if (userPackageDetail != null) { UserPackage userPackage = userPackageService.getById(userPackageDetail.getMainId()); orders.setPackageType(userPackage.getType()); userPackageDetail.setMainTitle(userPackage.getTitle()); userPackageDetail.setMainPrice(userPackage.getPrice()); ordersMassage.setUserPackageDetail(userPackageDetail); } - }else{ + } else { MassageType massageType = massageTypeService.getById(ordersMassage.getMassageId()); ordersMassage.setMassageType(massageType); if (massageType != null) { @@ -5538,17 +5595,17 @@ public class OrdersServiceImpl extends ServiceImpl implements } else if (orders.getStatus() != 1) { return Result.error("订单状态异常,请刷新页面后重试!"); } - if(orders.getUserPackageDetailId() !=null ){ + if (orders.getUserPackageDetailId() != null) { //套餐订单 - return payPackageOrders(orders,type); - }else{ + return payPackageOrders(orders, type); + } else { //项目订单 - return payMassageOrders(orders,type); + return payMassageOrders(orders, type); } } catch (Exception e) { e.printStackTrace(); log.error("钱包支付订单异常:" + e.getMessage(), e); - msg = e.getMessage(); + msg = e.getMessage(); } finally { // reentrantReadWriteLock.writeLock().unlock(); } @@ -5557,17 +5614,17 @@ public class OrdersServiceImpl extends ServiceImpl implements } - private Result payMassageOrders(Orders orders, Integer type) throws Exception{ + private Result payMassageOrders(Orders orders, Integer type) throws Exception { // 无用,暂系统不支持储蓄金 // UserMoneyArtificer userMoneyArtificer = userMoneyArtificerService.getOne(new QueryWrapper().eq("user_id", orders.getUserId()).eq("artificer_id", orders.getArtificerId())); // if (userMoneyArtificer != null && userMoneyArtificer.getMoney().doubleValue() >= orders.getPayMoney().doubleValue()) { // type = 2; // } else { // type = 1; - UserMoney userMoney = userMoneyService.selectUserMoneyByUserId(orders.getUserId()); - if (userMoney.getMoney().doubleValue() < orders.getPayMoney().doubleValue()) { - return Result.error("钱包余额不足,请充值!"); - } + UserMoney userMoney = userMoneyService.selectUserMoneyByUserId(orders.getUserId()); + if (userMoney.getMoney().doubleValue() < orders.getPayMoney().doubleValue()) { + return Result.error("钱包余额不足,请充值!"); + } // } Integer duration = 0; @@ -5575,10 +5632,10 @@ public class OrdersServiceImpl extends ServiceImpl implements Orders orders1 = baseMapper.selectById(orders.getParentId()); OrdersMassage ordersMassage = ordersMassageService.getOne(new QueryWrapper().eq("orders_id", orders1.getOrdersId())); MassageType massageType = null; - if(orders1.getUserPackageDetailId() !=null){ + if (orders1.getUserPackageDetailId() != null) { UserPackageDetail userPackageDetail = userPackageDetailService.getById(ordersMassage.getMassageId()); massageType = massageTypeService.getById(userPackageDetail.getMassageTypeId()); - }else{ + } else { massageType = massageTypeService.getById(ordersMassage.getMassageId()); } if (massageType.getAddNum() == null || massageType.getAddNum() == 0) { @@ -5593,17 +5650,17 @@ public class OrdersServiceImpl extends ServiceImpl implements 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(); - Map map = getAddTaskTime(orders.getDuration(),serveTime,value1,orders.getArtificerId()); - if(map.get("code").toString().equals("1")){ + Map map = getAddTaskTime(orders.getDuration(), serveTime, value1, orders.getArtificerId()); + if (map.get("code").toString().equals("1")) { return Result.error("预约时间正忙,请更换其他时间!"); } - insertArtificerTime((ArrayList)map.get("timeList"),orders.getArtificerId(),orders.getOrdersId()); + insertArtificerTime((ArrayList) map.get("timeList"), orders.getArtificerId(), orders.getOrdersId()); } - }else{ + } else { String value1 = commonInfoService.findOne(395).getValue(); if ("是".equals(value1)) { - if(orders.getIsSupplement() != null){ - if(orders.getIsSupplement() == 1){ + if (orders.getIsSupplement() != null) { + if (orders.getIsSupplement() == 1) { String serveTime = orders.getServeTime(); String date = serveTime.substring(0, 10); String time = serveTime.substring(11, 16); @@ -5616,28 +5673,28 @@ public class OrdersServiceImpl extends ServiceImpl implements if (artificerTime != null) { return Result.error("预约时间正忙,请更换其他时间!"); } - Map map = getTaskTime(orders.getDuration(),orders.getServeTime(),value1,orders.getTripWay(),orders.getArtificerId()); - if(map.get("code").toString().equals("1")){ + Map map = getTaskTime(orders.getDuration(), orders.getServeTime(), value1, orders.getTripWay(), orders.getArtificerId()); + if (map.get("code").toString().equals("1")) { return Result.error("预约时间正忙,请更换其他时间!"); } - insertArtificerTime((ArrayList)map.get("timeList"),orders.getArtificerId(),orders.getOrdersId()); - }else if(orders.getIsSupplement() == 2){ + insertArtificerTime((ArrayList) map.get("timeList"), orders.getArtificerId(), orders.getOrdersId()); + } else if (orders.getIsSupplement() == 2) { Orders oldOrders = baseMapper.selectById(orders.getOldOrdersId()); - int timeDifference = orders.getDuration()-oldOrders.getDuration(); - if(timeDifference>0){ + int timeDifference = orders.getDuration() - oldOrders.getDuration(); + if (timeDifference > 0) { ArtificerTime artificerTime = artificerTimeService.getOne(new QueryWrapper().eq("orders_id", orders.getOldOrdersId()).last(" order by artificer_time_id desc limit 1 ")); String serveTime = artificerTime.getArtificerDate() + " " + artificerTime.getArtificerTime(); - Map map = getAddTaskTime(timeDifference,serveTime,value1,oldOrders.getArtificerId()); - if(map.get("code").toString().equals("1")){ + Map map = getAddTaskTime(timeDifference, serveTime, value1, oldOrders.getArtificerId()); + if (map.get("code").toString().equals("1")) { return Result.error("预约时间正忙,请更换其他时间!"); } //技师占用时间表插入新订单号的多出来的服务时间 - insertArtificerTime((ArrayList)map.get("timeList"),orders.getArtificerId(),orders.getOrdersId()); - }else{ + insertArtificerTime((ArrayList) map.get("timeList"), orders.getArtificerId(), orders.getOrdersId()); + } else { //技师占用时间表插入新订单号的同时间 List artificerTimeList = artificerTimeService.list(new QueryWrapper().eq("orders_id", orders.getOldOrdersId()).last(" order by artificer_time_id")); - if(artificerTimeList!=null && artificerTimeList.size()>0){ - for(int i=0; i 0) { + for (int i = 0; i < artificerTimeList.size(); i++) { ArtificerTime artificerTime = artificerTimeList.get(i); ArtificerTime artificerTime2 = new ArtificerTime(); artificerTime2.setArtificerId(orders.getArtificerId()); @@ -5650,7 +5707,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } } } - }else{ + } else { //orders.getIsSupplement() == 3 || orders.getIsSupplement() == 4 String serveTime = orders.getServeTime(); String date = serveTime.substring(0, 10); @@ -5665,18 +5722,18 @@ public class OrdersServiceImpl extends ServiceImpl implements if (artificerTime != null) { return Result.error("预约时间正忙,请更换其他时间!"); } - Map map = getTaskTimeIncudeOrders(orders.getDuration(),orders.getServeTime(),value1,orders.getTripWay(),orders.getArtificerId(),orders.getOldOrdersId()); - if(map.get("code").toString().equals("1")){ + Map map = getTaskTimeIncudeOrders(orders.getDuration(), orders.getServeTime(), value1, orders.getTripWay(), orders.getArtificerId(), orders.getOldOrdersId()); + if (map.get("code").toString().equals("1")) { return Result.error("预约时间正忙,请更换其他时间!"); } //删除技师占用时间表数据 artificerTimeService.remove(new QueryWrapper().eq("orders_id", orders.getOldOrdersId())); //插入技师占用时间表新订单 - insertArtificerTime((ArrayList)map.get("timeList"),orders.getArtificerId(),orders.getOrdersId()); + insertArtificerTime((ArrayList) map.get("timeList"), orders.getArtificerId(), orders.getOrdersId()); //插入技师占用时间表原订单 - insertArtificerTime((ArrayList)map.get("timeList"),orders.getArtificerId(),orders.getOldOrdersId()); + insertArtificerTime((ArrayList) map.get("timeList"), orders.getArtificerId(), orders.getOldOrdersId()); } - }else{ + } else { String serveTime = orders.getServeTime(); String date = serveTime.substring(0, 10); String time = serveTime.substring(11, 16); @@ -5689,11 +5746,11 @@ public class OrdersServiceImpl extends ServiceImpl implements if (artificerTime != null) { return Result.error("预约时间正忙,请更换其他时间!"); } - Map map = getTaskTime(orders.getDuration(),orders.getServeTime(),value1,orders.getTripWay(),orders.getArtificerId()); - if(map.get("code").toString().equals("1")){ + Map map = getTaskTime(orders.getDuration(), orders.getServeTime(), value1, orders.getTripWay(), orders.getArtificerId()); + if (map.get("code").toString().equals("1")) { return Result.error("预约时间正忙,请更换其他时间!"); } - insertArtificerTime((ArrayList)map.get("timeList"),orders.getArtificerId(),orders.getOrdersId()); + insertArtificerTime((ArrayList) map.get("timeList"), orders.getArtificerId(), orders.getOrdersId()); } } } @@ -5709,7 +5766,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setManipulateType(2); userMoneyDetails.setMoney(orders.getPayMoney()); userMoneyDetails.setUserId(orders.getUserId()); - userMoneyDetails.setContent("项目名称:"+orders.getEntryName()+";订单号:" + orders.getOrdersNo() + ",已经下单成功!"); + userMoneyDetails.setContent("项目名称:" + orders.getEntryName() + ";订单号:" + orders.getOrdersNo() + ",已经下单成功!"); userMoneyDetails.setTitle("支付订单"); userMoneyDetails.setType(2); userMoneyDetails.setState(2); @@ -5718,18 +5775,18 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setBlFlag(1); userMoneyDetailsService.save(userMoneyDetails); - if(orders.getIsSupplement() != null){ - if(orders.getIsSupplement() == 2){ + if (orders.getIsSupplement() != null) { + if (orders.getIsSupplement() == 2) { orders.setStatus(6); - }else if(orders.getIsSupplement() == 3){ + } else if (orders.getIsSupplement() == 3) { orders.setStatus(2); - }else{ + } else { orders.setStatus(9);//用户已支付技师待接单 } - }else{ - if(orders.getParentId()!=null && orders.getParentId()!=0){ + } else { + if (orders.getParentId() != null && orders.getParentId() != 0) { orders.setStatus(6); - }else{ + } else { orders.setStatus(9);//用户已支付技师待接单 } } @@ -5744,7 +5801,7 @@ public class OrdersServiceImpl extends ServiceImpl implements //钱包支付技师提成 BigDecimal taxiMoney = orders.getTaxiMoney(); - if(taxiMoney==null){ + if (taxiMoney == null) { taxiMoney = BigDecimal.ZERO; } BigDecimal artificerPrice = BigDecimal.ZERO; @@ -5775,9 +5832,9 @@ public class OrdersServiceImpl extends ServiceImpl implements BigDecimal subtract = BigDecimal.ZERO; //用户支付减去通行费用 - if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){ + if (orders.getIsSupplement() != null && orders.getIsSupplement().equals(2)) { subtract = orders.getPayMoney(); - }else{ + } else { subtract = orders.getPayMoney().subtract(taxiMoney); } //计算用户收益 !计算前先减去通行费用再计算技师抽成 @@ -5800,33 +5857,33 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setJjrMoney(BigDecimal.ZERO); orders.setJjrArtificerDeductMoney(BigDecimal.ZERO); JjrConfig jc = jjrConfigService.getOne(new QueryWrapper()); - if(jc!=null && jc.getIsOpen().equals(1)){ + if (jc != null && jc.getIsOpen().equals(1)) { UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); - if(jjrUser!=null){ + if (jjrUser != null) { JjrApply jjrApply = jjrApplyService.findByUserId(jjrUser.getUserId()); - if(jjrApply!=null && jjrApply.getStatus().equals(1)){ - if(jjrUser.getBlIsJjr() !=null && jjrUser.getBlIsJjr() ==1){ + if (jjrApply != null && jjrApply.getStatus().equals(1)) { + if (jjrUser.getBlIsJjr() != null && jjrUser.getBlIsJjr() == 1) { orders.setJjrUserId(jjrUser.getUserId()); orders.setJjrUserName(jjrUser.getUserName()); BigDecimal artificerRate = jc.getArtificerRate(); BigDecimal agentRate = jc.getAgentRate(); BigDecimal jjrRate = BigDecimal.ZERO; - if(jc.getType().equals(1)){ + if (jc.getType().equals(1)) { jjrRate = jc.getRate(); - }else{ + } else { int invitationCn = jjrApplyService.getInvitationCn(artificerUser.getBlJjrCode()); List list = jjrConfigServiceLevel.findList(null); - for(int i=0;ijjrcl.getMinNumber() && invitationCn<=jjrcl.getMaxNumber()){ + if (invitationCn > jjrcl.getMinNumber() && invitationCn <= jjrcl.getMaxNumber()) { jjrRate = jjrcl.getRate(); break; } } } - BigDecimal jjrMoney = subtract.multiply(jjrRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal jjrMoney = subtract.multiply(jjrRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); orders.setJjrMoney(jjrMoney); - BigDecimal jjrOneArtificerDeductMoney = jjrMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal jjrOneArtificerDeductMoney = jjrMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); orders.setJjrArtificerDeductMoney(jjrOneArtificerDeductMoney); } } @@ -5865,37 +5922,38 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setFxyTwoMoney(BigDecimal.ZERO); orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); FxyConfig fc = fxyConfigService.getOne(new QueryWrapper()); - if(fc!=null && fc.getIsOpen().equals(1)){ - UserEntity user = userService.selectUserById(orders.getUserId()); + UserEntity user = null; + if (fc != null && fc.getIsOpen().equals(1)) { + user = userService.selectUserById(orders.getUserId()); UserEntity fxyOneUser = userService.queryByInvitationCode(user.getBlFxyCode()); - if(fxyOneUser!=null){ + if (fxyOneUser != null) { FxyApply faOne = fxyApplyService.findByUserId(fxyOneUser.getUserId()); - if(faOne!=null && faOne.getStatus().equals(1)){ - if(fxyOneUser.getBlIsFxy() !=null && fxyOneUser.getBlIsFxy() ==1){ + if (faOne != null && faOne.getStatus().equals(1)) { + if (fxyOneUser.getBlIsFxy() != null && fxyOneUser.getBlIsFxy() == 1) { boolean isCanFxyFy = false; - if(fc.getFxmLimit().equals(2)){ + if (fc.getFxmLimit().equals(2)) { int fxmLimitDays = fc.getFxmLimitDays(); String approveTime = faOne.getApproveTime(); - Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Date approveDate = DateUtils.stringToDate(approveTime, DateUtils.DATE_TIME_PATTERN); Calendar calendar = Calendar.getInstance(); calendar.setTime(approveDate); calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); approveDate = calendar.getTime(); Date current = new Date(); - if(approveDate.getTime() > current.getTime()){ + if (approveDate.getTime() > current.getTime()) { isCanFxyFy = true; } - }else{ + } else { isCanFxyFy = true; } - if(isCanFxyFy){ + if (isCanFxyFy) { orders.setFxyOneUserId(fxyOneUser.getUserId()); orders.setFxyOneUserName(fxyOneUser.getUserName()); BigDecimal fxyMoney = BigDecimal.ZERO; - if(fc.getType().equals(1)){ + if (fc.getType().equals(1)) { fxyMoney = artificerPrice; } - if(fc.getType().equals(2)){ + if (fc.getType().equals(2)) { fxyMoney = subtract; } BigDecimal artificerRate = fc.getArtificerRate(); @@ -5903,44 +5961,44 @@ public class OrdersServiceImpl extends ServiceImpl implements BigDecimal oneRate = fc.getOneRate(); BigDecimal oneRecommendRate = fc.getOneRecommendRate(); BigDecimal fxyRate = BigDecimal.ZERO; - if(oneRate == null || oneRate.compareTo(BigDecimal.ZERO) == 0){ + if (oneRate == null || oneRate.compareTo(BigDecimal.ZERO) == 0) { fxyRate = oneRecommendRate; - if(oneRecommendRate.compareTo(mostRate)> 0){ + if (oneRecommendRate.compareTo(mostRate) > 0) { fxyRate = mostRate; } - }else{ + } else { fxyRate = oneRate; - if(oneRate.compareTo(mostRate)> 0){ + if (oneRate.compareTo(mostRate) > 0) { fxyRate = mostRate; } } - BigDecimal fxyOneMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal fxyOneMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); orders.setFxyOneMoney(fxyOneMoney); - BigDecimal fxyOneArtificerDeductMoney = fxyOneMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal fxyOneArtificerDeductMoney = fxyOneMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); orders.setFxyOneArtificerDeductMoney(fxyOneArtificerDeductMoney); - if(fxyOneUser.getBlFxyLevel().equals(1)){ + if (fxyOneUser.getBlFxyLevel().equals(1)) { UserEntity fxyTwoUser = userService.queryByInvitationCode(fxyOneUser.getBlFxyCode()); - if(fxyTwoUser!=null){ + if (fxyTwoUser != null) { FxyApply faTwo = fxyApplyService.findByUserId(fxyTwoUser.getUserId()); - if(faTwo!=null && faTwo.getStatus().equals(1)){ - if(fxyTwoUser.getBlIsFxy() !=null && fxyTwoUser.getBlIsFxy() ==1){ + if (faTwo != null && faTwo.getStatus().equals(1)) { + if (fxyTwoUser.getBlIsFxy() != null && fxyTwoUser.getBlIsFxy() == 1) { isCanFxyFy = false; - if(fc.getFxmLimit().equals(2)){ + if (fc.getFxmLimit().equals(2)) { int fxmLimitDays = fc.getFxmLimitDays(); String approveTime = faTwo.getApproveTime(); - Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Date approveDate = DateUtils.stringToDate(approveTime, DateUtils.DATE_TIME_PATTERN); Calendar calendar = Calendar.getInstance(); calendar.setTime(approveDate); calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); approveDate = calendar.getTime(); Date current = new Date(); - if(approveDate.getTime() > current.getTime()){ + if (approveDate.getTime() > current.getTime()) { isCanFxyFy = true; } - }else{ + } else { isCanFxyFy = true; } - if(isCanFxyFy) { + if (isCanFxyFy) { orders.setFxyTwoUserId(fxyTwoUser.getUserId()); orders.setFxyTwoUserName(fxyTwoUser.getUserName()); BigDecimal twoRate = fc.getTwoRate(); @@ -5972,22 +6030,115 @@ public class OrdersServiceImpl extends ServiceImpl implements } } + //渠道商与业务员 + //逻辑:先计算渠道商分佣 = 支付费用 * 渠道分成 + // 这个钱从技师和平台身上出 技师有承担比例 剩余的就是平台出的钱 + // 再计算业务员分佣 = 支付费用 * 业务员返佣比例 如果业务员配置了和渠道商是抽成关系 需要再 减去 渠道商分佣 + // 然后这个分佣从技师和平台身上出 技师有承担比例 剩余的就是平台出的钱 + orders.setQdsCodeMoney(BigDecimal.ZERO);//渠道商应拿分佣 + orders.setQdsArtificerDeductMoney(BigDecimal.ZERO);//渠道商分佣技师承担金额 + orders.setYwyCodeMoney(BigDecimal.ZERO);//业务员应拿分佣 + orders.setYwyArtificerDeductMoney(BigDecimal.ZERO);//业务员分佣技师承担金额 + { + //只需要看orders表里qds_code是否有值,有值则为本单对应渠道商 + String qdsCode = orders.getQdsCode();//渠道商邀请码 如果即是渠道商邀请的新用户 又是老客户扫渠道码下单 则取后者 + BigDecimal qdsbl = new BigDecimal(0);//渠道商分佣比例 + BigDecimal qdsjsfdbl = new BigDecimal(0);//渠道商分佣技师承担比例 + if (StringUtils.isNotBlank(qdsCode)) { + //判断渠道码是否在有效期内、渠道商是否有授权、渠道商功能是否开启,渠道码有效才计算渠道商和业务员分佣 + //判断渠道码是否在有效期内 + QdsCode qdsCodeInfo = dqsCodeService.queryQdmInfo(qdsCode); + if (qdsCodeInfo != null) { + qdsbl = qdsCodeInfo.getRate(); + LocalDate currentDate = LocalDate.now(); + boolean isValid = true;//渠道商是否进行分佣 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + if (qdsCodeInfo.getStartDate() != null && !qdsCodeInfo.getStartDate().isEmpty()) { + LocalDate start = LocalDate.parse(qdsCodeInfo.getStartDate(), formatter); + if (currentDate.isBefore(start)) { + isValid = false; + } + } + if (isValid && qdsCodeInfo.getEndDate() != null && !qdsCodeInfo.getEndDate().isEmpty()) { + LocalDate end = LocalDate.parse(qdsCodeInfo.getEndDate(), formatter); + if (currentDate.isAfter(end)) { + isValid = false; + } + } + if (isValid) { + //判断渠道商是否有授权(需要查两个表的渠道商状态) + QdsApply qdsApplyInfo = dqsApplyService.findByUserId(qdsCodeInfo.getUserId()); + if (qdsApplyInfo != null && qdsApplyInfo.getStatus() == 1) { + UserEntity qdsInfo = userService.selectUserById(qdsCodeInfo.getUserId()); + if (qdsInfo != null && qdsInfo.getBlIsQds() == 1) { + //判断渠道商功能是否开启 + QdsConfig qdsConfig = qdsConfigService.getOne(null); + if (qdsConfig != null && qdsConfig.getIsOpen() == 1) { + orders.setQdsUserId(qdsInfo.getUserId()); + orders.setQdsUserName(qdsInfo.getUserName()); + qdsjsfdbl = qdsConfig.getArtificerRate(); + //开始计算渠道商分佣 + BigDecimal qdsMoney = subtract.multiply(qdsbl).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setQdsCodeMoney(qdsMoney); + BigDecimal qdsArtificerDeductMoney = qdsMoney.multiply(qdsjsfdbl).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setQdsArtificerDeductMoney(qdsArtificerDeductMoney); + + //计算业务员分佣 + { + //先用渠道商的业务员邀请码获取到业务员信息,判断tb_user表里是否业务员字段是否 = 1 然后看看后台业务员是否授权 再有一个看看业务员配置 功能是否已开启 + UserEntity ywyUser = userService.queryByInvitationCode(qdsInfo.getBlYwyCode()); + if (ywyUser != null && ywyUser.getBlIsYwy() == 1) { + YwyApply ywyApply = ywyApplyService.selectByUserId(ywyUser.getUserId()); + if (ywyApply != null && ywyApply.getStatus() == 1) { + YwyConfig ywyConfig = ywyConfigService.getOne(null); + if (ywyConfig != null && ywyConfig.getIsOpen() == 1) { + orders.setYwyUserId(ywyUser.getUserId()); + orders.setYwyUserName(ywyUser.getUserName()); + //正式开始计算业务员分佣 + //开始计算渠道商分佣 + BigDecimal ywyMoney = subtract.multiply(ywyApply.getRate()).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + if (ywyConfig.getType() == 2) { + //业务员分佣金额大于渠道商分佣金额 + if (ywyMoney.compareTo(qdsMoney) == 1) { + ywyMoney = ywyMoney.subtract(qdsMoney); + } else { + //业务员分佣金额小于等于渠道商分佣金额 + ywyMoney = new BigDecimal(0); + } + } + orders.setYwyCodeMoney(ywyMoney); + BigDecimal ywyArtificerDeductMoney = ywyMoney.multiply(ywyConfig.getArtificerRate()).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setYwyArtificerDeductMoney(ywyArtificerDeductMoney); + } + } + } + } + } + } + } + } + } + } + } + // artificerPrice = artificerPrice.subtract(oneArtificerMoney); artificerPrice = artificerPrice.subtract(orders.getJjrArtificerDeductMoney()); artificerPrice = artificerPrice.subtract(shopMoney); // artificerPrice = artificerPrice.subtract(oneUserMoney); artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 artificerPrice = artificerPrice.subtract(orders.getFxyTwoArtificerDeductMoney());//减掉二级分销商分佣技师承担 + artificerPrice = artificerPrice.subtract(orders.getQdsArtificerDeductMoney());//减去渠道商分佣 技师承担金额 + artificerPrice = artificerPrice.subtract(orders.getYwyArtificerDeductMoney());//减去业务员分佣 技师承担金额 - if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){ - }else{ + if (orders.getIsSupplement() != null && orders.getIsSupplement().equals(2)) { + } else { //用户收益加上通行费用 artificerPrice = artificerPrice.add(artificerTaxiPrice); } orders.setArtificerMoney(artificerPrice); orders.setSumArtificerMoney(artificerPrice); - //平台扣款 + //平台扣款 支付费用 减去每个人实际拿到的钱 剩下的就是平台得到的钱 BigDecimal pingMoney = orders.getPayMoney(); pingMoney = pingMoney.subtract(artificerPrice); // pingMoney = pingMoney.subtract(oneArtificerMoney); @@ -5996,10 +6147,12 @@ public class OrdersServiceImpl extends ServiceImpl implements // pingMoney = pingMoney.subtract(oneUserMoney); pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 pingMoney = pingMoney.subtract(orders.getFxyTwoMoney());//减掉二级分销商分佣 + pingMoney = pingMoney.subtract(orders.getQdsCodeMoney());//减掉渠道商分佣 + pingMoney = pingMoney.subtract(orders.getYwyCodeMoney());//减掉业务员分佣 orders.setPingMoney(pingMoney); - if(orders.getIsSupplement() != null){ - if(!orders.getIsSupplement().equals(2)){ + if (orders.getIsSupplement() != null) { + if (!orders.getIsSupplement().equals(2)) { Orders oldOrders = baseMapper.selectById(orders.getOrdersId()); BigDecimal projectBenefits = orders.getProjectBenefits(); projectBenefits = projectBenefits.add(oldOrders.getProjectBenefits()); @@ -6041,6 +6194,8 @@ public class OrdersServiceImpl extends ServiceImpl implements orders1.setAddJjrArtificerDeductMoney(orders1.getAddJjrArtificerDeductMoney().add(orders.getJjrArtificerDeductMoney())); orders1.setAddFxyOneArtificerDeductMoney(orders1.getAddFxyOneArtificerDeductMoney().add(orders.getFxyOneArtificerDeductMoney())); orders1.setAddFxyTwoArtificerDeductMoney(orders1.getAddFxyTwoArtificerDeductMoney().add(orders.getFxyTwoArtificerDeductMoney())); + orders1.setAddQdsArtificerDeductMoney(orders1.getAddQdsArtificerDeductMoney().add(orders.getQdsArtificerDeductMoney())); + orders1.setAddYwyArtificerDeductMoney(orders1.getAddYwyArtificerDeductMoney().add(orders.getYwyArtificerDeductMoney())); } else { orders1.setAddMoney(orders.getPayMoney()); orders1.setAddArtificerMoney(orders.getArtificerMoney()); @@ -6052,6 +6207,8 @@ public class OrdersServiceImpl extends ServiceImpl implements orders1.setAddJjrArtificerDeductMoney(orders.getJjrArtificerDeductMoney()); orders1.setAddFxyOneArtificerDeductMoney(orders.getFxyOneArtificerDeductMoney()); orders1.setAddFxyTwoArtificerDeductMoney(orders.getFxyTwoArtificerDeductMoney()); + orders1.setAddQdsArtificerDeductMoney(orders.getQdsArtificerDeductMoney()); + orders1.setAddYwyArtificerDeductMoney(orders.getYwyArtificerDeductMoney()); } orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney())); orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney())); @@ -6064,6 +6221,8 @@ public class OrdersServiceImpl extends ServiceImpl implements // orders1.setFxyTwoMoney(orders1.getFxyTwoMoney().add(orders.getFxyTwoMoney())); // orders1.setFxyOneArtificerDeductMoney(orders1.getFxyOneArtificerDeductMoney().add(orders.getFxyOneArtificerDeductMoney())); // orders1.setFxyTwoArtificerDeductMoney(orders1.getFxyTwoArtificerDeductMoney().add(orders.getFxyTwoArtificerDeductMoney())); +// orders1.setQdsCodeMoney(orders1.getQdsCodeMoney().add(orders.getQdsCodeMoney())); +// orders1.setYwyCodeMoney(orders1.getYwyCodeMoney().add(orders.getYwyCodeMoney())); // orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney())); if (orders1.getStatus().equals(6)) { @@ -6101,7 +6260,7 @@ public class OrdersServiceImpl extends ServiceImpl implements return Result.success(); } - private Result payPackageOrders(Orders orders, Integer type) throws Exception{ + private Result payPackageOrders(Orders orders, Integer type) throws Exception { // 无用,暂系统不支持储蓄金 // UserMoneyArtificer userMoneyArtificer = userMoneyArtificerService.getOne(new QueryWrapper().eq("user_id", orders.getUserId()).eq("artificer_id", orders.getArtificerId())); // if (userMoneyArtificer != null && userMoneyArtificer.getMoney().doubleValue() >= orders.getTaxiMoney().doubleValue()) { @@ -6119,10 +6278,10 @@ public class OrdersServiceImpl extends ServiceImpl implements Orders orders1 = baseMapper.selectById(orders.getParentId()); OrdersMassage ordersMassage = ordersMassageService.getOne(new QueryWrapper().eq("orders_id", orders1.getOrdersId())); MassageType massageType = null; - if(orders1.getUserPackageDetailId() !=null){ + if (orders1.getUserPackageDetailId() != null) { UserPackageDetail userPackageDetail = userPackageDetailService.getById(ordersMassage.getMassageId()); massageType = massageTypeService.getById(userPackageDetail.getMassageTypeId()); - }else{ + } else { massageType = massageTypeService.getById(ordersMassage.getMassageId()); } if (massageType.getAddNum() == null || massageType.getAddNum() == 0) { @@ -6137,17 +6296,17 @@ public class OrdersServiceImpl extends ServiceImpl implements 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(); - Map map = getAddTaskTime(orders.getDuration(),serveTime,value1,orders.getArtificerId()); - if(map.get("code").toString().equals("1")){ + Map map = getAddTaskTime(orders.getDuration(), serveTime, value1, orders.getArtificerId()); + if (map.get("code").toString().equals("1")) { return Result.error("预约时间正忙,请更换其他时间!"); } - insertArtificerTime((ArrayList)map.get("timeList"),orders1.getArtificerId(),orders1.getOrdersId()); + insertArtificerTime((ArrayList) map.get("timeList"), orders1.getArtificerId(), orders1.getOrdersId()); } - }else{ + } else { String value1 = commonInfoService.findOne(395).getValue(); if ("是".equals(value1)) { - if(orders.getIsSupplement() != null){ - if(orders.getIsSupplement() == 1){ + if (orders.getIsSupplement() != null) { + if (orders.getIsSupplement() == 1) { String serveTime = orders.getServeTime(); String date = serveTime.substring(0, 10); String time = serveTime.substring(11, 16); @@ -6160,28 +6319,28 @@ public class OrdersServiceImpl extends ServiceImpl implements if (artificerTime != null) { return Result.error("预约时间正忙,请更换其他时间!"); } - Map map = getTaskTime(orders.getDuration(),orders.getServeTime(),value1,orders.getTripWay(),orders.getArtificerId()); - if(map.get("code").toString().equals("1")){ + Map map = getTaskTime(orders.getDuration(), orders.getServeTime(), value1, orders.getTripWay(), orders.getArtificerId()); + if (map.get("code").toString().equals("1")) { return Result.error("预约时间正忙,请更换其他时间!"); } - insertArtificerTime((ArrayList)map.get("timeList"),orders.getArtificerId(),orders.getOrdersId()); - }else if(orders.getIsSupplement() == 2){ + insertArtificerTime((ArrayList) map.get("timeList"), orders.getArtificerId(), orders.getOrdersId()); + } else if (orders.getIsSupplement() == 2) { Orders oldOrders = baseMapper.selectById(orders.getOrdersId()); - int timeDifference = orders.getDuration()-oldOrders.getDuration(); - if(timeDifference>0){ + int timeDifference = orders.getDuration() - oldOrders.getDuration(); + if (timeDifference > 0) { ArtificerTime artificerTime = artificerTimeService.getOne(new QueryWrapper().eq("orders_id", orders.getOrdersId()).last(" order by artificer_time_id desc limit 1 ")); String serveTime = artificerTime.getArtificerDate() + " " + artificerTime.getArtificerTime(); - Map map = getAddTaskTime(timeDifference,serveTime,value1,oldOrders.getArtificerId()); - if(map.get("code").toString().equals("1")){ + Map map = getAddTaskTime(timeDifference, serveTime, value1, oldOrders.getArtificerId()); + if (map.get("code").toString().equals("1")) { return Result.error("预约时间正忙,请更换其他时间!"); } //技师占用时间表插入新订单号的多出来的服务时间 - insertArtificerTime((ArrayList)map.get("timeList"),orders.getArtificerId(),orders.getOrdersId()); - }else{ + insertArtificerTime((ArrayList) map.get("timeList"), orders.getArtificerId(), orders.getOrdersId()); + } else { //技师占用时间表插入新订单号的同时间 List artificerTimeList = artificerTimeService.list(new QueryWrapper().eq("orders_id", orders.getOrdersId()).last(" order by artificer_time_id")); - if(artificerTimeList!=null && artificerTimeList.size()>0){ - for(int i=0; i 0) { + for (int i = 0; i < artificerTimeList.size(); i++) { ArtificerTime artificerTime = artificerTimeList.get(i); artificerTime.setArtificerId(orders.getArtificerId()); artificerTime.setOrdersId(orders.getOrdersId()); @@ -6190,7 +6349,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } } } - }else{ + } else { //orders.getIsSupplement() == 3 || orders.getIsSupplement() == 4 String serveTime = orders.getServeTime(); String date = serveTime.substring(0, 10); @@ -6205,18 +6364,18 @@ public class OrdersServiceImpl extends ServiceImpl implements if (artificerTime != null) { return Result.error("预约时间正忙,请更换其他时间!"); } - Map map = getTaskTimeIncudeOrders(orders.getDuration(),orders.getServeTime(),value1,orders.getTripWay(),orders.getArtificerId(),orders.getOldOrdersId()); - if(map.get("code").toString().equals("1")){ + Map map = getTaskTimeIncudeOrders(orders.getDuration(), orders.getServeTime(), value1, orders.getTripWay(), orders.getArtificerId(), orders.getOldOrdersId()); + if (map.get("code").toString().equals("1")) { return Result.error("预约时间正忙,请更换其他时间!"); } //删除技师占用时间表数据 artificerTimeService.remove(new QueryWrapper().eq("orders_id", orders.getOldOrdersId())); //插入技师占用时间表新订单 - insertArtificerTime((ArrayList)map.get("timeList"),orders.getArtificerId(),orders.getOrdersId()); + insertArtificerTime((ArrayList) map.get("timeList"), orders.getArtificerId(), orders.getOrdersId()); //插入技师占用时间表原订单 - insertArtificerTime((ArrayList)map.get("timeList"),orders.getArtificerId(),orders.getOldOrdersId()); + insertArtificerTime((ArrayList) map.get("timeList"), orders.getArtificerId(), orders.getOldOrdersId()); } - }else{ + } else { String serveTime = orders.getServeTime(); String date = serveTime.substring(0, 10); String time = serveTime.substring(11, 16); @@ -6229,11 +6388,11 @@ public class OrdersServiceImpl extends ServiceImpl implements if (artificerTime != null) { return Result.error("预约时间正忙,请更换其他时间!"); } - Map map = getTaskTime(orders.getDuration(),orders.getServeTime(),value1,orders.getTripWay(),orders.getArtificerId()); - if(map.get("code").toString().equals("1")){ + Map map = getTaskTime(orders.getDuration(), orders.getServeTime(), value1, orders.getTripWay(), orders.getArtificerId()); + if (map.get("code").toString().equals("1")) { return Result.error("预约时间正忙,请更换其他时间!"); } - insertArtificerTime((ArrayList)map.get("timeList"),orders.getArtificerId(),orders.getOrdersId()); + insertArtificerTime((ArrayList) map.get("timeList"), orders.getArtificerId(), orders.getOrdersId()); } } } @@ -6249,7 +6408,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setManipulateType(2); userMoneyDetails.setMoney(orders.getTaxiMoney()); userMoneyDetails.setUserId(orders.getUserId()); - userMoneyDetails.setContent("项目名称:"+orders.getEntryName()+";订单号:" + orders.getOrdersNo() + ",已经下单成功!"); + userMoneyDetails.setContent("项目名称:" + orders.getEntryName() + ";订单号:" + orders.getOrdersNo() + ",已经下单成功!"); userMoneyDetails.setTitle("支付订单"); userMoneyDetails.setType(2); userMoneyDetails.setState(2); @@ -6258,18 +6417,18 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setBlFlag(1); userMoneyDetailsService.save(userMoneyDetails); - if(orders.getIsSupplement() != null){ - if(orders.getIsSupplement() == 2){ + if (orders.getIsSupplement() != null) { + if (orders.getIsSupplement() == 2) { orders.setStatus(6); - }else if(orders.getIsSupplement() == 3){ + } else if (orders.getIsSupplement() == 3) { orders.setStatus(2); - }else{ + } else { orders.setStatus(9);//用户已支付技师待接单 } - }else{ - if(orders.getParentId()!=null && orders.getParentId()!=0){ + } else { + if (orders.getParentId() != null && orders.getParentId() != 0) { orders.setStatus(6); - }else{ + } else { orders.setStatus(9);//用户已支付技师待接单 } } @@ -6283,7 +6442,7 @@ public class OrdersServiceImpl extends ServiceImpl implements Integer packagePayWay = userPackageOrder.getPayWay(); BigDecimal rate = new BigDecimal(100); - if(packagePayWay.equals(5)){ + if (packagePayWay.equals(5)) { rate = new BigDecimal(commonInfoService.findOne(449).getValue()); } orders.setWalletRate(rate); @@ -6292,7 +6451,7 @@ public class OrdersServiceImpl extends ServiceImpl implements Artificer artificer = artificerService.getById(orders.getArtificerId()); //钱包支付技师提成 BigDecimal taxiMoney = orders.getTaxiMoney(); - if(taxiMoney==null){ + if (taxiMoney == null) { taxiMoney = BigDecimal.ZERO; } BigDecimal artificerPrice = BigDecimal.ZERO; @@ -6323,9 +6482,9 @@ public class OrdersServiceImpl extends ServiceImpl implements BigDecimal subtract = BigDecimal.ZERO; //用户支付减去通行费用 - if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){ + if (orders.getIsSupplement() != null && orders.getIsSupplement().equals(2)) { subtract = orders.getPayMoney(); - }else{ + } else { subtract = orders.getPayMoney().subtract(taxiMoney); } //计算用户收益 !计算前先减去通行费用再计算技师抽成 @@ -6347,33 +6506,33 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setJjrMoney(BigDecimal.ZERO); orders.setJjrArtificerDeductMoney(BigDecimal.ZERO); JjrConfig jc = jjrConfigService.getOne(new QueryWrapper()); - if(jc.getIsOpen().equals(1)){ + if (jc.getIsOpen().equals(1)) { UserEntity jjrUser = userService.queryByInvitationCode(artificerUser.getBlJjrCode()); - if(jjrUser!=null){ + if (jjrUser != null) { JjrApply jjrApply = jjrApplyService.findByUserId(jjrUser.getUserId()); - if(jjrApply!=null && jjrApply.getStatus().equals(1)){ - if(jjrUser.getBlIsJjr() !=null && jjrUser.getBlIsJjr() ==1){ + if (jjrApply != null && jjrApply.getStatus().equals(1)) { + if (jjrUser.getBlIsJjr() != null && jjrUser.getBlIsJjr() == 1) { orders.setJjrUserId(jjrUser.getUserId()); orders.setJjrUserName(jjrUser.getUserName()); BigDecimal artificerRate = jc.getArtificerRate(); BigDecimal agentRate = jc.getAgentRate(); BigDecimal jjrRate = BigDecimal.ZERO; - if(jc.getType().equals(1)){ + if (jc.getType().equals(1)) { jjrRate = jc.getRate(); - }else{ + } else { int invitationCn = jjrApplyService.getInvitationCn(artificerUser.getBlJjrCode()); List list = jjrConfigServiceLevel.findList(null); - for(int i=0;ijjrcl.getMinNumber() && invitationCn<=jjrcl.getMaxNumber()){ + if (invitationCn > jjrcl.getMinNumber() && invitationCn <= jjrcl.getMaxNumber()) { jjrRate = jjrcl.getRate(); break; } } } - BigDecimal jjrMoney = subtract.multiply(jjrRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal jjrMoney = subtract.multiply(jjrRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); orders.setJjrMoney(jjrMoney); - BigDecimal jjrOneArtificerDeductMoney = jjrMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal jjrOneArtificerDeductMoney = jjrMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); orders.setJjrArtificerDeductMoney(jjrOneArtificerDeductMoney); } } @@ -6412,37 +6571,38 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setFxyTwoMoney(BigDecimal.ZERO); orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); FxyConfig fc = fxyConfigService.getOne(new QueryWrapper()); - if(fc!=null && fc.getIsOpen().equals(1)){ - UserEntity user = userService.selectUserById(orders.getUserId()); + UserEntity user = null; + if (fc != null && fc.getIsOpen().equals(1)) { + user = userService.selectUserById(orders.getUserId()); UserEntity fxyOneUser = userService.queryByInvitationCode(user.getBlFxyCode()); - if(fxyOneUser!=null){ + if (fxyOneUser != null) { FxyApply faOne = fxyApplyService.findByUserId(fxyOneUser.getUserId()); - if(faOne!=null && faOne.getStatus().equals(1)){ - if(fxyOneUser.getBlIsFxy() !=null && fxyOneUser.getBlIsFxy() ==1){ + if (faOne != null && faOne.getStatus().equals(1)) { + if (fxyOneUser.getBlIsFxy() != null && fxyOneUser.getBlIsFxy() == 1) { boolean isCanFxyFy = false; - if(fc.getFxmLimit().equals(2)){ + if (fc.getFxmLimit().equals(2)) { int fxmLimitDays = fc.getFxmLimitDays(); String approveTime = faOne.getApproveTime(); - Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Date approveDate = DateUtils.stringToDate(approveTime, DateUtils.DATE_TIME_PATTERN); Calendar calendar = Calendar.getInstance(); calendar.setTime(approveDate); calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); approveDate = calendar.getTime(); Date current = new Date(); - if(approveDate.getTime() > current.getTime()){ + if (approveDate.getTime() > current.getTime()) { isCanFxyFy = true; } - }else{ + } else { isCanFxyFy = true; } - if(isCanFxyFy){ + if (isCanFxyFy) { orders.setFxyOneUserId(fxyOneUser.getUserId()); orders.setFxyOneUserName(fxyOneUser.getUserName()); BigDecimal fxyMoney = BigDecimal.ZERO; - if(fc.getType().equals(1)){ + if (fc.getType().equals(1)) { fxyMoney = artificerPrice; } - if(fc.getType().equals(2)){ + if (fc.getType().equals(2)) { fxyMoney = subtract; } BigDecimal artificerRate = fc.getArtificerRate(); @@ -6450,44 +6610,44 @@ public class OrdersServiceImpl extends ServiceImpl implements BigDecimal oneRate = fc.getOneRate(); BigDecimal oneRecommendRate = fc.getOneRecommendRate(); BigDecimal fxyRate = BigDecimal.ZERO; - if(oneRate == null || oneRate.compareTo(BigDecimal.ZERO) == 0){ + if (oneRate == null || oneRate.compareTo(BigDecimal.ZERO) == 0) { fxyRate = oneRecommendRate; - if(oneRecommendRate.compareTo(mostRate)> 0){ + if (oneRecommendRate.compareTo(mostRate) > 0) { fxyRate = mostRate; } - }else{ + } else { fxyRate = oneRate; - if(oneRate.compareTo(mostRate)> 0){ + if (oneRate.compareTo(mostRate) > 0) { fxyRate = mostRate; } } - BigDecimal fxyOneMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal fxyOneMoney = fxyMoney.multiply(fxyRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); orders.setFxyOneMoney(fxyOneMoney); - BigDecimal fxyOneArtificerDeductMoney = fxyOneMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal fxyOneArtificerDeductMoney = fxyOneMoney.multiply(artificerRate).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); orders.setFxyOneArtificerDeductMoney(fxyOneArtificerDeductMoney); - if(fxyOneUser.getBlFxyLevel().equals(1)){ + if (fxyOneUser.getBlFxyLevel().equals(1)) { UserEntity fxyTwoUser = userService.queryByInvitationCode(fxyOneUser.getBlFxyCode()); - if(fxyTwoUser!=null){ + if (fxyTwoUser != null) { FxyApply faTwo = fxyApplyService.findByUserId(fxyTwoUser.getUserId()); - if(faTwo!=null && faTwo.getStatus().equals(1)){ - if(fxyTwoUser!=null && fxyTwoUser.getBlIsFxy() !=null && fxyTwoUser.getBlIsFxy() ==1){ + if (faTwo != null && faTwo.getStatus().equals(1)) { + if (fxyTwoUser != null && fxyTwoUser.getBlIsFxy() != null && fxyTwoUser.getBlIsFxy() == 1) { isCanFxyFy = false; - if(fc.getFxmLimit().equals(2)){ + if (fc.getFxmLimit().equals(2)) { int fxmLimitDays = fc.getFxmLimitDays(); String approveTime = faTwo.getApproveTime(); - Date approveDate = DateUtils.stringToDate(approveTime,DateUtils.DATE_TIME_PATTERN); + Date approveDate = DateUtils.stringToDate(approveTime, DateUtils.DATE_TIME_PATTERN); Calendar calendar = Calendar.getInstance(); calendar.setTime(approveDate); calendar.add(Calendar.DAY_OF_MONTH, fxmLimitDays); approveDate = calendar.getTime(); Date current = new Date(); - if(approveDate.getTime() > current.getTime()){ + if (approveDate.getTime() > current.getTime()) { isCanFxyFy = true; } - }else{ + } else { isCanFxyFy = true; } - if(isCanFxyFy) { + if (isCanFxyFy) { orders.setFxyTwoUserId(fxyTwoUser.getUserId()); orders.setFxyTwoUserName(fxyTwoUser.getUserName()); BigDecimal twoRate = fc.getTwoRate(); @@ -6519,15 +6679,108 @@ public class OrdersServiceImpl extends ServiceImpl implements } } + //渠道商与业务员 + //逻辑:先计算渠道商分佣 = 支付费用 * 渠道分成 + // 这个钱从技师和平台身上出 技师有承担比例 剩余的就是平台出的钱 + // 再计算业务员分佣 = 支付费用 * 业务员返佣比例 如果业务员配置了和渠道商是抽成关系 需要再 减去 渠道商分佣 + // 然后这个分佣从技师和平台身上出 技师有承担比例 剩余的就是平台出的钱 + orders.setQdsCodeMoney(BigDecimal.ZERO);//渠道商应拿分佣 + orders.setQdsArtificerDeductMoney(BigDecimal.ZERO);//渠道商分佣技师承担金额 + orders.setYwyCodeMoney(BigDecimal.ZERO);//业务员应拿分佣 + orders.setYwyArtificerDeductMoney(BigDecimal.ZERO);//业务员分佣技师承担金额 + { + //只需要看orders表里qds_code是否有值,有值则为本单对应渠道商 + String qdsCode = orders.getQdsCode();//渠道商邀请码 如果即是渠道商邀请的新用户 又是老客户扫渠道码下单 则取后者 + BigDecimal qdsbl = new BigDecimal(0);//渠道商分佣比例 + BigDecimal qdsjsfdbl = new BigDecimal(0);//渠道商分佣技师承担比例 + if (StringUtils.isNotBlank(qdsCode)) { + //判断渠道码是否在有效期内、渠道商是否有授权、渠道商功能是否开启,渠道码有效才计算渠道商和业务员分佣 + //判断渠道码是否在有效期内 + QdsCode qdsCodeInfo = dqsCodeService.queryQdmInfo(qdsCode); + if (qdsCodeInfo != null) { + qdsbl = qdsCodeInfo.getRate(); + LocalDate currentDate = LocalDate.now(); + boolean isValid = true;//渠道商是否进行分佣 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + if (qdsCodeInfo.getStartDate() != null && !qdsCodeInfo.getStartDate().isEmpty()) { + LocalDate start = LocalDate.parse(qdsCodeInfo.getStartDate(), formatter); + if (currentDate.isBefore(start)) { + isValid = false; + } + } + if (isValid && qdsCodeInfo.getEndDate() != null && !qdsCodeInfo.getEndDate().isEmpty()) { + LocalDate end = LocalDate.parse(qdsCodeInfo.getEndDate(), formatter); + if (currentDate.isAfter(end)) { + isValid = false; + } + } + if (isValid) { + //判断渠道商是否有授权(需要查两个表的渠道商状态) + QdsApply qdsApplyInfo = dqsApplyService.findByUserId(qdsCodeInfo.getUserId()); + if (qdsApplyInfo != null && qdsApplyInfo.getStatus() == 1) { + UserEntity qdsInfo = userService.selectUserById(qdsCodeInfo.getUserId()); + if (qdsInfo != null && qdsInfo.getBlIsQds() == 1) { + //判断渠道商功能是否开启 + QdsConfig qdsConfig = qdsConfigService.getOne(null); + if (qdsConfig != null && qdsConfig.getIsOpen() == 1) { + orders.setQdsUserId(qdsInfo.getUserId()); + orders.setQdsUserName(qdsInfo.getUserName()); + qdsjsfdbl = qdsConfig.getArtificerRate(); + //开始计算渠道商分佣 + BigDecimal qdsMoney = subtract.multiply(qdsbl).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setQdsCodeMoney(qdsMoney); + BigDecimal qdsArtificerDeductMoney = qdsMoney.multiply(qdsjsfdbl).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setQdsArtificerDeductMoney(qdsArtificerDeductMoney); + + //计算业务员分佣 + { + //先用渠道商的业务员邀请码获取到业务员信息,判断tb_user表里是否业务员字段是否 = 1 然后看看后台业务员是否授权 再有一个看看业务员配置 功能是否已开启 + UserEntity ywyUser = userService.queryByInvitationCode(qdsInfo.getBlYwyCode()); + if (ywyUser != null && ywyUser.getBlIsYwy() == 1) { + YwyApply ywyApply = ywyApplyService.selectByUserId(ywyUser.getUserId()); + if (ywyApply != null && ywyApply.getStatus() == 1) { + YwyConfig ywyConfig = ywyConfigService.getOne(null); + if (ywyConfig != null && ywyConfig.getIsOpen() == 1) { + orders.setYwyUserId(ywyUser.getUserId()); + orders.setYwyUserName(ywyUser.getUserName()); + //正式开始计算业务员分佣 + //开始计算渠道商分佣 + BigDecimal ywyMoney = subtract.multiply(ywyApply.getRate()).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + if (ywyConfig.getType() == 2) { + //业务员分佣金额大于渠道商分佣金额 + if (ywyMoney.compareTo(qdsMoney) == 1) { + ywyMoney = ywyMoney.subtract(qdsMoney); + } else { + //业务员分佣金额小于等于渠道商分佣金额 + ywyMoney = new BigDecimal(0); + } + } + orders.setYwyCodeMoney(ywyMoney); + BigDecimal ywyArtificerDeductMoney = ywyMoney.multiply(ywyConfig.getArtificerRate()).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setYwyArtificerDeductMoney(ywyArtificerDeductMoney); + } + } + } + } + } + } + } + } + } + } + } + // artificerPrice = artificerPrice.subtract(oneArtificerMoney); artificerPrice = artificerPrice.subtract(orders.getJjrArtificerDeductMoney()); artificerPrice = artificerPrice.subtract(shopMoney); // artificerPrice = artificerPrice.subtract(oneUserMoney); artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 artificerPrice = artificerPrice.subtract(orders.getFxyTwoArtificerDeductMoney());//减掉二级分销商分佣技师承担 + artificerPrice = artificerPrice.subtract(orders.getQdsArtificerDeductMoney());//减去渠道商分佣 技师承担金额 + artificerPrice = artificerPrice.subtract(orders.getYwyArtificerDeductMoney());//减去业务员分佣 技师承担金额 - if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){ - }else{ + if (orders.getIsSupplement() != null && orders.getIsSupplement().equals(2)) { + } else { //用户收益加上通行费用 artificerPrice = artificerPrice.add(artificerTaxiPrice); } @@ -6543,10 +6796,12 @@ public class OrdersServiceImpl extends ServiceImpl implements // pingMoney = pingMoney.subtract(oneUserMoney); pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 pingMoney = pingMoney.subtract(orders.getFxyTwoMoney());//减掉二级分销商分佣 + pingMoney = pingMoney.subtract(orders.getQdsCodeMoney());//减掉渠道商分佣 + pingMoney = pingMoney.subtract(orders.getYwyCodeMoney());//减掉业务员分佣 orders.setPingMoney(pingMoney); - if(orders.getIsSupplement() != null){ - if(!orders.getIsSupplement().equals(2)){ + if (orders.getIsSupplement() != null) { + if (!orders.getIsSupplement().equals(2)) { Orders oldOrders = baseMapper.selectById(orders.getOrdersId()); BigDecimal projectBenefits = orders.getProjectBenefits(); projectBenefits = projectBenefits.add(oldOrders.getProjectBenefits()); @@ -6588,6 +6843,8 @@ public class OrdersServiceImpl extends ServiceImpl implements orders1.setAddJjrArtificerDeductMoney(orders1.getAddJjrArtificerDeductMoney().add(orders.getJjrArtificerDeductMoney())); orders1.setAddFxyOneArtificerDeductMoney(orders1.getAddFxyOneArtificerDeductMoney().add(orders.getFxyOneArtificerDeductMoney())); orders1.setAddFxyTwoArtificerDeductMoney(orders1.getAddFxyTwoArtificerDeductMoney().add(orders.getFxyTwoArtificerDeductMoney())); + orders1.setAddQdsArtificerDeductMoney(orders1.getAddQdsArtificerDeductMoney().add(orders.getQdsArtificerDeductMoney())); + orders1.setAddYwyArtificerDeductMoney(orders1.getAddYwyArtificerDeductMoney().add(orders.getYwyArtificerDeductMoney())); } else { orders1.setAddMoney(orders.getPayMoney()); orders1.setAddArtificerMoney(orders.getArtificerMoney()); @@ -6599,6 +6856,8 @@ public class OrdersServiceImpl extends ServiceImpl implements orders1.setAddJjrArtificerDeductMoney(orders.getJjrArtificerDeductMoney()); orders1.setAddFxyOneArtificerDeductMoney(orders.getFxyOneArtificerDeductMoney()); orders1.setAddFxyTwoArtificerDeductMoney(orders.getFxyTwoArtificerDeductMoney()); + orders1.setAddQdsArtificerDeductMoney(orders.getQdsArtificerDeductMoney()); + orders1.setAddYwyArtificerDeductMoney(orders.getYwyArtificerDeductMoney()); } orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney())); orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney())); @@ -6611,6 +6870,8 @@ public class OrdersServiceImpl extends ServiceImpl implements // orders1.setFxyTwoMoney(orders1.getFxyTwoMoney().add(orders.getFxyTwoMoney())); // orders1.setFxyOneArtificerDeductMoney(orders1.getFxyOneArtificerDeductMoney().add(orders.getFxyOneArtificerDeductMoney())); // orders1.setFxyTwoArtificerDeductMoney(orders1.getFxyTwoArtificerDeductMoney().add(orders.getFxyTwoArtificerDeductMoney())); +// orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney())); +// orders1.setYwyCodeMoney(orders1.getYwyCodeMoney().add(orders.getYwyCodeMoney())); // orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney())); if (orders1.getStatus().equals(6)) { @@ -6817,20 +7078,21 @@ public class OrdersServiceImpl extends ServiceImpl implements /** * 完成订单 + * * @param ordersId - * @param type 1PC端 2移动端 - * @param jsFwcn 服务承诺 - * @param jsPjtag 顾客评价 - * @param jsTsbz 特殊情况备注 + * @param type 1PC端 2移动端 + * @param jsFwcn 服务承诺 + * @param jsPjtag 顾客评价 + * @param jsTsbz 特殊情况备注 * @param earlyFinishReason 提前完成原因 * @return */ @Transactional @Override - public Result accomplishOrders(Long ordersId, Integer type, String accomplishLongitude, String accomplishLatitude,String jsFwcn,String jsPjtag,String jsTsbz,String earlyFinishReason) { + public Result accomplishOrders(Long ordersId, Integer type, String accomplishLongitude, String accomplishLatitude, String jsFwcn, String jsPjtag, String jsTsbz, String earlyFinishReason, Integer adminOperation) { try { Orders orders = baseMapper.selectById(ordersId); - if (StringUtil.isEmpty(accomplishLatitude)) { + if (StringUtil.isEmpty(accomplishLatitude) && adminOperation != 1) { return Result.error("技师定位异常,请检查定位!"); } if (type == 1) { @@ -6845,28 +7107,54 @@ public class OrdersServiceImpl extends ServiceImpl implements if (!orders.getStatus().equals(6)) { return Result.error("请刷新页面后重试!"); } - //客户端提前完成 - if(earlyFinishReason!=null && !earlyFinishReason.equals("")){ - orders.setEarlyFinishReason(earlyFinishReason); - baseMapper.updateById(orders); - return Result.success("订单申请提前完成成功!"); + //处理提前完成 + if (adminOperation == 1) { + //后台操作,如果已经操作过提前完成则此处无处理逻辑 否则设置setEarlyFinishReason字段为“后台辅助完成订单” + if (StringUtils.isBlank(earlyFinishReason)) { + orders.setEarlyFinishReason("后台辅助完成订单"); + baseMapper.updateById(orders); + } + } else { + //客户端提前完成 + if (earlyFinishReason != null && !earlyFinishReason.equals("")) { + orders.setEarlyFinishReason(earlyFinishReason); + baseMapper.updateById(orders); + return Result.success("订单申请提前完成成功!"); + } } //客户端提前完成后,技师点击完成,获取提前完成原因,如果有原因,直接取完成,如果没原因判断当前时间是否大于预计结束时间 String reasonStr = orders.getEarlyFinishReason(); - if(reasonStr!=null && !reasonStr.equals("")) { - }else{ + if (reasonStr != null && !reasonStr.equals("")) { + } else { String endTimeStr = orders.getEndTime(); - Date endTime = DateUtils.stringToDate(endTimeStr,"yyyy-MM-dd HH:mm:ss"); + Date endTime = DateUtils.stringToDate(endTimeStr, "yyyy-MM-dd HH:mm:ss"); Date currentTime = new Date(); - if(currentTime.getTime() implements //修改项目销量 for (OrdersMassage ordersMassage : ordersMassageList) { - if(orders.getUserPackageDetailId() !=null){ + if (orders.getUserPackageDetailId() != null) { UserPackageDetail userPackageDetail = userPackageDetailService.getById(ordersMassage.getMassageId()); MassageType massageType = massageTypeService.getById(userPackageDetail.getMassageTypeId()); int num = massageType.getSales() == null ? 0 : massageType.getSales(); massageType.setSales(num + ordersMassage.getNum()); massageTypeService.updateById(massageType); UserPackageDetail userPackageDetailUsed = userPackageDetailService.findMassagePackageDetailsUsed(userPackageDetail.getMainId()); - if(userPackageDetailUsed.getServiceCount().equals(userPackageDetailUsed.getUsedQuantity())){ + if (userPackageDetailUsed.getServiceCount().equals(userPackageDetailUsed.getUsedQuantity())) { UserPackage userPackage = new UserPackage(); userPackage.setStatus(9); userPackage.setId(userPackageDetail.getMainId()); userPackageService.updateById(userPackage); } - }else{ + } else { MassageType massageType = massageTypeService.getById(ordersMassage.getMassageId()); int num = massageType.getSales() == null ? 0 : massageType.getSales(); massageType.setSales(num + ordersMassage.getNum()); @@ -6942,7 +7230,7 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setAccomplishLongitude(accomplishLongitude); if (orders.getFxyOneUserId() != null) { - if(orders.getFxyOneMoney().compareTo(BigDecimal.ZERO)>0){ + if (orders.getFxyOneMoney().compareTo(BigDecimal.ZERO) > 0) { userMoneyService.updateMoney(1, orders.getFxyOneUserId(), orders.getFxyOneMoney().doubleValue()); userMoneyDetails = new UserMoneyDetails(); //查询用户当前余额 @@ -6954,7 +7242,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setMoney(orders.getFxyOneMoney()); userMoneyDetails.setUserId(orders.getFxyOneUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单完成!"); - userMoneyDetails.setContent("一级分销员收益:"+orders.getFxyOneMoney()); + userMoneyDetails.setContent("一级分销员收益:" + orders.getFxyOneMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); @@ -6965,7 +7253,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } if (orders.getFxyTwoUserId() != null) { - if(orders.getFxyTwoMoney().compareTo(BigDecimal.ZERO)>0){ + if (orders.getFxyTwoMoney().compareTo(BigDecimal.ZERO) > 0) { userMoneyService.updateMoney(1, orders.getFxyTwoUserId(), orders.getFxyTwoMoney().doubleValue()); userMoneyDetails = new UserMoneyDetails(); //查询用户当前余额 @@ -6977,7 +7265,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setMoney(orders.getFxyTwoMoney()); userMoneyDetails.setUserId(orders.getFxyTwoUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单完成!"); - userMoneyDetails.setContent("二级分销员收益:"+orders.getFxyTwoMoney()); + userMoneyDetails.setContent("二级分销员收益:" + orders.getFxyTwoMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); @@ -6988,7 +7276,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } if (orders.getJjrUserId() != null) { - if(orders.getJjrMoney().compareTo(BigDecimal.ZERO)>0) { + if (orders.getJjrMoney().compareTo(BigDecimal.ZERO) > 0) { userMoneyService.updateMoney(1, orders.getJjrUserId(), orders.getJjrMoney().doubleValue()); userMoneyDetails = new UserMoneyDetails(); //查询用户当前余额 @@ -7000,7 +7288,55 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setMoney(orders.getJjrMoney()); userMoneyDetails.setUserId(orders.getJjrUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单完成!"); - userMoneyDetails.setContent("经纪人收益:"+orders.getJjrMoney()); + userMoneyDetails.setContent("经纪人收益:" + orders.getJjrMoney()); + userMoneyDetails.setType(1); + userMoneyDetails.setState(2); + userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); + userMoneyDetails.setBlRole(4); + userMoneyDetails.setBlFlag(1); + userMoneyDetailsService.save(userMoneyDetails); + } + } + + //渠道商收益 + if (orders.getQdsUserId() != null) { + if (orders.getQdsCodeMoney().compareTo(BigDecimal.ZERO) > 0) { + userMoneyService.updateMoney(1, orders.getQdsUserId(), orders.getQdsCodeMoney().doubleValue()); + userMoneyDetails = new UserMoneyDetails(); + //查询用户当前余额 + UserMoney userNowMoney4 = userMoneyService.selectUserMoneyByUserId(orders.getQdsUserId()); + //插入余额 + userMoneyDetails.setBalance(userNowMoney4.getMoney()); + //插入操作类型为已操作用户余额 + userMoneyDetails.setManipulateType(2); + userMoneyDetails.setMoney(orders.getQdsCodeMoney()); + userMoneyDetails.setUserId(orders.getQdsUserId()); + userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单完成!"); + userMoneyDetails.setContent("渠道商收益:" + orders.getQdsCodeMoney()); + userMoneyDetails.setType(1); + userMoneyDetails.setState(2); + userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); + userMoneyDetails.setBlRole(4); + userMoneyDetails.setBlFlag(1); + userMoneyDetailsService.save(userMoneyDetails); + } + } + + //业务员收益 + if (orders.getYwyUserId() != null) { + if (orders.getYwyCodeMoney().compareTo(BigDecimal.ZERO) > 0) { + userMoneyService.updateMoney(1, orders.getYwyUserId(), orders.getYwyCodeMoney().doubleValue()); + userMoneyDetails = new UserMoneyDetails(); + //查询用户当前余额 + UserMoney userNowMoney4 = userMoneyService.selectUserMoneyByUserId(orders.getYwyUserId()); + //插入余额 + userMoneyDetails.setBalance(userNowMoney4.getMoney()); + //插入操作类型为已操作用户余额 + userMoneyDetails.setManipulateType(2); + userMoneyDetails.setMoney(orders.getYwyCodeMoney()); + userMoneyDetails.setUserId(orders.getYwyUserId()); + userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单完成!"); + userMoneyDetails.setContent("业务员收益:" + orders.getYwyCodeMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); @@ -7011,7 +7347,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } if (orders.getShopUserId() != null) { - if(orders.getShopMoney().compareTo(BigDecimal.ZERO)>0) { + if (orders.getShopMoney().compareTo(BigDecimal.ZERO) > 0) { userMoneyService.updateMoney(1, orders.getShopUserId(), orders.getShopMoney().doubleValue()); userMoneyDetails = new UserMoneyDetails(); //查询用户当前余额 @@ -7023,7 +7359,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setMoney(orders.getShopMoney()); userMoneyDetails.setUserId(orders.getShopUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单完成!"); - userMoneyDetails.setContent("商家收益:"+orders.getShopMoney()); + userMoneyDetails.setContent("商家收益:" + orders.getShopMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); @@ -7045,13 +7381,13 @@ public class OrdersServiceImpl extends ServiceImpl implements int afterTimeInt = Integer.parseInt(afterTime); Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MINUTE, afterTimeInt); - String format = DateUtils.format(calendar.getTime(),"yyyy-MM-dd HH:mm"); + String format = DateUtils.format(calendar.getTime(), "yyyy-MM-dd HH:mm"); String date1 = format.substring(0, 10); String time1 = format.substring(11, 16); QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("orders_id",orders.getOrdersId()); - queryWrapper.ge("artificer_date",date1); - queryWrapper.gt("artificer_time",time1); + queryWrapper.eq("orders_id", orders.getOrdersId()); + queryWrapper.ge("artificer_date", date1); + queryWrapper.gt("artificer_time", time1); artificerTimeService.remove(queryWrapper); //修改订单下所有加钟的状态为待评价 @@ -7060,12 +7396,12 @@ public class OrdersServiceImpl extends ServiceImpl implements updateWrapper.notIn("status", Arrays.asList(1, 4)); Orders orders2 = new Orders(); orders2.setStatus(3); - baseMapper.update(orders2,updateWrapper); + baseMapper.update(orders2, updateWrapper); //修改加钟销量 - if(orders.getAddMassageTypeId() != null){ + if (orders.getAddMassageTypeId() != null) { MassageType addMassageType = massageTypeService.getById(orders.getAddMassageTypeId()); - Integer addSales = addMassageType.getSales(); - if(addSales == null){ + Integer addSales = addMassageType.getSales(); + if (addSales == null) { addSales = 0; } addSales = addSales + 1; @@ -7077,10 +7413,10 @@ public class OrdersServiceImpl extends ServiceImpl implements msgList.add(orders.getOrdersNo()); MassageType massageType = null; - if(orders.getUserPackageDetailId() !=null){ + if (orders.getUserPackageDetailId() != null) { UserPackageDetail userPackageDetail = userPackageDetailService.getById(ordersMassageList.get(0).getMassageId()); massageType = massageTypeService.getById(userPackageDetail.getMassageTypeId()); - }else{ + } else { massageType = massageTypeService.getById(ordersMassageList.get(0).getMassageId()); } @@ -7124,9 +7460,9 @@ public class OrdersServiceImpl extends ServiceImpl implements userService.sendWxMessage(apkey, data, user.getWxOpenId()); } //执行对应项目减去技师物料包 - materialArtificerService.accomplishOrders(orders.getMassageTypeId(),orders.getArtificerId(),orders.getOrdersNo()); + materialArtificerService.accomplishOrders(orders.getMassageTypeId(), orders.getArtificerId(), orders.getOrdersNo()); - if(orders.getOldOrdersId()!=null && orders.getOldOrdersId() !=0){ + if (orders.getOldOrdersId() != null && orders.getOldOrdersId() != 0) { Orders oldOrders = baseMapper.selectById(orders.getOldOrdersId()); oldOrders.setArtificerId(orders.getArtificerId()); oldOrders.setUserId(orders.getUserId()); @@ -7152,7 +7488,7 @@ public class OrdersServiceImpl extends ServiceImpl implements oldOrders.setStartAddress(orders.getStartAddress()); oldOrders.setAccomplishAddress(orders.getAccomplishAddress()); oldOrders.setArtificerRate(orders.getArtificerRate()); - accomplishOldOrders(oldOrders,type,jsFwcn,jsPjtag,jsTsbz); + accomplishOldOrders(oldOrders, type, jsFwcn, jsPjtag, jsTsbz); } //计算业绩、积分 statisticsAchievementIntegral(ordersId); @@ -7164,14 +7500,14 @@ public class OrdersServiceImpl extends ServiceImpl implements } } - private void accomplishOldOrders(Orders orders, Integer type, String jsFwcn,String jsPjtag,String jsTsbz) throws Exception{ + private void accomplishOldOrders(Orders orders, Integer type, String jsFwcn, String jsPjtag, String jsTsbz) throws Exception { List ordersMassageList = ordersMassageService.list(new QueryWrapper().eq("orders_id", orders.getOrdersId())); //修改套餐状态 for (OrdersMassage ordersMassage : ordersMassageList) { - if(orders.getUserPackageDetailId() !=null){ + if (orders.getUserPackageDetailId() != null) { UserPackageDetail userPackageDetail = userPackageDetailService.getById(ordersMassage.getMassageId()); UserPackageDetail userPackageDetailUsed = userPackageDetailService.findMassagePackageDetailsUsed(userPackageDetail.getMainId()); - if(userPackageDetailUsed.getServiceCount().equals(userPackageDetailUsed.getUsedQuantity())){ + if (userPackageDetailUsed.getServiceCount().equals(userPackageDetailUsed.getUsedQuantity())) { UserPackage userPackage = new UserPackage(); userPackage.setStatus(9); userPackage.setId(userPackageDetail.getMainId()); @@ -7218,7 +7554,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetailsService.save(userMoneyDetails); if (orders.getFxyOneUserId() != null) { - if(orders.getFxyOneMoney().compareTo(BigDecimal.ZERO)>0){ + if (orders.getFxyOneMoney().compareTo(BigDecimal.ZERO) > 0) { userMoneyService.updateMoney(1, orders.getFxyOneUserId(), orders.getFxyOneMoney().doubleValue()); userMoneyDetails = new UserMoneyDetails(); //查询用户当前余额 @@ -7230,7 +7566,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setMoney(orders.getFxyOneMoney()); userMoneyDetails.setUserId(orders.getFxyOneUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单完成!"); - userMoneyDetails.setContent("一级分销员收益:"+orders.getFxyOneMoney()); + userMoneyDetails.setContent("一级分销员收益:" + orders.getFxyOneMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); @@ -7241,7 +7577,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } if (orders.getFxyTwoUserId() != null) { - if(orders.getFxyTwoMoney().compareTo(BigDecimal.ZERO)>0){ + if (orders.getFxyTwoMoney().compareTo(BigDecimal.ZERO) > 0) { userMoneyService.updateMoney(1, orders.getFxyTwoUserId(), orders.getFxyTwoMoney().doubleValue()); userMoneyDetails = new UserMoneyDetails(); //查询用户当前余额 @@ -7253,7 +7589,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setMoney(orders.getFxyTwoMoney()); userMoneyDetails.setUserId(orders.getFxyTwoUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单完成!"); - userMoneyDetails.setContent("二级分销员收益:"+orders.getFxyTwoMoney()); + userMoneyDetails.setContent("二级分销员收益:" + orders.getFxyTwoMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); @@ -7264,7 +7600,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } if (orders.getJjrUserId() != null) { - if(orders.getJjrMoney().compareTo(BigDecimal.ZERO)>0) { + if (orders.getJjrMoney().compareTo(BigDecimal.ZERO) > 0) { userMoneyService.updateMoney(1, orders.getJjrUserId(), orders.getJjrMoney().doubleValue()); userMoneyDetails = new UserMoneyDetails(); //查询用户当前余额 @@ -7276,7 +7612,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setMoney(orders.getJjrMoney()); userMoneyDetails.setUserId(orders.getJjrUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单完成!"); - userMoneyDetails.setContent("经纪人收益:"+orders.getJjrMoney()); + userMoneyDetails.setContent("经纪人收益:" + orders.getJjrMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); @@ -7286,7 +7622,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } } if (orders.getShopUserId() != null) { - if(orders.getShopMoney().compareTo(BigDecimal.ZERO)>0) { + if (orders.getShopMoney().compareTo(BigDecimal.ZERO) > 0) { userMoneyService.updateMoney(1, orders.getShopUserId(), orders.getShopMoney().doubleValue()); userMoneyDetails = new UserMoneyDetails(); //查询用户当前余额 @@ -7298,7 +7634,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setMoney(orders.getShopMoney()); userMoneyDetails.setUserId(orders.getShopUserId()); userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单完成!"); - userMoneyDetails.setContent("商家收益:"+orders.getShopMoney()); + userMoneyDetails.setContent("商家收益:" + orders.getShopMoney()); userMoneyDetails.setType(1); userMoneyDetails.setState(2); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); @@ -7320,13 +7656,13 @@ public class OrdersServiceImpl extends ServiceImpl implements int afterTimeInt = Integer.parseInt(afterTime); Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MINUTE, afterTimeInt); - String format = DateUtils.format(calendar.getTime(),"yyyy-MM-dd HH:mm"); + String format = DateUtils.format(calendar.getTime(), "yyyy-MM-dd HH:mm"); String date1 = format.substring(0, 10); String time1 = format.substring(11, 16); QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("orders_id",orders.getOrdersId()); - queryWrapper.ge("artificer_date",date1); - queryWrapper.gt("artificer_time",time1); + queryWrapper.eq("orders_id", orders.getOrdersId()); + queryWrapper.ge("artificer_date", date1); + queryWrapper.gt("artificer_time", time1); artificerTimeService.remove(queryWrapper); //修改订单下所有加钟的状态为待评价 @@ -7335,12 +7671,12 @@ public class OrdersServiceImpl extends ServiceImpl implements updateWrapper.notIn("status", Arrays.asList(1, 4)); Orders orders2 = new Orders(); orders2.setStatus(3); - baseMapper.update(orders2,updateWrapper); + baseMapper.update(orders2, updateWrapper); //修改加钟销量 - if(orders.getAddMassageTypeId() != null){ + if (orders.getAddMassageTypeId() != null) { MassageType addMassageType = massageTypeService.getById(orders.getAddMassageTypeId()); - Integer addSales = addMassageType.getSales(); - if(addSales == null){ + Integer addSales = addMassageType.getSales(); + if (addSales == null) { addSales = 0; } addSales = addSales + 1; @@ -7390,7 +7726,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userService.sendWxMessage(apkey, data, user.getWxOpenId()); } - if(orders.getOldOrdersId()!=null && orders.getOldOrdersId() !=0) { + if (orders.getOldOrdersId() != null && orders.getOldOrdersId() != 0) { Orders oldOrders = baseMapper.selectById(orders.getOldOrdersId()); oldOrders.setArtificerId(orders.getArtificerId()); oldOrders.setUserId(orders.getUserId()); @@ -7421,45 +7757,45 @@ public class OrdersServiceImpl extends ServiceImpl implements } //统计业绩积分 - public void statisticsAchievementIntegral(Long ordersId){ + public void statisticsAchievementIntegral(Long ordersId) { Orders orders = baseMapper.getOrdersMoneyById(ordersId); BigDecimal xmbsD = BigDecimal.ZERO; String xmbs = commonInfoService.findOne(463).getValue(); - if(xmbs!=null && !xmbs.equals("")){ + if (xmbs != null && !xmbs.equals("")) { xmbsD = new BigDecimal(xmbs); } BigDecimal jzbsD = BigDecimal.ZERO; String jzbs = commonInfoService.findOne(464).getValue(); - if(jzbs!=null && !jzbs.equals("")){ + if (jzbs != null && !jzbs.equals("")) { jzbsD = new BigDecimal(jzbs); } BigDecimal priceTotal = orders.getPrice();//项目业绩 - if(priceTotal == null){ + if (priceTotal == null) { priceTotal = BigDecimal.ZERO; } BigDecimal addPriceTotal = orders.getAddPrice();//加钟业绩 - if(addPriceTotal == null){ + if (addPriceTotal == null) { addPriceTotal = BigDecimal.ZERO; } Long classifyId = orders.getClassifyId();//项目类型 BigDecimal xmjf = BigDecimal.ZERO; - if(classifyId != null){ - AchievementIntegral achievementIntegral = achievementIntegralService.getOne(new QueryWrapper().eq("classify_id",classifyId)); + if (classifyId != null) { + AchievementIntegral achievementIntegral = achievementIntegralService.getOne(new QueryWrapper().eq("classify_id", classifyId)); BigDecimal achievement = achievementIntegral.getAchievement(); BigDecimal integral = achievementIntegral.getIntegral(); - xmjf = priceTotal.multiply(xmbsD).multiply(integral).divide(achievement,2,BigDecimal.ROUND_HALF_UP); + xmjf = priceTotal.multiply(xmbsD).multiply(integral).divide(achievement, 2, BigDecimal.ROUND_HALF_UP); } Long addClassifyId = orders.getAddClassifyId();//加钟项目类型 BigDecimal jzjf = BigDecimal.ZERO; - if(addClassifyId != null){ - AchievementIntegral achievementIntegral = achievementIntegralService.getOne(new QueryWrapper().eq("classify_id",addClassifyId)); + if (addClassifyId != null) { + AchievementIntegral achievementIntegral = achievementIntegralService.getOne(new QueryWrapper().eq("classify_id", addClassifyId)); BigDecimal achievement = achievementIntegral.getAchievement(); BigDecimal integral = achievementIntegral.getIntegral(); - jzjf = addPriceTotal.multiply(jzbsD).multiply(integral).divide(achievement,2,BigDecimal.ROUND_HALF_UP); + jzjf = addPriceTotal.multiply(jzbsD).multiply(integral).divide(achievement, 2, BigDecimal.ROUND_HALF_UP); } QueryWrapper delWrapper = new QueryWrapper(); - delWrapper.eq("orders_no",orders.getOrdersNo()); + delWrapper.eq("orders_no", orders.getOrdersNo()); artificerIntegralStatisticsDao.delete(delWrapper); Artificer artificer = artificerDao.selectById(orders.getArtificerId()); @@ -7477,7 +7813,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } @Override - public Result startOrders(Long ordersId, String startLongitude, String startLatitude, String startImg,String startRemark) { + public Result startOrders(Long ordersId, String startLongitude, String startLatitude, String startImg, String startRemark) { Calendar calendar = Calendar.getInstance(); Orders orders = baseMapper.selectById(ordersId); //判断开始服务时间 是否超过预定时间 @@ -7512,16 +7848,16 @@ public class OrdersServiceImpl extends ServiceImpl implements OrdersMassage ordersMassage = ordersMassageService.getOne(new QueryWrapper().eq("orders_id", orders.getOrdersId())); // MassageType massageType = massageTypeService.getById(ordersMassage.getMassageId()); MassageType massageType = null; - if(orders.getUserPackageDetailId() !=null){ + if (orders.getUserPackageDetailId() != null) { UserPackageDetail userPackageDetail = userPackageDetailService.getById(ordersMassage.getMassageId()); massageType = massageTypeService.getById(userPackageDetail.getMassageTypeId()); - }else{ + } else { massageType = massageTypeService.getById(ordersMassage.getMassageId()); } int duration = massageType.getDuration(); if (orders.getAddTime() != null) { duration = duration * ordersMassage.getNum() + orders.getAddTime(); - }else{ + } else { duration = duration * ordersMassage.getNum(); } calendar.add(Calendar.MINUTE, duration); @@ -7548,6 +7884,7 @@ public class OrdersServiceImpl extends ServiceImpl implements /** * 技师数据统计 + * * @param artificerId * @param startTime * @param endTime @@ -7566,7 +7903,7 @@ public class OrdersServiceImpl extends ServiceImpl implements //订单收入 BigDecimal orderMoney = ordersDao.selectSumOrdersMoney(artificerId, startTime, endTime); //总订单数 - String countOrderStr = ordersDao.selectOrdersArtificerIntegral(artificerId, endTime, startTime ); + String countOrderStr = ordersDao.selectOrdersArtificerIntegral(artificerId, endTime, startTime); Integer countOrder = Integer.valueOf(countOrderStr); //退款金额 // BigDecimal sumRefund = userMoneyDetailsService.selectSumRefund(artificer.getUserId(), startTime, endTime); @@ -7629,14 +7966,14 @@ public class OrdersServiceImpl extends ServiceImpl 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){ + if (page == null) { page = 1; } - if(limit == null){ + if (limit == null) { limit = 10; } Page pages = new Page<>(page, limit); - PageUtils pageUtils = new PageUtils(ordersDao.selectTodayOrder(pages, artificerId, type, startTime, endTime,minutes)); + PageUtils pageUtils = new PageUtils(ordersDao.selectTodayOrder(pages, artificerId, type, startTime, endTime, minutes)); return Result.success().put("data", pageUtils); } @@ -7660,10 +7997,10 @@ public class OrdersServiceImpl extends ServiceImpl implements public Result refundOrders(Long ordersId) { Orders orders = baseMapper.selectById(ordersId); String couponIds = orders.getCouponId(); - if(orders.getCouponId() != null && couponIds.length()>0){ + if (orders.getCouponId() != null && couponIds.length() > 0) { String[] couponArr = couponIds.trim().split(","); - for(int i=0;i implements List ordersList = baseMapper.selectList(new QueryWrapper().isNotNull("pay_way").eq("parent_id", orders.getOrdersId())); UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); if (orders.getPayWay() == 1 || orders.getPayWay() == 2 || orders.getPayWay() == 3 || orders.getPayWay() == 4) { - if(orders.getPayMoney().compareTo(BigDecimal.ZERO) > 0) { + if (orders.getPayMoney().compareTo(BigDecimal.ZERO) > 0) { boolean refund = wxService.refund(orders.getOrdersNo(), orders.getPayMoney(), orders.getPayMoney(), orders.getPayWay()); if (!refund) { return Result.error("退款失败,请联系客服!"); @@ -7687,7 +8024,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setManipulateType(1); userMoneyDetails.setBlFlag(2); } else if (orders.getPayWay() == 6) { - if(orders.getPayMoney().compareTo(BigDecimal.ZERO) > 0) { + if (orders.getPayMoney().compareTo(BigDecimal.ZERO) > 0) { String data = aliPayController.alipayRefund(orders.getOrdersNo(), orders.getPayMoney()); if (StringUtils.isNotBlank(data)) { log.error(data); @@ -7709,7 +8046,7 @@ public class OrdersServiceImpl extends ServiceImpl implements // } else { // userMoneyService.updateMoney(1, orders.getUserId(), orders.getPayMoney().doubleValue()); // } - if(orders.getPayMoney().compareTo(BigDecimal.ZERO) > 0) { + if (orders.getPayMoney().compareTo(BigDecimal.ZERO) > 0) { userMoneyService.updateMoney(1, orders.getUserId(), orders.getPayMoney().doubleValue()); } //查询用户当前余额 @@ -7734,7 +8071,7 @@ public class OrdersServiceImpl extends ServiceImpl implements for (Orders orders1 : ordersList) { userMoneyDetails = new UserMoneyDetails(); if (orders1.getPayWay() == 1 || orders1.getPayWay() == 2 || orders1.getPayWay() == 3 || orders1.getPayWay() == 4) { - if(orders1.getPayMoney().compareTo(BigDecimal.ZERO) > 0) { + if (orders1.getPayMoney().compareTo(BigDecimal.ZERO) > 0) { boolean refund = wxService.refund(orders1.getOrdersNo(), orders1.getPayMoney(), orders1.getPayMoney(), orders1.getPayWay()); if (!refund) { return Result.error("退款失败,请联系客服!"); @@ -7743,7 +8080,7 @@ public class OrdersServiceImpl extends ServiceImpl implements userMoneyDetails.setManipulateType(1); userMoneyDetails.setBlFlag(2); } else if (orders1.getPayWay() == 6) { - if(orders1.getPayMoney().compareTo(BigDecimal.ZERO) > 0) { + if (orders1.getPayMoney().compareTo(BigDecimal.ZERO) > 0) { String data = aliPayController.alipayRefund(orders1.getOrdersNo(), orders1.getPayMoney()); if (StringUtils.isNotBlank(data)) { log.error(data); @@ -7765,7 +8102,7 @@ public class OrdersServiceImpl extends ServiceImpl implements // } else { // userMoneyService.updateMoney(1, orders1.getUserId(), orders1.getPayMoney().doubleValue()); // } - if(orders1.getPayMoney().compareTo(BigDecimal.ZERO) > 0) { + if (orders1.getPayMoney().compareTo(BigDecimal.ZERO) > 0) { userMoneyService.updateMoney(1, orders1.getUserId(), orders1.getPayMoney().doubleValue()); } //查询用户当前余额 @@ -8022,7 +8359,7 @@ public class OrdersServiceImpl extends ServiceImpl implements new PageUtils(baseMapper.selectArtificerOrdersList(new Page<>(page, limit), artificerName, artificerPhone, userName, phone, warning, overTimeOrders))); } -// @Scheduled(cron = "0 */1 * * * ?") + // @Scheduled(cron = "0 */1 * * * ?") @Scheduled(cron = "0 1/5 * * * ?") public void updateOrdersWarning() { String value = commonInfoService.findOne(376).getValue(); @@ -8030,7 +8367,7 @@ public class OrdersServiceImpl extends ServiceImpl implements String value1 = commonInfoService.findOne(388).getValue(); List ordersList = baseMapper.selectOrdersStatusByTime(value1); for (Orders orders : ordersList) { - if(orders.getUserPackageDetailId() !=null){ + if (orders.getUserPackageDetailId() != null) { //释放 UserPackageDetail userPackageDetail = new UserPackageDetail(); userPackageDetail.setId(orders.getUserPackageDetailId()); @@ -8041,27 +8378,27 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setCancelRemark("未支付-系统"); baseMapper.updateById(orders); artificerTimeService.remove(new QueryWrapper().eq("orders_id", orders.getOrdersId())); - if (orders.getCouponId() != null && orders.getOldOrdersId()==null) { + if (orders.getCouponId() != null && orders.getOldOrdersId() == null) { CouponUser couponUser = couponUserService.getById(orders.getCouponId()); if (couponUser != null && couponUser.getStatus().equals(1)) { couponUser.setStatus(0); couponUserService.updateById(couponUser); } } - if(orders.getOldOrdersId()!=null && orders.getOldOrdersId() !=0){ + if (orders.getOldOrdersId() != null && orders.getOldOrdersId() != 0) { Orders ordersOld = new Orders(); ordersOld.setOrdersId(orders.getOldOrdersId()); - if(orders.getIsSupplement() != null){ - if(orders.getIsSupplement() == 1){ + if (orders.getIsSupplement() != null) { + if (orders.getIsSupplement() == 1) { ordersOld.setStatus(10); - }else if(orders.getIsSupplement() == 2){ + } else if (orders.getIsSupplement() == 2) { ordersOld.setStatus(6); - }else if(orders.getIsSupplement() == 3){ + } else if (orders.getIsSupplement() == 3) { ordersOld.setStatus(2); - }else{ + } else { ordersOld.setStatus(9);//用户已支付技师待接单 } - }else{ + } else { ordersOld.setStatus(9);//用户已支付技师待接单 } baseMapper.updateById(ordersOld);//原单暂变成挂单状态 @@ -8112,7 +8449,7 @@ public class OrdersServiceImpl extends ServiceImpl implements @Override public Result selectDividedIntoDetail(Period period) { - if(StringUtil.isNotEmpty(period.getArtificerId())) { + if (StringUtil.isNotEmpty(period.getArtificerId())) { Result.error("系统异常,请联系管理员"); } //插入开始结束时间 @@ -8124,10 +8461,10 @@ public class OrdersServiceImpl extends ServiceImpl implements String startDate = DateUtils.format(period.getStartFundData()); String endDate = DateUtils.format(period.getEndFundData()); //总顶顶那收益 - BigDecimal sy = ordersDao.selectOrdersArtificerIntegralEarnings(artificerId,endDate,startDate); + BigDecimal sy = ordersDao.selectOrdersArtificerIntegralEarnings(artificerId, endDate, startDate); userMoneyArtificerDetails.setTotalRevenue(sy); - BigDecimal xmsy = ordersDao.selectOrdersArtificerIntegralProjectEarnings(artificerId,endDate,startDate); + BigDecimal xmsy = ordersDao.selectOrdersArtificerIntegralProjectEarnings(artificerId, endDate, startDate); userMoneyArtificerDetails.setProjectBenefits(xmsy); BigDecimal cfsy = sy.subtract(xmsy); @@ -8136,12 +8473,13 @@ public class OrdersServiceImpl extends ServiceImpl implements //资金明细添加到返回对象中 return Result.success().put("data", userMoneyArtificerDetails); } + @Override public Result selectDividedIntoDetails(Integer page, Integer limit, Period period) { Page page1 = new Page(page, limit); String startFundData = DateUtils.format(period.getStartFundData()); String endFundData = DateUtils.format(period.getEndFundData()); - return Result.success().put("data", baseMapper.selectDividedIntoDetails(page1,Long.valueOf(period.getArtificerId()),startFundData,endFundData,null)); + return Result.success().put("data", baseMapper.selectDividedIntoDetails(page1, Long.valueOf(period.getArtificerId()), startFundData, endFundData, null)); } @@ -8152,7 +8490,7 @@ public class OrdersServiceImpl extends ServiceImpl implements queryWrapper.eq("orders_id", period.getOrderId()).or().eq("parent_id", period.getOrderId()); //只查询已完成和待评价的订单 queryWrapper.in("status", Arrays.asList(5, 3)); - List ordersList = baseMapper.selectList(queryWrapper); + List ordersList = baseMapper.selectList(queryWrapper); TreeNodeConfig treeNodeConfig = new TreeNodeConfig(); treeNodeConfig.setIdKey("ordersId"); treeNodeConfig.setParentIdKey("parentId"); @@ -8168,29 +8506,30 @@ public class OrdersServiceImpl extends ServiceImpl implements treeNode.putExtra("artificerRate", object.getArtificerRate());//提成比例 treeNode.putExtra("projectBenefits", object.getProjectBenefits());//项目收益 treeNode.putExtra("channelDeduction", object.getChannelDeduction());//渠道扣费 - treeNode.putExtra("valueStorageDeduction",object.getValueStorageDeduction());//储值扣费 + treeNode.putExtra("valueStorageDeduction", object.getValueStorageDeduction());//储值扣费 treeNode.putExtra("totalDeduction", object.getChannelDeduction().add(object.getValueStorageDeduction()));//合计扣费 treeNode.putExtra("artificerTaxiMoney", object.getArtificerTaxiMoney());//车费金额 // treeNode.putExtra("revenueAmount",object.getArtificerTaxiMoney().add(object.getProjectBenefits()).subtract(object.getChannelDeduction().add(object.getValueStorageDeduction())));//收益金额 })); //项目金额 - BigDecimal Price = BigDecimal.valueOf(ordersList.stream().map(Orders->new BigDecimal(String.valueOf(Orders.getPrice()))).collect(Collectors.reducing(BigDecimal.ZERO, BigDecimal::add)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); + BigDecimal Price = BigDecimal.valueOf(ordersList.stream().map(Orders -> new BigDecimal(String.valueOf(Orders.getPrice()))).collect(Collectors.reducing(BigDecimal.ZERO, BigDecimal::add)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); BigDecimal couponMoney = new BigDecimal(trees.get(0).get("couponMoney").toString()); //实际项目金额 - trees.get(0).put("allPrice",Price.subtract(couponMoney)); + trees.get(0).put("allPrice", Price.subtract(couponMoney)); //项目收益 - BigDecimal projectBenefits = BigDecimal.valueOf(ordersList.stream().map(Orders->new BigDecimal(String.valueOf(Orders.getProjectBenefits()))).collect(Collectors.reducing(BigDecimal.ZERO, BigDecimal::add)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); + BigDecimal projectBenefits = BigDecimal.valueOf(ordersList.stream().map(Orders -> new BigDecimal(String.valueOf(Orders.getProjectBenefits()))).collect(Collectors.reducing(BigDecimal.ZERO, BigDecimal::add)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); //实际项目收益 - trees.get(0).put("actualProjectBenefits",projectBenefits); + trees.get(0).put("actualProjectBenefits", projectBenefits); BigDecimal artificerTaxiMoney = new BigDecimal(trees.get(0).get("artificerTaxiMoney").toString()); //实际总收益 - trees.get(0).put("totalRevenue",artificerTaxiMoney.add(projectBenefits)); + trees.get(0).put("totalRevenue", artificerTaxiMoney.add(projectBenefits)); //分成明细添加到返回对象中 return Result.success().put("data", trees); } /** * 技师确认接单 + * * @param ordersId 订单id * @return */ @@ -8201,73 +8540,73 @@ public class OrdersServiceImpl extends ServiceImpl implements Long messageTypeId = orders.getMassageTypeId(); CommonInfo commonInfo = commonInfoDao.findOne(448);//查询技师接单是否需要物料的配置 - if(StringUtils.equals("否", commonInfo.getValue())){ + if (StringUtils.equals("否", commonInfo.getValue())) { orders = new Orders(); orders.setOrdersId(ordersId); orders.setStatus(2);//确认接单 ordersDao.updateById(orders); - Map map = new HashMap<>(); - map.put("code",200); - map.put("msg","已确认接单"); + Map map = new HashMap<>(); + map.put("code", 200); + map.put("msg", "已确认接单"); return Result.success(map); } QueryWrapper materialMassageQueryWrapper = new QueryWrapper<>(); - materialMassageQueryWrapper.eq("massage_type_id",messageTypeId); + materialMassageQueryWrapper.eq("massage_type_id", messageTypeId); //查询服务是否消耗指定的物料信息 - List wllist =materialMassageMapper.selectList(materialMassageQueryWrapper); - if(wllist.size()>0){ + List wllist = materialMassageMapper.selectList(materialMassageQueryWrapper); + if (wllist.size() > 0) { int code = 200; String msg = "已确认接单"; - for(MaterialMassage par: wllist){ + for (MaterialMassage par : wllist) { QueryWrapper materialArtificerQueryWrapper = new QueryWrapper(); - materialArtificerQueryWrapper.eq("material_id",par.getMaterialId()); - materialArtificerQueryWrapper.eq("artificer_id",orders.getArtificerId()); + materialArtificerQueryWrapper.eq("material_id", par.getMaterialId()); + materialArtificerQueryWrapper.eq("artificer_id", orders.getArtificerId()); materialArtificerQueryWrapper.orderByDesc("residue"); materialArtificerQueryWrapper.last("limit 1"); //获取技师是否有对应的物料 MaterialArtificer materialArtificer = materialArtificerMapper.selectOne(materialArtificerQueryWrapper); - if(materialArtificer == null){ + if (materialArtificer == null) { //获取缺少的物料 Material material = materialMapper.getById(par.getMaterialId()); code = 500; - msg = "此服务需要【"+material.getMaterialName()+"】物料,您还没有此物料信息"; + msg = "此服务需要【" + material.getMaterialName() + "】物料,您还没有此物料信息"; break; } BigDecimal consume = par.getConsume();//每次服务需要消耗的数量 BigDecimal residue = materialArtificer.getResidue();//技师剩余物料库存 - if(residue.compareTo(consume) < 0){//库存不足 + if (residue.compareTo(consume) < 0) {//库存不足 //获取缺少的物料 Material material = materialMapper.getById(par.getMaterialId()); code = 500; - msg = "【"+material.getMaterialName()+"】库存不足,剩余数量:【"+residue+"】,消耗数量:【"+consume+"】"; + msg = "【" + material.getMaterialName() + "】库存不足,剩余数量:【" + residue + "】,消耗数量:【" + consume + "】"; break; } } orders = new Orders(); orders.setOrdersId(ordersId); - if(code == 200){ - Map map = new HashMap<>(); - map.put("code",code); - map.put("msg",msg); + if (code == 200) { + Map map = new HashMap<>(); + map.put("code", code); + map.put("msg", msg); orders.setStatus(2);//确认接单 ordersDao.updateById(orders); return Result.success(map); - }else{ + } else { return Result.error(msg); } - }else{ + } else { orders = new Orders(); orders.setOrdersId(ordersId); orders.setStatus(2);//确认接单 ordersDao.updateById(orders); - Map map = new HashMap<>(); - map.put("code",200); - map.put("msg","已确认接单"); + Map map = new HashMap<>(); + map.put("code", 200); + map.put("msg", "已确认接单"); return Result.success(map); } } @@ -8279,23 +8618,23 @@ public class OrdersServiceImpl extends ServiceImpl implements Long parentId = orders.getParentId(); Long oldOrdersId = orders.getOldOrdersId(); - if(parentId != null && parentId != 0){ + if (parentId != null && parentId != 0) { Orders parentorders = ordersDao.selectById(parentId); parentorders.setArtificerId(artificerId); ordersDao.updateById(parentorders); } - if(oldOrdersId!=null){ + if (oldOrdersId != null) { Orders oldorders = ordersDao.selectById(oldOrdersId); oldorders.setArtificerId(artificerId); ordersDao.updateById(oldorders); } orders.setArtificerId(artificerId); ordersDao.updateById(orders); - Map map = new HashMap<>(); - map.put("code",200); - map.put("msg","转单成功"); + Map map = new HashMap<>(); + map.put("code", 200); + map.put("msg", "转单成功"); return Result.success(map); } -} \ No newline at end of file +} diff --git a/src/main/java/com/sqx/modules/bl/commission/fxy/controller/app/AppFxyController.java b/src/main/java/com/sqx/modules/bl/commission/fxy/controller/app/AppFxyController.java index 356b43c..23aa347 100644 --- a/src/main/java/com/sqx/modules/bl/commission/fxy/controller/app/AppFxyController.java +++ b/src/main/java/com/sqx/modules/bl/commission/fxy/controller/app/AppFxyController.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.sqx.common.utils.Result; import com.sqx.modules.app.annotation.Login; +import com.sqx.modules.app.dao.UserDao; +import com.sqx.modules.app.entity.UserEntity; import com.sqx.modules.bl.commission.fxy.entity.FxyApply; import com.sqx.modules.bl.commission.fxy.entity.FxyConfig; import com.sqx.modules.bl.commission.fxy.entity.FxyData; @@ -38,6 +40,9 @@ public class AppFxyController { @Autowired private FxyDataService dataService; + @Autowired + private UserDao userDao; + @GetMapping("/fxyConfig") @ApiOperation("获取分销员配置") public Result fxyConfig(){ @@ -58,6 +63,10 @@ public class AppFxyController { fxyApply.setOpinion("自动通过"); fxyApply.setApproveTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); service.updateByUserId(fxyApply); + //更新user表状态 + UserEntity userEntity = userDao.selectById(fxyApply.getUserId()); + userEntity.setBlIsFxy(1); + userDao.updateById(userEntity); return Result.success("申请成功,请重新登录"); } diff --git a/src/main/java/com/sqx/modules/bl/commission/fxy/service/impl/FxyDataServiceImpl.java b/src/main/java/com/sqx/modules/bl/commission/fxy/service/impl/FxyDataServiceImpl.java index 3a2b782..81e38e8 100644 --- a/src/main/java/com/sqx/modules/bl/commission/fxy/service/impl/FxyDataServiceImpl.java +++ b/src/main/java/com/sqx/modules/bl/commission/fxy/service/impl/FxyDataServiceImpl.java @@ -104,6 +104,7 @@ public class FxyDataServiceImpl extends ServiceImpl impleme result.put("userCount",fxyData.getUserCount());//累计粉丝 result.put("name",fxyData.getName());//姓名 result.put("level",fxyData.getBlFxyLevel());//等级 + result.put("createTime",fxyData.getCreateTime());//加入时间 return Result.success().put("data",result); } @@ -182,4 +183,4 @@ public class FxyDataServiceImpl extends ServiceImpl impleme return baseMapper.getByUserId(userId); } -} \ No newline at end of file +} diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/controller/QdsCodeRecordController.java b/src/main/java/com/sqx/modules/bl/commission/qds/controller/QdsCodeRecordController.java new file mode 100644 index 0000000..0ec4712 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/controller/QdsCodeRecordController.java @@ -0,0 +1,29 @@ +package com.sqx.modules.bl.commission.qds.controller; + +import com.sqx.common.utils.Result; +import com.sqx.modules.bl.commission.qds.entity.QdsCode; +import com.sqx.modules.bl.commission.qds.entity.QdsCodeRecord; +import com.sqx.modules.bl.commission.qds.service.QdsCodeRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/commission/qdsCodeRecord") +@Api(value = "分佣管理", tags = {"渠道商渠道码扫码记录"}) +public class QdsCodeRecordController { + + @Autowired + private QdsCodeRecordService qdsCodeRecordService; + + @PostMapping("/add") + @ApiOperation("添加") + public Result add(QdsCodeRecord qdsCodeRecord){ + qdsCodeRecordService.add(qdsCodeRecord); + return Result.success(); + } + +} diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/controller/app/AppQdsController.java b/src/main/java/com/sqx/modules/bl/commission/qds/controller/app/AppQdsController.java index 49b81a7..1bf58ae 100644 --- a/src/main/java/com/sqx/modules/bl/commission/qds/controller/app/AppQdsController.java +++ b/src/main/java/com/sqx/modules/bl/commission/qds/controller/app/AppQdsController.java @@ -3,17 +3,12 @@ package com.sqx.modules.bl.commission.qds.controller.app; import com.sqx.common.utils.Result; import com.sqx.modules.app.annotation.Login; import com.sqx.modules.bl.commission.qds.entity.QdsApply; -import com.sqx.modules.bl.commission.qds.service.QdsApplyService; -import com.sqx.modules.bl.commission.qds.service.QdsCodeService; -import com.sqx.modules.bl.commission.qds.service.QdsDataService; -import com.sqx.modules.bl.commission.qds.service.QdsLmService; +import com.sqx.modules.bl.commission.qds.entity.QdsCodeRecord; +import com.sqx.modules.bl.commission.qds.service.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestAttribute; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.text.SimpleDateFormat; import java.util.Date; @@ -35,6 +30,9 @@ public class AppQdsController { @Autowired private QdsCodeService codeService; + @Autowired + private QdsCodeRecordService qdsCodeRecordService; + @GetMapping("/lmList") @ApiOperation("类目列表") public Result lmList(){ @@ -75,4 +73,11 @@ public class AppQdsController { public Result myQds(@RequestAttribute Long userId){ return dataService.myQds(userId); } + + @PostMapping("/addCodeRecord") + @ApiOperation("添加") + public Result addCodeRecord(QdsCodeRecord qdsCodeRecord){ + qdsCodeRecordService.add(qdsCodeRecord); + return Result.success(); + } } diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/dao/QdsCodeRecordDao.java b/src/main/java/com/sqx/modules/bl/commission/qds/dao/QdsCodeRecordDao.java new file mode 100644 index 0000000..cef457e --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/dao/QdsCodeRecordDao.java @@ -0,0 +1,11 @@ +package com.sqx.modules.bl.commission.qds.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.sqx.modules.bl.commission.qds.entity.QdsCodeRecord; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface QdsCodeRecordDao extends BaseMapper { + String queryScanCodeRecord(@Param("userId") Long userId); +} diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/entity/QdsCodeRecord.java b/src/main/java/com/sqx/modules/bl/commission/qds/entity/QdsCodeRecord.java new file mode 100644 index 0000000..fdf07c2 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/entity/QdsCodeRecord.java @@ -0,0 +1,42 @@ +package com.sqx.modules.bl.commission.qds.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @description bl_qds_code_record + * 渠道商渠道码扫码记录表 + * @author zmy + * @date 2025-02-25 + */ +@Data +@TableName("bl_qds_code_record") +public class QdsCodeRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + *用户ID + */ + private Long userId; + + /** + *编码 + */ + private String code; + + /** + *创建时间 + */ + private Date createTime; + + /** + *更新时间 + */ + private String isNew; + + public QdsCodeRecord() {} +} diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/entity/QdsData.java b/src/main/java/com/sqx/modules/bl/commission/qds/entity/QdsData.java index 9cd182f..c7a11c0 100644 --- a/src/main/java/com/sqx/modules/bl/commission/qds/entity/QdsData.java +++ b/src/main/java/com/sqx/modules/bl/commission/qds/entity/QdsData.java @@ -66,10 +66,34 @@ public class QdsData implements Serializable { @TableField(exist = false) private BigDecimal rate; /** - *扫码数量 + *新用户扫码数量 */ @TableField(exist = false) - private Integer smCount; + private Integer xyhsmsl; + /** + *老用户扫码数量 + */ + @TableField(exist = false) + private Integer lyhsmsl; + + /** + *有效注册平台数 + */ + @TableField(exist = false) + private Integer yxzcpts; + + /** + *渠道商分佣 + */ + @TableField(exist = false) + private BigDecimal qdsfy; + + /** + *总金额 + */ + @TableField(exist = false) + private BigDecimal zje; + /** *当日成交订单数量 */ diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/service/QdsCodeRecordService.java b/src/main/java/com/sqx/modules/bl/commission/qds/service/QdsCodeRecordService.java new file mode 100644 index 0000000..fb49929 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/service/QdsCodeRecordService.java @@ -0,0 +1,10 @@ +package com.sqx.modules.bl.commission.qds.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.sqx.modules.bl.commission.qds.entity.QdsCodeRecord; + +public interface QdsCodeRecordService extends IService { + int add(QdsCodeRecord qdsCodeRecord); + + String queryScanCodeRecord(Long userId); +} diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/service/QdsCodeService.java b/src/main/java/com/sqx/modules/bl/commission/qds/service/QdsCodeService.java index 5d34ed6..b9ba53e 100644 --- a/src/main/java/com/sqx/modules/bl/commission/qds/service/QdsCodeService.java +++ b/src/main/java/com/sqx/modules/bl/commission/qds/service/QdsCodeService.java @@ -10,4 +10,5 @@ public interface QdsCodeService extends IService { int update(QdsCode qdsCode); Result findUserPage(QdsCode qdsCode); -} \ No newline at end of file + QdsCode queryQdmInfo(String code); +} diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/service/impl/DqsCodeRecordServiceImpl.java b/src/main/java/com/sqx/modules/bl/commission/qds/service/impl/DqsCodeRecordServiceImpl.java new file mode 100644 index 0000000..9f37b0a --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/commission/qds/service/impl/DqsCodeRecordServiceImpl.java @@ -0,0 +1,47 @@ +package com.sqx.modules.bl.commission.qds.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.sqx.modules.app.entity.UserEntity; +import com.sqx.modules.app.service.UserService; +import com.sqx.modules.bl.commission.qds.dao.QdsCodeRecordDao; +import com.sqx.modules.bl.commission.qds.entity.QdsCodeRecord; +import com.sqx.modules.bl.commission.qds.service.QdsCodeRecordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.Date; + +@Service +public class DqsCodeRecordServiceImpl extends ServiceImpl implements QdsCodeRecordService { + + @Autowired + private QdsCodeRecordDao qdsCodeRecordDao; + @Autowired + private UserService userService; + + @Override + public int add(QdsCodeRecord qdsCodeRecord) { + UserEntity userEntity = userService.selectUserById(qdsCodeRecord.getUserId()); + String createTimeStr = userEntity.getCreateTime(); + + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + LocalDateTime createTime = LocalDateTime.parse(createTimeStr, formatter); + LocalDateTime now = LocalDateTime.now(); + // 注册时间不满5分钟视为新用户 + long minutesDifference = java.time.Duration.between(createTime, now).toMinutes(); + if (minutesDifference <= 5) { + qdsCodeRecord.setIsNew("Y"); + } else { + qdsCodeRecord.setIsNew("N"); + } + + return baseMapper.insert(qdsCodeRecord); + } + + @Override + public String queryScanCodeRecord(Long userId) { + return qdsCodeRecordDao.queryScanCodeRecord(userId); + } +} diff --git a/src/main/java/com/sqx/modules/bl/commission/qds/service/impl/DqsCodeServiceImpl.java b/src/main/java/com/sqx/modules/bl/commission/qds/service/impl/DqsCodeServiceImpl.java index 0fca0cb..d1e65fe 100644 --- a/src/main/java/com/sqx/modules/bl/commission/qds/service/impl/DqsCodeServiceImpl.java +++ b/src/main/java/com/sqx/modules/bl/commission/qds/service/impl/DqsCodeServiceImpl.java @@ -2,6 +2,7 @@ package com.sqx.modules.bl.commission.qds.service.impl; import cn.hutool.core.io.FileUtil; import cn.hutool.extra.qrcode.QrCodeUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.sqx.common.utils.PageUtils; @@ -76,4 +77,9 @@ public class DqsCodeServiceImpl extends ServiceImpl impleme return url; } -} \ No newline at end of file + public QdsCode queryQdmInfo(String code){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("code",code); + return baseMapper.selectOne(queryWrapper); + } +} diff --git a/src/main/java/com/sqx/modules/bl/commission/ywy/entity/YwyConfig.java b/src/main/java/com/sqx/modules/bl/commission/ywy/entity/YwyConfig.java index 2a0e5ea..272b274 100644 --- a/src/main/java/com/sqx/modules/bl/commission/ywy/entity/YwyConfig.java +++ b/src/main/java/com/sqx/modules/bl/commission/ywy/entity/YwyConfig.java @@ -49,6 +49,10 @@ public class YwyConfig implements Serializable { *业务员与渠道商分佣方式 */ private Integer type; + /** + *抽成比例 + */ + private BigDecimal ccbl; /** *邀请业务员推广海报背景图 */ diff --git a/src/main/java/com/sqx/modules/bl/dashboard/DashBoardController.java b/src/main/java/com/sqx/modules/bl/dashboard/DashBoardController.java new file mode 100644 index 0000000..75ea4bf --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/dashboard/DashBoardController.java @@ -0,0 +1,91 @@ +package com.sqx.modules.bl.dashboard; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.sqx.common.utils.Result; +import com.sqx.modules.app.service.UserService; +import com.sqx.modules.artificer.dao.OrdersDao; +import com.sqx.modules.artificer.entity.Orders; +import com.sqx.modules.artificer.service.ArtificerService; +import com.sqx.modules.message.entity.MessageInfo; +import com.sqx.modules.message.service.MessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author zmy + * @date 2025/2/27 + */ +@RestController +@Api(value = "驾驶舱", tags = {"驾驶舱"}) +@RequestMapping(value = "/dashboard") +public class DashBoardController { + + @Autowired + private UserService userService; + @Autowired + private OrdersDao ordersDao; + @Autowired + private ArtificerService artificerService; + @Autowired + private MessageService messageService; + + /** + * 数据统计" + */ + @GetMapping("/dataQuery") + @ApiOperation("数据统计") + public Result dataQuery(){ + String dateStr = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); + //今日订单数量 + int jr_ddsl = ordersDao.selectCountOrders(dateStr, 1, null); + //本月订单数量 + int by_ddsl = ordersDao.selectCountOrders(dateStr, 2, null); + //今日新增用户数量 + int jr_xzyhsl = userService.queryUserCount(1, null,null,null); + //本月新增用户数量 + int by_xzyhsl = userService.queryUserCount(2, null,null,null); + //今日营收 + BigDecimal jr_ys = ordersDao.selectOrdersMoney(dateStr, 1, 1); + //本月营收 + BigDecimal by_ys = ordersDao.selectOrdersMoney(dateStr, 2, 1); + //技师总数 + int jszs = userService.queryUserCount(0, null,2,null); + //在线技师总数 + int zxjszs = artificerService.queryOnlineCount(); + //服务中技师总数 + int fwzjszs = artificerService.queryInServiceCount(); + //投诉统计 + List tsList = messageService.queryComplaints(); + //各状态订单统计 + List gztddList = ordersDao.gztddList(); + //技师排行 + IPage> pageList = ordersDao.selectArtificerMoneyList(new Page<>(1,-1),null,null,null,6); + List> jsph = pageList.getRecords(); + Map result=new HashMap<>(); + result.put("jr_ddsl",jr_ddsl); + result.put("by_ddsl",by_ddsl); + result.put("jr_xzyhsl",jr_xzyhsl); + result.put("by_xzyhsl",by_xzyhsl); + result.put("jr_ys",jr_ys.setScale(2,BigDecimal.ROUND_DOWN)); + result.put("by_ys",by_ys.setScale(2,BigDecimal.ROUND_DOWN)); + result.put("jszs",jszs); + result.put("zxjszs",zxjszs); + result.put("fwzjszs",fwzjszs); + result.put("tsList",tsList); + result.put("gztddList",gztddList); + result.put("jsph",jsph); + return Result.success().put("data",result); + } +} diff --git a/src/main/java/com/sqx/modules/bl/massage/controller/MassagePackageController.java b/src/main/java/com/sqx/modules/bl/massage/controller/MassagePackageController.java index 2df4d9d..a850269 100644 --- a/src/main/java/com/sqx/modules/bl/massage/controller/MassagePackageController.java +++ b/src/main/java/com/sqx/modules/bl/massage/controller/MassagePackageController.java @@ -66,6 +66,12 @@ public class MassagePackageController { service.updateTj(massagePackage); return Result.success(); } + @PostMapping("/updateTg") + @ApiOperation("修改推荐") + public Result updateTg(MassagePackage massagePackage){ + service.updateTg(massagePackage); + return Result.success(); + } @PostMapping("/updateStatus") @ApiOperation("修改状态") diff --git a/src/main/java/com/sqx/modules/bl/massage/dao/MassagePackageDao.java b/src/main/java/com/sqx/modules/bl/massage/dao/MassagePackageDao.java index 69e427e..9c0fd6f 100644 --- a/src/main/java/com/sqx/modules/bl/massage/dao/MassagePackageDao.java +++ b/src/main/java/com/sqx/modules/bl/massage/dao/MassagePackageDao.java @@ -17,10 +17,11 @@ public interface MassagePackageDao extends BaseMapper { int updateVip(MassagePackage massagePackage); int updateNewer(MassagePackage massagePackage); int updateTj(MassagePackage massagePackage); + int updateTg(MassagePackage massagePackage); int updateStatus(MassagePackage massagePackage); int updatePrice(MassagePackage massagePackage); int delete(MassagePackage massagePackage); IPage findPackageAndMassagePage(Page page,@Param("params") MassagePackage massagePackage); IPage findAppActivityPage(Page page,@Param("params") MassagePackage massagePackage); MassagePackage getAppActivityDetail(Long id); -} \ No newline at end of file +} diff --git a/src/main/java/com/sqx/modules/bl/massage/entity/MassagePackage.java b/src/main/java/com/sqx/modules/bl/massage/entity/MassagePackage.java index c63641b..ad22e3a 100644 --- a/src/main/java/com/sqx/modules/bl/massage/entity/MassagePackage.java +++ b/src/main/java/com/sqx/modules/bl/massage/entity/MassagePackage.java @@ -166,6 +166,11 @@ public class MassagePackage implements Serializable { */ private Integer isTj; + /** + * 是否推广0否1是 + */ + private Integer isTg; + /** * 服务次数 */ diff --git a/src/main/java/com/sqx/modules/bl/massage/service/MassagePackageService.java b/src/main/java/com/sqx/modules/bl/massage/service/MassagePackageService.java index c4cedfc..fcb35f6 100644 --- a/src/main/java/com/sqx/modules/bl/massage/service/MassagePackageService.java +++ b/src/main/java/com/sqx/modules/bl/massage/service/MassagePackageService.java @@ -13,6 +13,7 @@ public interface MassagePackageService extends IService { int updateVip(MassagePackage massagePackage); int updateNewer(MassagePackage massagePackage); int updateTj(MassagePackage massagePackage); + int updateTg(MassagePackage massagePackage); int updateStatus(MassagePackage massagePackage); int updatePrice(MassagePackage massagePackage); int delete(MassagePackage massagePackage); @@ -20,4 +21,4 @@ public interface MassagePackageService extends IService { Result findAppActivityPage(MassagePackage massagePackage); Result getAppGroupDetail(Long userId,MassagePackage massagePackage); Result getAppFlashDetail(Long userId,MassagePackage massagePackage); -} \ No newline at end of file +} diff --git a/src/main/java/com/sqx/modules/bl/massage/service/impl/MassagePackageServiceImpl.java b/src/main/java/com/sqx/modules/bl/massage/service/impl/MassagePackageServiceImpl.java index d6aa078..e6030cf 100644 --- a/src/main/java/com/sqx/modules/bl/massage/service/impl/MassagePackageServiceImpl.java +++ b/src/main/java/com/sqx/modules/bl/massage/service/impl/MassagePackageServiceImpl.java @@ -84,6 +84,11 @@ public class MassagePackageServiceImpl extends ServiceImpl { Result giveCoupon(Long couponId, List userIdList, Long shopId, Integer amount); + Result selectListByType(String title, String type, Integer status, Integer isJiFenGoods); } 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 f311bff..81949bf 100644 --- a/src/main/java/com/sqx/modules/coupon/service/CouponUserService.java +++ b/src/main/java/com/sqx/modules/coupon/service/CouponUserService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.sqx.common.utils.Result; import com.sqx.modules.app.entity.UserEntity; import com.sqx.modules.coupon.entity.CouponUser; +import com.sqx.modules.shopping.entity.SelfGoods; import java.math.BigDecimal; @@ -17,6 +18,8 @@ public interface CouponUserService extends IService { Result buyCoupon(Long userId, Long couponId); + Result buyShopCoupon(Long userId, Long goodsId); + Result selectCouponByUserId(Integer page, Integer limit, String id, Long userId, Integer status, String phone,String couponName); Result selectNewUserCoupon(Integer page,Integer limit); diff --git a/src/main/java/com/sqx/modules/coupon/service/impl/CouponServiceImpl.java b/src/main/java/com/sqx/modules/coupon/service/impl/CouponServiceImpl.java index c9efb74..2f60daa 100644 --- a/src/main/java/com/sqx/modules/coupon/service/impl/CouponServiceImpl.java +++ b/src/main/java/com/sqx/modules/coupon/service/impl/CouponServiceImpl.java @@ -1,21 +1,33 @@ package com.sqx.modules.coupon.service.impl; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.google.common.collect.Maps; import com.sqx.common.utils.PageUtils; import com.sqx.common.utils.Result; import com.sqx.modules.coupon.dao.CouponDao; import com.sqx.modules.coupon.dao.CouponUserDao; import com.sqx.modules.coupon.entity.Coupon; import com.sqx.modules.coupon.service.CouponService; +import com.sqx.modules.shopping.dao.GoodsJpaRepository; +import com.sqx.modules.shopping.dao.GoodsTypeJpaRepository; +import com.sqx.modules.shopping.entity.GoodsType; +import com.sqx.modules.shopping.entity.SelfGoods; +import com.sqx.modules.shopping.utils.ResultUtil; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.jpa.domain.Specification; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.persistence.criteria.CriteriaBuilder; +import javax.persistence.criteria.Predicate; +import javax.persistence.criteria.Root; +import javax.persistence.criteria.Subquery; import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; -import java.util.List; +import java.util.*; @Service public class CouponServiceImpl extends ServiceImpl implements CouponService { @@ -24,13 +36,17 @@ public class CouponServiceImpl extends ServiceImpl implements private CouponDao couponDao; @Autowired private CouponUserDao couponUserDao; + @Autowired + private GoodsTypeJpaRepository goodsJpaTypeRepository; + @Autowired + private GoodsJpaRepository jpaRepository; @Override public Result selectAllCoupon(Integer page, Integer limit) { - if(page == null || limit==null){ + if (page == null || limit == null) { List coupons = baseMapper.selectCouponList(); - return Result.success().put("data",coupons); - }else{ + return Result.success().put("data", coupons); + } else { Page pages = new Page<>(page, limit); PageUtils pageUtils = new PageUtils(baseMapper.selectCouponPage(pages)); return Result.success().put("data", pageUtils); @@ -46,14 +62,18 @@ public class CouponServiceImpl extends ServiceImpl implements @Override public Result updateCoupon(Coupon coupon) { - couponDao.updateById(coupon); + if (coupon.getGoodsId() == null) { + couponDao.update(coupon, new UpdateWrapper().set("goods_id", null).eq("coupon_id", coupon.getCouponId())); + } else { + couponDao.updateById(coupon); + } return Result.success(); } @Override public Result selectCouponList(Integer page, Integer limit) { Page pages = new Page<>(page, limit); - PageUtils pageUtils = new PageUtils(baseMapper.selectPage(pages,null)); + PageUtils pageUtils = new PageUtils(baseMapper.selectPage(pages, null)); return Result.success().put("data", pageUtils); } @@ -70,7 +90,7 @@ public class CouponServiceImpl extends ServiceImpl implements Date date = calendar.getTime(); String createTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); String expirationTime = new SimpleDateFormat("yyyy-MM-dd").format(date); - if(amount == null) amount = 3; + if (amount == null) amount = 3; for (Integer i = 0; i < amount; i++) { couponUserDao.giveCoupon(userIdList, coupon.getCouponName(), coupon.getCouponPicture(), createTime, expirationTime, coupon.getMinMoney(), coupon.getMoney(), 0, coupon.getEndDate().toString()); @@ -84,5 +104,82 @@ public class CouponServiceImpl extends ServiceImpl implements return Result.success(); } + @Override + public Result selectListByType(String title, String type, Integer status, Integer isJiFenGoods) { + //构造自定义查询条件 + Specification queryCondition1 = (root, criteriaQuery, criteriaBuilder) -> { + List predicateList = new ArrayList<>(); + predicateList.add(criteriaBuilder.or(criteriaBuilder.equal(root.get("parentId"), "57"), criteriaBuilder.equal(root.get("id"), "57"))); + return criteriaBuilder.and(predicateList.toArray(new Predicate[0])); + }; + List materialTypes = goodsJpaTypeRepository.findAll(queryCondition1); +// Specification queryCondition = (root, criteriaQuery, criteriaBuilder) -> { +// List predicateList = new ArrayList<>(); +// if (StringUtils.isNotEmpty(title)) { +// predicateList.add(criteriaBuilder.like(root.get("title"), "%" + title + "%")); +// } +// CriteriaBuilder.In in = criteriaBuilder.in(root.get("typeId")); +// for (GoodsType goodsType : materialTypes) { +// in.value(goodsType.getId()); +// } +// predicateList.add(in); +// if (ObjectUtil.isNotEmpty(status)) { +// predicateList.add(criteriaBuilder.equal(root.get("status"), status)); +// } +// if (ObjectUtil.isNotEmpty(isJiFenGoods)) { +// predicateList.add(criteriaBuilder.equal(root.get("isJiFenGoods"), isJiFenGoods)); +// } else { +// predicateList.add(criteriaBuilder.isNull(root.get("isJiFenGoods"))); +// } +// return criteriaBuilder.and(predicateList.toArray(new Predicate[0])); +// }; + Specification queryCondition = (root, criteriaQuery, criteriaBuilder) -> { + List predicateList = new ArrayList<>(); + // 原有的查询条件保持不变 + if (StringUtils.isNotEmpty(title)) { + predicateList.add(criteriaBuilder.like(root.get("title"), "%" + title + "%")); + } + CriteriaBuilder.In in = criteriaBuilder.in(root.get("typeId")); + for (GoodsType goodsType : materialTypes) { + in.value(goodsType.getId()); + } + predicateList.add(in); + if (ObjectUtil.isNotEmpty(status)) { + predicateList.add(criteriaBuilder.equal(root.get("status"), status)); + } + if (ObjectUtil.isNotEmpty(isJiFenGoods)) { + predicateList.add(criteriaBuilder.equal(root.get("isJiFenGoods"), isJiFenGoods)); + } else { + predicateList.add(criteriaBuilder.isNull(root.get("isJiFenGoods"))); + } + + // 子查询:从Coupon表中选择所有goods_id,并且goodsId is not null + Subquery subquery = criteriaQuery.subquery(Long.class); + Root couponRoot = subquery.from(Coupon.class); + subquery.select(couponRoot.get("goodsId")); + + // 增加条件:goodsId is not null + subquery.where(criteriaBuilder.isNotNull(couponRoot.get("goodsId"))); + + // 添加not-in条件 + predicateList.add(criteriaBuilder.not(root.get("id").in(subquery))); + + return criteriaBuilder.and(predicateList.toArray(new Predicate[0])); + }; + //处理数据:商品分类 + List all = jpaRepository.findAll(queryCondition); + for (SelfGoods g : all) { + for (GoodsType goodsType : materialTypes) { + String typeId = g.getTypeId(); + if (StringUtils.isNotEmpty(typeId) && typeId.equals(goodsType.getId().toString())) { + g.setType(goodsType); + break; + } + } + } + HashMap map = Maps.newHashMap(); + map.put("data", all); + return Result.success(map); + } } 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 849adf1..6360d4f 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 @@ -13,6 +13,7 @@ import com.sqx.modules.coupon.dao.CouponUserDao; import com.sqx.modules.coupon.entity.Coupon; import com.sqx.modules.coupon.entity.CouponUser; import com.sqx.modules.coupon.service.CouponUserService; +import com.sqx.modules.shopping.entity.SelfGoods; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -60,6 +61,12 @@ public class CouponUserServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("goods_id",goodsId); + Coupon coupon = CouponDao.selectOne(queryWrapper); + //将优惠券添加到用户优惠券仓库 + CouponUser couponUser = new CouponUser(); + couponUser.setUserId(userId); + couponUser.setCouponName(coupon.getCouponName()); + couponUser.setCouponPicture(coupon.getCouponPicture()); + String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + couponUser.setCreateTime(format); + //计算优惠券过期时间 + Integer endDate = coupon.getEndDate(); + if(endDate!=null){ + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DATE, endDate); + calendar.add(Calendar.DATE, 1); + Date date = calendar.getTime(); + String format1 = new SimpleDateFormat("yyyy-MM-dd").format(date); + couponUser.setExpirationTime(format1); + }else{ + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DATE, 365); + calendar.add(Calendar.DATE, 1); + Date date = calendar.getTime(); + String format1 = new SimpleDateFormat("yyyy-MM-dd").format(date); + couponUser.setExpirationTime(format1); + } + + couponUser.setMinMoney(coupon.getMinMoney()); + couponUser.setMoney(coupon.getMoney()); + couponUser.setStatus(0); + CouponUserDao.insert(couponUser); + + return Result.success(); + } + @Override public Result selectCouponByUserId(Integer page, Integer limit, String id, Long userId, Integer status, String phone,String couponName) { String[] arr = null; diff --git a/src/main/java/com/sqx/modules/material/service/impl/MaterialArtificerServiceImpl.java b/src/main/java/com/sqx/modules/material/service/impl/MaterialArtificerServiceImpl.java index e25247c..fc3cd27 100644 --- a/src/main/java/com/sqx/modules/material/service/impl/MaterialArtificerServiceImpl.java +++ b/src/main/java/com/sqx/modules/material/service/impl/MaterialArtificerServiceImpl.java @@ -9,6 +9,7 @@ import com.sqx.modules.artificer.dao.ArtificerDao; import com.sqx.modules.artificer.dao.MassageTypeDao; import com.sqx.modules.artificer.entity.Artificer; import com.sqx.modules.artificer.entity.MassageType; +import com.sqx.modules.coupon.service.impl.CouponUserServiceImpl; import com.sqx.modules.material.dao.MaterialArtificerMapper; import com.sqx.modules.material.dao.MaterialMapper; import com.sqx.modules.material.dao.MaterialMassageMapper; @@ -18,6 +19,8 @@ import com.sqx.modules.material.entity.MaterialMassage; import com.sqx.modules.material.entity.MaterialRecord; import com.sqx.modules.material.service.MaterialArtificerService; import com.sqx.modules.material.service.MaterialRecordService; +import com.sqx.modules.shopping.entity.SelfGoods; +import com.sqx.modules.shopping.service.impl.SelfGoodsServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -26,10 +29,10 @@ import java.util.Date; import java.util.List; /** -* @author Administrator -* @description 针对表【material_artificer(物料包与技师中间表)】的数据库操作Service实现 -* @createDate 2024-02-27 15:30:46 -*/ + * @author Administrator + * @description 针对表【material_artificer(物料包与技师中间表)】的数据库操作Service实现 + * @createDate 2024-02-27 15:30:46 + */ @Service public class MaterialArtificerServiceImpl extends ServiceImpl implements MaterialArtificerService { @Autowired @@ -42,6 +45,11 @@ public class MaterialArtificerServiceImpl extends ServiceImpl materialArtificerList = baseMapper.selectList(queryWrapper); - if(materialArtificerList.size()>0){ + if (materialArtificerList.size() > 0) { return Result.error("该物料包已被添加,请重新选择"); } materialArtificer.setResidue(BigDecimal.ZERO); @@ -60,15 +68,15 @@ public class MaterialArtificerServiceImpl extends ServiceImpl materialMassageQueryWrapper = new QueryWrapper(); QueryWrapper materialArtificerQueryWrapper = new QueryWrapper(); QueryWrapper massageTypeQueryWrapper = new QueryWrapper(); //查询所有含有messageTypeId或者parent_id的数据 - massageTypeQueryWrapper.eq("massage_type_id",messageTypeId).or().eq("parent_id",messageTypeId); + massageTypeQueryWrapper.eq("massage_type_id", messageTypeId).or().eq("parent_id", messageTypeId); List massageTypeList = massageTypeDao.selectList(massageTypeQueryWrapper); //查询id为messageTypeId或者parent_id为messageTypeId - materialMassageQueryWrapper.in("massage_type_id",massageTypeList.stream().map(MassageType::getMassageTypeId).toArray()); + materialMassageQueryWrapper.in("massage_type_id", massageTypeList.stream().map(MassageType::getMassageTypeId).toArray()); List materialMassageList = materialMassageMapper.selectList(materialMassageQueryWrapper); - materialMassageQueryWrapper.eq("artificer_id",artificerId); + materialMassageQueryWrapper.eq("artificer_id", artificerId); List materialArtificers = baseMapper.selectList(materialArtificerQueryWrapper); //循环列表消耗物料包 - for (int i = 0; i < materialMassageList.size(); i++){ - for (int j = 0; j < materialArtificers.size(); j++){ - if(materialMassageList.get(i).getMaterialId().equals(materialArtificers.get(j).getMaterialId())){ + for (int i = 0; i < materialMassageList.size(); i++) { + for (int j = 0; j < materialArtificers.size(); j++) { + if (materialMassageList.get(i).getMaterialId().equals(materialArtificers.get(j).getMaterialId())) { BigDecimal reside = BigDecimal.ZERO; - if(materialArtificers.get(j).getResidue()!=null){ + if (materialArtificers.get(j).getResidue() != null) { reside = materialArtificers.get(j).getResidue(); } materialArtificers.get(j).setResidue(reside.subtract(materialMassageList.get(i).getConsume())); @@ -134,7 +142,7 @@ public class MaterialArtificerServiceImpl extends ServiceImpl().eq("user_id",userId)); - //查询物料包id - Material material = materialMapper.selectOne(new QueryWrapper().eq("goods_id",id)); - if(ObjectUtil.isEmpty(material)){ - return; - } - //根据物料包id和技师id查询技师对应物料包 - MaterialArtificer materialArtificer = baseMapper.selectOne(new QueryWrapper().eq("artificer_id",artificer.getArtificerId()).eq("material_id",material.getId())); - if(materialArtificer != null && materialArtificer.getResidue() !=null){ - //修改物料包数量 - materialArtificer.setResidue(materialArtificer.getResidue().add(new BigDecimal(number))); - baseMapper.updateById(materialArtificer); - //修改剩余量,执行新增历史记录 - MaterialRecord materialRecord = new MaterialRecord(); - materialRecord.setMaterialId(materialArtificer.getMaterialId()); - materialRecord.setType(1); - materialRecord.setTotal(materialArtificer.getResidue()); - materialRecord.setNumber(BigDecimal.valueOf(number)); - materialRecord.setUpdateTime(new Date()); - materialRecord.setCreateTime(new Date()); - materialRecord.setCreateUser(Long.valueOf(materialArtificer.getArtificerId())); - materialRecord.setArtificerId(materialArtificer.getArtificerId()); - materialRecord.setUpdateUser(Long.valueOf(materialArtificer.getArtificerId())); - materialRecord.setRecordDescribe(DateUtil.date()+"通过商城购买"+(materialRecord.getType().equals(1)?"新增数量:":"减少数量:")+materialArtificer.getResidue()); - materialRecordService.addMaterialRecord(materialRecord); - } - + SelfGoods selfGoods = (SelfGoods)selfGoodsService.findOne(id).getData(); + //如果是代金券 + if("57".equals(selfGoods.getTypeId())){ + couponUserService.buyShopCoupon(userId, id); + }else{//其它 + //查询技师id + Artificer artificer = artificerDao.selectOne(new QueryWrapper().eq("user_id", userId)); + //查询物料包id + Material material = materialMapper.selectOne(new QueryWrapper().eq("goods_id", id)); + if (ObjectUtil.isEmpty(material)) { + return; + } + //根据物料包id和技师id查询技师对应物料包 + MaterialArtificer materialArtificer = baseMapper.selectOne(new QueryWrapper().eq("artificer_id", artificer.getArtificerId()).eq("material_id", material.getId())); + if (materialArtificer != null && materialArtificer.getResidue() != null) { + //修改物料包数量 + materialArtificer.setResidue(materialArtificer.getResidue().add(new BigDecimal(number))); + baseMapper.updateById(materialArtificer); + //修改剩余量,执行新增历史记录 + MaterialRecord materialRecord = new MaterialRecord(); + materialRecord.setMaterialId(materialArtificer.getMaterialId()); + materialRecord.setType(1); + materialRecord.setTotal(materialArtificer.getResidue()); + materialRecord.setNumber(BigDecimal.valueOf(number)); + materialRecord.setUpdateTime(new Date()); + materialRecord.setCreateTime(new Date()); + materialRecord.setCreateUser(Long.valueOf(materialArtificer.getArtificerId())); + materialRecord.setArtificerId(materialArtificer.getArtificerId()); + materialRecord.setUpdateUser(Long.valueOf(materialArtificer.getArtificerId())); + materialRecord.setRecordDescribe(DateUtil.date() + "通过商城购买" + (materialRecord.getType().equals(1) ? "新增数量:" : "减少数量:") + materialArtificer.getResidue()); + materialRecordService.addMaterialRecord(materialRecord); + } + } } } diff --git a/src/main/java/com/sqx/modules/message/dao/MessageInfoDao.java b/src/main/java/com/sqx/modules/message/dao/MessageInfoDao.java index cf72096..52c1f2b 100644 --- a/src/main/java/com/sqx/modules/message/dao/MessageInfoDao.java +++ b/src/main/java/com/sqx/modules/message/dao/MessageInfoDao.java @@ -8,6 +8,7 @@ import com.sqx.modules.message.entity.MessageInfo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; import java.util.Map; /** @@ -30,4 +31,5 @@ public interface MessageInfoDao extends BaseMapper { IPage> selectArtificerList(Page> page,String artificerName,String phone); + List queryComplaints(); } diff --git a/src/main/java/com/sqx/modules/message/entity/MessageInfo.java b/src/main/java/com/sqx/modules/message/entity/MessageInfo.java index c3ee002..eb424af 100644 --- a/src/main/java/com/sqx/modules/message/entity/MessageInfo.java +++ b/src/main/java/com/sqx/modules/message/entity/MessageInfo.java @@ -113,4 +113,7 @@ public class MessageInfo implements Serializable { @TableField(exist = false) private String obj; + @TableField(exist = false) + private int cs; + } diff --git a/src/main/java/com/sqx/modules/message/service/MessageService.java b/src/main/java/com/sqx/modules/message/service/MessageService.java index 4658d1d..888e85e 100644 --- a/src/main/java/com/sqx/modules/message/service/MessageService.java +++ b/src/main/java/com/sqx/modules/message/service/MessageService.java @@ -8,6 +8,7 @@ import com.sqx.modules.message.entity.MessageInfo; import org.apache.ibatis.annotations.Param; import org.springframework.web.bind.annotation.RequestAttribute; +import java.util.List; import java.util.Map; public interface MessageService extends IService { @@ -46,4 +47,5 @@ public interface MessageService extends IService { void sendNoticeByCall(Long userId); + List queryComplaints(); } diff --git a/src/main/java/com/sqx/modules/message/service/impl/MessageServiceImpl.java b/src/main/java/com/sqx/modules/message/service/impl/MessageServiceImpl.java index fb5cf9b..0371abe 100644 --- a/src/main/java/com/sqx/modules/message/service/impl/MessageServiceImpl.java +++ b/src/main/java/com/sqx/modules/message/service/impl/MessageServiceImpl.java @@ -281,4 +281,9 @@ public class MessageServiceImpl extends AppNotifyUtil.AppNotify(byId.getPhone(),accountId,token,templateId); } + @Override + public List queryComplaints() { + return baseMapper.queryComplaints(); + } + } 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 7cc1f7c..08856b0 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 @@ -42,6 +42,16 @@ import com.sqx.modules.bl.commission.jjr.entity.JjrConfigLevel; import com.sqx.modules.bl.commission.jjr.service.JjrApplyService; import com.sqx.modules.bl.commission.jjr.service.JjrConfigLevelService; import com.sqx.modules.bl.commission.jjr.service.JjrConfigService; +import com.sqx.modules.bl.commission.qds.entity.QdsApply; +import com.sqx.modules.bl.commission.qds.entity.QdsCode; +import com.sqx.modules.bl.commission.qds.entity.QdsConfig; +import com.sqx.modules.bl.commission.qds.service.QdsConfigService; +import com.sqx.modules.bl.commission.qds.service.impl.DqsApplyServiceImpl; +import com.sqx.modules.bl.commission.qds.service.impl.DqsCodeServiceImpl; +import com.sqx.modules.bl.commission.ywy.entity.YwyApply; +import com.sqx.modules.bl.commission.ywy.entity.YwyConfig; +import com.sqx.modules.bl.commission.ywy.service.impl.YwyApplyServiceImpl; +import com.sqx.modules.bl.commission.ywy.service.impl.YwyConfigServiceImpl; import com.sqx.modules.bl.massage.entity.MassagePackage; import com.sqx.modules.bl.massage.service.MassagePackageService; import com.sqx.modules.bl.order.dao.UserPackageOrderDao; @@ -92,6 +102,8 @@ import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.*; /** @@ -181,6 +193,16 @@ public class AliPayController { private ArtificerIntegralStatisticsService artificerIntegralStatisticsService; @Autowired private SysDictService sysDictService; + @Autowired + private DqsCodeServiceImpl dqsCodeService; + @Autowired + private DqsApplyServiceImpl dqsApplyService; + @Autowired + private QdsConfigService qdsConfigService; + @Autowired + private YwyApplyServiceImpl ywyApplyService; + @Autowired + private YwyConfigServiceImpl ywyConfigService; private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -735,8 +757,9 @@ public class AliPayController { orders.setFxyTwoMoney(BigDecimal.ZERO); orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); FxyConfig fc = fxyConfigService.getOne(new QueryWrapper()); + UserEntity user = null; if(fc!=null && fc.getIsOpen().equals(1)){ - UserEntity user = userService.selectUserById(orders.getUserId()); + user = userService.selectUserById(orders.getUserId()); UserEntity fxyOneUser = userService.queryByInvitationCode(user.getBlFxyCode()); if(fxyOneUser!=null){ FxyApply faOne = fxyApplyService.findByUserId(fxyOneUser.getUserId()); @@ -842,12 +865,105 @@ public class AliPayController { } } + //渠道商与业务员 + //逻辑:先计算渠道商分佣 = 支付费用 * 渠道分成 + // 这个钱从技师和平台身上出 技师有承担比例 剩余的就是平台出的钱 + // 再计算业务员分佣 = 支付费用 * 业务员返佣比例 如果业务员配置了和渠道商是抽成关系 需要再 减去 渠道商分佣 + // 然后这个分佣从技师和平台身上出 技师有承担比例 剩余的就是平台出的钱 + orders.setQdsCodeMoney(BigDecimal.ZERO);//渠道商应拿分佣 + orders.setQdsArtificerDeductMoney(BigDecimal.ZERO);//渠道商分佣技师承担金额 + orders.setYwyCodeMoney(BigDecimal.ZERO);//业务员应拿分佣 + orders.setYwyArtificerDeductMoney(BigDecimal.ZERO);//业务员分佣技师承担金额 + { + //只需要看orders表里qds_code是否有值,有值则为本单对应渠道商 + String qdsCode = orders.getQdsCode();//渠道商邀请码 如果即是渠道商邀请的新用户 又是老客户扫渠道码下单 则取后者 + BigDecimal qdsbl = new BigDecimal(0);//渠道商分佣比例 + BigDecimal qdsjsfdbl = new BigDecimal(0);//渠道商分佣技师承担比例 + if (StringUtils.isNotBlank(qdsCode)) { + //判断渠道码是否在有效期内、渠道商是否有授权、渠道商功能是否开启,渠道码有效才计算渠道商和业务员分佣 + //判断渠道码是否在有效期内 + QdsCode qdsCodeInfo = dqsCodeService.queryQdmInfo(qdsCode); + if(qdsCodeInfo != null){ + qdsbl = qdsCodeInfo.getRate(); + LocalDate currentDate = LocalDate.now(); + boolean isValid = true;//渠道商是否进行分佣 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + if (qdsCodeInfo.getStartDate() != null && !qdsCodeInfo.getStartDate().isEmpty()) { + LocalDate start = LocalDate.parse(qdsCodeInfo.getStartDate(), formatter); + if (currentDate.isBefore(start)) { + isValid = false; + } + } + if (isValid && qdsCodeInfo.getEndDate() != null && !qdsCodeInfo.getEndDate().isEmpty()) { + LocalDate end = LocalDate.parse(qdsCodeInfo.getEndDate(), formatter); + if (currentDate.isAfter(end)) { + isValid = false; + } + } + if(isValid){ + //判断渠道商是否有授权(需要查两个表的渠道商状态) + QdsApply qdsApplyInfo = dqsApplyService.findByUserId(qdsCodeInfo.getUserId()); + if(qdsApplyInfo != null && qdsApplyInfo.getStatus() == 1){ + UserEntity qdsInfo = userService.selectUserById(qdsCodeInfo.getUserId()); + if(qdsInfo != null && qdsInfo.getBlIsQds() == 1){ + //判断渠道商功能是否开启 + QdsConfig qdsConfig = qdsConfigService.getOne(null); + if(qdsConfig!=null && qdsConfig.getIsOpen() == 1){ + orders.setQdsUserId(qdsInfo.getUserId()); + orders.setQdsUserName(qdsInfo.getUserName()); + qdsjsfdbl = qdsConfig.getArtificerRate(); + //开始计算渠道商分佣 + BigDecimal qdsMoney = subtract.multiply(qdsbl).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setQdsCodeMoney(qdsMoney); + BigDecimal qdsArtificerDeductMoney = qdsMoney.multiply(qdsjsfdbl).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setQdsArtificerDeductMoney(qdsArtificerDeductMoney); + + //计算业务员分佣 + { + //先用渠道商的业务员邀请码获取到业务员信息,判断tb_user表里是否业务员字段是否 = 1 然后看看后台业务员是否授权 再有一个看看业务员配置 功能是否已开启 + UserEntity ywyUser = userService.queryByInvitationCode(qdsInfo.getBlYwyCode()); + if(ywyUser != null && ywyUser.getBlIsYwy() == 1){ + YwyApply ywyApply = ywyApplyService.selectByUserId(ywyUser.getUserId()); + if(ywyApply != null && ywyApply.getStatus() == 1){ + YwyConfig ywyConfig = ywyConfigService.getOne(null); + if(ywyConfig!= null && ywyConfig.getIsOpen() == 1){ + orders.setYwyUserId(ywyUser.getUserId()); + orders.setYwyUserName(ywyUser.getUserName()); + //正式开始计算业务员分佣 + //开始计算渠道商分佣 + BigDecimal ywyMoney = subtract.multiply(ywyApply.getRate()).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + if(ywyConfig.getType() == 2){ + //业务员分佣金额大于渠道商分佣金额 + if(ywyMoney.compareTo(qdsMoney) == 1){ + ywyMoney = ywyMoney.subtract(qdsMoney); + }else{ + //业务员分佣金额小于等于渠道商分佣金额 + ywyMoney = new BigDecimal(0); + } + } + orders.setYwyCodeMoney(ywyMoney); + BigDecimal ywyArtificerDeductMoney = ywyMoney.multiply(ywyConfig.getArtificerRate()).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setYwyArtificerDeductMoney(ywyArtificerDeductMoney); + } + } + } + } + } + } + } + } + } + } + } + // artificerPrice = artificerPrice.subtract(oneArtificerMoney); artificerPrice = artificerPrice.subtract(orders.getJjrArtificerDeductMoney()); artificerPrice = artificerPrice.subtract(shopMoney); // artificerPrice = artificerPrice.subtract(oneUserMoney); artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 artificerPrice = artificerPrice.subtract(orders.getFxyTwoArtificerDeductMoney());//减掉二级分销商分佣技师承担 + artificerPrice = artificerPrice.subtract(orders.getQdsArtificerDeductMoney());//减去渠道商分佣 技师承担金额 + artificerPrice = artificerPrice.subtract(orders.getYwyArtificerDeductMoney());//减去业务员分佣 技师承担金额 if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){ }else{ //用户收益加上通行费用 @@ -865,6 +981,8 @@ public class AliPayController { // pingMoney = pingMoney.subtract(oneUserMoney); pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 pingMoney = pingMoney.subtract(orders.getFxyTwoMoney());//减掉二级分销商分佣 + pingMoney = pingMoney.subtract(orders.getQdsCodeMoney());//减掉渠道商分佣 + pingMoney = pingMoney.subtract(orders.getYwyCodeMoney());//减掉业务员分佣 orders.setPingMoney(pingMoney); ordersService.updateById(orders); @@ -946,6 +1064,8 @@ public class AliPayController { orders1.setAddJjrArtificerDeductMoney(orders1.getAddJjrArtificerDeductMoney().add(orders.getJjrArtificerDeductMoney())); orders1.setAddFxyOneArtificerDeductMoney(orders1.getAddFxyOneArtificerDeductMoney().add(orders.getFxyOneArtificerDeductMoney())); orders1.setAddFxyTwoArtificerDeductMoney(orders1.getAddFxyTwoArtificerDeductMoney().add(orders.getFxyTwoArtificerDeductMoney())); + orders1.setAddQdsArtificerDeductMoney(orders1.getAddQdsArtificerDeductMoney().add(orders.getQdsArtificerDeductMoney())); + orders1.setAddYwyArtificerDeductMoney(orders1.getAddYwyArtificerDeductMoney().add(orders.getYwyArtificerDeductMoney())); }else{ orders1.setAddMoney(orders.getPayMoney()); orders1.setAddArtificerMoney(orders.getArtificerMoney()); @@ -957,6 +1077,8 @@ public class AliPayController { orders1.setAddJjrArtificerDeductMoney(orders.getJjrArtificerDeductMoney()); orders1.setAddFxyOneArtificerDeductMoney(orders.getFxyOneArtificerDeductMoney()); orders1.setAddFxyTwoArtificerDeductMoney(orders.getFxyTwoArtificerDeductMoney()); + orders1.setAddQdsArtificerDeductMoney(orders.getQdsArtificerDeductMoney()); + orders1.setAddYwyArtificerDeductMoney(orders.getYwyArtificerDeductMoney()); } orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney())); orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney())); @@ -969,6 +1091,8 @@ public class AliPayController { // orders1.setFxyTwoMoney(orders1.getFxyTwoMoney().add(orders.getFxyTwoMoney())); // orders1.setFxyOneArtificerDeductMoney(orders1.getFxyOneArtificerDeductMoney().add(orders.getFxyOneArtificerDeductMoney())); // orders1.setFxyTwoArtificerDeductMoney(orders1.getFxyTwoArtificerDeductMoney().add(orders.getFxyTwoArtificerDeductMoney())); +// orders1.setQdsCodeMoney(orders1.getQdsCodeMoney().add(orders.getQdsCodeMoney())); +// orders1.setYwyCodeMoney(orders1.getYwyCodeMoney().add(orders.getYwyCodeMoney())); // orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney())); if(orders1.getStatus().equals(6)){ 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 a5d09f0..6c82999 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 @@ -32,6 +32,16 @@ import com.sqx.modules.bl.commission.jjr.entity.JjrConfigLevel; import com.sqx.modules.bl.commission.jjr.service.JjrApplyService; import com.sqx.modules.bl.commission.jjr.service.JjrConfigLevelService; import com.sqx.modules.bl.commission.jjr.service.JjrConfigService; +import com.sqx.modules.bl.commission.qds.entity.QdsApply; +import com.sqx.modules.bl.commission.qds.entity.QdsCode; +import com.sqx.modules.bl.commission.qds.entity.QdsConfig; +import com.sqx.modules.bl.commission.qds.service.QdsConfigService; +import com.sqx.modules.bl.commission.qds.service.impl.DqsApplyServiceImpl; +import com.sqx.modules.bl.commission.qds.service.impl.DqsCodeServiceImpl; +import com.sqx.modules.bl.commission.ywy.entity.YwyApply; +import com.sqx.modules.bl.commission.ywy.entity.YwyConfig; +import com.sqx.modules.bl.commission.ywy.service.impl.YwyApplyServiceImpl; +import com.sqx.modules.bl.commission.ywy.service.impl.YwyConfigServiceImpl; import com.sqx.modules.bl.massage.entity.MassagePackage; import com.sqx.modules.bl.massage.service.MassagePackageService; import com.sqx.modules.bl.order.dao.UserPackageOrderDao; @@ -77,7 +87,9 @@ import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.text.SimpleDateFormat; +import java.time.LocalDate; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.*; /** @@ -173,6 +185,16 @@ public class WxServiceImpl implements WxService { private ArtificerIntegralStatisticsService artificerIntegralStatisticsService; @Autowired private SysDictService sysDictService; + @Autowired + private DqsCodeServiceImpl dqsCodeService; + @Autowired + private DqsApplyServiceImpl dqsApplyService; + @Autowired + private QdsConfigService qdsConfigService; + @Autowired + private YwyApplyServiceImpl ywyApplyService; + @Autowired + private YwyConfigServiceImpl ywyConfigService; private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -2823,8 +2845,9 @@ public class WxServiceImpl implements WxService { orders.setFxyTwoMoney(BigDecimal.ZERO); orders.setFxyTwoArtificerDeductMoney(BigDecimal.ZERO); FxyConfig fc = fxyConfigService.getOne(new QueryWrapper()); + UserEntity user = null; if(fc!=null && fc.getIsOpen().equals(1)){ - UserEntity user = userService.selectUserById(orders.getUserId()); + user = userService.selectUserById(orders.getUserId()); UserEntity fxyOneUser = userService.queryByInvitationCode(user.getBlFxyCode()); if(fxyOneUser!=null){ FxyApply faOne = fxyApplyService.findByUserId(fxyOneUser.getUserId()); @@ -2930,12 +2953,106 @@ public class WxServiceImpl implements WxService { } } + //渠道商与业务员 + //逻辑:先计算渠道商分佣 = 支付费用 * 渠道分成 + // 这个钱从技师和平台身上出 技师有承担比例 剩余的就是平台出的钱 + // 再计算业务员分佣 = 支付费用 * 业务员返佣比例 如果业务员配置了和渠道商是抽成关系 需要再 减去 渠道商分佣 + // 然后这个分佣从技师和平台身上出 技师有承担比例 剩余的就是平台出的钱 + orders.setQdsCodeMoney(BigDecimal.ZERO);//渠道商应拿分佣 + orders.setQdsArtificerDeductMoney(BigDecimal.ZERO);//渠道商分佣技师承担金额 + orders.setYwyCodeMoney(BigDecimal.ZERO);//业务员应拿分佣 + orders.setYwyArtificerDeductMoney(BigDecimal.ZERO);//业务员分佣技师承担金额 + { + //只需要看orders表里qds_code是否有值,有值则为本单对应渠道商 + String qdsCode = orders.getQdsCode();//渠道商邀请码 如果即是渠道商邀请的新用户 又是老客户扫渠道码下单 则取后者 + BigDecimal qdsbl = new BigDecimal(0);//渠道商分佣比例 + BigDecimal qdsjsfdbl = new BigDecimal(0);//渠道商分佣技师承担比例 + if (StringUtils.isNotBlank(qdsCode)) { + //判断渠道码是否在有效期内、渠道商是否有授权、渠道商功能是否开启,渠道码有效才计算渠道商和业务员分佣 + //判断渠道码是否在有效期内 + QdsCode qdsCodeInfo = dqsCodeService.queryQdmInfo(qdsCode); + if(qdsCodeInfo != null){ + qdsbl = qdsCodeInfo.getRate(); + LocalDate currentDate = LocalDate.now(); + boolean isValid = true;//渠道商是否进行分佣 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + if (qdsCodeInfo.getStartDate() != null && !qdsCodeInfo.getStartDate().isEmpty()) { + LocalDate start = LocalDate.parse(qdsCodeInfo.getStartDate(), formatter); + if (currentDate.isBefore(start)) { + isValid = false; + } + } + if (isValid && qdsCodeInfo.getEndDate() != null && !qdsCodeInfo.getEndDate().isEmpty()) { + LocalDate end = LocalDate.parse(qdsCodeInfo.getEndDate(), formatter); + if (currentDate.isAfter(end)) { + isValid = false; + } + } + if(isValid){ + //判断渠道商是否有授权(需要查两个表的渠道商状态) + QdsApply qdsApplyInfo = dqsApplyService.findByUserId(qdsCodeInfo.getUserId()); + if(qdsApplyInfo != null && qdsApplyInfo.getStatus() == 1){ + UserEntity qdsInfo = userService.selectUserById(qdsCodeInfo.getUserId()); + if(qdsInfo != null && qdsInfo.getBlIsQds() == 1){ + //判断渠道商功能是否开启 + QdsConfig qdsConfig = qdsConfigService.getOne(null); + if(qdsConfig!=null && qdsConfig.getIsOpen() == 1){ + orders.setQdsUserId(qdsInfo.getUserId()); + orders.setQdsUserName(qdsInfo.getUserName()); + qdsjsfdbl = qdsConfig.getArtificerRate(); + //开始计算渠道商分佣 + BigDecimal qdsMoney = subtract.multiply(qdsbl).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setQdsCodeMoney(qdsMoney); + BigDecimal qdsArtificerDeductMoney = qdsMoney.multiply(qdsjsfdbl).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setQdsArtificerDeductMoney(qdsArtificerDeductMoney); + + //计算业务员分佣 + { + //先用渠道商的业务员邀请码获取到业务员信息,判断tb_user表里是否业务员字段是否 = 1 然后看看后台业务员是否授权 再有一个看看业务员配置 功能是否已开启 + UserEntity ywyUser = userService.queryByInvitationCode(qdsInfo.getBlYwyCode()); + if(ywyUser != null && ywyUser.getBlIsYwy() == 1){ + YwyApply ywyApply = ywyApplyService.selectByUserId(ywyUser.getUserId()); + if(ywyApply != null && ywyApply.getStatus() == 1){ + YwyConfig ywyConfig = ywyConfigService.getOne(null); + if(ywyConfig!= null && ywyConfig.getIsOpen() == 1){ + orders.setYwyUserId(ywyUser.getUserId()); + orders.setYwyUserName(ywyUser.getUserName()); + //正式开始计算业务员分佣 + //开始计算渠道商分佣 + BigDecimal ywyMoney = subtract.multiply(ywyApply.getRate()).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + if(ywyConfig.getType() == 2){ + //业务员分佣金额大于渠道商分佣金额 + if(ywyMoney.compareTo(qdsMoney) == 1){ + ywyMoney = ywyMoney.subtract(qdsMoney); + }else{ + //业务员分佣金额小于等于渠道商分佣金额 + ywyMoney = new BigDecimal(0); + } + } + orders.setYwyCodeMoney(ywyMoney); + BigDecimal ywyArtificerDeductMoney = ywyMoney.multiply(ywyConfig.getArtificerRate()).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); + orders.setYwyArtificerDeductMoney(ywyArtificerDeductMoney); + } + } + } + } + } + } + } + } + } + } + } + // artificerPrice = artificerPrice.subtract(oneArtificerMoney); artificerPrice = artificerPrice.subtract(orders.getJjrArtificerDeductMoney()); artificerPrice = artificerPrice.subtract(shopMoney); // artificerPrice = artificerPrice.subtract(oneUserMoney); artificerPrice = artificerPrice.subtract(orders.getFxyOneArtificerDeductMoney());//减掉一级分销商分佣技师承担 artificerPrice = artificerPrice.subtract(orders.getFxyTwoArtificerDeductMoney());//减掉二级分销商分佣技师承担 + artificerPrice = artificerPrice.subtract(orders.getQdsArtificerDeductMoney());//减去渠道商分佣 技师承担金额 + artificerPrice = artificerPrice.subtract(orders.getYwyArtificerDeductMoney());//减去业务员分佣 技师承担金额 + if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){ }else{ //用户收益加上通行费用 @@ -2953,6 +3070,8 @@ public class WxServiceImpl implements WxService { // pingMoney = pingMoney.subtract(oneUserMoney); pingMoney = pingMoney.subtract(orders.getFxyOneMoney());//减掉一级分销商分佣 pingMoney = pingMoney.subtract(orders.getFxyTwoMoney());//减掉二级分销商分佣 + pingMoney = pingMoney.subtract(orders.getQdsCodeMoney());//减掉渠道商分佣 + pingMoney = pingMoney.subtract(orders.getYwyCodeMoney());//减掉业务员分佣 orders.setPingMoney(pingMoney); ordersService.updateById(orders); @@ -3028,6 +3147,8 @@ public class WxServiceImpl implements WxService { orders1.setAddJjrArtificerDeductMoney(orders1.getAddJjrArtificerDeductMoney().add(orders.getJjrArtificerDeductMoney())); orders1.setAddFxyOneArtificerDeductMoney(orders1.getAddFxyOneArtificerDeductMoney().add(orders.getFxyOneArtificerDeductMoney())); orders1.setAddFxyTwoArtificerDeductMoney(orders1.getAddFxyTwoArtificerDeductMoney().add(orders.getFxyTwoArtificerDeductMoney())); + orders1.setAddQdsArtificerDeductMoney(orders1.getAddQdsArtificerDeductMoney().add(orders.getQdsArtificerDeductMoney())); + orders1.setAddYwyArtificerDeductMoney(orders1.getAddYwyArtificerDeductMoney().add(orders.getYwyArtificerDeductMoney())); }else{ orders1.setAddMoney(orders.getPayMoney()); orders1.setAddArtificerMoney(orders.getArtificerMoney()); @@ -3039,6 +3160,8 @@ public class WxServiceImpl implements WxService { orders1.setAddJjrArtificerDeductMoney(orders.getJjrArtificerDeductMoney()); orders1.setAddFxyOneArtificerDeductMoney(orders.getFxyOneArtificerDeductMoney()); orders1.setAddFxyTwoArtificerDeductMoney(orders.getFxyTwoArtificerDeductMoney()); + orders1.setAddQdsArtificerDeductMoney(orders.getQdsArtificerDeductMoney()); + orders1.setAddYwyArtificerDeductMoney(orders.getYwyArtificerDeductMoney()); } orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney())); orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney())); @@ -3051,6 +3174,8 @@ public class WxServiceImpl implements WxService { // orders1.setFxyTwoMoney(orders1.getFxyTwoMoney().add(orders.getFxyTwoMoney())); // orders1.setFxyOneArtificerDeductMoney(orders1.getFxyOneArtificerDeductMoney().add(orders.getFxyOneArtificerDeductMoney())); // orders1.setFxyTwoArtificerDeductMoney(orders1.getFxyTwoArtificerDeductMoney().add(orders.getFxyTwoArtificerDeductMoney())); +// orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney())); +// orders1.setYwyCodeMoney(orders1.getYwyCodeMoney().add(orders.getYwyCodeMoney())); // orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney())); if(orders1.getStatus().equals(6)){ @@ -3900,4 +4025,4 @@ public class WxServiceImpl implements WxService { -} \ No newline at end of file +} diff --git a/src/main/java/com/sqx/modules/shopping/service/impl/SelfGoodsServiceImpl.java b/src/main/java/com/sqx/modules/shopping/service/impl/SelfGoodsServiceImpl.java index 757c9c7..ae4f68c 100644 --- a/src/main/java/com/sqx/modules/shopping/service/impl/SelfGoodsServiceImpl.java +++ b/src/main/java/com/sqx/modules/shopping/service/impl/SelfGoodsServiceImpl.java @@ -2,6 +2,7 @@ package com.sqx.modules.shopping.service.impl; import cn.hutool.core.util.ObjectUtil; import com.sqx.modules.common.service.CommonInfoService; +import com.sqx.modules.coupon.entity.Coupon; import com.sqx.modules.shopping.controller.SkuUtil; import com.sqx.modules.shopping.dao.*; import com.sqx.modules.shopping.entity.*; @@ -20,10 +21,7 @@ import org.springframework.data.domain.Sort; import org.springframework.data.jpa.domain.Specification; import org.springframework.stereotype.Service; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; +import javax.persistence.criteria.*; import java.util.*; import java.util.stream.Collectors; @@ -524,16 +522,41 @@ public class SelfGoodsServiceImpl implements GoodsService { } Pageable pageable = PageRequest.of(page, size, Sort.by(order)); //构造自定义查询条件 +// Specification queryCondition = new Specification() { +// @Override +// public Predicate toPredicate(Root root, CriteriaQuery criteriaQuery, CriteriaBuilder criteriaBuilder) { +// List predicateList = new ArrayList<>(); +// predicateList.add(criteriaBuilder.equal(root.get("isRecommend"), 1)); //每日推荐 +// predicateList.add(criteriaBuilder.equal(root.get("status"), 1)); //上架 +// return criteriaBuilder.and(predicateList.toArray(new Predicate[predicateList.size()])); +// } +// }; Specification queryCondition = new Specification() { @Override public Predicate toPredicate(Root root, CriteriaQuery criteriaQuery, CriteriaBuilder criteriaBuilder) { List predicateList = new ArrayList<>(); - predicateList.add(criteriaBuilder.equal(root.get("isRecommend"), 1)); //每日推荐 - predicateList.add(criteriaBuilder.equal(root.get("status"), 1)); //上架 - return criteriaBuilder.and(predicateList.toArray(new Predicate[predicateList.size()])); + + // 添加 SelfGoods 表的查询条件 + predicateList.add(criteriaBuilder.equal(root.get("isRecommend"), 1)); // 每日推荐 + predicateList.add(criteriaBuilder.equal(root.get("status"), 1)); // 上架 + + // 创建子查询检查 Coupon 表中是否有对应记录且 goodsId 不为空 + Subquery subquery = criteriaQuery.subquery(Long.class); + Root couponRoot = subquery.from(Coupon.class); + subquery.select(couponRoot.get("goodsId")); // 假设 goodsId 是 Long 类型 + subquery.where( + criteriaBuilder.equal(couponRoot.get("goodsId"), root.get("id")), + criteriaBuilder.isNotNull(couponRoot.get("goodsId")) + ); + + // 将子查询作为 exists 条件添加到主查询 + predicateList.add(criteriaBuilder.exists(subquery)); + + return criteriaBuilder.and(predicateList.toArray(new Predicate[]{})); } }; - return ResultUtil.success(jpaRepository.findAll(queryCondition, pageable)); + Page all = jpaRepository.findAll(queryCondition, pageable); + return ResultUtil.success(all); } @Override @@ -781,4 +804,4 @@ public class SelfGoodsServiceImpl implements GoodsService { -} \ No newline at end of file +} 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 09edd56..5c7c812 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 @@ -19,6 +19,7 @@ import com.sqx.modules.bl.userZxsc.entity.BlUserZxsc; import com.sqx.modules.common.dao.CommonInfoDao; import com.sqx.modules.common.entity.CommonInfo; import com.sqx.modules.task.service.AllTaskSercice; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; @@ -31,6 +32,7 @@ import java.util.*; import java.util.stream.Collectors; @Service +@Slf4j public class AllTaskServiceImpl implements AllTaskSercice { @@ -75,30 +77,31 @@ public class AllTaskServiceImpl implements AllTaskSercice { // @Scheduled(cron = "0 * * * * ?") @Scheduled(cron = "0 00 04 * * ?") public void upgradeJishi() { - System.out.println("------------计算技师升级规则-----------"); + log.info("------------开始计算技师升级规则-----------"); Calendar calendar = Calendar.getInstance(); //新手技师 List xsList = artificerDao.getXsList(); - if(xsList.size()>0){ + if (xsList.size() > 0) { + log.info("新手技师列表大小: {}", xsList.size()); QueryWrapper sjgzQuery = new QueryWrapper(); - sjgzQuery.ne("grade","新"); + sjgzQuery.ne("grade", "新"); sjgzQuery.orderByAsc("id"); sjgzQuery.last("limit 1"); ArtificerPartitioningDetails jsdj = artificerPartitioningDetailsDao.selectOne(sjgzQuery); - for(Artificer artificer : xsList){ + for (Artificer artificer : xsList) { String createTime = artificer.getCreateTime(); - Date date = DateUtils.stringToDate(createTime,DateUtils.DATE_TIME_PATTERN); - date = DateUtils.addDateDays(date,7); + Date date = DateUtils.stringToDate(createTime, DateUtils.DATE_TIME_PATTERN); + date = DateUtils.addDateDays(date, 7); Date current = calendar.getTime(); - if(current.getTime()>=date.getTime()){ + if (current.getTime() >= date.getTime()) { artificer.setGrade(jsdj.getGrade()); QueryWrapper zqhzQuery = new QueryWrapper(); - sjgzQuery.eq("artificer_id",artificer.getArtificerId()); + sjgzQuery.eq("artificer_id", artificer.getArtificerId()); sjgzQuery.orderByDesc("id"); sjgzQuery.last("limit 1"); BlArtificerZqhz blArtificerZqhz = blArtificerZqhzDao.selectOne(zqhzQuery); - if(blArtificerZqhz!=null){ - if(blArtificerZqhz.getGrade()!=null&&!blArtificerZqhz.getGrade().equals("")){ + if (blArtificerZqhz != null) { + if (blArtificerZqhz.getGrade() != null && !blArtificerZqhz.getGrade().equals("")) { artificer.setGrade(blArtificerZqhz.getGrade()); } } @@ -112,7 +115,7 @@ public class AllTaskServiceImpl implements AllTaskSercice { String startTime = ""; String endTime = ""; //获取执行时间 - if(dayOfMonth == 1){ + if (dayOfMonth == 1) { Calendar calendar4 = Calendar.getInstance(); calendar4.set(Calendar.DAY_OF_MONTH, 1); calendar4.add(Calendar.DAY_OF_MONTH, -1); @@ -121,50 +124,50 @@ public class AllTaskServiceImpl implements AllTaskSercice { calendar2.add(Calendar.MONTH, -1); // 获取上个月 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM"); String lastMonth = format.format(calendar2.getTime()); - startTime = lastMonth+"-16 00:00:00"; - endTime = lastMonth+"-"+lastDayOfMonth+" 23:59:59"; - }else if(dayOfMonth == 16){ + startTime = lastMonth + "-16 00:00:00"; + endTime = lastMonth + "-" + lastDayOfMonth + " 23:59:59"; + } else if (dayOfMonth == 16) { Calendar calendar4 = Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM"); String lastMonth = format.format(calendar4.getTime()); - startTime = lastMonth+"-01 00:00:00"; - endTime = lastMonth+"-15 23:59:59"; + startTime = lastMonth + "-01 00:00:00"; + endTime = lastMonth + "-15 23:59:59"; } // startTime = "2024-06-21 00:00:00"; // endTime = "2024-06-30 23:59:59"; //不为空则继续执行,否则不到时间不计算升级规则 - if(StringUtils.isNotEmpty(startTime)){ + if (StringUtils.isNotEmpty(startTime)) { //2.获取全部参与积分规则的技师 List jslist = artificerDao.getYxjsList(); //3.查询升级规则配置表 QueryWrapper sjgzQuery = new QueryWrapper(); - sjgzQuery.ne("grade","新"); - sjgzQuery.orderByDesc("outstanding_achievement","duration_online"); + sjgzQuery.ne("grade", "新"); + sjgzQuery.orderByDesc("outstanding_achievement", "duration_online"); List sjgzAllList = artificerPartitioningDetailsDao.selectList(sjgzQuery); //4.根据技师的服务类型查找对应的配置规则, for (Artificer jsPar : jslist) { //获取技师是否参与积分规则,如果参与积分规则则继续执行,否则不变分成比例 //业绩、积分、收入 - ArtificerIntegralStatistics artificerIntegralStatistics = artificerIntegralStatisticsDao.getIntegralStatistics(jsPar.getArtificerId(),startTime,endTime,null); + ArtificerIntegralStatistics artificerIntegralStatistics = artificerIntegralStatisticsDao.getIntegralStatistics(jsPar.getArtificerId(), startTime, endTime, null); BigDecimal outstandingAchievement = BigDecimal.ZERO; BigDecimal integral = BigDecimal.ZERO; BigDecimal income = BigDecimal.ZERO; - if(artificerIntegralStatistics!=null){ - if(artificerIntegralStatistics.getAchievement()!=null){ + if (artificerIntegralStatistics != null) { + if (artificerIntegralStatistics.getAchievement() != null) { outstandingAchievement = artificerIntegralStatistics.getAchievement(); } - if(artificerIntegralStatistics.getIntegral()!=null){ + if (artificerIntegralStatistics.getIntegral() != null) { integral = artificerIntegralStatistics.getIntegral(); } - if(artificerIntegralStatistics.getIncome()!=null){ + if (artificerIntegralStatistics.getIncome() != null) { income = artificerIntegralStatistics.getIncome(); } } //在线时长 - ArtificerIntegralStatistics zxscStatistics = artificerIntegralStatisticsDao.getIntegralStatistics(jsPar.getArtificerId(),startTime,endTime,1); + ArtificerIntegralStatistics zxscStatistics = artificerIntegralStatisticsDao.getIntegralStatistics(jsPar.getArtificerId(), startTime, endTime, 1); BigDecimal zxscjf = BigDecimal.ZERO; - if(zxscStatistics!=null){ + if (zxscStatistics != null) { zxscjf = zxscStatistics.getIntegral(); } //多少分钟等1积分 @@ -174,7 +177,7 @@ public class AllTaskServiceImpl implements AllTaskSercice { String jsdj = "";//等级 BigDecimal rate = BigDecimal.valueOf(0); - for (ArtificerPartitioningDetails sjgzPar : sjgzAllList){ + for (ArtificerPartitioningDetails sjgzPar : sjgzAllList) { //当技师的服务类型=升级规则的服务类型,才可以添加到升级规则里去 //最低业绩 BigDecimal zddjPar = sjgzPar.getOutstandingAchievement(); @@ -183,38 +186,38 @@ public class AllTaskServiceImpl implements AllTaskSercice { //在线时长 BigDecimal zxscPar = new BigDecimal(sjgzPar.getDurationOnline()); - if(outstandingAchievement.compareTo(zddjPar)>=0&&integral.compareTo(czjfPar)>=0&&zxcs.compareTo(zxscPar)>=0){ + if (outstandingAchievement.compareTo(zddjPar) >= 0 && integral.compareTo(czjfPar) >= 0 && zxcs.compareTo(zxscPar) >= 0) { jsdj = sjgzPar.getGrade(); rate = BigDecimal.valueOf(Double.parseDouble(sjgzPar.getProportionalSharing())); break; } } //如果都不符合,则给最低等级(保底) - if(StringUtils.isEmpty(jsdj)){ + if (StringUtils.isEmpty(jsdj)) { QueryWrapper sjgzQuery1 = new QueryWrapper(); - sjgzQuery.ne("grade","新"); + sjgzQuery.ne("grade", "新"); sjgzQuery.orderByAsc("id"); sjgzQuery.last("limit 1"); List zddjgz = artificerPartitioningDetailsDao.selectList(sjgzQuery1); - if(zddjgz!=null && zddjgz.size()>0){ + if (zddjgz != null && zddjgz.size() > 0) { jsdj = zddjgz.get(0).getGrade(); rate = new BigDecimal(zddjgz.get(0).getProportionalSharing()); } } - if(StringUtils.isEmpty(jsdj)){ + if (StringUtils.isEmpty(jsdj)) { jsdj = "T0"; rate = BigDecimal.valueOf(0.5); } - if(StringUtils.isNotEmpty(jsdj)){ - if(jsPar.getGrade().equals("新")){ - if(rate.compareTo(jsPar.getRate())>=0){ + if (StringUtils.isNotEmpty(jsdj)) { + if (jsPar.getGrade().equals("新")) { + if (rate.compareTo(jsPar.getRate()) >= 0) { Artificer jsUp = new Artificer(); jsUp.setRate(rate); jsUp.setGrade(jsdj); jsUp.setArtificerId(jsPar.getArtificerId()); artificerDao.updateById(jsUp); } - }else{ + } else { Artificer jsUp = new Artificer(); jsUp.setRate(rate); jsUp.setGrade(jsdj); @@ -225,9 +228,9 @@ public class AllTaskServiceImpl implements AllTaskSercice { //技师汇总逻辑 QueryWrapper blArtificerZqhzQueryWrapper = new QueryWrapper<>(); - blArtificerZqhzQueryWrapper.eq("artificer_id",jsPar.getArtificerId()); - blArtificerZqhzQueryWrapper.ge("start_time",startTime); - blArtificerZqhzQueryWrapper.le("end_time",endTime); + blArtificerZqhzQueryWrapper.eq("artificer_id", jsPar.getArtificerId()); + blArtificerZqhzQueryWrapper.ge("start_time", startTime); + blArtificerZqhzQueryWrapper.le("end_time", endTime); blArtificerZqhzDao.delete(blArtificerZqhzQueryWrapper); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -239,14 +242,15 @@ public class AllTaskServiceImpl implements AllTaskSercice { } catch (ParseException e) { e.printStackTrace(); } - blArtificerZqhz.setXsje(income+""); //销售金额 - blArtificerZqhz.setYj(outstandingAchievement+""); //业绩 - blArtificerZqhz.setZxsc(zxcs+"");//在线时长 - blArtificerZqhz.setJf(integral+"");//积分 + blArtificerZqhz.setXsje(income + ""); //销售金额 + blArtificerZqhz.setYj(outstandingAchievement + ""); //业绩 + blArtificerZqhz.setZxsc(zxcs + "");//在线时长 + blArtificerZqhz.setJf(integral + "");//积分 blArtificerZqhz.setGrade(jsdj);//等级 blArtificerZqhzDao.insert(blArtificerZqhz); } } + log.info("------------完成计算技师升级规则-----------"); } /** @@ -254,7 +258,7 @@ public class AllTaskServiceImpl implements AllTaskSercice { */ @Scheduled(cron = "0 * * * * ?") public void upJishiZxsc() throws ParseException { - System.out.println("----------------计算技师在线时长,每10分钟计算一积分-------------"); + log.info("----------------开始计算技师在线时长,每10分钟计算一积分-------------"); CommonInfo commonInfo = commonInfoDao.findOne(100000); String minute = commonInfo.getValue();//多少分钟等于1积分 @@ -263,28 +267,28 @@ public class AllTaskServiceImpl implements AllTaskSercice { List artificerList = artificerDao.selectInlineList(artificer); Date now = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - for(Artificer par:artificerList){ + for (Artificer par : artificerList) { //取最新的一回的获得积分时间 QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("artificer_id",par.getArtificerId()); + queryWrapper.eq("artificer_id", par.getArtificerId()); queryWrapper.orderByDesc("create_time"); queryWrapper.last("limit 1"); BlUserZxsc blUserZxsc = blUserZxscDao.selectOne(queryWrapper); - if(blUserZxsc == null){ + if (blUserZxsc == null) { BigDecimal recharge = new BigDecimal(1); BlUserZxsc newBlUserZxsc = new BlUserZxsc(); newBlUserZxsc.setArtificerId(par.getArtificerId()); newBlUserZxsc.setUserRecharge(recharge); newBlUserZxsc.setCreateTime(sdf.format(new Date())); blUserZxscDao.insert(newBlUserZxsc); - }else{ + } else { String createTime = blUserZxsc.getCreateTime(); //上一回时间加十分钟 Calendar calendar = Calendar.getInstance(); calendar.setTime(sdf.parse(createTime)); calendar.add(Calendar.MINUTE, Integer.parseInt(minute)); Date nextDate = calendar.getTime(); - if (now.getTime()>=nextDate.getTime()) {//nowTime < newTime + if (now.getTime() >= nextDate.getTime()) {//nowTime < newTime BigDecimal recharge = new BigDecimal(1); BlUserZxsc newBlUserZxsc = new BlUserZxsc(); newBlUserZxsc.setArtificerId(par.getArtificerId()); @@ -295,6 +299,7 @@ public class AllTaskServiceImpl implements AllTaskSercice { } } + log.info("----------------完成计算技师在线时长,每10分钟计算一积分-------------"); } /** @@ -302,7 +307,7 @@ public class AllTaskServiceImpl implements AllTaskSercice { */ @Scheduled(cron = "0 0 0 * * ?") public void tongjiJishiGrade() { - System.out.println("----------------每日积分汇总 定时任务-------------"); + log.info("----------------开始每日积分汇总 定时任务-------------"); //当前时间减一天 Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DAY_OF_YEAR, -1);//上一天 @@ -313,13 +318,13 @@ public class AllTaskServiceImpl implements AllTaskSercice { blUserZxscParam.setCreateTime(date); List blUserZxsc = blUserZxscDao.selectGrouplist(blUserZxscParam); String dateStr = sdf2.format(calendar.getTime()); - for(BlUserZxsc blUserZxscPar:blUserZxsc){ + for (BlUserZxsc blUserZxscPar : blUserZxsc) { QueryWrapper delWrapper = new QueryWrapper(); - delWrapper.eq("artificer_id",blUserZxscPar.getArtificerId()); - delWrapper.eq("type",1); - delWrapper.ge("create_time",date); - delWrapper.le("create_time",date+" 23:59:59"); + delWrapper.eq("artificer_id", blUserZxscPar.getArtificerId()); + delWrapper.eq("type", 1); + delWrapper.ge("create_time", date); + delWrapper.le("create_time", date + " 23:59:59"); userRechargeDao.delete(delWrapper); UserRecharge userRecharge = new UserRecharge(); @@ -330,6 +335,7 @@ public class AllTaskServiceImpl implements AllTaskSercice { userRecharge.setCreateTime(dateStr); userRechargeDao.insert(userRecharge); } + log.info("----------------完成每日积分汇总 定时任务-------------"); } /** @@ -337,7 +343,7 @@ public class AllTaskServiceImpl implements AllTaskSercice { */ @Scheduled(cron = "0 0 1 * * ?") public void tongjiIntegral() { - System.out.println("----------------每日积业绩及分汇总 定时任务-------------"); + log.info("----------------开始每日业绩及积分汇总 定时任务-------------"); //当前时间减一天 Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DAY_OF_YEAR, -1);//上一天 @@ -348,12 +354,12 @@ public class AllTaskServiceImpl implements AllTaskSercice { blUserZxscParam.setCreateTime(date); //获取在线积分 List blUserZxsc = blUserZxscDao.selectGrouplist(blUserZxscParam); - for(BlUserZxsc blUserZxscPar:blUserZxsc){ + for (BlUserZxsc blUserZxscPar : blUserZxsc) { QueryWrapper delWrapper = new QueryWrapper(); - delWrapper.eq("artificer_id",blUserZxscPar.getArtificerId()); - delWrapper.eq("classify",1); - delWrapper.ge("create_time",date); - delWrapper.le("create_time",date+" 23:59:59"); + delWrapper.eq("artificer_id", blUserZxscPar.getArtificerId()); + delWrapper.eq("classify", 1); + delWrapper.ge("create_time", date); + delWrapper.le("create_time", date + " 23:59:59"); artificerIntegralStatisticsDao.delete(delWrapper); Artificer artificer = artificerDao.selectById(blUserZxscPar.getArtificerId()); @@ -363,23 +369,24 @@ public class AllTaskServiceImpl implements AllTaskSercice { artificerIntegralStatistics.setClassify(1); artificerIntegralStatistics.setType(1); artificerIntegralStatistics.setIntegral(blUserZxscPar.getUserRecharge()); - artificerIntegralStatistics.setCreateTime(date+" 23:59:59"); + artificerIntegralStatistics.setCreateTime(date + " 23:59:59"); artificerIntegralStatisticsDao.insert(artificerIntegralStatistics); } - + log.info("----------------完成每日业绩及积分汇总 定时任务-------------"); } //赠送盛安豆定时任务 @Scheduled(cron = "0 10 0 * * ?") public void updateSadJob() { + log.info("--------------开始赠送盛安豆定时任务--------------"); QueryWrapper query = new QueryWrapper<>(); - query.eq("sfwc",0); + query.eq("sfwc", 0); List list = blSadJobService.list(query); - for(BlSadJob par : list){ + for (BlSadJob par : list) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String date=sdf.format(new Date()); - userMoneyService.updateSad(1,par.getUserId(),par.getDayMoney()); - UserSadDetails userMoneyDetails=new UserSadDetails(); + String date = sdf.format(new Date()); + userMoneyService.updateSad(1, par.getUserId(), par.getDayMoney()); + UserSadDetails userMoneyDetails = new UserSadDetails(); //查询用户当前余额 UserMoney userNowMoney = userMoneyService.selectUserMoneyByUserId(par.getUserId()); //插入余额 @@ -388,46 +395,48 @@ public class AllTaskServiceImpl implements AllTaskSercice { userMoneyDetails.setManipulateType(2); userMoneyDetails.setUserId(par.getUserId()); userMoneyDetails.setTitle("[充值赠送]标题:充值"); - userMoneyDetails.setContent("获得盛安豆:"+par.getDayMoney()); + userMoneyDetails.setContent("获得盛安豆:" + par.getDayMoney()); userMoneyDetails.setType(1); userMoneyDetails.setMoney(userNowMoney.getSad()); userMoneyDetails.setCreateTime(date); userMoneyDetails.setBlRole(2); userMoneyDetails.setBlFlag(1); userSadDetailsService.insert(userMoneyDetails); - int day = par.getDayNum()+1; + int day = par.getDayNum() + 1; par.setDayNum(day); - if(day == par.getDaySumNum()){ + if (day == par.getDaySumNum()) { par.setSfwc(1); } blSadJobService.updateById(par); } + log.info("--------------完成赠送盛安豆定时任务--------------"); } //技师每天闲时配置 @Scheduled(cron = "10 00 0 * * ?") public void setArtificerTime() { + log.info("--------------开始设置技师每天闲时配置--------------"); Calendar calendar = Calendar.getInstance(); - String startDate = DateUtils.format(calendar.getTime(),DateUtils.DATE_PATTERN); + String startDate = DateUtils.format(calendar.getTime(), DateUtils.DATE_PATTERN); calendar.add(Calendar.DAY_OF_MONTH, 3); - String endDate = DateUtils.format(calendar.getTime(),DateUtils.DATE_PATTERN); + String endDate = DateUtils.format(calendar.getTime(), DateUtils.DATE_PATTERN); QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.apply("id in ( select max(id) from artificer_time_idel b group by artificer_id )"); List artificerTimeIdelList = artificerTimeIdelDao.selectList(queryWrapper); - for(int i=0;i dateMap = getIdelMap(startDate+" "+startTime,endDate+" "+endTime); - Map dateMap = getIdelMap(startDate,startTime,endDate,endTime); - Map busyMap = getBusyMap(dateMap); + Map dateMap = getIdelMap(startDate, startTime, endDate, endTime); + Map busyMap = getBusyMap(dateMap); for (String key : busyMap.keySet()) { List busyTimeList = busyMap.get(key); - for(String time : busyTimeList){ + for (String time : busyTimeList) { Integer counts = artificerTimeDao.selectCount(new QueryWrapper().eq("artificer_date", key).eq("artificer_id", artificerId).eq("artificer_time", time)); - if(counts==0){ - ArtificerTime artificerTime=new ArtificerTime(); + if (counts == 0) { + ArtificerTime artificerTime = new ArtificerTime(); artificerTime.setArtificerDate(key); artificerTime.setArtificerTime(time); artificerTime.setArtificerId(artificerId); @@ -438,65 +447,66 @@ public class AllTaskServiceImpl implements AllTaskSercice { } } } + log.info("--------------完成设置技师每天闲时配置--------------"); } -// private Map getIdelMap(String startDateStr, String endDateStr){ - private Map getIdelMap(String startDayStr,String startTimeStr,String endDayStr,String endTimeStr){ - Map map = new HashMap(); - Date startDate = DateUtils.stringToDate(startDayStr,"yyyy-MM-dd"); - Date endDate = DateUtils.stringToDate(endDayStr,"yyyy-MM-dd"); - Date startTime = DateUtils.stringToDate(startTimeStr,"HH:mm"); - Date endTime = DateUtils.stringToDate(endTimeStr,"HH:mm"); + // private Map getIdelMap(String startDateStr, String endDateStr){ + private Map getIdelMap(String startDayStr, String startTimeStr, String endDayStr, String endTimeStr) { + Map map = new HashMap(); + Date startDate = DateUtils.stringToDate(startDayStr, "yyyy-MM-dd"); + Date endDate = DateUtils.stringToDate(endDayStr, "yyyy-MM-dd"); + Date startTime = DateUtils.stringToDate(startTimeStr, "HH:mm"); + Date endTime = DateUtils.stringToDate(endTimeStr, "HH:mm"); Date currentDate = startDate; - while(currentDate.getTime()<=endDate.getTime()){ - String day = DateUtils.format(currentDate,"yyyy-MM-dd"); + while (currentDate.getTime() <= endDate.getTime()) { + String day = DateUtils.format(currentDate, "yyyy-MM-dd"); Date currentTime = startTime; - while(currentTime.getTime()<=endTime.getTime()){ - String time = DateUtils.format(currentTime,"HH:mm"); - if(map.get(day)!=null){ + while (currentTime.getTime() <= endTime.getTime()) { + String time = DateUtils.format(currentTime, "HH:mm"); + if (map.get(day) != null) { List timeList = map.get(day); timeList.add(time); - }else{ + } else { List timeList = new ArrayList<>(); timeList.add(time); - map.put(day,timeList); + map.put(day, timeList); } - currentTime = DateUtils.addDateMinutes(currentTime,30); + currentTime = DateUtils.addDateMinutes(currentTime, 30); } - currentDate = DateUtils.addDateDays(currentDate,1); + currentDate = DateUtils.addDateDays(currentDate, 1); } return map; } - private Map getBusyMap(Map dateMap){ - Map map = new HashMap(); + private Map getBusyMap(Map dateMap) { + Map map = new HashMap(); for (String key : dateMap.keySet()) { List timeList = dateMap.get(key); - Map allTimes = getTimeMap(); - for(int i=0; i < timeList.size();i++){ + Map allTimes = getTimeMap(); + for (int i = 0; i < timeList.size(); i++) { String time = timeList.get(i); - if(allTimes.get(time)!=null){ + if (allTimes.get(time) != null) { allTimes.remove(time); } } List keyList = allTimes.keySet().stream().collect(Collectors.toList()); Collections.sort(keyList); - map.put(key,keyList); + map.put(key, keyList); } return map; } - private Map getTimeMap(){ - Map map = new HashMap(); - for(int i=0;i<24;i++){ + private Map getTimeMap() { + Map map = new HashMap(); + for (int i = 0; i < 24; i++) { String s = ""; - if(i<10){ - s = "0"+i+":"; - }else{ - s = i+":"; + if (i < 10) { + s = "0" + i + ":"; + } else { + s = i + ":"; } - map.put(s+"00",s+"00"); - map.put(s+"30",s+"30"); + map.put(s + "00", s + "00"); + map.put(s + "30", s + "30"); } return map; } diff --git a/src/main/java/com/sqx/modules/task/service/impl/AllTaskServiceImpl_bk.java b/src/main/java/com/sqx/modules/task/service/impl/AllTaskServiceImpl_bk.java new file mode 100644 index 0000000..6cac7f7 --- /dev/null +++ b/src/main/java/com/sqx/modules/task/service/impl/AllTaskServiceImpl_bk.java @@ -0,0 +1,505 @@ +//package com.sqx.modules.task.service.impl; +// +//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +//import com.sqx.common.utils.DateUtils; +//import com.sqx.modules.app.entity.UserMoney; +//import com.sqx.modules.app.entity.UserSadDetails; +//import com.sqx.modules.app.service.UserMoneyService; +//import com.sqx.modules.app.service.UserSadDetailsService; +//import com.sqx.modules.artificer.dao.*; +//import com.sqx.modules.artificer.entity.*; +//import com.sqx.modules.bl.artificer.dao.ArtificerIntegralStatisticsDao; +//import com.sqx.modules.bl.artificer.dao.ArtificerPartitioningDetailsDao; +//import com.sqx.modules.bl.artificer.entity.ArtificerIntegralStatistics; +//import com.sqx.modules.bl.artificer.entity.ArtificerPartitioningDetails; +//import com.sqx.modules.bl.sadjob.entity.BlSadJob; +//import com.sqx.modules.bl.sadjob.service.BlSadJobService; +//import com.sqx.modules.bl.userZxsc.dao.BlUserZxscDao; +//import com.sqx.modules.bl.userZxsc.entity.BlUserZxsc; +//import com.sqx.modules.common.dao.CommonInfoDao; +//import com.sqx.modules.common.entity.CommonInfo; +//import com.sqx.modules.task.service.AllTaskSercice; +//import lombok.extern.slf4j.Slf4j; +//import org.apache.commons.lang.StringUtils; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.scheduling.annotation.Scheduled; +//import org.springframework.stereotype.Service; +// +//import java.math.BigDecimal; +//import java.text.ParseException; +//import java.text.SimpleDateFormat; +//import java.util.*; +//import java.util.stream.Collectors; +// +//@Service +//@Slf4j +//public class AllTaskServiceImpl_bk implements AllTaskSercice { +// +// +// @Autowired +// private ArtificerDao artificerDao; +// +// @Autowired +// private ArtificerPartitioningDetailsDao artificerPartitioningDetailsDao; +// +// @Autowired +// private OrdersDao ordersDao; +// +// @Autowired +// private BlUserZxscDao blUserZxscDao; +// +// @Autowired +// public CommonInfoDao commonInfoDao; +// +// @Autowired +// private UserRechargeDao userRechargeDao; +// +// @Autowired +// private BlArtificerZqhzDao blArtificerZqhzDao; +// +// @Autowired +// private BlSadJobService blSadJobService; +// @Autowired +// private UserSadDetailsService userSadDetailsService; +// @Autowired +// private UserMoneyService userMoneyService; +// @Autowired +// private ArtificerIntegralStatisticsDao artificerIntegralStatisticsDao; +// @Autowired +// private ArtificerTimeDao artificerTimeDao; +// @Autowired +// private ArtificerTimeIdelDao artificerTimeIdelDao; +// +// /** +// * 计算技师升级规则 每天半夜1点执行,预留12点到01点之间的计算间隔,用于触发其他计算逻辑 +// * A0,A1,A2,A3,A4,A5等 +// */ +//// @Scheduled(cron = "0 * * * * ?") +// @Scheduled(cron = "0 00 04 * * ?") +// public void upgradeJishi() { +// System.out.println("------------计算技师升级规则-----------"); +// Calendar calendar = Calendar.getInstance(); +// //新手技师 +// List xsList = artificerDao.getXsList(); +// if(xsList.size()>0){ +// QueryWrapper sjgzQuery = new QueryWrapper(); +// sjgzQuery.ne("grade","新"); +// sjgzQuery.orderByAsc("id"); +// sjgzQuery.last("limit 1"); +// ArtificerPartitioningDetails jsdj = artificerPartitioningDetailsDao.selectOne(sjgzQuery); +// for(Artificer artificer : xsList){ +// String createTime = artificer.getCreateTime(); +// Date date = DateUtils.stringToDate(createTime,DateUtils.DATE_TIME_PATTERN); +// date = DateUtils.addDateDays(date,7); +// Date current = calendar.getTime(); +// if(current.getTime()>=date.getTime()){ +// artificer.setGrade(jsdj.getGrade()); +// QueryWrapper zqhzQuery = new QueryWrapper(); +// sjgzQuery.eq("artificer_id",artificer.getArtificerId()); +// sjgzQuery.orderByDesc("id"); +// sjgzQuery.last("limit 1"); +// BlArtificerZqhz blArtificerZqhz = blArtificerZqhzDao.selectOne(zqhzQuery); +// if(blArtificerZqhz!=null){ +// if(blArtificerZqhz.getGrade()!=null&&!blArtificerZqhz.getGrade().equals("")){ +// artificer.setGrade(blArtificerZqhz.getGrade()); +// } +// } +// artificerDao.updateById(artificer); +// } +// } +// } +// +// //1.获取计算周期,从几号到几号例如1号-15号为一个周期,16号到31号第二个周期 +// int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH); +// String startTime = ""; +// String endTime = ""; +// //获取执行时间 +// if(dayOfMonth == 1){ +// Calendar calendar4 = Calendar.getInstance(); +// calendar4.set(Calendar.DAY_OF_MONTH, 1); +// calendar4.add(Calendar.DAY_OF_MONTH, -1); +// int lastDayOfMonth = calendar4.get(Calendar.DAY_OF_MONTH); +// Calendar calendar2 = Calendar.getInstance(); +// calendar2.add(Calendar.MONTH, -1); // 获取上个月 +// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM"); +// String lastMonth = format.format(calendar2.getTime()); +// startTime = lastMonth+"-16 00:00:00"; +// endTime = lastMonth+"-"+lastDayOfMonth+" 23:59:59"; +// }else if(dayOfMonth == 16){ +// Calendar calendar4 = Calendar.getInstance(); +// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM"); +// String lastMonth = format.format(calendar4.getTime()); +// startTime = lastMonth+"-01 00:00:00"; +// endTime = lastMonth+"-15 23:59:59"; +// } +// +//// startTime = "2024-06-21 00:00:00"; +//// endTime = "2024-06-30 23:59:59"; +// //不为空则继续执行,否则不到时间不计算升级规则 +// if(StringUtils.isNotEmpty(startTime)){ +// //2.获取全部参与积分规则的技师 +// List jslist = artificerDao.getYxjsList(); +// //3.查询升级规则配置表 +// QueryWrapper sjgzQuery = new QueryWrapper(); +// sjgzQuery.ne("grade","新"); +// sjgzQuery.orderByDesc("outstanding_achievement","duration_online"); +// List sjgzAllList = artificerPartitioningDetailsDao.selectList(sjgzQuery); +// //4.根据技师的服务类型查找对应的配置规则, +// for (Artificer jsPar : jslist) { +// //获取技师是否参与积分规则,如果参与积分规则则继续执行,否则不变分成比例 +// //业绩、积分、收入 +// ArtificerIntegralStatistics artificerIntegralStatistics = artificerIntegralStatisticsDao.getIntegralStatistics(jsPar.getArtificerId(),startTime,endTime,null); +// BigDecimal outstandingAchievement = BigDecimal.ZERO; +// BigDecimal integral = BigDecimal.ZERO; +// BigDecimal income = BigDecimal.ZERO; +// if(artificerIntegralStatistics!=null){ +// if(artificerIntegralStatistics.getAchievement()!=null){ +// outstandingAchievement = artificerIntegralStatistics.getAchievement(); +// } +// if(artificerIntegralStatistics.getIntegral()!=null){ +// integral = artificerIntegralStatistics.getIntegral(); +// } +// if(artificerIntegralStatistics.getIncome()!=null){ +// income = artificerIntegralStatistics.getIncome(); +// } +// } +// //在线时长 +// ArtificerIntegralStatistics zxscStatistics = artificerIntegralStatisticsDao.getIntegralStatistics(jsPar.getArtificerId(),startTime,endTime,1); +// BigDecimal zxscjf = BigDecimal.ZERO; +// if(zxscStatistics!=null){ +// zxscjf = zxscStatistics.getIntegral(); +// } +// //多少分钟等1积分 +// CommonInfo commonInfo = commonInfoDao.findOne(100000); +// String value = commonInfo.getValue(); +// BigDecimal zxcs = zxscjf.multiply(new BigDecimal(value)).divide(new BigDecimal("60"), BigDecimal.ROUND_DOWN);//在线时长(小时) +// +// String jsdj = "";//等级 +// BigDecimal rate = BigDecimal.valueOf(0); +// for (ArtificerPartitioningDetails sjgzPar : sjgzAllList){ +// //当技师的服务类型=升级规则的服务类型,才可以添加到升级规则里去 +// //最低业绩 +// BigDecimal zddjPar = sjgzPar.getOutstandingAchievement(); +// //积分 +// BigDecimal czjfPar = new BigDecimal(sjgzPar.getIntegral()); +// //在线时长 +// BigDecimal zxscPar = new BigDecimal(sjgzPar.getDurationOnline()); +// +// if(outstandingAchievement.compareTo(zddjPar)>=0&&integral.compareTo(czjfPar)>=0&&zxcs.compareTo(zxscPar)>=0){ +// jsdj = sjgzPar.getGrade(); +// rate = BigDecimal.valueOf(Double.parseDouble(sjgzPar.getProportionalSharing())); +// break; +// } +// } +// //如果都不符合,则给最低等级(保底) +// if(StringUtils.isEmpty(jsdj)){ +// QueryWrapper sjgzQuery1 = new QueryWrapper(); +// sjgzQuery.ne("grade","新"); +// sjgzQuery.orderByAsc("id"); +// sjgzQuery.last("limit 1"); +// List zddjgz = artificerPartitioningDetailsDao.selectList(sjgzQuery1); +// if(zddjgz!=null && zddjgz.size()>0){ +// jsdj = zddjgz.get(0).getGrade(); +// rate = new BigDecimal(zddjgz.get(0).getProportionalSharing()); +// } +// } +// if(StringUtils.isEmpty(jsdj)){ +// jsdj = "T0"; +// rate = BigDecimal.valueOf(0.5); +// } +// if(StringUtils.isNotEmpty(jsdj)){ +// if(jsPar.getGrade().equals("新")){ +// if(rate.compareTo(jsPar.getRate())>=0){ +// Artificer jsUp = new Artificer(); +// jsUp.setRate(rate); +// jsUp.setGrade(jsdj); +// jsUp.setArtificerId(jsPar.getArtificerId()); +// artificerDao.updateById(jsUp); +// } +// }else{ +// Artificer jsUp = new Artificer(); +// jsUp.setRate(rate); +// jsUp.setGrade(jsdj); +// jsUp.setArtificerId(jsPar.getArtificerId()); +// artificerDao.updateById(jsUp); +// } +// } +// +// //技师汇总逻辑 +// QueryWrapper blArtificerZqhzQueryWrapper = new QueryWrapper<>(); +// blArtificerZqhzQueryWrapper.eq("artificer_id",jsPar.getArtificerId()); +// blArtificerZqhzQueryWrapper.ge("start_time",startTime); +// blArtificerZqhzQueryWrapper.le("end_time",endTime); +// blArtificerZqhzDao.delete(blArtificerZqhzQueryWrapper); +// +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +// BlArtificerZqhz blArtificerZqhz = new BlArtificerZqhz(); +// blArtificerZqhz.setArtificerId(jsPar.getArtificerId()); +// try { +// blArtificerZqhz.setStartTime(sdf.parse(startTime)); +// blArtificerZqhz.setEndTime(sdf.parse(endTime)); +// } catch (ParseException e) { +// e.printStackTrace(); +// } +// blArtificerZqhz.setXsje(income+""); //销售金额 +// blArtificerZqhz.setYj(outstandingAchievement+""); //业绩 +// blArtificerZqhz.setZxsc(zxcs+"");//在线时长 +// blArtificerZqhz.setJf(integral+"");//积分 +// blArtificerZqhz.setGrade(jsdj);//等级 +// blArtificerZqhzDao.insert(blArtificerZqhz); +// } +// } +// } +// +// /** +// * 计算技师在线时长,每10分钟计算一积分 +// */ +// @Scheduled(cron = "0 * * * * ?") +// public void upJishiZxsc() throws ParseException { +// System.out.println("----------------计算技师在线时长,每10分钟计算一积分-------------"); +// CommonInfo commonInfo = commonInfoDao.findOne(100000); +// String minute = commonInfo.getValue();//多少分钟等于1积分 +// +// Artificer artificer = new Artificer(); +// artificer.setStatus(1); +// List artificerList = artificerDao.selectInlineList(artificer); +// Date now = new Date(); +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +// for(Artificer par:artificerList){ +// //取最新的一回的获得积分时间 +// QueryWrapper queryWrapper = new QueryWrapper<>(); +// queryWrapper.eq("artificer_id",par.getArtificerId()); +// queryWrapper.orderByDesc("create_time"); +// queryWrapper.last("limit 1"); +// BlUserZxsc blUserZxsc = blUserZxscDao.selectOne(queryWrapper); +// if(blUserZxsc == null){ +// BigDecimal recharge = new BigDecimal(1); +// BlUserZxsc newBlUserZxsc = new BlUserZxsc(); +// newBlUserZxsc.setArtificerId(par.getArtificerId()); +// newBlUserZxsc.setUserRecharge(recharge); +// newBlUserZxsc.setCreateTime(sdf.format(new Date())); +// blUserZxscDao.insert(newBlUserZxsc); +// }else{ +// String createTime = blUserZxsc.getCreateTime(); +// //上一回时间加十分钟 +// Calendar calendar = Calendar.getInstance(); +// calendar.setTime(sdf.parse(createTime)); +// calendar.add(Calendar.MINUTE, Integer.parseInt(minute)); +// Date nextDate = calendar.getTime(); +// if (now.getTime()>=nextDate.getTime()) {//nowTime < newTime +// BigDecimal recharge = new BigDecimal(1); +// BlUserZxsc newBlUserZxsc = new BlUserZxsc(); +// newBlUserZxsc.setArtificerId(par.getArtificerId()); +// newBlUserZxsc.setUserRecharge(recharge); +// newBlUserZxsc.setCreateTime(sdf.format(new Date())); +// blUserZxscDao.insert(newBlUserZxsc); +// } +// } +// +// } +// } +// +// /** +// * 积分汇总 t+1进行汇总 +// */ +// @Scheduled(cron = "0 0 0 * * ?") +// public void tongjiJishiGrade() { +// System.out.println("----------------每日积分汇总 定时任务-------------"); +// //当前时间减一天 +// Calendar calendar = Calendar.getInstance(); +// calendar.add(Calendar.DAY_OF_YEAR, -1);//上一天 +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +// String date = sdf.format(calendar.getTime()); +// BlUserZxsc blUserZxscParam = new BlUserZxsc(); +// blUserZxscParam.setCreateTime(date); +// List blUserZxsc = blUserZxscDao.selectGrouplist(blUserZxscParam); +// String dateStr = sdf2.format(calendar.getTime()); +// for(BlUserZxsc blUserZxscPar:blUserZxsc){ +// +// QueryWrapper delWrapper = new QueryWrapper(); +// delWrapper.eq("artificer_id",blUserZxscPar.getArtificerId()); +// delWrapper.eq("type",1); +// delWrapper.ge("create_time",date); +// delWrapper.le("create_time",date+" 23:59:59"); +// userRechargeDao.delete(delWrapper); +// +// UserRecharge userRecharge = new UserRecharge(); +// userRecharge.setArtificerId(blUserZxscPar.getArtificerId()); +// userRecharge.setUserRecharge(blUserZxscPar.getUserRecharge()); +// userRecharge.setType("1"); +// userRecharge.setUserId(null); +// userRecharge.setCreateTime(dateStr); +// userRechargeDao.insert(userRecharge); +// } +// } +// +// /** +// * 业绩积分汇总 t+1 8时进行汇总 +// */ +// @Scheduled(cron = "0 0 1 * * ?") +// public void tongjiIntegral() { +// System.out.println("----------------每日积业绩及分汇总 定时任务-------------"); +// //当前时间减一天 +// Calendar calendar = Calendar.getInstance(); +// calendar.add(Calendar.DAY_OF_YEAR, -1);//上一天 +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +// String date = sdf.format(calendar.getTime()); +// BlUserZxsc blUserZxscParam = new BlUserZxsc(); +// blUserZxscParam.setCreateTime(date); +// //获取在线积分 +// List blUserZxsc = blUserZxscDao.selectGrouplist(blUserZxscParam); +// for(BlUserZxsc blUserZxscPar:blUserZxsc){ +// QueryWrapper delWrapper = new QueryWrapper(); +// delWrapper.eq("artificer_id",blUserZxscPar.getArtificerId()); +// delWrapper.eq("classify",1); +// delWrapper.ge("create_time",date); +// delWrapper.le("create_time",date+" 23:59:59"); +// artificerIntegralStatisticsDao.delete(delWrapper); +// +// Artificer artificer = artificerDao.selectById(blUserZxscPar.getArtificerId()); +// ArtificerIntegralStatistics artificerIntegralStatistics = new ArtificerIntegralStatistics(); +// artificerIntegralStatistics.setArtificerId(blUserZxscPar.getArtificerId()); +// artificerIntegralStatistics.setArtificerName(artificer.getArtificerName()); +// artificerIntegralStatistics.setClassify(1); +// artificerIntegralStatistics.setType(1); +// artificerIntegralStatistics.setIntegral(blUserZxscPar.getUserRecharge()); +// artificerIntegralStatistics.setCreateTime(date+" 23:59:59"); +// artificerIntegralStatisticsDao.insert(artificerIntegralStatistics); +// } +// +// } +// +// //赠送盛安豆定时任务 +// @Scheduled(cron = "0 10 0 * * ?") +// public void updateSadJob() { +// QueryWrapper query = new QueryWrapper<>(); +// query.eq("sfwc",0); +// List list = blSadJobService.list(query); +// for(BlSadJob par : list){ +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +// String date=sdf.format(new Date()); +// userMoneyService.updateSad(1,par.getUserId(),par.getDayMoney()); +// UserSadDetails userMoneyDetails=new UserSadDetails(); +// //查询用户当前余额 +// UserMoney userNowMoney = userMoneyService.selectUserMoneyByUserId(par.getUserId()); +// //插入余额 +// userMoneyDetails.setBalance(userNowMoney.getSad()); +// //插入操作类型为已操作用户余额 +// userMoneyDetails.setManipulateType(2); +// userMoneyDetails.setUserId(par.getUserId()); +// userMoneyDetails.setTitle("[充值赠送]标题:充值"); +// userMoneyDetails.setContent("获得盛安豆:"+par.getDayMoney()); +// userMoneyDetails.setType(1); +// userMoneyDetails.setMoney(userNowMoney.getSad()); +// userMoneyDetails.setCreateTime(date); +// userMoneyDetails.setBlRole(2); +// userMoneyDetails.setBlFlag(1); +// userSadDetailsService.insert(userMoneyDetails); +// int day = par.getDayNum()+1; +// par.setDayNum(day); +// if(day == par.getDaySumNum()){ +// par.setSfwc(1); +// } +// blSadJobService.updateById(par); +// } +// } +// +// //技师每天闲时配置 +// @Scheduled(cron = "10 00 0 * * ?") +// public void setArtificerTime() { +// Calendar calendar = Calendar.getInstance(); +// String startDate = DateUtils.format(calendar.getTime(),DateUtils.DATE_PATTERN); +// calendar.add(Calendar.DAY_OF_MONTH, 3); +// String endDate = DateUtils.format(calendar.getTime(),DateUtils.DATE_PATTERN); +// QueryWrapper queryWrapper = new QueryWrapper(); +// queryWrapper.apply("id in ( select max(id) from artificer_time_idel b group by artificer_id )"); +// List artificerTimeIdelList = artificerTimeIdelDao.selectList(queryWrapper); +// for(int i=0;i dateMap = getIdelMap(startDate+" "+startTime,endDate+" "+endTime); +// Map dateMap = getIdelMap(startDate,startTime,endDate,endTime); +// Map busyMap = getBusyMap(dateMap); +// for (String key : busyMap.keySet()) { +// List busyTimeList = busyMap.get(key); +// for(String time : busyTimeList){ +// Integer counts = artificerTimeDao.selectCount(new QueryWrapper().eq("artificer_date", key).eq("artificer_id", artificerId).eq("artificer_time", time)); +// if(counts==0){ +// ArtificerTime artificerTime=new ArtificerTime(); +// artificerTime.setArtificerDate(key); +// artificerTime.setArtificerTime(time); +// artificerTime.setArtificerId(artificerId); +// artificerTime.setClassify(2); +// artificerTime.setCreateTime(DateUtils.format(new Date())); +// artificerTimeDao.insert(artificerTime); +// } +// } +// } +// } +// } +// +//// private Map getIdelMap(String startDateStr, String endDateStr){ +// private Map getIdelMap(String startDayStr,String startTimeStr,String endDayStr,String endTimeStr){ +// Map map = new HashMap(); +// Date startDate = DateUtils.stringToDate(startDayStr,"yyyy-MM-dd"); +// Date endDate = DateUtils.stringToDate(endDayStr,"yyyy-MM-dd"); +// Date startTime = DateUtils.stringToDate(startTimeStr,"HH:mm"); +// Date endTime = DateUtils.stringToDate(endTimeStr,"HH:mm"); +// Date currentDate = startDate; +// while(currentDate.getTime()<=endDate.getTime()){ +// String day = DateUtils.format(currentDate,"yyyy-MM-dd"); +// Date currentTime = startTime; +// while(currentTime.getTime()<=endTime.getTime()){ +// String time = DateUtils.format(currentTime,"HH:mm"); +// if(map.get(day)!=null){ +// List timeList = map.get(day); +// timeList.add(time); +// }else{ +// List timeList = new ArrayList<>(); +// timeList.add(time); +// map.put(day,timeList); +// } +// currentTime = DateUtils.addDateMinutes(currentTime,30); +// } +// currentDate = DateUtils.addDateDays(currentDate,1); +// } +// return map; +// } +// +// private Map getBusyMap(Map dateMap){ +// Map map = new HashMap(); +// for (String key : dateMap.keySet()) { +// List timeList = dateMap.get(key); +// Map allTimes = getTimeMap(); +// for(int i=0; i < timeList.size();i++){ +// String time = timeList.get(i); +// if(allTimes.get(time)!=null){ +// allTimes.remove(time); +// } +// } +// List keyList = allTimes.keySet().stream().collect(Collectors.toList()); +// Collections.sort(keyList); +// map.put(key,keyList); +// } +// return map; +// } +// +// private Map getTimeMap(){ +// Map map = new HashMap(); +// for(int i=0;i<24;i++){ +// String s = ""; +// if(i<10){ +// s = "0"+i+":"; +// }else{ +// s = i+":"; +// } +// map.put(s+"00",s+"00"); +// map.put(s+"30",s+"30"); +// } +// return map; +// } +//} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 01f9156..ca5369c 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -36,6 +36,11 @@ spring: matching-strategy: ant_path_matcher # resources: # add-mappings: false + jpa: + show-sql: true + properties: + hibernate: + format_sql: true #mybatis @@ -70,4 +75,4 @@ sqx: secret: f4e2e52034348f86b67cde581c0f9eb5 # token有效时长,7天,单位秒 expire: 2592000 - header: token \ No newline at end of file + header: token diff --git a/src/main/resources/mapper/artificer/ArtificerDao.xml b/src/main/resources/mapper/artificer/ArtificerDao.xml index a599403..1ed4591 100644 --- a/src/main/resources/mapper/artificer/ArtificerDao.xml +++ b/src/main/resources/mapper/artificer/ArtificerDao.xml @@ -474,6 +474,12 @@ order by t.create_time,t.type + + insert into bl_artificer_integral_statistics( artificer_id, @@ -494,4 +500,4 @@ ) - \ 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 368e252..f92cb56 100644 --- a/src/main/resources/mapper/artificer/OrdersDao.xml +++ b/src/main/resources/mapper/artificer/OrdersDao.xml @@ -2125,5 +2125,8 @@ ) and o.status in (3,5) + - \ No newline at end of file + diff --git a/src/main/resources/mapper/bl/commission/qds/QdsCodeRecordDao.xml b/src/main/resources/mapper/bl/commission/qds/QdsCodeRecordDao.xml new file mode 100644 index 0000000..5c15811 --- /dev/null +++ b/src/main/resources/mapper/bl/commission/qds/QdsCodeRecordDao.xml @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/src/main/resources/mapper/bl/commission/qds/QdsDataDao.xml b/src/main/resources/mapper/bl/commission/qds/QdsDataDao.xml index 09261b7..8b5f6ec 100644 --- a/src/main/resources/mapper/bl/commission/qds/QdsDataDao.xml +++ b/src/main/resources/mapper/bl/commission/qds/QdsDataDao.xml @@ -3,50 +3,191 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/src/main/resources/mapper/bl/massage/MassagePackageDao.xml b/src/main/resources/mapper/bl/massage/MassagePackageDao.xml index 50a444a..dadc731 100644 --- a/src/main/resources/mapper/bl/massage/MassagePackageDao.xml +++ b/src/main/resources/mapper/bl/massage/MassagePackageDao.xml @@ -57,6 +57,10 @@ update bl_massage_package set is_tj=#{isTj} where id=#{id} + + update bl_massage_package set is_tg=#{isTg} where id=#{id} + + update bl_massage_package set status=#{status} where id=#{id} @@ -97,6 +101,9 @@ and a.is_tj = #{params.isTj} + + and a.is_tg = #{params.isTg} + union all select massage_type_id as id,title,classify_id as type,b.value as type_name,old_price,price,massage_img,jianjie,content_img,add_num,sales,labels,'项目' as flag,1 as is_can_coupon,1 as is_can_vip, 1 as service_count, 0 as level @@ -119,6 +126,9 @@ and a.is_tj = #{params.isTj} + + and a.is_tg = #{params.isTg} + order by sales desc,id asc @@ -212,4 +222,4 @@ limit 1 - \ No newline at end of file + diff --git a/src/main/resources/mapper/coupon/TbCouponMapper.xml b/src/main/resources/mapper/coupon/TbCouponMapper.xml index 03091cb..5596787 100644 --- a/src/main/resources/mapper/coupon/TbCouponMapper.xml +++ b/src/main/resources/mapper/coupon/TbCouponMapper.xml @@ -3,13 +3,15 @@ @@ -22,4 +24,4 @@ order by coupon_id desc - \ No newline at end of file + diff --git a/src/main/resources/mapper/message/MessageInfoDao.xml b/src/main/resources/mapper/message/MessageInfoDao.xml index 40dbd37..4ba9545 100644 --- a/src/main/resources/mapper/message/MessageInfoDao.xml +++ b/src/main/resources/mapper/message/MessageInfoDao.xml @@ -91,6 +91,11 @@ order by a.credit_score + - \ No newline at end of file +