diff --git a/src/main/java/com/gxwebsoft/common/core/config/MybatisPlusConfig.java b/src/main/java/com/gxwebsoft/common/core/config/MybatisPlusConfig.java index f01b1a2..ab8e1cf 100644 --- a/src/main/java/com/gxwebsoft/common/core/config/MybatisPlusConfig.java +++ b/src/main/java/com/gxwebsoft/common/core/config/MybatisPlusConfig.java @@ -64,6 +64,7 @@ public class MybatisPlusConfig { "sys_dictionary", "sys_dictionary_data", "apps_test_data", + "shop_users", "shop_order", "shop_order_info", "booking_user_invoice" diff --git a/src/main/java/com/gxwebsoft/shop/controller/UsersController.java b/src/main/java/com/gxwebsoft/shop/controller/UsersController.java index e8d2049..2786f8e 100644 --- a/src/main/java/com/gxwebsoft/shop/controller/UsersController.java +++ b/src/main/java/com/gxwebsoft/shop/controller/UsersController.java @@ -100,7 +100,7 @@ public class UsersController extends BaseController { @ApiOperation("修改") @PutMapping() public ApiResult update(@RequestBody Users users) { - if (usersService.updateById(users)) { + if (usersService.updateById(users)) { return success("修改成功"); } return fail("修改失败"); diff --git a/src/main/java/com/gxwebsoft/shop/controller/WxPayNotifyController.java b/src/main/java/com/gxwebsoft/shop/controller/WxPayNotifyController.java index dd3b405..eb4b89e 100644 --- a/src/main/java/com/gxwebsoft/shop/controller/WxPayNotifyController.java +++ b/src/main/java/com/gxwebsoft/shop/controller/WxPayNotifyController.java @@ -4,18 +4,12 @@ import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.gxwebsoft.booking.entity.UserCard; import com.gxwebsoft.booking.service.UserCardService; -import com.gxwebsoft.cms.entity.Website; -import com.gxwebsoft.cms.entity.WebsiteField; import com.gxwebsoft.common.core.config.ConfigProperties; -import com.gxwebsoft.common.core.security.JwtUtil; import com.gxwebsoft.common.core.utils.RedisUtil; import com.gxwebsoft.common.core.web.BaseController; -import com.gxwebsoft.common.system.service.UserService; import com.gxwebsoft.shop.entity.Order; import com.gxwebsoft.shop.entity.OrderInfo; import com.gxwebsoft.shop.entity.Payment; @@ -33,8 +27,6 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.math.BigDecimal; -import java.text.DecimalFormat; -import java.util.List; import java.util.Map; /** @@ -145,6 +137,7 @@ public class WxPayNotifyController extends BaseController { } // 8.发放积分 usersService.addIntegral(order); + return "SUCCESS"; } } diff --git a/src/main/java/com/gxwebsoft/shop/entity/Users.java b/src/main/java/com/gxwebsoft/shop/entity/Users.java index db7bc67..cbbdb35 100644 --- a/src/main/java/com/gxwebsoft/shop/entity/Users.java +++ b/src/main/java/com/gxwebsoft/shop/entity/Users.java @@ -62,9 +62,11 @@ public class Users implements Serializable { @ApiModelProperty(value = "注册时间") private Integer createTime; - private String idcard; + @ApiModelProperty(value = "身份证号码") + private String idCard; - private String truename; + @ApiModelProperty(value = "真实姓名") + private String realName; @ApiModelProperty(value = "是否管理员:1是;2否") private Integer isAdmin; diff --git a/src/main/java/com/gxwebsoft/shop/mapper/xml/UsersMapper.xml b/src/main/java/com/gxwebsoft/shop/mapper/xml/UsersMapper.xml index 87d337c..18bbd01 100644 --- a/src/main/java/com/gxwebsoft/shop/mapper/xml/UsersMapper.xml +++ b/src/main/java/com/gxwebsoft/shop/mapper/xml/UsersMapper.xml @@ -49,11 +49,11 @@ AND a.create_time <= #{param.createTimeEnd} - - AND a.idcard LIKE CONCAT('%', #{param.idcard}, '%') + + AND a.id_card LIKE CONCAT('%', #{param.idCard}, '%') - - AND a.truename LIKE CONCAT('%', #{param.truename}, '%') + + AND a.real_name LIKE CONCAT('%', #{param.realName}, '%') AND a.is_admin = #{param.isAdmin} diff --git a/src/main/java/com/gxwebsoft/shop/param/UsersParam.java b/src/main/java/com/gxwebsoft/shop/param/UsersParam.java index 6d63494..6801ade 100644 --- a/src/main/java/com/gxwebsoft/shop/param/UsersParam.java +++ b/src/main/java/com/gxwebsoft/shop/param/UsersParam.java @@ -62,9 +62,11 @@ public class UsersParam extends BaseParam { @QueryField(type = QueryType.EQ) private BigDecimal money; - private String idcard; + @ApiModelProperty(value = "身份证号码") + private String idCard; - private String truename; + @ApiModelProperty(value = "真实姓名") + private String realName; @ApiModelProperty(value = "是否管理员:1是;2否") @QueryField(type = QueryType.EQ) diff --git a/src/main/java/com/gxwebsoft/shop/service/UsersService.java b/src/main/java/com/gxwebsoft/shop/service/UsersService.java index 1b81116..93ee2b7 100644 --- a/src/main/java/com/gxwebsoft/shop/service/UsersService.java +++ b/src/main/java/com/gxwebsoft/shop/service/UsersService.java @@ -41,4 +41,6 @@ public interface UsersService extends IService { Users getByIdRel(Integer id); void addIntegral(Order order); + + Users getByPhone(String phone); } diff --git a/src/main/java/com/gxwebsoft/shop/service/impl/OrderServiceImpl.java b/src/main/java/com/gxwebsoft/shop/service/impl/OrderServiceImpl.java index cd65ead..c0da999 100644 --- a/src/main/java/com/gxwebsoft/shop/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/gxwebsoft/shop/service/impl/OrderServiceImpl.java @@ -260,68 +260,87 @@ public class OrderServiceImpl extends ServiceImpl implements @Override @Transactional(rollbackFor = {Exception.class}) public Boolean payByBalance(Order order) { - final User loginUser = order.getLoginUser(); - if (loginUser.getBalance().compareTo(order.getTotalPrice()) < 0) { + final Users users = usersService.getByPhone(order.getPhone()); + if (users.getMoney().compareTo(order.getTotalPrice()) < 0) { throw new BusinessException("余额不足"); } - // 发起网络请求(更新余额接口) - final RequestUtil requestUtil = new RequestUtil(); - requestUtil.setAccessToken(order.getAccessToken()); - requestUtil.setTenantId(order.getTenantId().toString()); - String api = "/system/user/updateUserBalance"; // 更新余额接口 - final BigDecimal subtract = loginUser.getBalance().subtract(order.getTotalPrice()); + // 发放积分 + usersService.addIntegral(order); + // 修改订单状态 + order.setPayStatus(1); + order.setPayTime(DateUtil.date()); + order.setExpirationTime(DateUtil.offset(DateUtil.date(), DateField.YEAR, 10)); + orderService.updateById(order); + orderInfoService.update(new LambdaUpdateWrapper().eq(OrderInfo::getOrderId, order.getOrderId()).set(OrderInfo::getPayStatus, 1)); + // 更新会员卡状态 + if (order.getType().equals(2)) { + final UserCard userCard = userCardService.getById(order.getCardId()); + userCard.setPayStatus(1); + userCardService.updateById(userCard); + } - loginUser.setBalance(subtract); + return true; + + + // 发起网络请求(更新余额接口) +// final RequestUtil requestUtil = new RequestUtil(); +// requestUtil.setAccessToken(order.getAccessToken()); +// requestUtil.setTenantId(order.getTenantId().toString()); +// String api = "/system/user/updateUserBalance"; // 更新余额接口 +// final BigDecimal subtract = loginUser.getMoney().subtract(order.getTotalPrice()); +// +// loginUser.setBalance(subtract); // 累加会员积分 - String key = "SiteInfo:" + order.getTenantId(); - final String siteInfo = redisUtil.get(key); +// String key = "SiteInfo:" + order.getTenantId(); +// final String siteInfo = redisUtil.get(key); // 从缓存读取信息 - if(StrUtil.isNotBlank(siteInfo)){ - final Website website = JSONObject.parseObject(siteInfo, Website.class); - final List fields = website.getFields(); - fields.forEach(d -> { - if(d.getName().equals("integral_enabled") && d.getValue().equals("1")){ - loginUser.setPoints(loginUser.getPoints() + order.getPayPrice().intValue()); - } - }); - } - final ApiResult apiResult = requestUtil.updateUserBalance(api, loginUser); - if (apiResult.getCode().equals(0)) { - // 记录余额明细 - final UserBalanceLog balanceLog = new UserBalanceLog(); - balanceLog.setUserId(order.getUserId()); - balanceLog.setScene(20); - balanceLog.setOrderNo(order.getOrderNo()); - balanceLog.setMoney(order.getPayPrice()); - balanceLog.setBalance(subtract); - balanceLog.setRemark(order.getComments()); - balanceLog.setMerchantId(order.getMerchantId()); - userBalanceLogService.save(balanceLog); - // 修改订单状态 - order.setPayStatus(1); - order.setPayTime(DateUtil.date()); - order.setExpirationTime(DateUtil.offset(DateUtil.date(), DateField.YEAR, 10)); - orderService.updateById(order); - orderInfoService.update(new LambdaUpdateWrapper().eq(OrderInfo::getOrderId,order.getOrderId()).set(OrderInfo::getPayStatus,1)); - // 更新会员卡状态 - if(order.getType().equals(2)){ - final UserCard userCard = userCardService.getById(order.getCardId()); - userCard.setPayStatus(1); - userCardService.updateById(userCard); - } - // 发放积分 - usersService.addIntegral(order); - return true; - } - return false; +// if(StrUtil.isNotBlank(siteInfo)){ +// final Website website = JSONObject.parseObject(siteInfo, Website.class); +// final List fields = website.getFields(); +// fields.forEach(d -> { +// if(d.getName().equals("integral_enabled") && d.getValue().equals("1")){ +// loginUser.setPoints(loginUser.getPoints() + order.getPayPrice().intValue()); +// } +// }); +// } +// final ApiResult apiResult = requestUtil.updateUserBalance(api, loginUser); +// if (apiResult.getCode().equals(0)) { +// // 记录余额明细 +// final UserBalanceLog balanceLog = new UserBalanceLog(); +// balanceLog.setUserId(order.getUserId()); +// balanceLog.setScene(20); +// balanceLog.setOrderNo(order.getOrderNo()); +// balanceLog.setMoney(order.getPayPrice()); +// balanceLog.setBalance(subtract); +// balanceLog.setRemark(order.getComments()); +// balanceLog.setMerchantId(order.getMerchantId()); +// userBalanceLogService.save(balanceLog); +// // 修改订单状态 +// order.setPayStatus(1); +// order.setPayTime(DateUtil.date()); +// order.setExpirationTime(DateUtil.offset(DateUtil.date(), DateField.YEAR, 10)); +// orderService.updateById(order); +// orderInfoService.update(new LambdaUpdateWrapper().eq(OrderInfo::getOrderId,order.getOrderId()).set(OrderInfo::getPayStatus,1)); +// // 更新会员卡状态 +// if(order.getType().equals(2)){ +// final UserCard userCard = userCardService.getById(order.getCardId()); +// userCard.setPayStatus(1); +// userCardService.updateById(userCard); +// } +// // 发放积分 +// usersService.addIntegral(order); +// return true; +// } +// return true; } @Override @Transactional(rollbackFor = {Exception.class}) public Boolean payByUserCard(Order order) { + final Users users = usersService.getByPhone(order.getPhone()); final User loginUser = order.getLoginUser(); final UserCardLog userCardLog = new UserCardLog(); - if(order.getCardId() == null){ + if (order.getCardId() == null) { throw new BusinessException("会员卡ID不存在"); } // 查询会员卡信息 @@ -342,7 +361,7 @@ public class OrderServiceImpl extends ServiceImpl implements if (userCard.getNum() <= 0) { throw new BusinessException("剩余次数不足"); } - userCardLog.setNum(userCard.getNum()-1); + userCardLog.setNum(userCard.getNum() - 1); } userCardService.updateById(userCard); @@ -363,7 +382,7 @@ public class OrderServiceImpl extends ServiceImpl implements order.setExpirationTime(DateUtil.offset(DateUtil.date(), DateField.YEAR, 10)); orderService.updateById(order); // 更新订单信息表的支付状态 - orderInfoService.update(new LambdaUpdateWrapper().eq(OrderInfo::getOrderId,order.getOrderId()).set(OrderInfo::getPayStatus,1)); + orderInfoService.update(new LambdaUpdateWrapper().eq(OrderInfo::getOrderId, order.getOrderId()).set(OrderInfo::getPayStatus, 1)); // 发放积分 usersService.addIntegral(order); return true; diff --git a/src/main/java/com/gxwebsoft/shop/service/impl/UsersServiceImpl.java b/src/main/java/com/gxwebsoft/shop/service/impl/UsersServiceImpl.java index 6dbcd02..29cd89f 100644 --- a/src/main/java/com/gxwebsoft/shop/service/impl/UsersServiceImpl.java +++ b/src/main/java/com/gxwebsoft/shop/service/impl/UsersServiceImpl.java @@ -77,4 +77,9 @@ public class UsersServiceImpl extends ServiceImpl implements integralLogService.save(integralLog); } + @Override + public Users getByPhone(String phone) { + return getOne(new LambdaUpdateWrapper().eq(Users::getPhone,phone).last("limit 1")); + } + } diff --git a/src/main/java/com/gxwebsoft/shop/task/OrderInfoTask.java b/src/main/java/com/gxwebsoft/shop/task/OrderInfoTask.java index d42c12e..2b73ab3 100644 --- a/src/main/java/com/gxwebsoft/shop/task/OrderInfoTask.java +++ b/src/main/java/com/gxwebsoft/shop/task/OrderInfoTask.java @@ -34,7 +34,7 @@ public class OrderInfoTask extends BaseController { /** * 自动处理过期订单任务 */ - @Scheduled(cron="*/10 * * * * *") +// @Scheduled(cron="*/10 * * * * *") @Transactional(rollbackFor = {Exception.class}) public void settledExpirationOrder() { final Order order = new Order(); @@ -57,7 +57,7 @@ public class OrderInfoTask extends BaseController { * 自动处理过期订单任务(游泳馆专用) * Scheduled(cron="0 30 21 * * ?") */ - @Scheduled(cron="*/30 * * * * *") +// @Scheduled(cron="*/30 * * * * *") @Transactional(rollbackFor = {Exception.class}) public void settledExpirationOrderBy3028() { final Order order = new Order(); diff --git a/src/main/java/com/gxwebsoft/shop/task/OrderTask.java b/src/main/java/com/gxwebsoft/shop/task/OrderTask.java index ff76757..7a4a1e8 100644 --- a/src/main/java/com/gxwebsoft/shop/task/OrderTask.java +++ b/src/main/java/com/gxwebsoft/shop/task/OrderTask.java @@ -32,7 +32,7 @@ public class OrderTask extends BaseController { /** * 自动处理过期订单任务 */ - @Scheduled(fixedDelay = 2000, initialDelay = 2000) +// @Scheduled(fixedDelay = 2000, initialDelay = 2000) @Transactional(rollbackFor = {Exception.class}) public void settledExpirationOrder() { final OrderParam p = new OrderParam();