Browse Source

Merge branch 'for_member_only' of https://git.youlane.cn/server/formallProject into for_member_only

release_toaliyun_real
xiaohanzi 5 years ago
parent
commit
7fe56be9c9
4 changed files with 55 additions and 38 deletions
  1. +33
    -18
      mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java
  2. +4
    -3
      mallinkCApi/src/main/java/com/iformall/controller/WxPayOrderController.java
  3. +16
    -15
      mallinkSchedule/src/main/java/com/iformall/schedule/OrderExpiringSchedule.java
  4. +2
    -2
      mallinkSysAdmin/src/main/java/com/iformall/controller/datafix/DataInitController.java

+ 33
- 18
mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java View File

@@ -78,9 +78,9 @@ public class WxOrderController extends BaseController {
if (resultData != null) return resultData; if (resultData != null) return resultData;


WxCUser user = getUser(); WxCUser user = getUser();
if (user.getUserId() == null) {
logger.error("手机号为空,请授权手机号");
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "手机号为空,请授权手机号");
if (!user.isBasicInfo()) {
logger.error("暂未成为会员,请授权手机号");
return new ResultData(ErrorCode.USER_IS_NOT_MEMBER.getCode(), "暂未成为会员,请授权手机号");
} }
WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoService.getById(user.getUserId()); WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoService.getById(user.getUserId());
if (wxCUserBasicInfo != null && wxCUserBasicInfo.getStatus().equals(EnumCUserBasicInfoStatus.LOCKED.getCode())) { if (wxCUserBasicInfo != null && wxCUserBasicInfo.getStatus().equals(EnumCUserBasicInfoStatus.LOCKED.getCode())) {
@@ -130,7 +130,7 @@ public class WxOrderController extends BaseController {
redisLock.setCouponStock(wxCouponCVo.getCouponId(), coupon.getRemainInventory()); redisLock.setCouponStock(wxCouponCVo.getCouponId(), coupon.getRemainInventory());
} }
resultData = couponUserCheck(user, wxCouponCVo);
resultData = couponUserCheck(wxCUserBasicInfo, wxCouponCVo);
if (resultData != null) return resultData; if (resultData != null) return resultData;


Long couponId = orderSaveDto.getCouponId() == null ? wxCouponChannel.getCouponId() : orderSaveDto.getCouponId(); Long couponId = orderSaveDto.getCouponId() == null ? wxCouponChannel.getCouponId() : orderSaveDto.getCouponId();
@@ -153,7 +153,7 @@ public class WxOrderController extends BaseController {
} }
} }


private ResultData couponUserCheck(WxCUser user, WxCouponCVo coupon) {
private ResultData couponUserCheck(WxCUserBasicInfo user, WxCouponCVo coupon) {
if (coupon.getConditions() == null) return null; if (coupon.getConditions() == null) return null;
JSONObject jo = null; JSONObject jo = null;
try { try {
@@ -162,24 +162,23 @@ public class WxOrderController extends BaseController {
logger.error("购买券条件判断错误:ID=" + coupon.getId() + e.getMessage()); logger.error("购买券条件判断错误:ID=" + coupon.getId() + e.getMessage());
} }
if (jo != null) { if (jo != null) {
WxCUserBasicInfo cUserBasicInfo = wxCUserBasicInfoService.getById(user.getUserId());
if (jo.getIntValue("type") == EnumCouponConditionType.NEW_MEMBER.getCode()){ if (jo.getIntValue("type") == EnumCouponConditionType.NEW_MEMBER.getCode()){


if (cUserBasicInfo != null && cUserBasicInfo.getActRecord() > 0)
if (user != null && user.getActRecord() > 0)
return new ResultData(ErrorCode.COUPON_ONLY_FOR_NEW_MEMBER); return new ResultData(ErrorCode.COUPON_ONLY_FOR_NEW_MEMBER);
if (wxOrderService.countCouponConditionType1(cUserBasicInfo) > 0)
if (wxOrderService.countCouponConditionType1(user) > 0)
return new ResultData(ErrorCode.COUPON_ALREADY_IN_NEW_MEMBER); return new ResultData(ErrorCode.COUPON_ALREADY_IN_NEW_MEMBER);
}else if (jo.getIntValue("type") == EnumCouponConditionType.SCORE_SCOPE.getCode()){ }else if (jo.getIntValue("type") == EnumCouponConditionType.SCORE_SCOPE.getCode()){
int max = jo.getIntValue("max"); int max = jo.getIntValue("max");
int min = jo.getIntValue("min"); int min = jo.getIntValue("min");


if (max!=0 && min ==0 && cUserBasicInfo.getPoins() > max) {
if (max!=0 && min ==0 && user.getPoins() > max) {
return new ResultData(ErrorCode.COUPON_SCORE_NOT_IN_RANGE); return new ResultData(ErrorCode.COUPON_SCORE_NOT_IN_RANGE);
} }
if (max==0 && min !=0 && cUserBasicInfo.getPoins() < min) {
if (max==0 && min !=0 && user.getPoins() < min) {
return new ResultData(ErrorCode.COUPON_SCORE_NOT_IN_RANGE); return new ResultData(ErrorCode.COUPON_SCORE_NOT_IN_RANGE);
} }
if (max!=0 && min !=0 && (cUserBasicInfo.getPoins() < min || cUserBasicInfo.getPoins() > max)) {
if (max!=0 && min !=0 && (user.getPoins() < min || user.getPoins() > max)) {
return new ResultData(ErrorCode.COUPON_SCORE_NOT_IN_RANGE); return new ResultData(ErrorCode.COUPON_SCORE_NOT_IN_RANGE);
} }
} }
@@ -272,9 +271,14 @@ public class WxOrderController extends BaseController {
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true),
}) })
public ResultData list(@ModelAttribute WxOrder wxOrder, Integer pageNum, Integer pageSize) { public ResultData list(@ModelAttribute WxOrder wxOrder, Integer pageNum, Integer pageSize) {
WxCUser user = getUser();
if (!user.isBasicInfo()) {
logger.error("暂未成为会员,请授权手机号");
return new ResultData(ErrorCode.USER_IS_NOT_MEMBER.getCode(), "暂未成为会员,请授权手机号");
}
// c端用户应该只能看到自己的订单 // c端用户应该只能看到自己的订单
if (wxOrder == null) wxOrder = new WxOrder(); if (wxOrder == null) wxOrder = new WxOrder();
wxOrder.setCUserId(getUserId());
wxOrder.setCUserId(user.getUserId());
wxOrder.setSortColumns(BaseEntity.SortField.UpdateDate_DESC); wxOrder.setSortColumns(BaseEntity.SortField.UpdateDate_DESC);
final PageInfo<WxOrderCouponVo> page = wxOrderService.listCUserVoAsPage(wxOrder, pageNum, pageSize); final PageInfo<WxOrderCouponVo> page = wxOrderService.listCUserVoAsPage(wxOrder, pageNum, pageSize);


@@ -304,6 +308,11 @@ public class WxOrderController extends BaseController {
if (StringUtils.isBlank(orderId) || orderId.equalsIgnoreCase(Constant.UNDEFINED)) { if (StringUtils.isBlank(orderId) || orderId.equalsIgnoreCase(Constant.UNDEFINED)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
} }
WxCUser user = getUser();
if (!user.isBasicInfo()) {
logger.error("暂未成为会员,请授权手机号");
return new ResultData(ErrorCode.USER_IS_NOT_MEMBER.getCode(), "暂未成为会员,请授权手机号");
}
// c端用户应该只能看到自己的订单细节 // c端用户应该只能看到自己的订单细节
WxOrder wxOrder = new WxOrder(); WxOrder wxOrder = new WxOrder();
Long id = 0L; Long id = 0L;
@@ -314,7 +323,7 @@ public class WxOrderController extends BaseController {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "订单ID转换异常"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "订单ID转换异常");
} }
wxOrder.setId(id); wxOrder.setId(id);
wxOrder.setCUserId(getUserId());
wxOrder.setCUserId(user.getUserId());
WxOrderCouponVo wxOrderCVo = wxOrderService.detailCUserVo(wxOrder); WxOrderCouponVo wxOrderCVo = wxOrderService.detailCUserVo(wxOrder);
if (wxOrderCVo == null) if (wxOrderCVo == null)
return new ResultData(ErrorCode.ORDER_IS_NOT_FIND); return new ResultData(ErrorCode.ORDER_IS_NOT_FIND);
@@ -394,10 +403,11 @@ public class WxOrderController extends BaseController {


WxOrder order = null; WxOrder order = null;
try { try {
WxCUser cuser = getUser();
if(!cuser.isBasicInfo()) {
throw new MallinkException(ErrorCode.USER_IS_NOT_MEMBER);
}
WxCUser cuser = getUser();
if (!cuser.isBasicInfo()) {
logger.error("暂未成为会员,请授权手机号");
return new ResultData(ErrorCode.USER_IS_NOT_MEMBER.getCode(), "暂未成为会员,请授权手机号");
}
WxCUserBasicInfo user = wxCUserBasicInfoService.getById(cuser.getUserId()); WxCUserBasicInfo user = wxCUserBasicInfoService.getById(cuser.getUserId());
if(user == null) { if(user == null) {
logger.error("会员用户未找到: " + cuser.getUserId()); logger.error("会员用户未找到: " + cuser.getUserId());
@@ -421,9 +431,14 @@ public class WxOrderController extends BaseController {
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
public ResultData pressOrderList(@ModelAttribute WxOrder wxOrder, Integer pageNum, Integer pageSize) { public ResultData pressOrderList(@ModelAttribute WxOrder wxOrder, Integer pageNum, Integer pageSize) {
WxCUser user = getUser();
if (!user.isBasicInfo()) {
logger.error("暂未成为会员,请授权手机号");
return new ResultData(ErrorCode.USER_IS_NOT_MEMBER.getCode(), "暂未成为会员,请授权手机号");
}
// c端用户应该只能看到自己的订单 // c端用户应该只能看到自己的订单
if (wxOrder == null) wxOrder = new WxOrder(); if (wxOrder == null) wxOrder = new WxOrder();
wxOrder.setCUserId(getUserId());
wxOrder.setCUserId(user.getUserId());
wxOrder.setSortColumns(BaseEntity.SortField.CreateDate_DESC); wxOrder.setSortColumns(BaseEntity.SortField.CreateDate_DESC);
final PageInfo<WxOrderCouponPressVo> page = wxOrderService.listPressVoAsPage(wxOrder, pageNum, pageSize); final PageInfo<WxOrderCouponPressVo> page = wxOrderService.listPressVoAsPage(wxOrder, pageNum, pageSize);
return new ResultData(page); return new ResultData(page);


+ 4
- 3
mallinkCApi/src/main/java/com/iformall/controller/WxPayOrderController.java View File

@@ -85,11 +85,12 @@ public class WxPayOrderController extends BaseController {
} }


WxCUser user = getUser(); WxCUser user = getUser();
if(!user.isBasicInfo()) {
return new ResultData(ErrorCode.USER_IS_NOT_MEMBER);
if (!user.isBasicInfo()) {
logger.error("暂未成为会员,请授权手机号");
return new ResultData(ErrorCode.USER_IS_NOT_MEMBER.getCode(), "暂未成为会员,请授权手机号");
} }


return _create(orderIdStr,user.getId(),EnumPayWay.PAY_WAY_WECHAT,user.getAppId(),new PayExtraParam("openId",user.getOpenId()),request);
return _create(orderIdStr,user.getUserId(),EnumPayWay.PAY_WAY_WECHAT,user.getAppId(),new PayExtraParam("openId",user.getOpenId()),request);
} }
private ResultData _create(String orderIdStr,Long userId, EnumPayWay payWay,String appId,PayExtraParam parm,HttpServletRequest request) { private ResultData _create(String orderIdStr,Long userId, EnumPayWay payWay,String appId,PayExtraParam parm,HttpServletRequest request) {


+ 16
- 15
mallinkSchedule/src/main/java/com/iformall/schedule/OrderExpiringSchedule.java View File

@@ -5,6 +5,8 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;


import com.iformall.domain.po.*;
import com.iformall.mapper.*;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.aop.framework.AopContext; import org.springframework.aop.framework.AopContext;
@@ -16,24 +18,12 @@ import org.springframework.transaction.annotation.Transactional;


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.domain.po.WxAppinfo;
import com.iformall.domain.po.WxCUser;
import com.iformall.domain.po.WxOrder;
import com.iformall.domain.po.WxPayAccount;
import com.iformall.domain.po.WxPayOrder;
import com.iformall.enums.EnumAppType; import com.iformall.enums.EnumAppType;
import com.iformall.enums.EnumOrderStatus; import com.iformall.enums.EnumOrderStatus;
import com.iformall.enums.EnumOrderType; import com.iformall.enums.EnumOrderType;
import com.iformall.enums.EnumPayStatus; import com.iformall.enums.EnumPayStatus;
import com.iformall.enums.EnumRefundStatus; import com.iformall.enums.EnumRefundStatus;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.mapper.WxAppinfoMapper;
import com.iformall.mapper.WxCUserMapper;
import com.iformall.mapper.WxCouponMapper;
import com.iformall.mapper.WxOrderGroupMapper;
import com.iformall.mapper.WxOrderMapper;
import com.iformall.mapper.WxPayAccountMapper;
import com.iformall.mapper.WxPayOrderMapper;
import com.iformall.service.WxAppinfoService; import com.iformall.service.WxAppinfoService;
import com.iformall.service.WxOrderService; import com.iformall.service.WxOrderService;
import com.iformall.service.WxPayOrderService; import com.iformall.service.WxPayOrderService;
@@ -68,9 +58,12 @@ public class OrderExpiringSchedule {
@Autowired @Autowired
WxPayOrderMapper wxPayOrderMapper; WxPayOrderMapper wxPayOrderMapper;
@Autowired @Autowired
WxCUserMapper wxCUserMapper; WxCUserMapper wxCUserMapper;

@Autowired
WxCUserBasicInfoMapper wxCUserBasicInfoMapper;
@Autowired @Autowired
WxAppinfoService wxAppinfoService; WxAppinfoService wxAppinfoService;
@@ -204,12 +197,20 @@ public class OrderExpiringSchedule {
if (null == wxpayOrder) { if (null == wxpayOrder) {
return false; return false;
} }
WxCUser user = wxCUserMapper.selectById(wxpayOrder.getCUserId());
WxCUserBasicInfo user = wxCUserBasicInfoMapper.selectById(wxpayOrder.getCUserId());
//找不到用户,问题单,不能删 //找不到用户,问题单,不能删
if (null == user) { if (null == user) {
return true; return true;
} }
WxAppinfo appInfo = wxAppinfoService.getByAppId(user.getAppId());
WxCUser cuUser = new WxCUser();
cuUser.updateTenantInfo(order);
cuUser.setUserId(user.getId());
WxCUser cUser = wxCUserMapper.selectOne(new QueryWrapper(cuUser));
//找不到用户,问题单,不能删
if (null == cUser) {
return true;
}
WxAppinfo appInfo = wxAppinfoService.getByAppId(cUser.getAppId());
//找不到appInfo,问题单,不能删 //找不到appInfo,问题单,不能删
if(appInfo == null) { if(appInfo == null) {
return true; return true;


+ 2
- 2
mallinkSysAdmin/src/main/java/com/iformall/controller/datafix/DataInitController.java View File

@@ -190,10 +190,10 @@ public class DataInitController extends BaseController {
log.debug(" : {}", ret.getId()); log.debug(" : {}", ret.getId());
return; return;
} }
WxCUser cuUser = cUserMapper.selectById(co.getcUserId());
// WxCUser cuUser = cUserMapper.selectById(co.getcUserId());
WxCUserBasicInfo userBasicInfo = cUserBasicInfoMapper.selectById(co.getcUserId()); WxCUserBasicInfo userBasicInfo = cUserBasicInfoMapper.selectById(co.getcUserId());
//排查不存在的用户 //排查不存在的用户
if (Objects.isNull(cuUser) && Objects.isNull(userBasicInfo)) {
if (Objects.isNull(userBasicInfo)) {
log.debug("用户不存在 id: {}", co.getId()); log.debug("用户不存在 id: {}", co.getId());
return; return;
} }


Loading…
Cancel
Save