Просмотр исходного кода

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

release_toaliyun_real
xiaohanzi 5 лет назад
Родитель
Сommit
7fe56be9c9
4 измененных файлов: 55 добавлений и 38 удалений
  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 Просмотреть файл

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

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());
if (wxCUserBasicInfo != null && wxCUserBasicInfo.getStatus().equals(EnumCUserBasicInfoStatus.LOCKED.getCode())) {
@@ -130,7 +130,7 @@ public class WxOrderController extends BaseController {
redisLock.setCouponStock(wxCouponCVo.getCouponId(), coupon.getRemainInventory());
}
resultData = couponUserCheck(user, wxCouponCVo);
resultData = couponUserCheck(wxCUserBasicInfo, wxCouponCVo);
if (resultData != null) return resultData;

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;
JSONObject jo = null;
try {
@@ -162,24 +162,23 @@ public class WxOrderController extends BaseController {
logger.error("购买券条件判断错误:ID=" + coupon.getId() + e.getMessage());
}
if (jo != null) {
WxCUserBasicInfo cUserBasicInfo = wxCUserBasicInfoService.getById(user.getUserId());
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);
if (wxOrderService.countCouponConditionType1(cUserBasicInfo) > 0)
if (wxOrderService.countCouponConditionType1(user) > 0)
return new ResultData(ErrorCode.COUPON_ALREADY_IN_NEW_MEMBER);
}else if (jo.getIntValue("type") == EnumCouponConditionType.SCORE_SCOPE.getCode()){
int max = jo.getIntValue("max");
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);
}
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);
}
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);
}
}
@@ -272,9 +271,14 @@ public class WxOrderController extends BaseController {
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true),
})
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端用户应该只能看到自己的订单
if (wxOrder == null) wxOrder = new WxOrder();
wxOrder.setCUserId(getUserId());
wxOrder.setCUserId(user.getUserId());
wxOrder.setSortColumns(BaseEntity.SortField.UpdateDate_DESC);
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)) {
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端用户应该只能看到自己的订单细节
WxOrder wxOrder = new WxOrder();
Long id = 0L;
@@ -314,7 +323,7 @@ public class WxOrderController extends BaseController {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "订单ID转换异常");
}
wxOrder.setId(id);
wxOrder.setCUserId(getUserId());
wxOrder.setCUserId(user.getUserId());
WxOrderCouponVo wxOrderCVo = wxOrderService.detailCUserVo(wxOrder);
if (wxOrderCVo == null)
return new ResultData(ErrorCode.ORDER_IS_NOT_FIND);
@@ -394,10 +403,11 @@ public class WxOrderController extends BaseController {

WxOrder order = null;
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());
if(user == null) {
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 = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
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端用户应该只能看到自己的订单
if (wxOrder == null) wxOrder = new WxOrder();
wxOrder.setCUserId(getUserId());
wxOrder.setCUserId(user.getUserId());
wxOrder.setSortColumns(BaseEntity.SortField.CreateDate_DESC);
final PageInfo<WxOrderCouponPressVo> page = wxOrderService.listPressVoAsPage(wxOrder, pageNum, pageSize);
return new ResultData(page);


+ 4
- 3
mallinkCApi/src/main/java/com/iformall/controller/WxPayOrderController.java Просмотреть файл

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

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) {


+ 16
- 15
mallinkSchedule/src/main/java/com/iformall/schedule/OrderExpiringSchedule.java Просмотреть файл

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

import com.iformall.domain.po.*;
import com.iformall.mapper.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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.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.EnumOrderStatus;
import com.iformall.enums.EnumOrderType;
import com.iformall.enums.EnumPayStatus;
import com.iformall.enums.EnumRefundStatus;
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.WxOrderService;
import com.iformall.service.WxPayOrderService;
@@ -68,9 +58,12 @@ public class OrderExpiringSchedule {
@Autowired
WxPayOrderMapper wxPayOrderMapper;
@Autowired
WxCUserMapper wxCUserMapper;

@Autowired
WxCUserBasicInfoMapper wxCUserBasicInfoMapper;
@Autowired
WxAppinfoService wxAppinfoService;
@@ -204,12 +197,20 @@ public class OrderExpiringSchedule {
if (null == wxpayOrder) {
return false;
}
WxCUser user = wxCUserMapper.selectById(wxpayOrder.getCUserId());
WxCUserBasicInfo user = wxCUserBasicInfoMapper.selectById(wxpayOrder.getCUserId());
//找不到用户,问题单,不能删
if (null == user) {
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,问题单,不能删
if(appInfo == null) {
return true;


+ 2
- 2
mallinkSysAdmin/src/main/java/com/iformall/controller/datafix/DataInitController.java Просмотреть файл

@@ -190,10 +190,10 @@ public class DataInitController extends BaseController {
log.debug(" : {}", ret.getId());
return;
}
WxCUser cuUser = cUserMapper.selectById(co.getcUserId());
// WxCUser cuUser = cUserMapper.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());
return;
}


Загрузка…
Отмена
Сохранить