订单修改

This commit is contained in:
曹磊 2024-06-25 15:14:15 +08:00
parent 00902c0ced
commit 0160e0b0bb
25 changed files with 759 additions and 51 deletions

View File

@ -26,10 +26,12 @@ import com.sqx.modules.message.service.MessageService;
import com.sqx.modules.pay.entity.PayDetails;
import com.sqx.modules.pay.service.CashOutService;
import com.sqx.modules.pay.service.PayDetailsService;
import com.sqx.modules.sys.entity.SysUserEntity;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import jodd.util.StringUtil;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -169,6 +171,9 @@ public class UserController {
public Result addCannotMoney(@PathVariable("userId") Long userId,@PathVariable("money") Double money,@PathVariable("type") Integer type){
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = simpleDateFormat.format(new Date());
Artificer artificer = artificerService.selectArtificerByUserId(userId);
if(type==1){
userMoneyService.updateMoney(1,userId,money);
UserMoneyDetails userMoneyDetails=new UserMoneyDetails();
@ -178,12 +183,19 @@ public class UserController {
userMoneyDetails.setBalance(userNowMoney.getMoney());
//插入操作类型为已操作用户余额
userMoneyDetails.setManipulateType(2);
userMoneyDetails.setByUserId(((SysUserEntity)SecurityUtils.getSubject().getPrincipal()).getUserId());
userMoneyDetails.setMoney(BigDecimal.valueOf(money));
userMoneyDetails.setUserId(userId);
userMoneyDetails.setContent("管理端充值:"+money);
userMoneyDetails.setTitle("管理端充值金额");
userMoneyDetails.setType(1);
userMoneyDetails.setCreateTime(format);
if(artificer != null){
userMoneyDetails.setBlRole(2);
}else{
userMoneyDetails.setBlRole(1);
}
userMoneyDetails.setBlFlag(1);
userMoneyDetailsService.save(userMoneyDetails);
PayDetails payDetails = new PayDetails();
payDetails.setState(1);
@ -192,6 +204,7 @@ public class UserController {
payDetails.setUserId(userId);
payDetails.setMoney(money);
payDetails.setClassify(5);
payDetails.setRemark(((SysUserEntity)SecurityUtils.getSubject().getPrincipal()).getUserId().toString());
payDetailsService.save(payDetails);
}else{
userMoneyService.updateMoney(2,userId,money);
@ -203,12 +216,19 @@ public class UserController {
userMoneyDetails.setBalance(userNowMoney.getMoney());
//插入操作类型为已操作用户余额
userMoneyDetails.setManipulateType(2);
userMoneyDetails.setByUserId(((SysUserEntity)SecurityUtils.getSubject().getPrincipal()).getUserId());
userMoneyDetails.setMoney(BigDecimal.valueOf(money));
userMoneyDetails.setUserId(userId);
userMoneyDetails.setContent("管理端减少:"+money);
userMoneyDetails.setTitle("管理端减少金额");
userMoneyDetails.setType(2);
userMoneyDetails.setCreateTime(format);
if(artificer != null){
userMoneyDetails.setBlRole(2);
}else{
userMoneyDetails.setBlRole(1);
}
userMoneyDetails.setBlFlag(1);
userMoneyDetailsService.save(userMoneyDetails);
PayDetails payDetails = new PayDetails();
payDetails.setState(1);
@ -217,6 +237,7 @@ public class UserController {
payDetails.setUserId(userId);
payDetails.setMoney(money);
payDetails.setClassify(5);
payDetails.setRemark(((SysUserEntity)SecurityUtils.getSubject().getPrincipal()).getUserId().toString());
payDetailsService.save(payDetails);
}
return Result.success();

View File

@ -73,12 +73,16 @@ public class ArtificerController {
@PostMapping("/updateMassageType")
@ApiOperation("修改按摩分类")
public Result updateMassageType(@RequestBody MassageType massageType){
MassageType massageType1 = massageTypeService.getById(massageType.getMassageTypeId());
if(massageType1!=null && !massageType1.getStatus().equals(massageType.getStatus())){
artificerMassageService.updateArtificerMassageStatus(massageType1.getMassageTypeId());
}
massageTypeService.updateById(massageType);
// public Result updateMassageType(@RequestBody MassageType massageType){
// MassageType massageType1 = massageTypeService.getById(massageType.getMassageTypeId());
// if(massageType1!=null && !massageType1.getStatus().equals(massageType.getStatus())){
// artificerMassageService.updateArtificerMassageStatus(massageType1.getMassageTypeId());
// }
// massageTypeService.updateById(massageType);
// return Result.success();
// }
public Result updateMassageType(@RequestBody ArtificerMassage artificerMassage){
artificerMassageService.updateArtificerMassageStatus(artificerMassage);
return Result.success();
}
@ -330,7 +334,7 @@ public class ArtificerController {
return ordersService.updateArtificerCreditScore(type, creditScore, artificerId);
}
@Scheduled(cron = "0 */1 * * * ?")
// @Scheduled(cron = "0 */1 * * * ?")
public void endOrders(){
ordersService.endOrders();
}

View File

@ -78,7 +78,7 @@ public class AppArtificerIntegralController {
*
* @return
*/
@Scheduled(cron = "0 0 0 11,21 * ?")
// @Scheduled(cron = "0 0 0 11,21 * ?")
@ApiOperation("技师停牌处理+升级处理")
public Result line() {
//每个月11号 21号和月末 在线时间不对问题更新所有技师本周期在线时间为00:00:00
@ -97,7 +97,7 @@ public class AppArtificerIntegralController {
*
* @return
*/
@Scheduled(cron = "0 0 0 L * ?")
// @Scheduled(cron = "0 0 0 L * ?")
@ApiOperation("技师停牌处理+升级处理")
public Result lines() {
//每个月11号 21号和月末在线离线时间不对问题更新所有技师在线时间为00:00:00

View File

@ -15,6 +15,6 @@ public interface ArtificerMassageDao extends BaseMapper<ArtificerMassage> {
IPage<ArtificerMassage> selectArtificerMassage(Page<ArtificerMassage> pages, Long userId, Integer status);
int updateArtificerMassageStatus(@Param("massageTypeId") Long massageTypeId);
int updateArtificerMassageStatus(ArtificerMassage artificerMassage);
}

View File

@ -3,6 +3,7 @@ package com.sqx.modules.artificer.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
@ -13,6 +14,7 @@ import java.io.Serializable;
* @date 2021-12-18
*/
@Data
@TableName("orders_massage")
public class OrdersMassage implements Serializable {
private static final long serialVersionUID = 1L;

View File

@ -18,6 +18,6 @@ public interface ArtificerMassageService extends IService<ArtificerMassage> {
Result selectArtificerMassage(Long userId, Integer page, Integer limit, Integer status);
int updateArtificerMassageStatus(Long massageTypeId);
int updateArtificerMassageStatus(ArtificerMassage artificerMassage);
}

View File

@ -7,5 +7,5 @@ import com.sqx.modules.artificer.entity.OrdersMassage;
public interface OrdersMassageService extends IService<OrdersMassage> {
void removeByOrdersId(Long ordersId);
}

View File

@ -93,8 +93,8 @@ public class ArtificerMassageServiceImpl extends ServiceImpl<ArtificerMassageDao
}
@Override
public int updateArtificerMassageStatus(Long massageTypeId){
return baseMapper.updateArtificerMassageStatus(massageTypeId);
public int updateArtificerMassageStatus(ArtificerMassage artificerMassage){
return baseMapper.updateArtificerMassageStatus(artificerMassage);
}
}

View File

@ -1,6 +1,8 @@
package com.sqx.modules.artificer.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sqx.modules.app.entity.UserMoneyDetails;
import com.sqx.modules.artificer.dao.MassageTypeDao;
import com.sqx.modules.artificer.dao.OrdersMassageDao;
import com.sqx.modules.artificer.entity.MassageType;
@ -13,6 +15,10 @@ import org.springframework.stereotype.Service;
@Service
public class OrdersMassageServiceImpl extends ServiceImpl<OrdersMassageDao, OrdersMassage> implements OrdersMassageService {
public void removeByOrdersId(Long ordersId){
QueryWrapper<OrdersMassage> queryWrapper = new QueryWrapper();
queryWrapper.eq("orders_id", ordersId);
baseMapper.delete(queryWrapper);
}
}

View File

@ -918,6 +918,11 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
orders.setPrice(BigDecimal.ZERO);
orders.setMassageMoney(oldOrders.getMassageMoney());
Date serveTimeDate = DateUtils.stringToDate(orders.getServeTime(), "yyyy-MM-dd HH:mm");
if(serveTimeDate.getTime() < (new Date()).getTime()){
return Result.error("服务时间不能晚于当前时间!");
}
String value1 = commonInfoService.findOne(395).getValue();
int i = 0;
//1.锁定本单服务时间问题
@ -965,7 +970,6 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
}
if (i > 1) {
Date parse = DateUtils.stringToDate(serveTime, "yyyy-MM-dd HH:mm");
;
Calendar calendar = Calendar.getInstance();
calendar.setTime(parse);
for (int j = 1; j < i; j++) {
@ -1001,6 +1005,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
orders.setOldOrdersId(oldOrders.getOrdersId());
baseMapper.insert(orders);
ordersMassageService.removeByOrdersId(orders.getOrdersId());
List<OrdersMassage> ordersMassageList = orders.getOrdersMassageList();
for (OrdersMassage ordersMassage : ordersMassageList) {
ordersMassage.setOrdersId(orders.getOrdersId());
@ -1025,7 +1030,6 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
if (oldOrders.getParentId() != null && oldOrders.getParentId() != 0) {
return Result.error("当前加钟订单无法升级套餐!");
}
Long massageTypeId;
BigDecimal price = BigDecimal.ZERO;
if (orders.getOrdersMassageList() != null) {
@ -1127,11 +1131,18 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
orders.setSumMoney(orders.getPayMoney().setScale(2, BigDecimal.ROUND_HALF_UP));
baseMapper.insert(orders);
ordersMassageService.removeByOrdersId(orders.getOrdersId());
List<OrdersMassage> ordersMassageList = orders.getOrdersMassageList();
for (OrdersMassage ordersMassage : ordersMassageList) {
ordersMassage.setOrdersId(orders.getOrdersId());
ordersMassageService.save(ordersMassage);
}
Orders ordersOld = new Orders();
ordersOld.setOrdersId(oldOrders.getOrdersId());
ordersOld.setStatus(11);
baseMapper.updateById(ordersOld);//原单暂变成挂单状态
return Result.success().put("data", orders);
}
//临时单修改
if (oldOrders.getStatus() == 1) {
@ -1143,6 +1154,10 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
} else {
return Result.error("当前订单没有选择服务项目!");
}
Date serveTimeDate = DateUtils.stringToDate(orders.getServeTime(), "yyyy-MM-dd HH:mm");
if(serveTimeDate.getTime() < (new Date()).getTime()){
return Result.error("服务时间不能晚于当前时间!");
}
if (oldOrders.getUserPackageDetailId() != null) {
if (massageTypeId != oldOrders.getUserPackageDetailId()) {
return Result.error("当前套餐类订单无法修改项目!");
@ -1296,6 +1311,14 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
orders.setSumMoney(orders.getPayMoney().setScale(2, BigDecimal.ROUND_HALF_UP));
//修改订单
baseMapper.updateById(orders);
ordersMassageService.removeByOrdersId(orders.getOrdersId());
List<OrdersMassage> ordersMassageList = orders.getOrdersMassageList();
for (OrdersMassage ordersMassage : ordersMassageList) {
ordersMassage.setOrdersId(orders.getOrdersId());
ordersMassageService.save(ordersMassage);
}
return Result.success().put("data", orders);
} else {
//修改一般订单
@ -1572,6 +1595,12 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
//修改订单
baseMapper.updateById(orders);
ordersMassageService.removeByOrdersId(orders.getOrdersId());
for (OrdersMassage ordersMassage : ordersMassageList) {
ordersMassage.setOrdersId(orders.getOrdersId());
ordersMassageService.save(ordersMassage);
}
//释放原优惠卷
if (oldCouponList.size() > 0) {
for (String couponIdStr : oldCouponList) {
@ -1596,7 +1625,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
//判断是否是可修改状态2 9
boolean canUpdate = commonInfoService.isCheckEditOrder(DateUtils.stringToDate(oldOrders.getServeTime(), "yyyy-MM-dd HH:mm"), new Date());
if (!canUpdate) {
return Result.error("当前订单无法修改!");
return Result.error("当前订单已过修改时限无法修改!");
}
//判断是否是修改后的订单再继续修改
@ -1617,11 +1646,17 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
orders.setEntryName(massageType.getTitle());
//判断新price是否大于旧price
if (price.compareTo(oldOrders.getPrice()) < 0) {
return Result.error("要升级的服务项目金额不能小于原服务项目金额!");
return Result.error("当前订单的服务项目金额不能小于原服务项目金额!");
}
orders.setPrice(price);
} else {
return Result.error("当前订单没有选择服务项目!");
}
Date serveTimeDate = DateUtils.stringToDate(orders.getServeTime(), "yyyy-MM-dd HH:mm");
if(serveTimeDate.getTime() < (new Date()).getTime()){
return Result.error("服务时间不能晚于当前时间!");
}
String value1 = commonInfoService.findOne(395).getValue();
int i = 0;
//1.锁定本单服务时间问题
@ -1736,7 +1771,6 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
return Result.error("暂不支持当前地址,请更换其他地址!");
}
BigDecimal taxiMoney = new BigDecimal(travelPriceVo.getTravelPrice());
BigDecimal oldTaxiMoney = oldOrders.getTaxiMoney();
if (taxiMoney.compareTo(oldTaxiMoney) < 0) {
@ -1774,11 +1808,22 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
}
orders.setShopMoney(shopMoney);
orders.setOneArtificerMoney(oneArtificerMoney);
orders.setPayMoney(oldOrders.getPayMoney());
//总差价不变则修改原单据
baseMapper.updateById(orders);
ordersMassageService.removeByOrdersId(orders.getOrdersId());
List<OrdersMassage> ordersMassageList = orders.getOrdersMassageList();
for (OrdersMassage ordersMassage : ordersMassageList) {
ordersMassage.setOrdersId(orders.getOrdersId());
ordersMassageService.save(ordersMassage);
}
return Result.success().put("data", orders);
} else {
//新增单据
orders.setPayMoney(chajia);
orders.setTaxiMoney(cxchajia);
BigDecimal artificerPrice = new BigDecimal("0.00");
//查询是否计算出租车扣费
String taxi = commonInfoService.findOne(394).getValue();
@ -1822,9 +1867,18 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
orders.setSumMoney(orders.getPayMoney().setScale(2, BigDecimal.ROUND_HALF_UP));
orders.setOldMassageMoney(oldOrders.getMassageMoney());
orders.setOldOrdersId(oldOrders.getOrdersId());
orders.setCouponName(oldOrders.getCouponName());
orders.setCouponMoney(oldOrders.getCouponMoney());
//保存订单
baseMapper.insert(orders);
ordersMassageService.removeByOrdersId(orders.getOrdersId());
List<OrdersMassage> ordersMassageList = orders.getOrdersMassageList();
for (OrdersMassage ordersMassage : ordersMassageList) {
ordersMassage.setOrdersId(orders.getOrdersId());
ordersMassageService.save(ordersMassage);
}
Orders ordersOld = new Orders();
BigDecimal pingMoney = oldOrders.getPayMoney();
UserEntity artificerUser = userService.selectUserById(artificer.getUserId());
@ -1853,9 +1907,10 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
ordersOld.setOrdersId(oldOrders.getOrdersId());
ordersOld.setStatus(11);
baseMapper.updateById(ordersOld);//原单暂变成挂单状态
return Result.success().put("data", orders);
}
}
return Result.success();
return Result.error("此状态单据无法修改操作!");
}catch (Exception e){
return Result.error(e.getMessage());
}
@ -2300,16 +2355,15 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
ordersOld.setOrdersId(orders.getOldOrdersId());
if(orders.getIsSupplement() != null){
if(orders.getIsSupplement() == 2){
orders.setStatus(6);
ordersOld.setStatus(6);
}else if(orders.getIsSupplement() == 3){
orders.setStatus(2);
ordersOld.setStatus(2);
}else{
orders.setStatus(9);//用户已支付技师待接单
ordersOld.setStatus(9);//用户已支付技师待接单
}
}else{
orders.setStatus(9);//用户已支付技师待接单
ordersOld.setStatus(9);//用户已支付技师待接单
}
ordersOld.setStatus(11);
baseMapper.updateById(ordersOld);//原单暂变成挂单状态
}
return Result.success();
@ -3532,7 +3586,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
//获取是否有改价订单
if(orders.getIsSupplement()!=null){
QueryWrapper<Orders> ordersQueryWrapper = new QueryWrapper<Orders>();
ordersQueryWrapper.eq("old_orders_id",orders.getOrdersId());
ordersQueryWrapper.eq("old_orders_id",orders.getOldOrdersId());
Orders jzOrder = baseMapper.selectOne(ordersQueryWrapper);
orders.setGjName(jzOrder.getEntryName());
BigDecimal massageMoney = orders.getMassageMoney();
@ -4695,7 +4749,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
if(orders.getOldOrdersId()!=null && orders.getOldOrdersId() !=0){
Orders oldOrders = baseMapper.selectById(orders.getOldOrdersId());
oldOrders.setStatus(orders.getStatus());
oldOrders.setStatus(5);
oldOrders.setArtificerId(orders.getArtificerId());
oldOrders.setUserId(orders.getUserId());
oldOrders.setUserName(orders.getUserName());
@ -4924,6 +4978,36 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
data.put("thing3", new TemplateMessageItem(content, "#d71345"));
userService.sendWxMessage(apkey, data, user.getWxOpenId());
}
if(orders.getOldOrdersId()!=null && orders.getOldOrdersId() !=0){
Orders oldOrders = baseMapper.selectById(orders.getOldOrdersId());
oldOrders.setStatus(5);
oldOrders.setArtificerId(orders.getArtificerId());
oldOrders.setUserId(orders.getUserId());
oldOrders.setUserName(orders.getUserName());
oldOrders.setPhone(orders.getPhone());
oldOrders.setAddress(orders.getAddress());
oldOrders.setRemark(orders.getRemark());
oldOrders.setServeTime(orders.getServeTime());
oldOrders.setArtificerStartTime(orders.getArtificerStartTime());
oldOrders.setArtificerEndTime(orders.getArtificerEndTime());
oldOrders.setStartLongitude(orders.getStartLongitude());
oldOrders.setStartLatitude(orders.getStartLatitude());
// oldOrders.setTripWay(orders.getTripWay());
// oldOrders.setTaxiMoney(BigDecimal.ZERO);
// oldOrders.setKm(orders.getKm());
oldOrders.setStartTime(orders.getStartTime());
oldOrders.setEndTime(orders.getEndTime());
oldOrders.setStartImg(orders.getStartImg());
oldOrders.setStartLongitude(orders.getStartLongitude());
oldOrders.setStartLatitude(orders.getStartLatitude());
oldOrders.setAccomplishLongitude(orders.getAccomplishLongitude());
oldOrders.setAccomplishLatitude(orders.getAccomplishLongitude());
oldOrders.setStartAddress(orders.getStartAddress());
oldOrders.setAccomplishAddress(orders.getAccomplishAddress());
oldOrders.setArtificerRate(orders.getArtificerRate());
accomplishOldOrders(oldOrders,type,jsFwcn,jsPjtag,jsTsbz);
}
return Result.success();
} catch (Exception e) {
e.printStackTrace();

View File

@ -93,8 +93,10 @@ public class CommonConfigUtil {
if(key == null) return CommonEnum.NONE;
CommonEnum enumData = null;
for (CommonEnum enumd : CommonEnum.values()) {
if(enumd.getKey().equals(key)){
enumData = enumd;
if(enumd != CommonEnum.NONE){
if(enumd.getKey().equals(key)){
enumData = enumd;
}
}
}
if(enumData != null){

View File

@ -22,7 +22,7 @@ public class CouponUserController extends AbstractController {
@GetMapping("/selectCouponUserList")
@ApiOperation("查询用户优惠券")
public Result selectCouponUserList(Integer page,Integer limit,Long id,Long userId,Integer status,String phone,String couponName){
public Result selectCouponUserList(Integer page,Integer limit,String id,Long userId,Integer status,String phone,String couponName){
return couponUserService.selectCouponByUserId(page, limit, id, userId, status, phone,couponName);
}

View File

@ -39,12 +39,12 @@ public class AppCouponUserController extends AbstractController {
@Login
@GetMapping("/selectCouponUserList")
@ApiOperation("查询用户优惠券")
public Result selectCouponUserList(Integer page,Integer limit,Long id,@RequestAttribute Long userId,Integer status,String phone){
public Result selectCouponUserList(Integer page,Integer limit,String id,@RequestAttribute Long userId,Integer status,String phone){
return couponUserService.selectCouponByUserId(page, limit, id ,userId, status, phone,null);
}
//将所有超过失效时间的优惠券改为失效状态
@Scheduled(cron = "0 */1 * * * ?", zone = "Asia/Shanghai")
// @Scheduled(cron = "0 */1 * * * ?", zone = "Asia/Shanghai")
public void couponEnd(){
couponUserService.updateExpiration();
}

View File

@ -20,7 +20,7 @@ public interface CouponUserDao extends BaseMapper<CouponUser> {
void updateExpiration(@Param("date") String date);
IPage<CouponUser> selectCouponByUserId(Page<CouponUser> pages, @Param("id") Long id,@Param("userId") Long userId,@Param("status") Integer status, @Param("phone") String phone,@Param("couponName") String couponName);
IPage<CouponUser> selectCouponByUserId(Page<CouponUser> pages, @Param("arr") String[] arr,@Param("userId") Long userId,@Param("status") Integer status, @Param("phone") String phone,@Param("couponName") String couponName);
int selectCountCoupon(Long userId);

View File

@ -17,7 +17,7 @@ public interface CouponUserService extends IService<CouponUser> {
Result buyCoupon(Long userId, Long couponId);
Result selectCouponByUserId(Integer page, Integer limit, Long id, Long userId, Integer status, String phone,String couponName);
Result selectCouponByUserId(Integer page, Integer limit, String id, Long userId, Integer status, String phone,String couponName);
Result insertNewUserCoupon(UserEntity userEntity);

View File

@ -89,9 +89,13 @@ public class CouponUserServiceImpl extends ServiceImpl<CouponUserDao, CouponUser
}
@Override
public Result selectCouponByUserId(Integer page, Integer limit, Long id, Long userId, Integer status, String phone,String couponName) {
public Result selectCouponByUserId(Integer page, Integer limit, String id, Long userId, Integer status, String phone,String couponName) {
String[] arr = null;
if(id !=null && id.length()>0){
arr = id.split(",");
}
Page<CouponUser> pages = new Page<>(page, limit);
PageUtils pageUtils = new PageUtils(CouponUserDao.selectCouponByUserId(pages, id, userId, status, phone,couponName));
PageUtils pageUtils = new PageUtils(CouponUserDao.selectCouponByUserId(pages, arr, userId, status, phone,couponName));
return Result.success().put("data", pageUtils);
}

View File

@ -358,6 +358,12 @@ public class CashController {
one.setOutAt(sdf.format(new Date()));
//更新转账订单
cashOutService.update(one);
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
userMoneyDetails.setUserId(one.getUserMoneyDetailId());
userMoneyDetails.setState(2);
userMoneyDetailsService.updateById(userMoneyDetails);
//查询用户
UserEntity userInfo=userService.queryByUserId(one.getUserId());
cashOutService.cashOutSuccess(userInfo, one.getOutAt(), one.getMoney(), one.getZhifubao(), commonInfoService.findOne(19).getValue());
@ -417,6 +423,12 @@ public class CashController {
one.setState(1);
one.setOutAt(sdf.format(now));
cashOutService.update(one);
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
userMoneyDetails.setUserId(one.getUserMoneyDetailId());
userMoneyDetails.setState(2);
userMoneyDetailsService.updateById(userMoneyDetails);
UserEntity userInfo=userService.queryByUserId(one.getUserId());
cashOutService.cashOutSuccess(userInfo, one.getOutAt(), one.getMoney(), one.getZhifubao(),commonInfoService.findOne(19).getValue());
return Result.success(one.getZhifubaoName() + "转账成功");
@ -455,6 +467,12 @@ public class CashController {
one.setState(1);
one.setOutAt(sdf.format(now));
cashOutService.update(one);
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
userMoneyDetails.setUserId(one.getUserMoneyDetailId());
userMoneyDetails.setState(2);
userMoneyDetailsService.updateById(userMoneyDetails);
UserEntity userInfo=userService.queryByUserId(one.getUserId());
cashOutService.cashOutSuccess(userInfo, one.getOutAt(), one.getMoney(), one.getZhifubao(),commonInfoService.findOne(19).getValue());
}

View File

@ -396,7 +396,7 @@ public class AliPayController {
userMoneyDetailsService.save(userMoneyDetails);
} else if (payDetails.getType() == 3) {
PayClassify payClassify = payClassifyService.getById(Long.parseLong(payDetails.getRemark()));
userMoneyDao.updateMayMoney(1, payDetails.getUserId(), payClassify.getPrice().doubleValue());
userMoneyDao.updateMayMoney(1, payDetails.getUserId(), payClassify.getMoney().doubleValue());
//查询用户当前余额
UserMoney userNowMoney = userMoneyService.selectUserMoneyByUserId(payDetails.getUserId());
//钱包明细需要做调整2条记录充值时钱包类型增加金额现金类型减少金额
@ -877,6 +877,31 @@ public class AliPayController {
@ApiOperation("支付宝支付订单")
@RequestMapping(value = "/payOrderMoney", method = RequestMethod.POST)
@Transactional(rollbackFor = Exception.class)
// public Result payOrderMoney(@RequestAttribute Long userId, Long payClassifyId, Integer type, Long artificerId) {
// //通知页面地址
// CommonInfo one = commonInfoService.findOne(19);
// String returnUrl = one.getValue() + "/#/pages/my/index";
// CommonInfo one3 = commonInfoService.findOne(12);
// String name = one3.getValue();
// String generalOrder = getGeneralOrder();
// PayClassify payClassify = payClassifyService.getById(payClassifyId);
// PayDetails payDetails = new PayDetails();
// payDetails.setState(0);
// payDetails.setCreateTime(sdf.format(new Date()));
// payDetails.setOrderId(generalOrder);
// payDetails.setUserId(userId);
// payDetails.setMoney(payClassify.getPrice().doubleValue());
// payDetails.setClassify(6);
// payDetails.setType(3);
// payDetails.setArtificerId(artificerId);
// payDetails.setRemark(String.valueOf(payClassifyId));
// payDetailsDao.insert(payDetails);
// if (type == 1) {
// return payApp(name, generalOrder, payClassify.getPrice().doubleValue());
// } else {
// return payH5(name, generalOrder, payClassify.getPrice().doubleValue(), returnUrl);
// }
// }
public Result payOrderMoney(@RequestAttribute Long userId, Long payClassifyId, Integer type, Long artificerId) {
//通知页面地址
CommonInfo one = commonInfoService.findOne(19);
@ -896,10 +921,535 @@ public class AliPayController {
payDetails.setArtificerId(artificerId);
payDetails.setRemark(String.valueOf(payClassifyId));
payDetailsDao.insert(payDetails);
if (type == 1) {
return payApp(name, generalOrder, payClassify.getPrice().doubleValue());
} else {
return payH5(name, generalOrder, payClassify.getPrice().doubleValue(), returnUrl);
payOrderResult(generalOrder);
return Result.success();
}
private void payOrderResult(String outTradeNo) {
try {
String tradeStatus = "TRADE_SUCCESS";
if ("TRADE_SUCCESS".equals(tradeStatus) || "TRADE_FINISHED".equals(tradeStatus)) {
//支付宝支付单号
String tradeNo = getGeneralOrder();
PayDetails payDetails = payDetailsDao.selectByOrderId(outTradeNo);
if (payDetails.getState() == 0) {
payDetailsDao.updateState(payDetails.getId(), 1, sdf.format(new Date()), tradeNo);
if (payDetails.getType() == 1) {
Orders orders = ordersService.selectOrdersByOrderNo(payDetails.getOrderId());
if(orders.getIsSupplement() == 2){
orders.setStatus(6);
}else if(orders.getIsSupplement() == 3){
orders.setStatus(2);
}else{
orders.setStatus(9);//用户已支付技师待接单
}
orders.setPayWay(6);
orders.setPayTime(sdf.format(new Date()));
BigDecimal pingMoney=orders.getPayMoney();
UserEntity user = userService.selectUserById(orders.getUserId());
UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode());
BigDecimal oneUserMoney=BigDecimal.ZERO;
if(oneUser!=null && oneUser.getIsAgency()!=null && oneUser.getIsAgency()==1){
orders.setOneUserId(oneUser.getUserId());
orders.setOneUserName(oneUser.getUserName());
oneUserMoney=pingMoney.multiply(oneUser.getUserRate());
}
Artificer artificer = artificerService.getById(orders.getArtificerId());
UserEntity artificerUser = userService.selectUserById(artificer.getUserId());
UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode());
BigDecimal oneArtificerMoney=BigDecimal.ZERO;
if(oneArtificerUser!=null && oneArtificerUser.getIsAgency()!=null && oneArtificerUser.getIsAgency()==1){
orders.setOneArtificerUserId(oneArtificerUser.getUserId());
orders.setOneArtificerUserName(oneArtificerUser.getUserName());
oneArtificerMoney=pingMoney.multiply(oneArtificerUser.getShopRate());
}
BigDecimal shopMoney=BigDecimal.ZERO;
if(artificerUser.getConsortiaId()!=null){
Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId());
if(consortia!=null && consortia.getUserId()!=null){
UserEntity consortiaUser = userService.getById(consortia.getUserId());
if(consortiaUser!=null){
shopMoney = pingMoney.multiply(consortia.getRate());
orders.setConsortiaId(consortia.getConsortiaId());
orders.setShopUserId(consortiaUser.getUserId());
orders.setShopUserName(consortiaUser.getUserName());
}
}
}
pingMoney=pingMoney.subtract(orders.getArtificerMoney());
pingMoney=pingMoney.subtract(oneUserMoney);
pingMoney=pingMoney.subtract(oneArtificerMoney);
pingMoney=pingMoney.subtract(shopMoney);
orders.setShopMoney(shopMoney);
orders.setOneUserMoney(oneUserMoney);
orders.setOneArtificerMoney(oneArtificerMoney);
orders.setPingMoney(pingMoney);
ordersService.updateById(orders);
if(orders.getParentId()!=null && orders.getParentId()!=0){
String value1 = commonInfoService.findOne(395).getValue();
OrdersMassage ordersMassage = ordersMassageService.getOne(new QueryWrapper<OrdersMassage>().eq("orders_id", orders.getOrdersId()));
MassageType massageType = massageTypeService.getById(ordersMassage.getMassageId());
Integer duration=massageType.getDuration();
Calendar calendar=Calendar.getInstance();
if("".equals(value1)){
ArtificerTime artificerTime = artificerTimeService.getOne(new QueryWrapper<ArtificerTime>().eq("orders_id", orders.getParentId()).last(" order by artificer_time_id desc limit 1 "));
String serveTime = artificerTime.getArtificerDate()+" "+artificerTime.getArtificerTime();
String value = commonInfoService.findOne(392).getValue();
int minute = Integer.parseInt(value);
int i=1;
if(duration%minute==0){
i=duration/minute;
}else{
i=duration/minute;
i++;
}
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date parse = null;
try {
parse = sdf1.parse(serveTime);
} catch (ParseException e) {
e.printStackTrace();
}
calendar.setTime(parse);
for(int j=0;j<i;j++){
calendar.add(Calendar.MINUTE,minute);
String format = sdf1.format(calendar.getTime());
String date = format.substring(0, 10);
String time = format.substring(11, 16);
artificerTime=new ArtificerTime();
artificerTime.setArtificerId(orders.getArtificerId());
artificerTime.setArtificerDate(date);
artificerTime.setArtificerTime(time);
artificerTime.setClassify(1);
artificerTime.setOrdersId(orders.getParentId());
artificerTime.setCreateTime(DateUtils.format(new Date()));
artificerTimeService.save(artificerTime);
}
}
Orders orders1 = ordersDao.selectById(orders.getParentId());
if(orders1.getAddNum()==null){
orders1.setAddNum(1);
}else{
orders1.setAddNum(orders1.getAddNum()+1);
}
//获取加钟项目的时长
if(orders1.getAddTime()!=null){
orders1.setAddTime(orders1.getAddTime()+orders.getAddTime());
}else{
orders1.setAddTime(orders.getAddTime());
}
if(orders1.getAddMoney()!=null){
orders1.setAddMoney(orders1.getAddMoney().add(orders.getPayMoney()));
orders1.setAddArtificerMoney(orders1.getAddArtificerMoney().add(orders.getArtificerMoney()));
}else{
orders1.setAddMoney(orders.getPayMoney());
orders1.setAddArtificerMoney(orders.getArtificerMoney());
}
orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney()));
orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney()));
pingMoney=orders1.getSumMoney();
oneUserMoney=BigDecimal.ZERO;
if(oneUser!=null && oneUser.getIsAgency()!=null && oneUser.getIsAgency()==1){
oneUserMoney=pingMoney.multiply(oneUser.getUserRate());
}
oneArtificerMoney=BigDecimal.ZERO;
if(oneArtificerUser!=null && oneArtificerUser.getIsAgency()!=null && oneArtificerUser.getIsAgency()==1){
oneArtificerMoney=pingMoney.multiply(oneArtificerUser.getShopRate());
}
shopMoney=BigDecimal.ZERO;
if(artificerUser.getConsortiaId()!=null){
Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId());
if(consortia!=null && consortia.getUserId()!=null){
UserEntity consortiaUser = userService.getById(consortia.getUserId());
if(consortiaUser!=null){
shopMoney=pingMoney.multiply(consortia.getRate());
}
}
}
pingMoney=pingMoney.subtract(orders1.getSumArtificerMoney());
pingMoney=pingMoney.subtract(oneUserMoney);
pingMoney=pingMoney.subtract(oneArtificerMoney);
pingMoney=pingMoney.subtract(shopMoney);
orders1.setShopMoney(shopMoney);
orders1.setOneUserMoney(oneUserMoney);
orders1.setOneArtificerMoney(oneArtificerMoney);
orders1.setPingMoney(pingMoney);
if(orders1.getStatus().equals(6)){
ordersMassage = ordersMassageService.getOne(new QueryWrapper<OrdersMassage>().eq("orders_id", orders1.getOrdersId()));
massageType = massageTypeService.getById(ordersMassage.getMassageId());
duration=massageType.getDuration();
String endTime = orders1.getEndTime();
Date date = DateUtils.stringToDate(endTime, "yyyy-MM-dd HH:mm:ss");
calendar=Calendar.getInstance();
if(date.getTime()>System.currentTimeMillis()){
calendar.setTime(date);
}
calendar.add(Calendar.MINUTE,duration);
orders1.setEndTime(endTime);
}
ordersDao.updateById(orders1);
}else{
MessageInfo messageInfo=new MessageInfo();
messageInfo.setState("16");
messageInfo.setTitle("新订单通知");
messageInfo.setUserId("0");
messageInfo.setIsSee("0");
messageService.saveBody(messageInfo);
//电话通知 add 2024-06-20 by caolei
messageService.sendNoticeByCall(artificer.getUserId());
}
ordersService.sendMsg(orders);
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
userMoneyDetails.setManipulateType(1);
userMoneyDetails.setMoney(orders.getPayMoney());
userMoneyDetails.setUserId(orders.getUserId());
userMoneyDetails.setContent("订单号:" + orders.getOrdersNo() + ",已经下单成功!");
userMoneyDetails.setTitle("支付服务包订单");
userMoneyDetails.setType(2);
userMoneyDetails.setState(2);
userMoneyDetails.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
userMoneyDetails.setBlRole(1);
userMoneyDetails.setBlFlag(2);
userMoneyDetailsService.save(userMoneyDetails);
} else if (payDetails.getType() == 2) {
//缴纳保证金
Double cashDeposit = payDetails.getMoney();
Long userId = payDetails.getUserId();
userMoneyDao.updateCashDeposit(1, userId, cashDeposit);
UserEntity userEntity = userService.selectUserById(userId);
userEntity.setIsCashDeposit(2);
userService.updateById(userEntity);
//交保证金的记录
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
userMoneyDetails.setUserId(userId);
userMoneyDetails.setTitle("缴纳保证金");
userMoneyDetails.setContent("已缴纳保证金:" + cashDeposit + "");
// userMoneyDetails.setType(1);
userMoneyDetails.setManipulateType(1);
userMoneyDetails.setMoney(BigDecimal.valueOf(cashDeposit));
userMoneyDetails.setType(2);
userMoneyDetails.setState(2);
userMoneyDetails.setClassify(1);
userMoneyDetails.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
userMoneyDetails.setBlRole(2);
userMoneyDetails.setBlFlag(2);
userMoneyDetailsService.save(userMoneyDetails);
} else
if (payDetails.getType() == 3) {
PayClassify payClassify = payClassifyService.getById(Long.parseLong(payDetails.getRemark()));
userMoneyDao.updateMayMoney(1, payDetails.getUserId(), payClassify.getMoney().doubleValue());
//查询用户当前余额
UserMoney userNowMoney = userMoneyService.selectUserMoneyByUserId(payDetails.getUserId());
//钱包明细需要做调整2条记录充值时钱包类型增加金额现金类型减少金额
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
//插入余额
userMoneyDetails.setBalance(userNowMoney.getMoney());
userMoneyDetails.setUserId(payDetails.getUserId());
userMoneyDetails.setTitle("支付宝充值");
userMoneyDetails.setContent("支付宝花费:"+payClassify.getPrice()+",钱包增加余额:"+payClassify.getMoney());
userMoneyDetails.setManipulateType(2);
userMoneyDetails.setType(1);
userMoneyDetails.setState(2);
userMoneyDetails.setMoney(payClassify.getMoney());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
userMoneyDetails.setCreateTime(sdf.format(new Date()));
userMoneyDetails.setBlRole(1);
userMoneyDetails.setBlFlag(1);
userMoneyDetailsService.save(userMoneyDetails);
userMoneyDetails.setTitle("支付宝充值");
userMoneyDetails.setContent("支付宝花费:"+payClassify.getPrice());
userMoneyDetails.setMoney(payClassify.getPrice());
userMoneyDetails.setType(2);
userMoneyDetails.setBlRole(1);
userMoneyDetails.setBlFlag(2);
userMoneyDetailsService.save(userMoneyDetails);
List<PayClassifyDetail> list = payClassifyDetailService.findList(payClassify.getPayClassifyId());
if(list!=null && list.size()>0){
for(int m=0;m<list.size();m++){
PayClassifyDetail pcd = list.get(m);
Coupon coupon = pcd.getCoupon();
for(int i=0;i<pcd.getGiveNum();i++){
Integer endDate = coupon.getEndDate();
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, endDate);
calendar.add(Calendar.DATE, 1);
Date date = calendar.getTime();
String expirationTime = sdf.format(date);
CouponUser couponUser = new CouponUser();
couponUser.setUserId(payDetails.getUserId());
couponUser.setCouponName(coupon.getCouponName());
couponUser.setCouponPicture(coupon.getCouponPicture());
couponUser.setCreateTime(DateUtils.format(new Date()));
couponUser.setExpirationTime(expirationTime);
couponUser.setMinMoney(coupon.getMinMoney());
couponUser.setMoney(coupon.getMoney());
couponUser.setClassifyId(coupon.getClassifyId());
couponUser.setStatus(0);
couponUserService.save(couponUser);
}
}
}
//用户在充值余额时指定技师ID则充值成功后给指定技师增加业绩入userRecharge表
if(payDetails.getArtificerId()!=null){
UserRecharge o = new UserRecharge();
o.setUserRecharge(payClassify.getPrice());
o.setType("2");
o.setUserId(payDetails.getUserId());
o.setArtificerId(payDetails.getArtificerId());
o.setCreateTime(DateUtils.format(new Date()));
userRechargeDao.insert(o);
}
}
else if(payDetails.getType()==4){
Long couponIssueId = Long.parseLong(payDetails.getRemark());
Long userId=payDetails.getUserId();
CouponIssue couponIssue = couponIssueService.getById(couponIssueId);
String createTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String[] couponIds = couponIssue.getCouponIds().split(",");
UserMoneyDetails userMoneyDetails=new UserMoneyDetails();
userMoneyDetails.setClassify(1);
userMoneyDetails.setType(2);
userMoneyDetails.setState(2);
userMoneyDetails.setManipulateType(1);
userMoneyDetails.setMoney(BigDecimal.valueOf(payDetails.getMoney()));
userMoneyDetails.setUserId(payDetails.getUserId());
userMoneyDetails.setTitle("微信购买优惠券,卷包:"+couponIssue.getCouponIssueName());
userMoneyDetails.setContent("购买优惠券费用:"+payDetails.getMoney());
userMoneyDetails.setCreateTime(DateUtils.format(new Date()));
userMoneyDetails.setBlRole(1);
userMoneyDetails.setBlFlag(2);
userMoneyDetailsService.save(userMoneyDetails);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
for(String couponId:couponIds){
Coupon coupon = couponService.getById(Long.parseLong(couponId));
Integer endDate = coupon.getEndDate();
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, endDate);
calendar.add(Calendar.DATE, 1);
Date date = calendar.getTime();
String expirationTime = simpleDateFormat.format(date);
CouponUser couponUser=new CouponUser();
couponUser.setUserId(userId);
couponUser.setCouponName(coupon.getCouponName());
couponUser.setCouponPicture(coupon.getCouponPicture());
couponUser.setCreateTime(createTime);
couponUser.setExpirationTime(expirationTime);
couponUser.setMinMoney(coupon.getMinMoney());
couponUser.setMoney(coupon.getMoney());
couponUser.setStatus(0);
couponUserService.save(couponUser);
}
couponIssue.setCouponNum(couponIssue.getCouponNum()-1);
couponIssueService.updateById(couponIssue);
}else if(payDetails.getType()==5){
BigDecimal money=BigDecimal.valueOf(payDetails.getMoney());
Long userId=payDetails.getUserId();
VipDetails vipDetails = vipDetailsDao.selectOne(new QueryWrapper<VipDetails>().eq("id", Long.parseLong(payDetails.getRemark())));
//查看用户是否是会员
UserVip userVip = userVipDao.selectOne(new QueryWrapper<UserVip>().eq("user_id", userId));
Calendar cal = Calendar.getInstance();
if(userVip!=null){
Date endDate = null;
try {
endDate = sdf.parse(userVip.getEndTime());
if (endDate != null && System.currentTimeMillis() < (endDate.getTime())) {
cal.setTime(endDate);
}
} catch (Exception e) {
e.getMessage();
}
}else{
userVip=new UserVip();
//设置会员类型
userVip.setVipNameType(vipDetails.getVipNameType());
//设置开通会员的用户id
userVip.setUserId(userId);
//设置会员的购买时间
userVip.setCreateTime(sdf.format(new Date()));
}
MessageInfo messageInfo=new MessageInfo();
UserMoneyDetails userMoneyDetails=new UserMoneyDetails();
userMoneyDetails.setMoney(money);
userMoneyDetails.setUserId(userId);
if ((vipDetails.getVipNameType().equals(0))) {
//
userMoneyDetails.setContent("支付宝开通月卡会员");
messageInfo.setContent("支付宝开通月卡会员");
cal.add(Calendar.MONTH, 1);
} else if ((vipDetails.getVipNameType()).equals(1)) {
//
userMoneyDetails.setContent("支付宝开通季卡会员");
messageInfo.setContent("支付宝开通季卡会员");
cal.add(Calendar.MONTH, 3);
} else {
//
userMoneyDetails.setContent("支付宝开通年费会员");
messageInfo.setContent("支付宝开通年费会员");
cal.add(Calendar.YEAR, 1);
}
userVip.setEndTime(sdf.format(cal.getTime()));
if(userVip.getVipId()!=null){
userVipDao.updateById(userVip);
}else{
userVipDao.insert(userVip);
}
userMoneyDetails.setTitle("开通会员");
userMoneyDetails.setType(2);
userMoneyDetails.setState(2);
userMoneyDetails.setManipulateType(1);
userMoneyDetails.setCreateTime(sdf.format(new Date()));
userMoneyDetails.setBlRole(1);
userMoneyDetails.setBlFlag(2);
userMoneyDetailsService.save(userMoneyDetails);
UserEntity userEntity = userService.selectUserById(userId);
messageInfo.setTitle("开通会员");
messageInfo.setState(String.valueOf(4));
messageInfo.setUserName(userEntity.getUserName());
messageInfo.setUserId(String.valueOf(userEntity.getUserId()));
messageInfo.setCreateAt(sdf.format(new Date()));
messageInfo.setIsSee("0");
messageService.saveBody(messageInfo);
if(StringUtil.isNotBlank(userEntity.getClientid())){
userService.pushToSingle(messageInfo.getTitle(),messageInfo.getContent(),userEntity.getClientid());
}
}else if(payDetails.getType()==6){
double money=payDetails.getMoney();
long artificerId = Long.parseLong(payDetails.getRemark());
Artificer artificer = artificerService.getById(artificerId);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//用户流水
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
userMoneyDetails.setClassify(8);
userMoneyDetails.setManipulateType(1);
userMoneyDetails.setUserId(payDetails.getUserId());
userMoneyDetails.setTitle("支付宝给技师打赏");
userMoneyDetails.setContent("使用支付宝给指定技师“"+artificer.getArtificerName()+"”打赏:"+money);
userMoneyDetails.setType(2);
userMoneyDetails.setState(2);
userMoneyDetails.setMoney(BigDecimal.valueOf(money));
userMoneyDetails.setArtificerId(artificerId);
userMoneyDetails.setCreateTime(sdf.format(new Date()));
userMoneyDetails.setBlRole(1);
userMoneyDetails.setBlFlag(2);
userMoneyDetailsService.save(userMoneyDetails);
//技师流水
UserEntity userEntity = userService.queryByUserId(payDetails.getUserId());
userMoneyDao.updateMayMoney(1, artificerId, money);
//查询技师当前余额
UserMoney userNowMoney = userMoneyService.selectUserMoneyByUserId(artificerId);
UserMoneyDetails userMoneyDetails2 = new UserMoneyDetails();
//插入余额
userMoneyDetails2.setBalance(userNowMoney.getMoney());
userMoneyDetails2.setManipulateType(2);
userMoneyDetails2.setClassify(8);
userMoneyDetails2.setUserId(artificerId);
userMoneyDetails2.setTitle("用户支付宝打赏");
userMoneyDetails2.setContent("来自用户“"+userEntity.getUserName()+"”支付宝打赏:"+money);
userMoneyDetails2.setType(1);
userMoneyDetails2.setState(2);
userMoneyDetails2.setMoney(BigDecimal.valueOf(money));
userMoneyDetails2.setCreateTime(sdf.format(new Date()));
userMoneyDetails2.setBlRole(2);
userMoneyDetails2.setBlFlag(1);
userMoneyDetailsService.save(userMoneyDetails2);
}else if(payDetails.getType()==7){
//服务包下单分单
UserPackageOrder orders = userPackageOrderDao.getByNo(outTradeNo);
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
userMoneyDetails.setManipulateType(1);
userMoneyDetails.setUserId(orders.getUserId());
userMoneyDetails.setMoney(orders.getPayMoney());
userMoneyDetails.setContent("订单号:" + orders.getOrdersNo() + ",已经下单成功!");
userMoneyDetails.setTitle("支付服务包订单");
userMoneyDetails.setType(2);
userMoneyDetails.setState(2);
userMoneyDetails.setCreateTime(sdf.format(new Date()));
userMoneyDetails.setBlRole(1);
userMoneyDetails.setBlFlag(1);
userMoneyDetailsService.save(userMoneyDetails);
orders.setStatus(2);
orders.setPayWay(payDetails.getClassify());
orders.setPayTime(sdf.format(new Date()));
userPackageOrderDao.updateStatus(orders);
//获取订单-服务包映射关系列表
List<UserPackageOrdersMapping> mappingList = userPackageOrdersMappingService.findListByOrdersId(orders.getOrdersId());
for (UserPackageOrdersMapping ordersPackage : mappingList) {
int quantity = ordersPackage.getNum();
MassagePackage massagePackage = massagePackageService.getById(ordersPackage.getPackageId());
//修改服务包销量
int sales = massagePackage.getSales();
sales = sales+quantity;
massagePackage.setSales(sales);
massagePackageService.updateSales(massagePackage);
for(int i=0;i<quantity;i++){
//拆分插入用户服务包
UserPackage userPackage = new UserPackage();
userPackage.setUserId(orders.getUserId());
userPackage.setPackageId(massagePackage.getId());
userPackage.setOrdersId(orders.getOrdersId());
userPackage.setOrdersNo(orders.getOrdersNo());
userPackage.setCreateTime(sdf.format(new Date()));
userPackage.setTitle(massagePackage.getTitle());
userPackage.setType(massagePackage.getType());
userPackage.setOldPrice(massagePackage.getOldPrice());
userPackage.setPrice(massagePackage.getPrice());
userPackage.setPackageImg(massagePackage.getPackageImg());
userPackage.setContent(massagePackage.getContent());
userPackage.setContentImg(massagePackage.getContentImg());
userPackage.setLabels(massagePackage.getLabels());
userPackage.setCity(massagePackage.getCity());
userPackage.setClassifyId(massagePackage.getClassifyId());
userPackageService.insert(userPackage);
Long mainId = userPackage.getId();
//拆分插入用户服务器项目详情
UserPackageDetail userPackageDetail = new UserPackageDetail();
userPackageDetail.setMainId(ordersPackage.getPackageId());
List<UserPackageDetail> userPackageDetailList = userPackageDetailService.findMassagePackageDetails(userPackageDetail);
if(userPackageDetailList.size()>0){
for(int j=0;j<userPackageDetailList.size();j++){
UserPackageDetail upd = userPackageDetailList.get(j);
upd.setMainId(mainId);
upd.setCreateTime(sdf.format(new Date()));
int serviceCount = upd.getServiceCount();
for(int k=0;k<serviceCount;k++){
userPackageDetailService.insert(upd);
}
}
}
}
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
log.info("回调验证失败!!!");
}
}
@ -1012,7 +1562,6 @@ public class AliPayController {
}
public Result payApp(String name, String generalOrder, Double money) {
CommonInfo one = commonInfoService.findOne(19);
String url = one.getValue() + "/sqx_fast/app/aliPay/notifyApp";

View File

@ -115,6 +115,11 @@ public class CashOut implements Serializable {
*/
private String bankCardAddress;
/**
* 银行卡开户行地址
*/
private Long userMoneyDetailId;
@TableField(exist = false)
private String phone;

View File

@ -342,13 +342,18 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
//插入操作类型为已操作用户余额
userMoneyDetails.setManipulateType(2);
userMoneyDetails.setUserId(userId);
userMoneyDetails.setClassify(3);
userMoneyDetails.setTitle("提现:" + money);
userMoneyDetails.setContent("支付宝提现:" + money + ",手续费:" + mul );
userMoneyDetails.setType(2);
userMoneyDetails.setState(1);
userMoneyDetails.setMoney(new BigDecimal(moneySum));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
userMoneyDetails.setCreateTime(sdf.format(new Date()));
userMoneyDetails.setBlRole(2);
userMoneyDetails.setBlFlag(1);
userMoneyDetailsService.save(userMoneyDetails);
cashOut.setUserMoneyDetailId(userMoneyDetails.getId());
cashOut.setState(0);
cashOut.setMoney(money.toString());
cashOut.setCreateAt(sdf.format(new Date()));
@ -371,13 +376,18 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
//插入操作类型为已操作用户余额
userMoneyDetails.setManipulateType(2);
userMoneyDetails.setUserId(userId);
userMoneyDetails.setClassify(3);
userMoneyDetails.setTitle("提现:" + moneySub);
userMoneyDetails.setContent("支付宝提现:" + moneySub + ",手续费:" + mul );
userMoneyDetails.setType(2);
userMoneyDetails.setState(1);
userMoneyDetails.setMoney(new BigDecimal(money));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
userMoneyDetails.setCreateTime(sdf.format(new Date()));
userMoneyDetails.setBlRole(2);
userMoneyDetails.setBlFlag(1);
userMoneyDetailsService.save(userMoneyDetails);
cashOut.setUserMoneyDetailId(userMoneyDetails.getId());
cashOut.setState(0);
cashOut.setMoney(moneySub.toString());
cashOut.setCreateAt(sdf.format(new Date()));

View File

@ -869,7 +869,7 @@ public class WxServiceImpl implements WxService {
}else if(payDetails.getType()==3){
PayClassify payClassify = payClassifyService.getById(Long.parseLong(payDetails.getRemark()));
userMoneyDao.updateMayMoney(1, payDetails.getUserId(), payClassify.getPrice().doubleValue());
userMoneyDao.updateMayMoney(1, payDetails.getUserId(), payClassify.getMoney().doubleValue());
//查询用户当前余额
UserMoney userNowMoney = userMoneyService.selectUserMoneyByUserId(payDetails.getUserId());
//钱包明细需要做调整2条记录充值时钱包类型增加金额现金类型减少金额

View File

@ -55,7 +55,7 @@ public class AllTaskServiceImpl implements AllTaskSercice {
* 计算技师升级规则 每天半夜1点执行预留12点到01点之间的计算间隔用于触发其他计算逻辑
* A0,A1,A2,A3,A4,A5等
*/
@Scheduled(cron = "0 0 0 * * ?")
// @Scheduled(cron = "0 0 0 * * ?")
public void upgradeJishi() {
System.out.println("------------计算技师升级规则-----------");
//1.获取全部参与积分规则的技师
@ -231,7 +231,7 @@ public class AllTaskServiceImpl implements AllTaskSercice {
/**
* 积分汇总 t+1进行汇总
*/
@Scheduled(cron = "0 0 0 * * ?")
// @Scheduled(cron = "0 0 0 * * ?")
public void tongjiJishiGrade() {
System.out.println("----------------每日积分汇总 定时任务-------------");
//当前时间减一天

View File

@ -29,7 +29,7 @@
</select>
<update id="updateArtificerMassageStatus" >
update artificer_massage set status=1 where massage_type_id=#{massageTypeId}
update artificer_massage set status=#{status} where massage_type_id=#{massageTypeId} and artificer_id = #{artificerId}
</update>
</mapper>

View File

@ -303,7 +303,7 @@
and o.status=#{status}
</if>
<if test="status!=null and status==2">
and o.status=(2,9)
and o.status in (2,9)
</if>
<if test="status!=null and status==-1">
and o.status in (3,5)

View File

@ -31,8 +31,11 @@
left join tb_user tu on tcu.user_id = tu.user_id
left join sys_dict d on tcu.classify_id = d.id
where 1 = 1
<if test="id!=null">
and tcu.id = #{id}
<if test="arr!=null">
and tcu.id in
<foreach collection="arr" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="userId!=null">
and tcu.user_id = #{userId}