Explorar el Código

Merge commit 'refs/tags/jenkins-back-end-1160^{}' into release

release_toaliyun_real
hupeng hace 7 años
padre
commit
51c82c6926
Se han modificado 45 ficheros con 312 adiciones y 252 borrados
  1. +51
    -4
      mallinkAdmin/src/main/java/com/iformall/controller/WxMsgRecordController.java
  2. +3
    -0
      mallinkAdmin/src/main/java/com/iformall/tenant/TenantInfoImpl.java
  3. +3
    -3
      mallinkBApi/src/main/java/com/iformall/controller/BaseController.java
  4. +2
    -1
      mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java
  5. +3
    -6
      mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java
  6. +3
    -5
      mallinkBApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java
  7. +2
    -2
      mallinkBApi/src/main/java/com/iformall/resolver/LoginUserHandlerMethodArgumentResolver.java
  8. +2
    -2
      mallinkBApi/src/main/java/com/iformall/tenant/TenantInfoImpl.java
  9. +11
    -8
      mallinkCApi/src/main/java/com/iformall/controller/BaseController.java
  10. +0
    -1
      mallinkCApi/src/main/java/com/iformall/controller/WxBusinessController.java
  11. +25
    -33
      mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java
  12. +8
    -12
      mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java
  13. +7
    -4
      mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java
  14. +3
    -5
      mallinkCApi/src/main/java/com/iformall/controller/WxMallController.java
  15. +4
    -9
      mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java
  16. +1
    -2
      mallinkCApi/src/main/java/com/iformall/controller/WxParkController.java
  17. +3
    -5
      mallinkCApi/src/main/java/com/iformall/controller/WxPressOrderController.java
  18. +2
    -3
      mallinkCApi/src/main/java/com/iformall/controller/WxScoreHistoryController.java
  19. +24
    -26
      mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java
  20. +3
    -5
      mallinkCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java
  21. +2
    -2
      mallinkCApi/src/main/java/com/iformall/resolver/LoginUserHandlerMethodArgumentResolver.java
  22. +2
    -2
      mallinkCApi/src/main/java/com/iformall/tenant/TenantInfoImpl.java
  23. +2
    -2
      mallinkMQConsumer/src/main/java/com/iformall/mq/MqBaseConsumer.java
  24. +2
    -1
      mallinkSchedule/src/main/java/com/iformall/schedule/MsgSendingSchedule.java
  25. +24
    -1
      mallinkService/src/main/java/com/iformall/domain/po/BaseMsg.java
  26. +0
    -10
      mallinkService/src/main/java/com/iformall/domain/po/MailMsg.java
  27. +0
    -9
      mallinkService/src/main/java/com/iformall/domain/po/SmartAppMsg.java
  28. +2
    -2
      mallinkService/src/main/java/com/iformall/domain/po/WxCUser.java
  29. +2
    -2
      mallinkService/src/main/java/com/iformall/domain/po/WxMerchantBUser.java
  30. +22
    -10
      mallinkService/src/main/java/com/iformall/domain/po/WxMsgRecord.java
  31. +1
    -2
      mallinkService/src/main/java/com/iformall/service/WxCardSpendService.java
  32. +4
    -4
      mallinkService/src/main/java/com/iformall/service/WxOrderPressService.java
  33. +2
    -2
      mallinkService/src/main/java/com/iformall/service/WxOrderService.java
  34. +25
    -25
      mallinkService/src/main/java/com/iformall/service/impl/SendCallBackSmsServiceImpl.java
  35. +1
    -1
      mallinkService/src/main/java/com/iformall/service/impl/SendSmsServiceImpl.java
  36. +2
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java
  37. +3
    -3
      mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java
  38. +1
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java
  39. +23
    -8
      mallinkService/src/main/java/com/iformall/service/impl/WxMsgRecordServiceImpl.java
  40. +4
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java
  41. +7
    -7
      mallinkService/src/main/java/com/iformall/service/impl/WxOrderPressServiceImpl.java
  42. +2
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java
  43. +0
    -7
      mallinkService/src/main/java/com/iformall/utils/BaseConstant.java
  44. +10
    -0
      mallinkService/src/main/java/com/iformall/utils/Constant.java
  45. +9
    -12
      mallinkService/src/main/resources/mapper/WxMsgRecordMapper.xml

+ 51
- 4
mallinkAdmin/src/main/java/com/iformall/controller/WxMsgRecordController.java Ver fichero

@@ -1,10 +1,15 @@
package com.iformall.controller; package com.iformall.controller;


import com.alibaba.fastjson.JSONArray;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.domain.po.*; import com.iformall.domain.po.*;
import com.iformall.enums.*; import com.iformall.enums.*;
import com.iformall.mapper.WxMsgMapper;
import com.iformall.mq.MqBaseProducer; import com.iformall.mq.MqBaseProducer;
import com.iformall.service.MsgSendService;
import com.iformall.service.WxMsgRecordService; import com.iformall.service.WxMsgRecordService;
import com.iformall.service.impl.SendCallBackSmsServiceImpl;
import com.iformall.utils.DateUtils;
import com.iformall.utils.JsonUtil; import com.iformall.utils.JsonUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import org.slf4j.Logger; import org.slf4j.Logger;
@@ -24,6 +29,36 @@ public class WxMsgRecordController extends BaseController {
private WxMsgRecordService wxMsgRecordService; private WxMsgRecordService wxMsgRecordService;
@Autowired @Autowired
private MqBaseProducer mqBaseProducer; private MqBaseProducer mqBaseProducer;
@Autowired
private WxMsgMapper wxMsgMapper;
@Autowired
private SendCallBackSmsServiceImpl msgSendService;


// @GetMapping(value = "/test")
// public ResultData test() throws Exception{
// String systemTime = DateUtils.getSystemTime("yyyy-MM-dd HH:00:00");
// WxMsg wxMsg = new WxMsg();
// wxMsg.setIsright(0);
// wxMsg.setSendtime(systemTime);
// wxMsg.setId(270060355273621504l);
// List<WxMsg> list = wxMsgMapper.findList(wxMsg);
// logger.info("将要发送的短信列表:" + JSONArray.toJSONString(list));
// for (WxMsg msg : list) {
// //sendmsg(msg);
// msg.setMsgType(EnumMsgRecordType.SMS_CALLBACK.getCode());
// msg.setReceiver(msg.getPhones());
// mqBaseProducer.sendMessage(msg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(),null);
// }
//
// String s = "{\"tenantId\":\"456\",\"uuid\":\"0a410e4e-c0ef-461e-bea8-7bd222e7c7b7\",\"delayTimeLevel\":0,\"id\":270060355273621504,\"modelId\":220401934081720320,\"msg\":\"狂欢双十一:更多礼品等你来领取\",\"sendtime\":\"2019-03-25 16:00:00\",\"createtime\":\"2019-03-25 15:30:16\",\"expectSendNumber\":1,\"phones\":\"18601973448\",\"signature\":\"富茂科技\",\"isright\":0,\"name\":\"狂欢双十一\",\"excelpath\":\"\",\"label\":\"\",\"status\":0,\"way\":1}";
// WxMsg wxMsg = (WxMsg) JsonUtil.readValue(s,WxMsg.class);
// wxMsg.setMsgType(EnumMsgRecordType.SMS_CALLBACK.getCode());
// wxMsg.setReceiver("18601973448");
// wxMsg.setTenantId("456");
// msgSendService.send(wxMsg);
// return new ResultData();
// }


/** /**
* 重新发送失败的消息 * 重新发送失败的消息
@@ -39,16 +74,28 @@ public class WxMsgRecordController extends BaseController {
for (WxMsgRecord wxMsgRecord:recordList) { for (WxMsgRecord wxMsgRecord:recordList) {
if(EnumMsgRecordType.SMS.getCode().equals(wxMsgRecord.getMsgType())){ if(EnumMsgRecordType.SMS.getCode().equals(wxMsgRecord.getMsgType())){
//短信 //短信
mqBaseProducer.sendMessage((WxMsgRecord) JsonUtil.readValue(wxMsgRecord.getMsgJson(),WxMsgRecord.class), EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode());
mqBaseProducer.sendMessage(wxMsgRecord, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode());
}else if(EnumMsgRecordType.SMS_CALLBACK.getCode().equals(wxMsgRecord.getMsgType())){ }else if(EnumMsgRecordType.SMS_CALLBACK.getCode().equals(wxMsgRecord.getMsgType())){
//业务短信 //业务短信
mqBaseProducer.sendMessage((WxMsg) JsonUtil.readValue(wxMsgRecord.getMsgJson(),WxMsg.class), EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode());
WxMsg wxMsg = (WxMsg) JsonUtil.readValue(wxMsgRecord.getMsgJson(),WxMsg.class);
wxMsg.setMsgType(wxMsgRecord.getMsgType());
wxMsg.setReceiver(wxMsgRecord.getReceiver());
wxMsg.setTenantId(wxMsgRecord.getTenantId());
mqBaseProducer.sendMessage(wxMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode());
}else if(EnumMsgRecordType.EMAIL.getCode().equals(wxMsgRecord.getMsgType())){ }else if(EnumMsgRecordType.EMAIL.getCode().equals(wxMsgRecord.getMsgType())){
//邮件 //邮件
mqBaseProducer.sendMessage((MailMsg) JsonUtil.readValue(wxMsgRecord.getMsgJson(),MailMsg.class), EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode());
MailMsg wxMsg = (MailMsg) JsonUtil.readValue(wxMsgRecord.getMsgJson(),MailMsg.class);
wxMsg.setMsgType(wxMsgRecord.getMsgType());
wxMsg.setReceiver(wxMsgRecord.getReceiver());
wxMsg.setTenantId(wxMsgRecord.getTenantId());
mqBaseProducer.sendMessage(wxMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode());
}else if(EnumMsgRecordType.SMART_APP.getCode().equals(wxMsgRecord.getMsgType())){ }else if(EnumMsgRecordType.SMART_APP.getCode().equals(wxMsgRecord.getMsgType())){
//微信小程序 //微信小程序
mqBaseProducer.sendMessage((SmartAppMsg) JsonUtil.readValue(wxMsgRecord.getMsgJson(),SmartAppMsg.class), EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode());
SmartAppMsg wxMsg = (SmartAppMsg) JsonUtil.readValue(wxMsgRecord.getMsgJson(),SmartAppMsg.class);
wxMsg.setMsgType(wxMsgRecord.getMsgType());
wxMsg.setReceiver(wxMsgRecord.getReceiver());
wxMsg.setTenantId(wxMsgRecord.getTenantId());
mqBaseProducer.sendMessage(wxMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode());
} }
} }
return new ResultData(); return new ResultData();


+ 3
- 0
mallinkAdmin/src/main/java/com/iformall/tenant/TenantInfoImpl.java Ver fichero

@@ -66,6 +66,9 @@ public class TenantInfoImpl implements TenantInfo {
if ("wx_user_channel".equals(tableName)) { if ("wx_user_channel".equals(tableName)) {
return true; return true;
} }
if ("wx_msg_record".equals(tableName)) {
return true;
}
return false; return false;
} }




+ 3
- 3
mallinkBApi/src/main/java/com/iformall/controller/BaseController.java Ver fichero

@@ -10,9 +10,9 @@ import com.iformall.common.ErrorCode;
import com.iformall.domain.po.WxAppinfo; import com.iformall.domain.po.WxAppinfo;
import com.iformall.domain.po.WxMerchantBUser; import com.iformall.domain.po.WxMerchantBUser;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.interceptor.AuthorizationInterceptor;
import com.iformall.service.WxAppinfoService; import com.iformall.service.WxAppinfoService;
import com.iformall.service.WxMerchantBUserService; import com.iformall.service.WxMerchantBUserService;
import com.iformall.utils.Constant;
import com.iformall.utils.IPUtil; import com.iformall.utils.IPUtil;
import com.iformall.utils.MaUtil; import com.iformall.utils.MaUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -56,7 +56,7 @@ public class BaseController {


public Long getUserId() { public Long getUserId() {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
Long bUserId = (Long) request.getAttribute(AuthorizationInterceptor.LOGIN_USER_KEY);
Long bUserId = (Long) request.getAttribute(Constant.LOGIN_USER_KEY);
return bUserId; return bUserId;
} }


@@ -70,7 +70,7 @@ public class BaseController {


public String getTenantId() { public String getTenantId() {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String tenantId = (String) request.getAttribute(AuthorizationInterceptor.TENANT_ID);
String tenantId = (String) request.getAttribute(Constant.TENANT_ID);
return tenantId; return tenantId;
} }




+ 2
- 1
mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java Ver fichero

@@ -15,6 +15,7 @@ import com.iformall.service.MallRolePermissionService;
import com.iformall.service.MallUserInfoService; import com.iformall.service.MallUserInfoService;
import com.iformall.service.MallUserRoleService; import com.iformall.service.MallUserRoleService;
import com.iformall.service.WxAppinfoService; import com.iformall.service.WxAppinfoService;
import com.iformall.utils.Constant;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.common.error.WxErrorException;
@@ -135,7 +136,7 @@ public class WxInfoController extends BaseController {
} else { } else {
// 检查token是否已过期, 小时就重新获取 // 检查token是否已过期, 小时就重新获取
Date curDate = new Date(); Date curDate = new Date();
if(curDate.getTime() > wxAppinfo.getLastTokenTime().getTime() + 3600000) {
if(curDate.getTime() > wxAppinfo.getLastTokenTime().getTime() + Constant.C_EXPIRE) {
try { try {
String accessToken = wxMaService.getAccessToken(true); String accessToken = wxMaService.getAccessToken(true);
wxAppinfo.setAccessToken(accessToken); wxAppinfo.setAccessToken(accessToken);


+ 3
- 6
mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java Ver fichero

@@ -5,13 +5,10 @@ import com.iformall.annotation.AuthIgnore;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.domain.po.*; import com.iformall.domain.po.*;
import com.iformall.domain.vo.WxCUserVo;
import com.iformall.domain.vo.WxLevelMerchantCVo;
import com.iformall.enums.EnumLevelConfigDiscountStatus;
import com.iformall.enums.EnumMerchantBUserStatus; import com.iformall.enums.EnumMerchantBUserStatus;
import com.iformall.enums.EnumMerchantStatus; import com.iformall.enums.EnumMerchantStatus;
import com.iformall.interceptor.AuthorizationInterceptor;
import com.iformall.service.*; import com.iformall.service.*;
import com.iformall.utils.Constant;
import com.iformall.utils.HashUtil; import com.iformall.utils.HashUtil;
import com.iformall.utils.IPUtil; import com.iformall.utils.IPUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@@ -174,8 +171,8 @@ public class WxMerchantBUserController extends BaseController {
token = user1.getToken(); token = user1.getToken();
resultMap.put("token", token); resultMap.put("token", token);
resultMap.put("bUserId",user1.getId()); resultMap.put("bUserId",user1.getId());
request.setAttribute(AuthorizationInterceptor.LOGIN_USER_KEY, user1.getId());
request.setAttribute(AuthorizationInterceptor.TENANT_ID, user1.getTenantId());
request.setAttribute(Constant.LOGIN_USER_KEY, user1.getId());
request.setAttribute(Constant.TENANT_ID, user1.getTenantId());
try { try {
wxMerchantBUserService.saveOrUpdate(user1); wxMerchantBUserService.saveOrUpdate(user1);
} catch (Exception e) { } catch (Exception e) {


+ 3
- 5
mallinkBApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java Ver fichero

@@ -6,6 +6,7 @@ import com.iformall.common.ErrorCode;
import com.iformall.domain.po.WxMerchantBUser; import com.iformall.domain.po.WxMerchantBUser;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.service.WxMerchantBUserService; import com.iformall.service.WxMerchantBUserService;
import com.iformall.utils.Constant;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -26,9 +27,6 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter {
@Autowired @Autowired
private WxMerchantBUserService wxMerchantBUserService; private WxMerchantBUserService wxMerchantBUserService;


public static final String LOGIN_USER_KEY = "LOGIN_USER_KEY";
public static final String TENANT_ID = "TENANT_ID";

@Override @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
AuthIgnore annotation; AuthIgnore annotation;
@@ -63,8 +61,8 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter {
} }


//设置userId到request里,后续根据userId,获取用户信息 //设置userId到request里,后续根据userId,获取用户信息
request.setAttribute(LOGIN_USER_KEY, wxMerchantBUser.getId());
request.setAttribute(TENANT_ID, wxMerchantBUser.getTenantId());
request.setAttribute(Constant.LOGIN_USER_KEY, wxMerchantBUser.getId());
request.setAttribute(Constant.TENANT_ID, wxMerchantBUser.getTenantId());


return true; return true;
} }


+ 2
- 2
mallinkBApi/src/main/java/com/iformall/resolver/LoginUserHandlerMethodArgumentResolver.java Ver fichero

@@ -3,8 +3,8 @@ package com.iformall.resolver;
import com.iformall.annotation.LoginUser; import com.iformall.annotation.LoginUser;
import com.iformall.domain.po.WxCUser; import com.iformall.domain.po.WxCUser;
import com.iformall.domain.po.WxMerchantBUser; import com.iformall.domain.po.WxMerchantBUser;
import com.iformall.interceptor.AuthorizationInterceptor;
import com.iformall.service.WxMerchantBUserService; import com.iformall.service.WxMerchantBUserService;
import com.iformall.utils.Constant;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.MethodParameter; import org.springframework.core.MethodParameter;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -34,7 +34,7 @@ public class LoginUserHandlerMethodArgumentResolver implements HandlerMethodArgu
public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer container, public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer container,
NativeWebRequest request, WebDataBinderFactory factory) throws Exception { NativeWebRequest request, WebDataBinderFactory factory) throws Exception {
//获取用户ID //获取用户ID
Object object = request.getAttribute(AuthorizationInterceptor.LOGIN_USER_KEY, RequestAttributes.SCOPE_REQUEST);
Object object = request.getAttribute(Constant.LOGIN_USER_KEY, RequestAttributes.SCOPE_REQUEST);
if(object == null){ if(object == null){
return null; return null;
} }


+ 2
- 2
mallinkBApi/src/main/java/com/iformall/tenant/TenantInfoImpl.java Ver fichero

@@ -1,7 +1,7 @@
package com.iformall.tenant; package com.iformall.tenant;


import com.iformall.interceptor.AuthorizationInterceptor;
import com.iformall.plugin.TenantInfo; import com.iformall.plugin.TenantInfo;
import com.iformall.utils.Constant;
import org.apache.ibatis.mapping.MappedStatement; import org.apache.ibatis.mapping.MappedStatement;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -18,7 +18,7 @@ public class TenantInfoImpl implements TenantInfo {
String tenantId = null; String tenantId = null;
try { try {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
tenantId = (String) request.getAttribute(AuthorizationInterceptor.TENANT_ID);
tenantId = (String) request.getAttribute(Constant.TENANT_ID);
return tenantId; return tenantId;
} catch (Exception e) { } catch (Exception e) {
logger.error("getTenantId: " + e.getMessage()); logger.error("getTenantId: " + e.getMessage());


+ 11
- 8
mallinkCApi/src/main/java/com/iformall/controller/BaseController.java Ver fichero

@@ -6,10 +6,10 @@ import com.iformall.domain.po.WxAppinfo;
import com.iformall.domain.po.WxCUser; import com.iformall.domain.po.WxCUser;
import com.iformall.domain.po.WxCUserBasicInfo; import com.iformall.domain.po.WxCUserBasicInfo;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.interceptor.AuthorizationInterceptor;
import com.iformall.service.WxAppinfoService; import com.iformall.service.WxAppinfoService;
import com.iformall.service.WxCUserBasicInfoService; import com.iformall.service.WxCUserBasicInfoService;
import com.iformall.service.WxCUserService; import com.iformall.service.WxCUserService;
import com.iformall.utils.Constant;
import com.iformall.utils.IPUtil; import com.iformall.utils.IPUtil;
import com.iformall.utils.MaUtil; import com.iformall.utils.MaUtil;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@@ -60,12 +60,21 @@ public class BaseController {
}); });
} }


public String getTenantId() {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String tenantId = (String) request.getAttribute(Constant.TENANT_ID);
return tenantId;
}

public Long getUserId() { public Long getUserId() {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
Long cUserId = (Long) request.getAttribute(AuthorizationInterceptor.LOGIN_USER_KEY);
Long cUserId = (Long) request.getAttribute(Constant.LOGIN_USER_KEY);
return cUserId; return cUserId;
} }


/**
* 请尽量多用getTenantId, getUserId
*/
public WxCUser getUser() { public WxCUser getUser() {
Long cUserId = getUserId(); Long cUserId = getUserId();
WxCUser user = wxCUserService.getById(cUserId); WxCUser user = wxCUserService.getById(cUserId);
@@ -74,12 +83,6 @@ public class BaseController {
return user; return user;
} }


public String getTenantId() {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String tenantId = (String) request.getAttribute(AuthorizationInterceptor.TENANT_ID);
return tenantId;
}

public WxAppinfo getAppInfo(String appId) { public WxAppinfo getAppInfo(String appId) {
return wxAppinfoService.getByAppId(appId); return wxAppinfoService.getByAppId(appId);
} }


+ 0
- 1
mallinkCApi/src/main/java/com/iformall/controller/WxBusinessController.java Ver fichero

@@ -36,7 +36,6 @@ public class WxBusinessController 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(WxBusiness wxBusiness, Integer pageNum, Integer pageSize) { public ResultData list(WxBusiness wxBusiness, Integer pageNum, Integer pageSize) {
if (null == wxBusiness) wxBusiness = new WxBusiness(); if (null == wxBusiness) wxBusiness = new WxBusiness();
WxCUser user = getUser();
final PageInfo<WxBusiness> page = wxBusinessService.listAsPage(wxBusiness, pageNum, pageSize); final PageInfo<WxBusiness> page = wxBusinessService.listAsPage(wxBusiness, pageNum, pageSize);
return new ResultData(page); return new ResultData(page);
} }


+ 25
- 33
mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java Ver fichero

@@ -59,9 +59,9 @@ public class WxCarController extends BaseController {
@Autowired @Autowired
WxCarCmdLogService wxCarCmdLogService; WxCarCmdLogService wxCarCmdLogService;


private WxPark getCurrentPark(WxCUser user) {
private WxPark getCurrentPark(String tenantId) {
WxPark parkQ = new WxPark(); WxPark parkQ = new WxPark();
parkQ.setTenantId(user.getTenantId());
parkQ.setTenantId(tenantId);
WxPark wxPark = wxParkService.getByObj(parkQ); WxPark wxPark = wxParkService.getByObj(parkQ);
// 1, get mall's park // 1, get mall's park
// future use redis to optimize // future use redis to optimize
@@ -71,9 +71,8 @@ public class WxCarController extends BaseController {
@ApiOperation(value = "获取车场支持的厂家",notes="返回\n{\"vendor\":integer}") @ApiOperation(value = "获取车场支持的厂家",notes="返回\n{\"vendor\":integer}")
@GetMapping("/getVendor") @GetMapping("/getVendor")
public ResultData getVendor() { public ResultData getVendor() {
WxCUser user = getUser();
// 1, get mall's park // 1, get mall's park
WxPark park = getCurrentPark(user);
WxPark park = getCurrentPark(getTenantId());
Map map = new HashMap(); Map map = new HashMap();
map.put("vendor", park.getVendorType()); map.put("vendor", park.getVendorType());
return new ResultData(map); return new ResultData(map);
@@ -89,7 +88,7 @@ public class WxCarController extends BaseController {
public ResultData init(@RequestBody Map<String, String > paramMap) { public ResultData init(@RequestBody Map<String, String > paramMap) {
WxCUser user = getUser(); WxCUser user = getUser();
// 1, get mall's park // 1, get mall's park
WxPark park = getCurrentPark(user);
WxPark park = getCurrentPark(getTenantId());
// 2. get vendor params // 2. get vendor params
if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) { if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) {
String phone = paramMap.get("phone"); String phone = paramMap.get("phone");
@@ -231,9 +230,8 @@ public class WxCarController extends BaseController {
"}\n") "}\n")
@PostMapping("/bindCar") @PostMapping("/bindCar")
public ResultData bindCar(@RequestBody Map<String, String > paramMap) { public ResultData bindCar(@RequestBody Map<String, String > paramMap) {
WxCUser user = getUser();
// 1, get mall's park // 1, get mall's park
WxPark park = getCurrentPark(user);
WxPark park = getCurrentPark(getTenantId());
// 2. get vendor params // 2. get vendor params
if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) { if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) {
String etcpToken = paramMap.get("etcpToken"); String etcpToken = paramMap.get("etcpToken");
@@ -259,8 +257,8 @@ public class WxCarController extends BaseController {
// 插入车牌 // 插入车牌
Date curr = new Date(); Date curr = new Date();
WxCUserCar userCar = new WxCUserCar(); WxCUserCar userCar = new WxCUserCar();
userCar.setCUserId(user.getId());
userCar.setTenantId(user.getTenantId());
userCar.setCUserId(getUserId());
userCar.setTenantId(getTenantId());
userCar.setCarNumber(carNumber); userCar.setCarNumber(carNumber);
userCar.setVendorType(EnumCarVendor.CAR_ETCP.getCode()); userCar.setVendorType(EnumCarVendor.CAR_ETCP.getCode());
userCar.setCreateDate(curr); userCar.setCreateDate(curr);
@@ -269,7 +267,7 @@ public class WxCarController extends BaseController {


wxScoreRulesService.addScore(EnumScoreType.BIND_CAR,userCar); wxScoreRulesService.addScore(EnumScoreType.BIND_CAR,userCar);
JSONObject dataObj = retObj.getJSONObject("data"); JSONObject dataObj = retObj.getJSONObject("data");
wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_CAR,user);
wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_CAR,getUserId());
return new ResultData(dataObj); return new ResultData(dataObj);
} else { } else {
String message = retObj.getString("message"); String message = retObj.getString("message");
@@ -311,8 +309,8 @@ public class WxCarController extends BaseController {
Date curr = new Date(); Date curr = new Date();
WxCUserCar userCar = new WxCUserCar(); WxCUserCar userCar = new WxCUserCar();
userCar.setId(newCarId); userCar.setId(newCarId);
userCar.setCUserId(user.getId());
userCar.setTenantId(user.getTenantId());
userCar.setCUserId(getUserId());
userCar.setTenantId(getTenantId());
userCar.setCarNumber(carNumber); userCar.setCarNumber(carNumber);
userCar.setVendorType(EnumCarVendor.CAR_TJD.getCode()); userCar.setVendorType(EnumCarVendor.CAR_TJD.getCode());
JSONObject jo = new JSONObject(); JSONObject jo = new JSONObject();
@@ -328,7 +326,7 @@ public class WxCarController extends BaseController {
return new ResultData(ErrorCode.DB_FAIL.getCode(), "TJD保存车牌失败, e:" + e.getMessage()); return new ResultData(ErrorCode.DB_FAIL.getCode(), "TJD保存车牌失败, e:" + e.getMessage());
} }


wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_CAR,user);
wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_CAR,getUserId());
return new ResultData(retObj); return new ResultData(retObj);
} else { } else {
return new ResultData(ErrorCode.TJD_BIND_FAIL.getCode(), "绑车牌失败", retObj); return new ResultData(ErrorCode.TJD_BIND_FAIL.getCode(), "绑车牌失败", retObj);
@@ -357,9 +355,8 @@ public class WxCarController extends BaseController {
"}\n") "}\n")
@PostMapping("/unbindCar") @PostMapping("/unbindCar")
public ResultData unbindCar(@RequestBody Map<String, String > paramMap) { public ResultData unbindCar(@RequestBody Map<String, String > paramMap) {
WxCUser user = getUser();
// 1, get mall's park // 1, get mall's park
WxPark park = getCurrentPark(user);
WxPark park = getCurrentPark(getTenantId());
if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) { if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) {
String etcpToken = paramMap.get("etcpToken"); String etcpToken = paramMap.get("etcpToken");
if (StringUtils.isBlank(etcpToken)) { if (StringUtils.isBlank(etcpToken)) {
@@ -383,8 +380,8 @@ public class WxCarController extends BaseController {
if (retObj.getIntValue("code") == 0) { if (retObj.getIntValue("code") == 0) {
try { try {
WxCUserCar userCar = new WxCUserCar(); WxCUserCar userCar = new WxCUserCar();
userCar.setCUserId(user.getId());
userCar.setTenantId(user.getTenantId());
userCar.setCUserId(getUserId());
userCar.setTenantId(getTenantId());
userCar.setCarNumber(carNumber); userCar.setCarNumber(carNumber);
wxCUserCarService.deleteByObj(userCar); wxCUserCarService.deleteByObj(userCar);
} catch (Exception e) { } catch (Exception e) {
@@ -406,8 +403,8 @@ public class WxCarController extends BaseController {
} }
WxCUserCar queryOne = new WxCUserCar(); WxCUserCar queryOne = new WxCUserCar();
queryOne.setCarNumber(carNumber); queryOne.setCarNumber(carNumber);
queryOne.setTenantId(user.getTenantId());
queryOne.setCUserId(user.getId());
queryOne.setTenantId(getTenantId());
queryOne.setCUserId(getUserId());
WxCUserCar userCar = wxCUserCarService.getOne(queryOne); WxCUserCar userCar = wxCUserCarService.getOne(queryOne);
if (userCar != null) { if (userCar != null) {
String params = userCar.getVendorParams(); String params = userCar.getVendorParams();
@@ -481,9 +478,8 @@ public class WxCarController extends BaseController {
" }") " }")
@PostMapping("/getCarStopFee") @PostMapping("/getCarStopFee")
public ResultData getCarStopFee(@RequestBody Map<String, String > paramMap) { public ResultData getCarStopFee(@RequestBody Map<String, String > paramMap) {
WxCUser user = getUser();
// 1, get mall's park // 1, get mall's park
WxPark park = getCurrentPark(user);
WxPark park = getCurrentPark(getTenantId());
if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) { if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) {
String etcpToken = paramMap.get("etcpToken"); String etcpToken = paramMap.get("etcpToken");
String carNumber = paramMap.get("carNumber"); String carNumber = paramMap.get("carNumber");
@@ -564,9 +560,8 @@ public class WxCarController extends BaseController {
" }") " }")
@PostMapping("/deductionFee") @PostMapping("/deductionFee")
public ResultData deductionFee(@RequestBody Map<String, String > paramMap) { public ResultData deductionFee(@RequestBody Map<String, String > paramMap) {
WxCUser user = getUser();
/// 1, get mall's park /// 1, get mall's park
WxPark park = getCurrentPark(user);
WxPark park = getCurrentPark(getTenantId());
if (park.getVendorType() == EnumCarVendor.CAR_TJD.getCode()) { if (park.getVendorType() == EnumCarVendor.CAR_TJD.getCode()) {
String tradeId = paramMap.get("tradeId"); String tradeId = paramMap.get("tradeId");
String deductionAmount = paramMap.get("deductionAmount"); String deductionAmount = paramMap.get("deductionAmount");
@@ -617,9 +612,8 @@ public class WxCarController extends BaseController {
@ApiOperation(value = "优免券领取", notes="ETCP:={\"etcpToken\":\"string\",\"carNumber\":\"string\",\"couponOrderId\"=\"String\"},输出\n{}") @ApiOperation(value = "优免券领取", notes="ETCP:={\"etcpToken\":\"string\",\"carNumber\":\"string\",\"couponOrderId\"=\"String\"},输出\n{}")
@PostMapping("/getCoupon") @PostMapping("/getCoupon")
public ResultData getCoupon(@RequestBody Map<String, String > paramMap) { public ResultData getCoupon(@RequestBody Map<String, String > paramMap) {
WxCUser user = getUser();
/// 1, get mall's park /// 1, get mall's park
WxPark park = getCurrentPark(user);
WxPark park = getCurrentPark(getTenantId());
if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) { if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) {
String etcpToken = paramMap.get("etcpToken"); String etcpToken = paramMap.get("etcpToken");
String carNumber = paramMap.get("carNumber"); String carNumber = paramMap.get("carNumber");
@@ -644,8 +638,8 @@ public class WxCarController extends BaseController {


WxCouponOrderCarCVo userCar = null; WxCouponOrderCarCVo userCar = null;
WxCouponOrder userCarQ = new WxCouponOrder(); WxCouponOrder userCarQ = new WxCouponOrder();
userCarQ.setTenantId(user.getTenantId());
userCarQ.setcUserId(user.getId());
userCarQ.setTenantId(getTenantId());
userCarQ.setcUserId(getUserId());
userCarQ.setId(couponOrderId); userCarQ.setId(couponOrderId);
userCarQ.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode()); userCarQ.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode());
List<WxCouponOrderCarCVo> list = wxCouponOrderService.carListCUserVo(userCarQ); List<WxCouponOrderCarCVo> list = wxCouponOrderService.carListCUserVo(userCarQ);
@@ -681,7 +675,7 @@ public class WxCarController extends BaseController {
// 券状态设为已使用 // 券状态设为已使用
WxCouponOrder couponOrder = new WxCouponOrder(); WxCouponOrder couponOrder = new WxCouponOrder();
couponOrder.setId(userCar.getId()); couponOrder.setId(userCar.getId());
couponOrder.setTenantId(user.getTenantId());
couponOrder.setTenantId(getTenantId());
couponOrder.setUpdateDate(new Date()); couponOrder.setUpdateDate(new Date());
couponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USED.getCode()); couponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USED.getCode());
try { try {
@@ -710,9 +704,8 @@ public class WxCarController extends BaseController {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
} }
if (wxCouponOrder == null) wxCouponOrder = new WxCouponOrderCarCVo(); if (wxCouponOrder == null) wxCouponOrder = new WxCouponOrderCarCVo();
WxCUser user = getUser();
wxCouponOrder.setTenantId(user.getTenantId());
wxCouponOrder.setcUserId(user.getId());
wxCouponOrder.setTenantId(getTenantId());
wxCouponOrder.setcUserId(getUserId());
if (wxCouponOrder.getCouponOrderStatus() == null) if (wxCouponOrder.getCouponOrderStatus() == null)
wxCouponOrder.setSortColumns(WxCouponOrder.Field.CreateDate_DESC); wxCouponOrder.setSortColumns(WxCouponOrder.Field.CreateDate_DESC);
else if (wxCouponOrder.getCouponOrderStatus() == EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode()) else if (wxCouponOrder.getCouponOrderStatus() == EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode())
@@ -725,9 +718,8 @@ public class WxCarController extends BaseController {
@ApiOperation(value = "停车场状态") @ApiOperation(value = "停车场状态")
@GetMapping("/getParkStatus") @GetMapping("/getParkStatus")
public ResultData getParkStatus() { public ResultData getParkStatus() {
WxCUser user = getUser();
/// 1, get mall's park /// 1, get mall's park
WxPark park = getCurrentPark(user);
WxPark park = getCurrentPark(getTenantId());
if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) { if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) {
String params = park.getVendorParams(); String params = park.getVendorParams();
if(params == null) { if(params == null) {


+ 8
- 12
mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java Ver fichero

@@ -90,8 +90,6 @@ public class WxCardPayController extends BaseController {


Integer payment = totalFee.multiply(new BigDecimal(100)).intValue(); Integer payment = totalFee.multiply(new BigDecimal(100)).intValue();


WxCUser user = getUser();

WxCardInfo cardInfo = wxCardInfoService.getById(cardId); WxCardInfo cardInfo = wxCardInfoService.getById(cardId);
if(cardInfo == null) { if(cardInfo == null) {
logger.error("卡不存在: " + cardIdStr); logger.error("卡不存在: " + cardIdStr);
@@ -105,7 +103,7 @@ public class WxCardPayController extends BaseController {


//查看所有者与扫码者是否为一致 //查看所有者与扫码者是否为一致
WxCouponOrder couponOrder = wxCouponOrderService.getById(cardId); WxCouponOrder couponOrder = wxCouponOrderService.getById(cardId);
if (!couponOrder.getOwnerId().equals(user.getId())) {
if (!couponOrder.getOwnerId().equals(getUserId())) {
logger.error("卡已被领取: " + cardIdStr); logger.error("卡已被领取: " + cardIdStr);
return new ResultData(ErrorCode.CARD_TRANSFERED); return new ResultData(ErrorCode.CARD_TRANSFERED);
} }
@@ -124,7 +122,7 @@ public class WxCardPayController extends BaseController {


WxOrder order = null; WxOrder order = null;
try { try {
order = wxOrderService.saveCardPayOrder(merchant, user, totalFeeStr, payment);
order = wxOrderService.saveCardPayOrder(merchant, getUserId(), totalFeeStr, payment);
} catch (MallinkException e) { } catch (MallinkException e) {
logger.error("saveCardPayOrder 1" + e.getMessage()); logger.error("saveCardPayOrder 1" + e.getMessage());
return new ResultData(e.getErrorCode(), e.getMessage()); return new ResultData(e.getErrorCode(), e.getMessage());
@@ -136,14 +134,14 @@ public class WxCardPayController extends BaseController {
WxCardSpend record = new WxCardSpend(); WxCardSpend record = new WxCardSpend();
record.setTenantId(merchant.getTenantId()); record.setTenantId(merchant.getTenantId());
record.setCardId(cardId); record.setCardId(cardId);
record.setOwnerId(user.getId());
record.setOwnerId(getUserId());
record.setMerchantId(merchantId); record.setMerchantId(merchantId);
record.setOrderId(order.getId()); record.setOrderId(order.getId());
record.setIp(ipStr); record.setIp(ipStr);
record.setDeductionAmount(payment); record.setDeductionAmount(payment);


try { try {
return wxCardSpendService.createCardSpend(record, order, couponMerchant, user);
return wxCardSpendService.createCardSpend(record, order, couponMerchant);
} catch (MallinkException e) { } catch (MallinkException e) {
logger.error("card spend error, req 2: " + record.toString() + ", e:" + e.getMessage()); logger.error("card spend error, req 2: " + record.toString() + ", e:" + e.getMessage());
return new ResultData(e.getErrorCode(), e.getMessage()); return new ResultData(e.getErrorCode(), e.getMessage());
@@ -162,9 +160,8 @@ public class WxCardPayController extends BaseController {
String ipStr = getIpAddr(); String ipStr = getIpAddr();
logger.info("saveCardPayOrder: " + ipStr + " :" + wxCardSpend.toString()); logger.info("saveCardPayOrder: " + ipStr + " :" + wxCardSpend.toString());
if (wxCardSpend == null) wxCardSpend = new WxCardSpendVo(); if (wxCardSpend == null) wxCardSpend = new WxCardSpendVo();
WxCUser user = getUser();
wxCardSpend.setTenantId(user.getTenantId());
wxCardSpend.setOwnerId(user.getId());
wxCardSpend.setTenantId(getTenantId());
wxCardSpend.setOwnerId(getUserId());
final PageInfo<WxCardSpendVo> page = wxCardSpendService.listAsPage(wxCardSpend, pageNum, pageSize); final PageInfo<WxCardSpendVo> page = wxCardSpendService.listAsPage(wxCardSpend, pageNum, pageSize);
return new ResultData(page); return new ResultData(page);
} }
@@ -175,9 +172,8 @@ public class WxCardPayController extends BaseController {
String ipStr = getIpAddr(); String ipStr = getIpAddr();
logger.info("sumCardSpendList: " + ipStr + " :" + wxCardSpend.toString()); logger.info("sumCardSpendList: " + ipStr + " :" + wxCardSpend.toString());
if (wxCardSpend == null) wxCardSpend = new WxCardSpendVo(); if (wxCardSpend == null) wxCardSpend = new WxCardSpendVo();
WxCUser user = getUser();
wxCardSpend.setTenantId(user.getTenantId());
wxCardSpend.setOwnerId(user.getId());
wxCardSpend.setTenantId(getTenantId());
wxCardSpend.setOwnerId(getUserId());
final List<Map<String, Object>> mapList = wxCardSpendService.sumCardSpendForOwner(wxCardSpend); final List<Map<String, Object>> mapList = wxCardSpendService.sumCardSpendForOwner(wxCardSpend);
return new ResultData(mapList); return new ResultData(mapList);
} }


+ 7
- 4
mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java Ver fichero

@@ -49,7 +49,7 @@ public class WxCouponOrderController extends BaseController {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
} }
if (wxCouponOrder == null) wxCouponOrder = new WxCouponOrderCVo(); if (wxCouponOrder == null) wxCouponOrder = new WxCouponOrderCVo();
wxCouponOrder.setcUserId(getUser().getId());
wxCouponOrder.setcUserId(getUserId());
if (wxCouponOrder.getCouponOrderStatus() == null) if (wxCouponOrder.getCouponOrderStatus() == null)
wxCouponOrder.setSortColumns(WxCouponOrder.Field.CreateDate_DESC); wxCouponOrder.setSortColumns(WxCouponOrder.Field.CreateDate_DESC);
else if (wxCouponOrder.getCouponOrderStatus() == EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode()) else if (wxCouponOrder.getCouponOrderStatus() == EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode())
@@ -139,9 +139,8 @@ public class WxCouponOrderController extends BaseController {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
} }
if (cardCVo == null) cardCVo = new WxCardCVo(); if (cardCVo == null) cardCVo = new WxCardCVo();
WxCUser user = getUser();
cardCVo.setTenantId(user.getTenantId());
cardCVo.setOwnerId(user.getId());
cardCVo.setTenantId(getTenantId());
cardCVo.setOwnerId(getUserId());
if(StringUtils.isNotBlank(cardCVo.getStatusStr())) { if(StringUtils.isNotBlank(cardCVo.getStatusStr())) {
String [] statusAttr = cardCVo.getStatusStr().split(","); String [] statusAttr = cardCVo.getStatusStr().split(",");
List<Integer> tmpList = new ArrayList<Integer>(); List<Integer> tmpList = new ArrayList<Integer>();
@@ -222,6 +221,10 @@ public class WxCouponOrderController extends BaseController {
if (cUserId == null) { if (cUserId == null) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "cUserId不能为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "cUserId不能为空");
} }
// update_date判断
if(wxCouponOrder.getUpdateDate() == null) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "updateDate不能为空");
}
//当前领取人 //当前领取人
wxCouponOrder.setOwnerId(getUserId()); wxCouponOrder.setOwnerId(getUserId());
return wxCouponOrderService.queryCardStatus(wxCouponOrder); return wxCouponOrderService.queryCardStatus(wxCouponOrder);


+ 3
- 5
mallinkCApi/src/main/java/com/iformall/controller/WxMallController.java Ver fichero

@@ -84,8 +84,7 @@ public class WxMallController extends BaseController {
@ApiOperation("商场信息") @ApiOperation("商场信息")
@GetMapping("/mallInfo") @GetMapping("/mallInfo")
public ResultData getMallInfo() { public ResultData getMallInfo() {
WxCUser user = getUser();
WxMall mall = wxMallService.getByTenantId(user.getTenantId());
WxMall mall = wxMallService.getByTenantId(getTenantId());
if (mall == null) { if (mall == null) {
return new ResultData(ErrorCode.MALL_INFO_NOT_FOUND); return new ResultData(ErrorCode.MALL_INFO_NOT_FOUND);
} }
@@ -95,11 +94,10 @@ public class WxMallController extends BaseController {
@ApiOperation("成长值相关信息") @ApiOperation("成长值相关信息")
@GetMapping("/scoreLevelInfo") @GetMapping("/scoreLevelInfo")
public ResultData getScoreLevelInfo() { public ResultData getScoreLevelInfo() {
WxCUser user = getUser();
Map map = new HashMap(); Map map = new HashMap();
WxScoreRules scoreRules = wxScoreRulesService.getScoreRules(user.getTenantId());
WxScoreRules scoreRules = wxScoreRulesService.getScoreRules(getTenantId());
map.put("score", scoreRules); map.put("score", scoreRules);
List<WxLevelConfig> levelConfigList = wxLevelConfigService.getByTenantId(user.getTenantId());
List<WxLevelConfig> levelConfigList = wxLevelConfigService.getByTenantId(getTenantId());
boolean disscountEnable = false; boolean disscountEnable = false;
for(WxLevelConfig levelConfig: levelConfigList) { for(WxLevelConfig levelConfig: levelConfigList) {
if (levelConfig.getDiscountEnable() > 0 ) { if (levelConfig.getDiscountEnable() > 0 ) {


+ 4
- 9
mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java Ver fichero

@@ -69,12 +69,10 @@ public class WxOrderController extends BaseController {
couponId = wxCouponChannel.getCouponId(); couponId = wxCouponChannel.getCouponId();
} }


WxCUser user = getUser();

WxOrder order = null; WxOrder order = null;


try { try {
order = wxOrderService.saveFreeCouponOrder(user.getId(), couponChannelId, couponId);
order = wxOrderService.saveFreeCouponOrder(getUserId(), couponChannelId, couponId);
return new ResultData(order); return new ResultData(order);
} catch (MallinkException e) { } catch (MallinkException e) {
logger.error(e.getMessage()); logger.error(e.getMessage());
@@ -188,7 +186,6 @@ public class WxOrderController extends BaseController {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "orderId不能为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "orderId不能为空");
} }
Long orderId = 0L; Long orderId = 0L;
WxCUser user = getUser();
try { try {
orderId = Long.valueOf(orderIdStr); orderId = Long.valueOf(orderIdStr);
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
@@ -218,7 +215,6 @@ 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不能为空");
} }
Long orderId = 0L; Long orderId = 0L;
WxCUser user = getUser();
try { try {
orderId = Long.valueOf(orderIdStr); orderId = Long.valueOf(orderIdStr);
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
@@ -246,7 +242,7 @@ public class WxOrderController extends BaseController {
public ResultData list(@ModelAttribute WxOrder wxOrder, Integer pageNum, Integer pageSize) { public ResultData list(@ModelAttribute WxOrder wxOrder, Integer pageNum, Integer pageSize) {
// c端用户应该只能看到自己的订单 // c端用户应该只能看到自己的订单
if (wxOrder == null) wxOrder = new WxOrder(); if (wxOrder == null) wxOrder = new WxOrder();
wxOrder.setcUserId(getUser().getId());
wxOrder.setcUserId(getUserId());
wxOrder.setSortColumns(WxOrder.Field.UpdateDate_DESC); wxOrder.setSortColumns(WxOrder.Field.UpdateDate_DESC);
final PageInfo<WxOrderCouponVo> page = wxOrderService.listCUserVoAsPage(wxOrder, pageNum, pageSize); final PageInfo<WxOrderCouponVo> page = wxOrderService.listCUserVoAsPage(wxOrder, pageNum, pageSize);


@@ -283,7 +279,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(getUser().getId());
wxOrder.setcUserId(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);
@@ -339,8 +335,7 @@ public class WxOrderController extends BaseController {
public ResultData pressOrderList(@ModelAttribute WxOrder wxOrder, Integer pageNum, Integer pageSize) { public ResultData pressOrderList(@ModelAttribute WxOrder wxOrder, Integer pageNum, Integer pageSize) {
// c端用户应该只能看到自己的订单 // c端用户应该只能看到自己的订单
if (wxOrder == null) wxOrder = new WxOrder(); if (wxOrder == null) wxOrder = new WxOrder();
WxCUser user = getUser();
wxOrder.setcUserId(user.getId());
wxOrder.setcUserId(getUserId());
wxOrder.setSortColumns(WxOrder.Field.CreateDate_DESC); wxOrder.setSortColumns(WxOrder.Field.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);


+ 1
- 2
mallinkCApi/src/main/java/com/iformall/controller/WxParkController.java Ver fichero

@@ -27,9 +27,8 @@ public class WxParkController extends BaseController {
@ApiOperation("查找用户车场信息") @ApiOperation("查找用户车场信息")
@GetMapping("/info") @GetMapping("/info")
public ResultData findById() { public ResultData findById() {
WxCUser user = getUser();
WxPark parkQ = new WxPark(); WxPark parkQ = new WxPark();
parkQ.setTenantId(user.getTenantId());
parkQ.setTenantId(getTenantId());
WxPark park = wxParkService.getByObj(parkQ); WxPark park = wxParkService.getByObj(parkQ);
if (park == null) { if (park == null) {
logger.error("车场未取到"); logger.error("车场未取到");


+ 3
- 5
mallinkCApi/src/main/java/com/iformall/controller/WxPressOrderController.java Ver fichero

@@ -62,7 +62,6 @@ public class WxPressOrderController extends BaseController {
logger.error("orderId convert error, " + orderIdStr + ", e:" + e.getMessage()); logger.error("orderId convert error, " + orderIdStr + ", e:" + e.getMessage());
return new ResultData(ErrorCode.SYS_PARAMETER_CAST_ERROR.getCode(), "orderId: " + orderIdStr + ", e:" + e.getMessage()); return new ResultData(ErrorCode.SYS_PARAMETER_CAST_ERROR.getCode(), "orderId: " + orderIdStr + ", e:" + e.getMessage());
} }
WxCUser user = getUser();
WxOrder order = wxOrderService.getById(orderId); WxOrder order = wxOrderService.getById(orderId);
if(order == null) { if(order == null) {
logger.error("订单不存在:" + orderId); logger.error("订单不存在:" + orderId);
@@ -100,7 +99,7 @@ public class WxPressOrderController extends BaseController {
} }


try { try {
wxOrderPressService.pressCouponJoin(order, coupon, user);
wxOrderPressService.pressCouponJoin(order, coupon, getUserId());
} catch (MallinkException e) { } catch (MallinkException e) {
logger.error(e.getMessage()); logger.error(e.getMessage());
return new ResultData(e.getErrorCode(), e.getMessage()); return new ResultData(e.getErrorCode(), e.getMessage());
@@ -124,17 +123,16 @@ public class WxPressOrderController extends BaseController {
logger.error("orderId convert error, " + orderId + ", e:" + e.getMessage()); logger.error("orderId convert error, " + orderId + ", e:" + e.getMessage());
return new ResultData(ErrorCode.SYS_PARAMETER_CAST_ERROR.getCode(), "orderId: " + orderId + ", e:" + e.getMessage()); return new ResultData(ErrorCode.SYS_PARAMETER_CAST_ERROR.getCode(), "orderId: " + orderId + ", e:" + e.getMessage());
} }
WxCUser user = getUser();
WxOrder order = wxOrderService.getById(orderIdL); WxOrder order = wxOrderService.getById(orderIdL);
if(order == null) { if(order == null) {
logger.error("订单不存在:" + orderId); logger.error("订单不存在:" + orderId);
return new ResultData(ErrorCode.ORDER_IS_NOT_FIND); return new ResultData(ErrorCode.ORDER_IS_NOT_FIND);
} }
if(order.getcUserId().equals(user.getId())) {
if(order.getcUserId().equals(getUserId())) {
ret.put("status", EnumOrderPressStatus.FIRST.getCode()); ret.put("status", EnumOrderPressStatus.FIRST.getCode());
return new ResultData(ret); return new ResultData(ret);
} }
int status = wxOrderPressService.pressCouponStatus(order, user);
int status = wxOrderPressService.pressCouponStatus(order, getUserId());
ret.put("status", status); ret.put("status", status);
return new ResultData(ret); return new ResultData(ret);
} }


+ 2
- 3
mallinkCApi/src/main/java/com/iformall/controller/WxScoreHistoryController.java Ver fichero

@@ -28,10 +28,9 @@ public class WxScoreHistoryController 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 list(Integer pageNum, Integer pageSize) { public ResultData list(Integer pageNum, Integer pageSize) {
WxCUser user = getUser();
WxScoreHistory wxScoreHistory = new WxScoreHistory(); WxScoreHistory wxScoreHistory = new WxScoreHistory();
wxScoreHistory.setTenantId(user.getTenantId());
wxScoreHistory.setCUserId(user.getId());
wxScoreHistory.setTenantId(getTenantId());
wxScoreHistory.setCUserId(getUserId());
wxScoreHistory.setSortColumns(WxScoreHistory.Field.CreateDate_DESC); wxScoreHistory.setSortColumns(WxScoreHistory.Field.CreateDate_DESC);
final PageInfo<WxScoreHistory> page = wxScoreHistoryService.listAsPage(wxScoreHistory, pageNum, pageSize); final PageInfo<WxScoreHistory> page = wxScoreHistoryService.listAsPage(wxScoreHistory, pageNum, pageSize);
return new ResultData(page); return new ResultData(page);


+ 24
- 26
mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java Ver fichero

@@ -17,14 +17,13 @@ import com.iformall.domain.vo.WxLevelMerchantCVo;
import com.iformall.enums.EnumAssignTagsTrigger; import com.iformall.enums.EnumAssignTagsTrigger;
import com.iformall.enums.EnumLevelConfigDiscountStatus; import com.iformall.enums.EnumLevelConfigDiscountStatus;
import com.iformall.enums.EnumScoreType; import com.iformall.enums.EnumScoreType;
import com.iformall.interceptor.AuthorizationInterceptor;
import com.iformall.service.*; import com.iformall.service.*;
import com.iformall.utils.Constant;
import com.iformall.utils.IPUtil; import com.iformall.utils.IPUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.common.error.WxErrorException;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.http.util.EntityUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -116,7 +115,7 @@ public class WxUserGrantController extends BaseController {
} else { } else {
// 检查token是否已过期, 1小时就重新获取 // 检查token是否已过期, 1小时就重新获取
Date curDate = new Date(); Date curDate = new Date();
if(curDate.getTime() > wxAppinfo.getLastTokenTime().getTime() + 3600000) {
if(curDate.getTime() > wxAppinfo.getLastTokenTime().getTime() + Constant.C_EXPIRE) {
updateAppAccessToken(wxAppinfo, wxMaService); updateAppAccessToken(wxAppinfo, wxMaService);
wxMaService = getWeappServiceByAppInfo(wxAppinfo); wxMaService = getWeappServiceByAppInfo(wxAppinfo);
} }
@@ -152,8 +151,8 @@ public class WxUserGrantController extends BaseController {
token = user1.createToken(new Date()); token = user1.createToken(new Date());


resultMap.put("token", token); resultMap.put("token", token);
request.setAttribute(AuthorizationInterceptor.LOGIN_USER_KEY, user1.getId());
request.setAttribute(AuthorizationInterceptor.TENANT_ID, user1.getTenantId());
request.setAttribute(Constant.LOGIN_USER_KEY, user1.getId());
request.setAttribute(Constant.TENANT_ID, user1.getTenantId());


user1.setRegisterIp(ipaddress); user1.setRegisterIp(ipaddress);
user1.setSessionKey(session_key); user1.setSessionKey(session_key);
@@ -202,8 +201,8 @@ public class WxUserGrantController extends BaseController {
wxCUserService.saveOrUpdate(user); wxCUserService.saveOrUpdate(user);


resultMap.put("token", token); resultMap.put("token", token);
request.setAttribute(AuthorizationInterceptor.LOGIN_USER_KEY, user.getId());
request.setAttribute(AuthorizationInterceptor.TENANT_ID, user.getTenantId());
request.setAttribute(Constant.LOGIN_USER_KEY, user.getId());
request.setAttribute(Constant.TENANT_ID, user.getTenantId());
// 成长值 // 成长值
try { try {
wxCUserService.scoreCalculate(user, true); wxCUserService.scoreCalculate(user, true);
@@ -370,14 +369,13 @@ public class WxUserGrantController extends BaseController {
public ResultData checkUserStatus() { public ResultData checkUserStatus() {
Map resultMap = new HashMap(); Map resultMap = new HashMap();
WxCUser user = getUser(); WxCUser user = getUser();
if (!StringUtils.isBlank(user.getNickName())) {
if (StringUtils.isNotBlank(user.getNickName())) {
resultMap.put("nickName", user.getNickName()); resultMap.put("nickName", user.getNickName());
}
if (StringUtils.isBlank(user.getNickName())) {
} else {
logger.warn("用户昵称未授权,跳转到用户授权页!"); logger.warn("用户昵称未授权,跳转到用户授权页!");
return new ResultData(ErrorCode.NICK_NAME_NOT_FOUND.getCode(), "用户昵称未授权,请跳转到用户昵称授权页!", resultMap); return new ResultData(ErrorCode.NICK_NAME_NOT_FOUND.getCode(), "用户昵称未授权,请跳转到用户昵称授权页!", resultMap);
} }
return new ResultData(Result.SUCCESS, "是老用户,已完成所有授权", resultMap);
return new ResultData(Result.SUCCESS, "是老用户,已完成用户昵称授权", resultMap);
} }


/** /**
@@ -389,18 +387,19 @@ public class WxUserGrantController extends BaseController {
public ResultData checkPhoneStatus() { public ResultData checkPhoneStatus() {
Map resultMap = new HashMap(); Map resultMap = new HashMap();
WxCUser user = getUser(); WxCUser user = getUser();
if (!StringUtils.isBlank(user.getPhone())) {
if (StringUtils.isNotBlank(user.getPhone())) {
resultMap.put("phone", user.getPhone()); resultMap.put("phone", user.getPhone());
} else {
if (StringUtils.isBlank(user.getPhone())) {
logger.warn("用户手机号未授权,跳转到授权手机号页!");
return new ResultData(ErrorCode.PHONE_NOT_FOUND.getCode(), "用户手机号未授权,请跳转到授权手机号页!", resultMap);
}
if (user.getPhone().contains("*")) {
logger.warn("用户手机号已加密,跳转到手工输入手机号页!");
return new ResultData(ErrorCode.PHONE_IS_ENCRYPTED.getCode(), "用户手机号已加密,手工输入手机号页!", resultMap);
}
} }
if (StringUtils.isBlank(user.getPhone())) {
logger.warn("用户手机号未授权,跳转到授权手机号页!");
return new ResultData(ErrorCode.PHONE_NOT_FOUND.getCode(), "用户手机号未授权,请跳转到授权手机号页!", resultMap);
}
if (user.getPhone().contains("*")) {
logger.warn("用户手机号已加密,跳转到手工输入手机号页!");
return new ResultData(ErrorCode.PHONE_IS_ENCRYPTED.getCode(), "用户手机号已加密,手工输入手机号页!", resultMap);
}
return new ResultData(Result.SUCCESS, "是老用户,已完成所有授权", resultMap);
return new ResultData(Result.SUCCESS, "是老用户,已完成手机号授权", resultMap);
} }


@ApiOperation("获取当前用户信息") @ApiOperation("获取当前用户信息")
@@ -457,10 +456,9 @@ public class WxUserGrantController extends BaseController {
@ApiOperation("获取当前用户车牌列表") @ApiOperation("获取当前用户车牌列表")
@GetMapping("/carList") @GetMapping("/carList")
public ResultData getCarList() { public ResultData getCarList() {
WxCUser user = getUser();
WxCUserCar userCar = new WxCUserCar(); WxCUserCar userCar = new WxCUserCar();
userCar.setTenantId(user.getTenantId());
userCar.setCUserId(user.getId());
userCar.setTenantId(getTenantId());
userCar.setCUserId(getUserId());
List<WxCUserCar> list = wxCUserCarService.getList(userCar); List<WxCUserCar> list = wxCUserCarService.getList(userCar);
return new ResultData(Result.SUCCESS,"获取查询成功", list); return new ResultData(Result.SUCCESS,"获取查询成功", list);
} }
@@ -541,7 +539,7 @@ public class WxUserGrantController extends BaseController {
public ResultData updateUserInfo(@RequestBody WxCUserBasicInfo wxCUserBasicInfo) { public ResultData updateUserInfo(@RequestBody WxCUserBasicInfo wxCUserBasicInfo) {
if (wxCUserBasicInfo == null) if (wxCUserBasicInfo == null)
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
if (wxCUserBasicInfoService.getById(getUser().getId()) == null)
if (wxCUserBasicInfoService.getById(getUserId()) == null)
return new ResultData(ErrorCode.USER_IS_NOT_MEMBER); return new ResultData(ErrorCode.USER_IS_NOT_MEMBER);


if (wxCUserBasicInfo.getName() != null || if (wxCUserBasicInfo.getName() != null ||
@@ -553,7 +551,7 @@ public class WxUserGrantController extends BaseController {
record.setBirthdate(wxCUserBasicInfo.getBirthdate()); record.setBirthdate(wxCUserBasicInfo.getBirthdate());
record.setSex(wxCUserBasicInfo.getSex() ); record.setSex(wxCUserBasicInfo.getSex() );
record.setAddress(wxCUserBasicInfo.getAddress()); record.setAddress(wxCUserBasicInfo.getAddress());
record.setId(getUser().getId());
record.setId(getUserId());
record.setUpdateDate(new Date()); record.setUpdateDate(new Date());
wxCUserBasicInfoService.update(record); wxCUserBasicInfoService.update(record);
wxScoreRulesService.addScore(EnumScoreType.COMPLETE_INFO, record); wxScoreRulesService.addScore(EnumScoreType.COMPLETE_INFO, record);


+ 3
- 5
mallinkCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java Ver fichero

@@ -6,6 +6,7 @@ import com.iformall.common.ErrorCode;
import com.iformall.domain.po.WxCUser; import com.iformall.domain.po.WxCUser;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.service.WxCUserService; import com.iformall.service.WxCUserService;
import com.iformall.utils.Constant;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -26,9 +27,6 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter {
@Autowired @Autowired
private WxCUserService wxCUserService; private WxCUserService wxCUserService;


public static final String LOGIN_USER_KEY = "LOGIN_USER_KEY";
public static final String TENANT_ID = "TENANT_ID";

@Override @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
AuthIgnore annotation; AuthIgnore annotation;
@@ -62,8 +60,8 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter {
} }


//设置userId到request里,后续根据userId,获取用户信息 //设置userId到request里,后续根据userId,获取用户信息
request.setAttribute(LOGIN_USER_KEY, wxCUser.getId());
request.setAttribute(TENANT_ID, wxCUser.getTenantId());
request.setAttribute(Constant.LOGIN_USER_KEY, wxCUser.getId());
request.setAttribute(Constant.TENANT_ID, wxCUser.getTenantId());


return true; return true;
} }


+ 2
- 2
mallinkCApi/src/main/java/com/iformall/resolver/LoginUserHandlerMethodArgumentResolver.java Ver fichero

@@ -2,8 +2,8 @@ package com.iformall.resolver;


import com.iformall.annotation.LoginUser; import com.iformall.annotation.LoginUser;
import com.iformall.domain.po.WxCUser; import com.iformall.domain.po.WxCUser;
import com.iformall.interceptor.AuthorizationInterceptor;
import com.iformall.service.WxCUserService; import com.iformall.service.WxCUserService;
import com.iformall.utils.Constant;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.MethodParameter; import org.springframework.core.MethodParameter;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -33,7 +33,7 @@ public class LoginUserHandlerMethodArgumentResolver implements HandlerMethodArgu
public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer container, public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer container,
NativeWebRequest request, WebDataBinderFactory factory) throws Exception { NativeWebRequest request, WebDataBinderFactory factory) throws Exception {
//获取用户ID //获取用户ID
Object object = request.getAttribute(AuthorizationInterceptor.LOGIN_USER_KEY, RequestAttributes.SCOPE_REQUEST);
Object object = request.getAttribute(Constant.LOGIN_USER_KEY, RequestAttributes.SCOPE_REQUEST);
if(object == null){ if(object == null){
return null; return null;
} }


+ 2
- 2
mallinkCApi/src/main/java/com/iformall/tenant/TenantInfoImpl.java Ver fichero

@@ -1,7 +1,7 @@
package com.iformall.tenant; package com.iformall.tenant;


import com.iformall.interceptor.AuthorizationInterceptor;
import com.iformall.plugin.TenantInfo; import com.iformall.plugin.TenantInfo;
import com.iformall.utils.Constant;
import org.apache.ibatis.mapping.MappedStatement; import org.apache.ibatis.mapping.MappedStatement;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -18,7 +18,7 @@ public class TenantInfoImpl implements TenantInfo {
String tenantId = null; String tenantId = null;
try { try {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
tenantId = (String) request.getAttribute(AuthorizationInterceptor.TENANT_ID);
tenantId = (String) request.getAttribute(Constant.TENANT_ID);
return tenantId; return tenantId;
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage()); logger.error(e.getMessage());


+ 2
- 2
mallinkMQConsumer/src/main/java/com/iformall/mq/MqBaseConsumer.java Ver fichero

@@ -29,8 +29,8 @@ public class MqBaseConsumer {
private SendEmailServiceImpl sendEmailService; private SendEmailServiceImpl sendEmailService;
@Autowired @Autowired
private SendSmartAppMsgServiceImpl sendSmartAppMsgService; private SendSmartAppMsgServiceImpl sendSmartAppMsgService;
@Autowired
private MqBaseProducer mqBaseProducer;
// @Autowired
// private MqBaseProducer mqBaseProducer;


public void doMessage(String message) { public void doMessage(String message) {
log.info("received message: {}", message); log.info("received message: {}", message);


+ 2
- 1
mallinkSchedule/src/main/java/com/iformall/schedule/MsgSendingSchedule.java Ver fichero

@@ -43,13 +43,14 @@ public class MsgSendingSchedule {
logger.info("sendmsg定时任务启动"); logger.info("sendmsg定时任务启动");
String systemTime = DateUtils.getSystemTime("yyyy-MM-dd HH:00:00"); String systemTime = DateUtils.getSystemTime("yyyy-MM-dd HH:00:00");
WxMsg wxMsg = new WxMsg(); WxMsg wxMsg = new WxMsg();
wxMsg.setMsgType(EnumMsgRecordType.SMS_CALLBACK.getCode());
wxMsg.setIsright(0); wxMsg.setIsright(0);
wxMsg.setSendtime(systemTime); wxMsg.setSendtime(systemTime);
List<WxMsg> list = wxMsgMapper.findList(wxMsg); List<WxMsg> list = wxMsgMapper.findList(wxMsg);
logger.info("将要发送的短信列表:" + JSONArray.toJSONString(list)); logger.info("将要发送的短信列表:" + JSONArray.toJSONString(list));
for (WxMsg msg : list) { for (WxMsg msg : list) {
//sendmsg(msg); //sendmsg(msg);
wxMsg.setMsgType(EnumMsgRecordType.SMS_CALLBACK.getCode());
wxMsg.setReceiver(msg.getPhones());
mqBaseProducer.sendMessage(msg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(),null); mqBaseProducer.sendMessage(msg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(),null);
} }
logger.info("sendmsg定时任务结束"); logger.info("sendmsg定时任务结束");


+ 24
- 1
mallinkService/src/main/java/com/iformall/domain/po/BaseMsg.java Ver fichero

@@ -9,11 +9,17 @@ import java.io.Serializable;
*/ */
public class BaseMsg implements Serializable { public class BaseMsg implements Serializable {
private static final long serialVersionUID = 923764283764823L; private static final long serialVersionUID = 923764283764823L;
//租户id
private String tenantId;


//唯一标识 //唯一标识
@Transient @Transient
private String uuid; private String uuid;


//接收人,手机号邮件地址等
@Transient
private String receiver;

//消息类型 1短信 2回调短信 3邮件 4微信小程序模板 5微信公众号模板 6系统通知 //消息类型 1短信 2回调短信 3邮件 4微信小程序模板 5微信公众号模板 6系统通知
@Transient @Transient
private Integer msgType; private Integer msgType;
@@ -26,10 +32,27 @@ public class BaseMsg implements Serializable {
@Transient @Transient
private String statusMessage; private String statusMessage;


//延迟消息1s,5s,10s,30s,1m,2m,3m,4m,5m,6m,7m,8m,9m,10m,20m,30m,1h,2h
//rocketMQ延迟消息1s,5s,10s,30s,1m,2m,3m,4m,5m,6m,7m,8m,9m,10m,20m,30m,1h,2h
@Transient @Transient
private Integer delayTimeLevel = 0; private Integer delayTimeLevel = 0;



public String getTenantId() {
return tenantId;
}

public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}

public String getReceiver() {
return receiver;
}

public void setReceiver(String receiver) {
this.receiver = receiver;
}

public Integer getDelayTimeLevel() { public Integer getDelayTimeLevel() {
return delayTimeLevel; return delayTimeLevel;
} }


+ 0
- 10
mallinkService/src/main/java/com/iformall/domain/po/MailMsg.java Ver fichero

@@ -10,8 +10,6 @@ public class MailMsg extends BaseMsg {
private static final long serialVersionUID = 923764283760321L; private static final long serialVersionUID = 923764283760321L;
// 模板id // 模板id
private Integer modelId; private Integer modelId;
private String tenantId;

private String[] to; private String[] to;
private String from; private String from;
private String msg; private String msg;
@@ -29,14 +27,6 @@ public class MailMsg extends BaseMsg {
//动态替换内容 //动态替换内容
private Map<String,String> dynamicContentMap; private Map<String,String> dynamicContentMap;


public String getTenantId() {
return tenantId;
}

public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}

public Map<String, String> getDynamicContentMap() { public Map<String, String> getDynamicContentMap() {
return dynamicContentMap; return dynamicContentMap;
} }


+ 0
- 9
mallinkService/src/main/java/com/iformall/domain/po/SmartAppMsg.java Ver fichero

@@ -13,7 +13,6 @@ public class SmartAppMsg extends BaseMsg {


//小程序的appId //小程序的appId
private String appId; private String appId;
private String tenantId;
private String to; private String to;
private String from; private String from;
private Integer templateType; private Integer templateType;
@@ -45,14 +44,6 @@ public class SmartAppMsg extends BaseMsg {
this.gotopage = gotopage; this.gotopage = gotopage;
} }


public String getTenantId() {
return tenantId;
}

public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}

public String getTo() { public String getTo() {
return to; return to;
} }


+ 2
- 2
mallinkService/src/main/java/com/iformall/domain/po/WxCUser.java Ver fichero

@@ -1,7 +1,7 @@
package com.iformall.domain.po; package com.iformall.domain.po;


import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.iformall.utils.BaseConstant;
import com.iformall.utils.Constant;


import javax.persistence.*; import javax.persistence.*;
import java.util.*; import java.util.*;
@@ -469,7 +469,7 @@ public class WxCUser implements Serializable {
//生成一个token //生成一个token
this.token = UUID.randomUUID().toString(); this.token = UUID.randomUUID().toString();
//过期时间 //过期时间
this.expireTime = new Date(currentDate.getTime() + BaseConstant.EXPIRE * 1000);
this.expireTime = new Date(currentDate.getTime() + Constant.EXPIRE * 1000);
} }
return this.token; return this.token;
} }


+ 2
- 2
mallinkService/src/main/java/com/iformall/domain/po/WxMerchantBUser.java Ver fichero

@@ -1,6 +1,6 @@
package com.iformall.domain.po; package com.iformall.domain.po;


import com.iformall.utils.BaseConstant;
import com.iformall.utils.Constant;


import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Table; import javax.persistence.Table;
@@ -240,7 +240,7 @@ public class WxMerchantBUser implements Serializable {
//生成一个token //生成一个token
String token = UUID.randomUUID().toString(); String token = UUID.randomUUID().toString();
//过期时间 //过期时间
Date expireTime = new Date(currentDate.getTime() + BaseConstant.EXPIRE * 1000);
Date expireTime = new Date(currentDate.getTime() + Constant.EXPIRE * 1000);
setToken(token); setToken(token);
setExpireTime(expireTime); setExpireTime(expireTime);
} }


+ 22
- 10
mallinkService/src/main/java/com/iformall/domain/po/WxMsgRecord.java Ver fichero

@@ -27,8 +27,6 @@ public class WxMsgRecord extends BaseMsg {
private Long senderUserId; private Long senderUserId;
//发送人姓名 //发送人姓名
private String senderUserName; private String senderUserName;
//接收人,手机号邮件地址等
private String receiver;
//接收人用户id //接收人用户id
private Long receiverUserId; private Long receiverUserId;
//接收人姓名 //接收人姓名
@@ -43,9 +41,31 @@ public class WxMsgRecord extends BaseMsg {
private Date createtime; private Date createtime;
private Date updatetime; private Date updatetime;


private Integer msgStatus;
private String statusMessage;

//动态替换内容 //动态替换内容
private Map<String,String> dynamicContentMap; private Map<String,String> dynamicContentMap;


@Override
public Integer getMsgStatus() {
return msgStatus;
}

@Override
public void setMsgStatus(Integer msgStatus) {
this.msgStatus = msgStatus;
}

@Override
public String getStatusMessage() {
return statusMessage;
}

@Override
public void setStatusMessage(String statusMessage) {
this.statusMessage = statusMessage;
}


public String getMsgJson() { public String getMsgJson() {
return msgJson; return msgJson;
@@ -105,14 +125,6 @@ public class WxMsgRecord extends BaseMsg {
this.senderUserName = senderUserName; this.senderUserName = senderUserName;
} }


public String getReceiver() {
return receiver;
}

public void setReceiver(String receiver) {
this.receiver = receiver;
}

public Long getReceiverUserId() { public Long getReceiverUserId() {
return receiverUserId; return receiverUserId;
} }


+ 1
- 2
mallinkService/src/main/java/com/iformall/service/WxCardSpendService.java Ver fichero

@@ -22,10 +22,9 @@ public interface WxCardSpendService {
* *
* @param record * @param record
* @param order * @param order
* @param user
* @return * @return
*/ */
ResultData createCardSpend(WxCardSpend record, WxOrder order, WxCouponMerchant couponMerchant, WxCUser user);
ResultData createCardSpend(WxCardSpend record, WxOrder order, WxCouponMerchant couponMerchant);


/** /**
* 根据实体查询分页列表 * 根据实体查询分页列表


+ 4
- 4
mallinkService/src/main/java/com/iformall/service/WxOrderPressService.java Ver fichero

@@ -45,16 +45,16 @@ public interface WxOrderPressService {
* 加入砍价 * 加入砍价
* @param order * @param order
* @param coupon * @param coupon
* @param user
* @param cUserId
*/ */
void pressCouponJoin(WxOrder order, WxCoupon coupon, WxCUser user);
void pressCouponJoin(WxOrder order, WxCoupon coupon, Long cUserId);


/** /**
* 检查用户砍价状态 * 检查用户砍价状态
* @param order * @param order
* @param user
* @param cUserId
*/ */
int pressCouponStatus(WxOrder order, WxCUser user);
int pressCouponStatus(WxOrder order, Long cUserId);


+ 2
- 2
mallinkService/src/main/java/com/iformall/service/WxOrderService.java Ver fichero

@@ -53,12 +53,12 @@ public interface WxOrderService {
/** /**
* 商户码-储值卡支付 * 商户码-储值卡支付
* @param merchant * @param merchant
* @param cUser
* @param cUserId
* @param totalFeeStr * @param totalFeeStr
* @param payment * @param payment
* @return 订单id * @return 订单id
*/ */
WxOrder saveCardPayOrder(WxMerchant merchant, WxCUser cUser, String totalFeeStr, Integer payment);
WxOrder saveCardPayOrder(WxMerchant merchant, Long cUserId, String totalFeeStr, Integer payment);


/** /**
* 免费券订单接口 * 免费券订单接口


+ 25
- 25
mallinkService/src/main/java/com/iformall/service/impl/SendCallBackSmsServiceImpl.java Ver fichero

@@ -5,6 +5,7 @@ import com.iformall.common.ErrorCode;
import com.iformall.common.IdWorker; import com.iformall.common.IdWorker;
import com.iformall.domain.po.*; import com.iformall.domain.po.*;
import com.iformall.enums.EnumMsgSendStatus; import com.iformall.enums.EnumMsgSendStatus;
import com.iformall.enums.EnumMsgStatus;
import com.iformall.enums.EnumVerifyCode; import com.iformall.enums.EnumVerifyCode;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.mapper.*; import com.iformall.mapper.*;
@@ -13,6 +14,8 @@ import com.iformall.service.WxMsgService;
import com.iformall.service.WxMsgValidationcodeService; import com.iformall.service.WxMsgValidationcodeService;
import com.iformall.utils.DateUtils; import com.iformall.utils.DateUtils;
import com.iformall.utils.WiwideUtil; import com.iformall.utils.WiwideUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
@@ -23,6 +26,7 @@ import java.util.List;
*/ */
@Service @Service
public class SendCallBackSmsServiceImpl implements MsgSendService { public class SendCallBackSmsServiceImpl implements MsgSendService {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired @Autowired
private WxMsgConfigMapper wxMsgConfigMapper; private WxMsgConfigMapper wxMsgConfigMapper;
@Autowired @Autowired
@@ -39,11 +43,12 @@ public class SendCallBackSmsServiceImpl implements MsgSendService {
private WxMsgService wxMsgService; private WxMsgService wxMsgService;


@Override @Override
public void send(BaseMsg baseMsg) {
public void send(BaseMsg baseMsg) throws Exception{
WxMsg record = (WxMsg)baseMsg; WxMsg record = (WxMsg)baseMsg;


WxMsgConfig wxMsgConfig = record.getWxMsgConfig(); WxMsgConfig wxMsgConfig = record.getWxMsgConfig();
if(wxMsgConfig == null){ if(wxMsgConfig == null){
wxMsgConfig = new WxMsgConfig();
wxMsgConfig.setTenantId(record.getTenantId()); wxMsgConfig.setTenantId(record.getTenantId());
List<WxMsgConfig> wxMsgConfigs = wxMsgConfigMapper.findList(wxMsgConfig); List<WxMsgConfig> wxMsgConfigs = wxMsgConfigMapper.findList(wxMsgConfig);
if (wxMsgConfigs.size() == 0) { if (wxMsgConfigs.size() == 0) {
@@ -85,33 +90,28 @@ public class SendCallBackSmsServiceImpl implements MsgSendService {
record.setSendstatus(EnumMsgSendStatus.MSG_SEND_FAIL.getCode()); record.setSendstatus(EnumMsgSendStatus.MSG_SEND_FAIL.getCode());
} }


final IdWorker idWorker = IdWorker.get();
long id = idWorker.nextId();
WxMsg wxMsg = new WxMsg();
wxMsg.setTenantId(record.getTenantId());
wxMsg.setModelId(record.getModelId());
wxMsg.setMsg(record.getMsg());
wxMsg.setExpectSendNumber(record.getExpectSendNumber());
wxMsg.setPhones(record.getPhones());
wxMsg.setSignature(record.getSignature());
wxMsg.setIsright(record.getIsright());
wxMsg.setName(record.getName());
wxMsg.setSendstatus(record.getSendstatus());
wxMsg.setLabel(record.getLabel());
wxMsg.setStatus(record.getStatus());
wxMsg.setWay(record.getWay());
wxMsg.setId(id);
String systemTime = DateUtils.getSystemTime("yyyy-MM-dd HH:mm:ss");
wxMsg.setSendtime(systemTime);
wxMsg.setCreatetime(DateUtils.stringToDate(systemTime, "yyyy-MM-dd HH:mm:ss"));
//精准投放
if (couponInject != null) {
wxMsg.setCouponInjectId(couponInject.getId());
if(record.getId() == null){
final IdWorker idWorker = IdWorker.get();
long id = idWorker.nextId();
record.setId(id);
String systemTime = DateUtils.getSystemTime("yyyy-MM-dd HH:mm:ss");
record.setSendtime(systemTime);
record.setCreatetime(DateUtils.stringToDate(systemTime, "yyyy-MM-dd HH:mm:ss"));
//精准投放
if (couponInject != null) {
record.setCouponInjectId(couponInject.getId());
}
wxMsgMapper.insertSelective(record);
} }
wxMsgMapper.insertSelective(wxMsg);

if (ret.equals(EnumMsgSendStatus.MSG_SEND_SUCCESS.getCode().toString())) { if (ret.equals(EnumMsgSendStatus.MSG_SEND_SUCCESS.getCode().toString())) {
wxMsgService.addMsgCallback(wxMsg, batchNo);
wxMsgService.addMsgCallback(record, batchNo);
//wx_msg改为已发送
record.setStatus(EnumMsgStatus.MSG_STATUS_SENDED.getCode());
wxMsgMapper.updateByPrimaryKeySelective(record);
} else { } else {
logger.error("发送:{},运营商返回失败:{}",phone,result);
wxMsgMapper.updateByPrimaryKeySelective(record);
throw new MallinkException(1001,"运营商返回失败:"+result); throw new MallinkException(1001,"运营商返回失败:"+result);
} }
} }


+ 1
- 1
mallinkService/src/main/java/com/iformall/service/impl/SendSmsServiceImpl.java Ver fichero

@@ -38,7 +38,7 @@ public class SendSmsServiceImpl implements MsgSendService {
private WxMsgValidationcodeService wxMsgValidationcodeService; private WxMsgValidationcodeService wxMsgValidationcodeService;


@Override @Override
public void send(BaseMsg baseMsg) {
public void send(BaseMsg baseMsg) throws Exception{
WxMsgRecord record = (WxMsgRecord)baseMsg; WxMsgRecord record = (WxMsgRecord)baseMsg;
WxMsgValidationcode wxMsgValidationcode = new WxMsgValidationcode(); WxMsgValidationcode wxMsgValidationcode = new WxMsgValidationcode();
wxMsgValidationcode.setPhone(record.getReceiver()); wxMsgValidationcode.setPhone(record.getReceiver());


+ 2
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java Ver fichero

@@ -543,8 +543,8 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService {
} }
break; break;
case ASSIGN_TAGS_TRIGGER_CAR:{ case ASSIGN_TAGS_TRIGGER_CAR:{
WxCUser param = (WxCUser) obj;
WxCUserBasicInfo user = wxCUserBasicInfoMapper.selectByPrimaryKey(param.getId());
Long param = (Long) obj;
WxCUserBasicInfo user = wxCUserBasicInfoMapper.selectByPrimaryKey(param);
if (user != null) { if (user != null) {
//车 //车
resList = assignTypeId11(user); resList = assignTypeId11(user);


+ 3
- 3
mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java Ver fichero

@@ -87,7 +87,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService {


@Override @Override
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
public ResultData createCardSpend(WxCardSpend record, WxOrder order, WxCouponMerchant couponMerchant, WxCUser user) {
public ResultData createCardSpend(WxCardSpend record, WxOrder order, WxCouponMerchant couponMerchant) {
Date curDate = new Date(); Date curDate = new Date();
final IdWorker idWorker = IdWorker.get(); final IdWorker idWorker = IdWorker.get();
// 1. get card info // 1. get card info
@@ -111,11 +111,11 @@ public class WxCardSpendServiceImpl implements WxCardSpendService {
// 3. get pay account // 3. get pay account
WxPayAccount payAccount = null; WxPayAccount payAccount = null;
WxPayAccount payAccountQ = new WxPayAccount(); WxPayAccount payAccountQ = new WxPayAccount();
payAccountQ.setTenantId(user.getTenantId());
payAccountQ.setTenantId(record.getTenantId());
try { try {
payAccount = payAccountMapper.selectOne(payAccountQ); payAccount = payAccountMapper.selectOne(payAccountQ);
} catch (Exception e) { } catch (Exception e) {
logger.error("获取payAccount error: " + user.getTenantId());
logger.error("获取payAccount error: " + record.getTenantId());
return new ResultData(ErrorCode.DB_FAIL.getCode(), "获取payAccount失败"); return new ResultData(ErrorCode.DB_FAIL.getCode(), "获取payAccount失败");
} }




+ 1
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java Ver fichero

@@ -610,6 +610,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
smartAppMsg.setTemplateType(EnumTemplateType.VERIFY_FAIL.getCode()); smartAppMsg.setTemplateType(EnumTemplateType.VERIFY_FAIL.getCode());
smartAppMsg.setGotopage("pages/index/index"); smartAppMsg.setGotopage("pages/index/index");
smartAppMsg.setTo(user.getOpenId()); smartAppMsg.setTo(user.getOpenId());
smartAppMsg.setReceiver(user.getOpenId());
smartAppMsg.setFrom(payOrder.getPrepayId()); smartAppMsg.setFrom(payOrder.getPrepayId());
smartAppMsg.setTemplateDataList(Lists.newArrayList( smartAppMsg.setTemplateDataList(Lists.newArrayList(
new WxMaTemplateData("keyword1", coupon.getTitle(), "#173177"), new WxMaTemplateData("keyword1", coupon.getTitle(), "#173177"),


+ 23
- 8
mallinkService/src/main/java/com/iformall/service/impl/WxMsgRecordServiceImpl.java Ver fichero

@@ -2,13 +2,13 @@ package com.iformall.service.impl;


import com.iformall.common.IdWorker; import com.iformall.common.IdWorker;
import com.iformall.domain.po.*; import com.iformall.domain.po.*;
import com.iformall.enums.EnumMsgRecordStatus;
import com.iformall.mapper.*; import com.iformall.mapper.*;
import com.iformall.service.WxMsgRecordService; import com.iformall.service.WxMsgRecordService;
import com.iformall.utils.JsonUtil; import com.iformall.utils.JsonUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
import java.util.UUID;


/** /**
* @author luozukai * @author luozukai
@@ -20,18 +20,33 @@ public class WxMsgRecordServiceImpl implements WxMsgRecordService {
private WxMsgRecordMapper wxMsgRecordMapper; private WxMsgRecordMapper wxMsgRecordMapper;


@Override @Override
public void save(BaseMsg data) {
WxMsgRecord msgRecord = new WxMsgRecord();
public void save(BaseMsg data){
final IdWorker idWorker = IdWorker.get(); final IdWorker idWorker = IdWorker.get();


WxMsgRecord msgRecord = new WxMsgRecord();
msgRecord.setId(idWorker.nextId());
msgRecord.setUuid(data.getUuid());
msgRecord.setMsgJson(JsonUtil.obj2Json(data));
msgRecord.setMsgStatus(EnumMsgRecordStatus.DEFAULT.getCode());

if(data instanceof WxMsgRecord){ if(data instanceof WxMsgRecord){
msgRecord = (WxMsgRecord)data; msgRecord = (WxMsgRecord)data;
}else if(data instanceof WxMsg){
WxMsg wxMsg = (WxMsg)data;
msgRecord.setTenantId(wxMsg.getTenantId());
msgRecord.setMsgType(wxMsg.getMsgType());
msgRecord.setReceiver(wxMsg.getPhones());
}else if(data instanceof MailMsg){
MailMsg wxMsg = (MailMsg)data;
msgRecord.setTenantId(wxMsg.getTenantId());
msgRecord.setMsgType(wxMsg.getMsgType());
msgRecord.setReceiver(JsonUtil.obj2Json(wxMsg.getTo()));
}else if(data instanceof SmartAppMsg){
SmartAppMsg wxMsg = (SmartAppMsg)data;
msgRecord.setTenantId(wxMsg.getTenantId());
msgRecord.setMsgType(wxMsg.getMsgType());
msgRecord.setReceiver(wxMsg.getTo());
} }

msgRecord.setMsgType(data.getMsgType());
msgRecord.setUuid(data.getUuid());
msgRecord.setMsgJson(JsonUtil.obj2Json(data));
msgRecord.setId(idWorker.nextId());
wxMsgRecordMapper.save(msgRecord); wxMsgRecordMapper.save(msgRecord);
} }




+ 4
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java Ver fichero

@@ -110,6 +110,7 @@ public class WxMsgServiceImpl implements WxMsgService {
wxMsg.setWxMsgConfig(wxMsgConfig); wxMsg.setWxMsgConfig(wxMsgConfig);
wxMsg.setCouponInject(null); wxMsg.setCouponInject(null);
wxMsg.setMsgType(EnumMsgRecordType.SMS_CALLBACK.getCode()); wxMsg.setMsgType(EnumMsgRecordType.SMS_CALLBACK.getCode());
wxMsg.setReceiver(wxMsg.getPhones());
mqBaseProducer.sendMessage(wxMsg, EnumMsgMqTopic.DEFAULT.getCode(),EnumMsgMqTag.DEFAULT.getCode(),null); mqBaseProducer.sendMessage(wxMsg, EnumMsgMqTopic.DEFAULT.getCode(),EnumMsgMqTag.DEFAULT.getCode(),null);
} }
return new ResultData(Result.SUCCESS, "短信已发送"); return new ResultData(Result.SUCCESS, "短信已发送");
@@ -139,6 +140,7 @@ public class WxMsgServiceImpl implements WxMsgService {
//sendmsg(wxMsg, wxMsgConfig, null); //sendmsg(wxMsg, wxMsgConfig, null);
wxMsg.setWxMsgConfig(wxMsgConfig); wxMsg.setWxMsgConfig(wxMsgConfig);
wxMsg.setMsgType(EnumMsgRecordType.SMS_CALLBACK.getCode()); wxMsg.setMsgType(EnumMsgRecordType.SMS_CALLBACK.getCode());
wxMsg.setReceiver(wxMsg.getPhones());
mqBaseProducer.sendMessage(wxMsg, EnumMsgMqTopic.DEFAULT.getCode(),EnumMsgMqTag.DEFAULT.getCode(),EnumMsgMqKey.DEFAULT.getCode()); mqBaseProducer.sendMessage(wxMsg, EnumMsgMqTopic.DEFAULT.getCode(),EnumMsgMqTag.DEFAULT.getCode(),EnumMsgMqKey.DEFAULT.getCode());
} }
return new ResultData(Result.SUCCESS, "短信已发送"); return new ResultData(Result.SUCCESS, "短信已发送");
@@ -181,6 +183,7 @@ public class WxMsgServiceImpl implements WxMsgService {
wxMsg.setWxMsgConfig(wxMsgConfig); wxMsg.setWxMsgConfig(wxMsgConfig);
wxMsg.setCouponInject(couponInject); wxMsg.setCouponInject(couponInject);
wxMsg.setMsgType(EnumMsgRecordType.SMS_CALLBACK.getCode()); wxMsg.setMsgType(EnumMsgRecordType.SMS_CALLBACK.getCode());
wxMsg.setReceiver(wxMsg.getPhones());
mqBaseProducer.sendMessage(wxMsg, EnumMsgMqTopic.DEFAULT.getCode(),EnumMsgMqTag.DEFAULT.getCode(),EnumMsgMqKey.DEFAULT.getCode()); mqBaseProducer.sendMessage(wxMsg, EnumMsgMqTopic.DEFAULT.getCode(),EnumMsgMqTag.DEFAULT.getCode(),EnumMsgMqKey.DEFAULT.getCode());
} else { } else {
List<String> phoneList = Arrays.asList(split).subList(i * 1000, (i + 1) * 1000); List<String> phoneList = Arrays.asList(split).subList(i * 1000, (i + 1) * 1000);
@@ -191,6 +194,7 @@ public class WxMsgServiceImpl implements WxMsgService {
wxMsg.setWxMsgConfig(wxMsgConfig); wxMsg.setWxMsgConfig(wxMsgConfig);
wxMsg.setCouponInject(couponInject); wxMsg.setCouponInject(couponInject);
wxMsg.setMsgType(EnumMsgRecordType.SMS_CALLBACK.getCode()); wxMsg.setMsgType(EnumMsgRecordType.SMS_CALLBACK.getCode());
wxMsg.setReceiver(wxMsg.getPhones());
mqBaseProducer.sendMessage(wxMsg, EnumMsgMqTopic.DEFAULT.getCode(),EnumMsgMqTag.DEFAULT.getCode(),EnumMsgMqKey.DEFAULT.getCode()); mqBaseProducer.sendMessage(wxMsg, EnumMsgMqTopic.DEFAULT.getCode(),EnumMsgMqTag.DEFAULT.getCode(),EnumMsgMqKey.DEFAULT.getCode());
} }
} }


+ 7
- 7
mallinkService/src/main/java/com/iformall/service/impl/WxOrderPressServiceImpl.java Ver fichero

@@ -62,17 +62,17 @@ public class WxOrderPressServiceImpl implements WxOrderPressService {




@Override @Override
public void pressCouponJoin(WxOrder order, WxCoupon coupon, WxCUser user) {
public void pressCouponJoin(WxOrder order, WxCoupon coupon, Long cUserId) {
final IdWorker idWorker = IdWorker.get(); final IdWorker idWorker = IdWorker.get();
Date curDate = new Date(); Date curDate = new Date();
// 检查此人是否已参与砍价 // 检查此人是否已参与砍价
WxOrderPress orderPressQ = new WxOrderPress(); WxOrderPress orderPressQ = new WxOrderPress();
orderPressQ.setTenantId(order.getTenantId()); orderPressQ.setTenantId(order.getTenantId());
orderPressQ.setOrderId(order.getId()); orderPressQ.setOrderId(order.getId());
orderPressQ.setUserId(user.getId());
orderPressQ.setUserId(cUserId);
int count = wxOrderPressMapper.selectCount(orderPressQ); int count = wxOrderPressMapper.selectCount(orderPressQ);
if(count >= 1) { if(count >= 1) {
logger.error("用户已参与砍价: " + user.getId());
logger.error("用户已参与砍价: " + cUserId);
throw new MallinkException(ErrorCode.COUPON_PRESS_IS_EXIST); throw new MallinkException(ErrorCode.COUPON_PRESS_IS_EXIST);
} }


@@ -83,7 +83,7 @@ public class WxOrderPressServiceImpl implements WxOrderPressService {
orderPress.setId(idWorker.nextId()); orderPress.setId(idWorker.nextId());
orderPress.setTenantId(order.getTenantId()); orderPress.setTenantId(order.getTenantId());
orderPress.setOrderId(order.getId()); orderPress.setOrderId(order.getId());
orderPress.setUserId(user.getId());
orderPress.setUserId(cUserId);
orderPress.setCreateDate(curDate); orderPress.setCreateDate(curDate);
orderPress.setFirst(EnumOrderPressType.NORMAL.getCode()); orderPress.setFirst(EnumOrderPressType.NORMAL.getCode());
orderPress.setPressValue(PressUtils.stateLessPressValue(total, left_total, coupon.getPressLimitNum(), order.getPressCurrentNum())); orderPress.setPressValue(PressUtils.stateLessPressValue(total, left_total, coupon.getPressLimitNum(), order.getPressCurrentNum()));
@@ -119,15 +119,15 @@ public class WxOrderPressServiceImpl implements WxOrderPressService {
} }


@Override @Override
public int pressCouponStatus(WxOrder order, WxCUser user) {
public int pressCouponStatus(WxOrder order, Long cUserId) {
// 检查此人是否已参与砍价 // 检查此人是否已参与砍价
WxOrderPress orderPressQ = new WxOrderPress(); WxOrderPress orderPressQ = new WxOrderPress();
orderPressQ.setTenantId(order.getTenantId()); orderPressQ.setTenantId(order.getTenantId());
orderPressQ.setOrderId(order.getId()); orderPressQ.setOrderId(order.getId());
orderPressQ.setUserId(user.getId());
orderPressQ.setUserId(cUserId);
int count = wxOrderPressMapper.selectCount(orderPressQ); int count = wxOrderPressMapper.selectCount(orderPressQ);
if(count >= 1) { if(count >= 1) {
logger.info("用户已参与砍价: " + user.getId());
logger.info("用户已参与砍价: " + cUserId);
return EnumOrderPressStatus.HAD_JOIN.getCode(); return EnumOrderPressStatus.HAD_JOIN.getCode();
} }
return EnumOrderPressStatus.NOT_JOIN.getCode(); return EnumOrderPressStatus.NOT_JOIN.getCode();


+ 2
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java Ver fichero

@@ -550,7 +550,7 @@ public class WxOrderServiceImpl implements WxOrderService {


@Override @Override
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
public WxOrder saveCardPayOrder(WxMerchant merchant, WxCUser cUser, String totalFeeStr, Integer payment) {
public WxOrder saveCardPayOrder(WxMerchant merchant, Long cUserId, String totalFeeStr, Integer payment) {
Date curr = new Date(); Date curr = new Date();


final IdWorker idWorker = IdWorker.get(); final IdWorker idWorker = IdWorker.get();
@@ -566,7 +566,7 @@ public class WxOrderServiceImpl implements WxOrderService {
record.setOrderNumber(orderNumber); record.setOrderNumber(orderNumber);
record.setType(EnumOrderType.PREPAIDCARD.getCode()); record.setType(EnumOrderType.PREPAIDCARD.getCode());
record.setProductId(merchant.getId()); record.setProductId(merchant.getId());
record.setcUserId(cUser.getId());
record.setcUserId(cUserId);
record.setPaymentType(EnumPayType.PAY_PAYMENT.getCode()); record.setPaymentType(EnumPayType.PAY_PAYMENT.getCode());
record.setPayment(payment); record.setPayment(payment);
record.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()); record.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode());


+ 0
- 7
mallinkService/src/main/java/com/iformall/utils/BaseConstant.java Ver fichero

@@ -1,7 +0,0 @@
package com.iformall.utils;

public class BaseConstant {

//24小时后过期
public final static int EXPIRE = 3600 * 24;
}

+ 10
- 0
mallinkService/src/main/java/com/iformall/utils/Constant.java Ver fichero

@@ -2,6 +2,16 @@ package com.iformall.utils;


public class Constant { public class Constant {


// 1小时过期,
public final static int C_EXPIRE = 3600000;

// TOKEN过期时间, 24小时后过期
public final static int EXPIRE = 3600 * 24;

// C端token
public static final String LOGIN_USER_KEY = "LOGIN_USER_KEY";
public static final String TENANT_ID = "TENANT_ID";

public static final String fileDirectory = "./uploads/"; public static final String fileDirectory = "./uploads/";
public static final String importMemPrev = "importmem/"; public static final String importMemPrev = "importmem/";
public static final String adminPage = "http://admin.malls.iformall.com"; public static final String adminPage = "http://admin.malls.iformall.com";


+ 9
- 12
mallinkService/src/main/resources/mapper/WxMsgRecordMapper.xml Ver fichero

@@ -9,12 +9,12 @@
<result column="msg" property="msg" /> <result column="msg" property="msg" />
<result column="send_time" property="sendTime" /> <result column="send_time" property="sendTime" />
<result column="model_id" property="modelId" /> <result column="model_id" property="modelId" />
<result column="sender" property="from" />
<result column="sender_user_id" property="fromUserId" />
<result column="sender_user_name" property="fromUserName" />
<result column="receiver" property="to" />
<result column="receiver_user_id" property="toUserId" />
<result column="receiver_user_name" property="toUserName" />
<result column="sender" property="sender" />
<result column="sender_user_id" property="senderUserId" />
<result column="sender_user_name" property="senderUserName" />
<result column="receiver" property="receiver" />
<result column="receiver_user_id" property="receiverUserId" />
<result column="receiver_user_name" property="receiverUserName" />
<result column="msg_status" property="msgStatus" /> <result column="msg_status" property="msgStatus" />
<result column="status_message" property="statusMessage" /> <result column="status_message" property="statusMessage" />
<result column="createtime" property="createtime" /> <result column="createtime" property="createtime" />
@@ -38,9 +38,6 @@
<if test=" null != id "> <if test=" null != id ">
and `id` = #{id} and `id` = #{id}
</if> </if>
<if test=" null != tenantId ">
and `tenant_id` = #{tenantId}
</if>
<if test=" null != receiverUserId "> <if test=" null != receiverUserId ">
and `receiver_user_id` = #{receiverUserId} and `receiver_user_id` = #{receiverUserId}
</if> </if>
@@ -67,17 +64,17 @@
</update> </update>


<select id="findList" parameterType="com.iformall.domain.po.WxMsgRecord" resultMap="BaseResultMap"> <select id="findList" parameterType="com.iformall.domain.po.WxMsgRecord" resultMap="BaseResultMap">
select <include refid="allColumns" /> from wx_msg_model
select <include refid="allColumns" /> from wx_msg_record
<include refid="dynamicWhereConditions" /> <include refid="dynamicWhereConditions" />
</select> </select>


<insert id="save" parameterType="com.iformall.domain.po.WxMsgRecord" > <insert id="save" parameterType="com.iformall.domain.po.WxMsgRecord" >
INSERT INTO wx_msg_record( id,`uuid`, `msg_type`,
INSERT INTO wx_msg_record( id,tenant_id,`uuid`, `msg_type`,
`domain`, `msg`, `send_time`, `model_id`, `model_type`, `domain`, `msg`, `send_time`, `model_id`, `model_type`,
`signature`, `sender`, `sender_user_id`, `sender_user_name`, `signature`, `sender`, `sender_user_id`, `sender_user_name`,
`receiver`, `receiver_user_id`, `receiver_user_name`, `receiver`, `receiver_user_id`, `receiver_user_name`,
`msg_status`, `status_message`, `msg_json`) `msg_status`, `status_message`, `msg_json`)
VALUES(#{id},#{uuid},#{msgType},
VALUES(#{id},#{tenantId},#{uuid},#{msgType},
#{domain},#{msg},#{sendTime},#{modelId},#{modelType},#{signature},#{sender}, #{domain},#{msg},#{sendTime},#{modelId},#{modelType},#{signature},#{sender},
#{senderUserId},#{senderUserName},#{receiver},#{receiverUserId},#{receiverUserName}, #{senderUserId},#{senderUserName},#{receiver},#{receiverUserId},#{receiverUserName},
#{msgStatus},#{statusMessage},#{msgJson}); #{msgStatus},#{statusMessage},#{msgJson});


Cargando…
Cancelar
Guardar