Browse Source

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

release_toaliyun_real
hupeng 7 years ago
parent
commit
51c82c6926
45 changed files with 312 additions and 252 deletions
  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 View File

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

import com.alibaba.fastjson.JSONArray;
import com.iformall.common.ResultData;
import com.iformall.domain.po.*;
import com.iformall.enums.*;
import com.iformall.mapper.WxMsgMapper;
import com.iformall.mq.MqBaseProducer;
import com.iformall.service.MsgSendService;
import com.iformall.service.WxMsgRecordService;
import com.iformall.service.impl.SendCallBackSmsServiceImpl;
import com.iformall.utils.DateUtils;
import com.iformall.utils.JsonUtil;
import io.swagger.annotations.Api;
import org.slf4j.Logger;
@@ -24,6 +29,36 @@ public class WxMsgRecordController extends BaseController {
private WxMsgRecordService wxMsgRecordService;
@Autowired
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) {
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())){
//业务短信
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())){
//邮件
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())){
//微信小程序
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();


+ 3
- 0
mallinkAdmin/src/main/java/com/iformall/tenant/TenantInfoImpl.java View File

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



+ 3
- 3
mallinkBApi/src/main/java/com/iformall/controller/BaseController.java View File

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

public Long getUserId() {
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;
}

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

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



+ 2
- 1
mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java View File

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


+ 3
- 6
mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java View File

@@ -5,13 +5,10 @@ import com.iformall.annotation.AuthIgnore;
import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData;
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.EnumMerchantStatus;
import com.iformall.interceptor.AuthorizationInterceptor;
import com.iformall.service.*;
import com.iformall.utils.Constant;
import com.iformall.utils.HashUtil;
import com.iformall.utils.IPUtil;
import io.swagger.annotations.Api;
@@ -174,8 +171,8 @@ public class WxMerchantBUserController extends BaseController {
token = user1.getToken();
resultMap.put("token", token);
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 {
wxMerchantBUserService.saveOrUpdate(user1);
} catch (Exception e) {


+ 3
- 5
mallinkBApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java View File

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

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

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

//设置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;
}


+ 2
- 2
mallinkBApi/src/main/java/com/iformall/resolver/LoginUserHandlerMethodArgumentResolver.java View File

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


+ 2
- 2
mallinkBApi/src/main/java/com/iformall/tenant/TenantInfoImpl.java View File

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

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


+ 11
- 8
mallinkCApi/src/main/java/com/iformall/controller/BaseController.java View File

@@ -6,10 +6,10 @@ import com.iformall.domain.po.WxAppinfo;
import com.iformall.domain.po.WxCUser;
import com.iformall.domain.po.WxCUserBasicInfo;
import com.iformall.exception.MallinkException;
import com.iformall.interceptor.AuthorizationInterceptor;
import com.iformall.service.WxAppinfoService;
import com.iformall.service.WxCUserBasicInfoService;
import com.iformall.service.WxCUserService;
import com.iformall.utils.Constant;
import com.iformall.utils.IPUtil;
import com.iformall.utils.MaUtil;
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() {
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;
}

/**
* 请尽量多用getTenantId, getUserId
*/
public WxCUser getUser() {
Long cUserId = getUserId();
WxCUser user = wxCUserService.getById(cUserId);
@@ -74,12 +83,6 @@ public class BaseController {
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) {
return wxAppinfoService.getByAppId(appId);
}


+ 0
- 1
mallinkCApi/src/main/java/com/iformall/controller/WxBusinessController.java View File

@@ -36,7 +36,6 @@ public class WxBusinessController extends BaseController {
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
public ResultData list(WxBusiness wxBusiness, Integer pageNum, Integer pageSize) {
if (null == wxBusiness) wxBusiness = new WxBusiness();
WxCUser user = getUser();
final PageInfo<WxBusiness> page = wxBusinessService.listAsPage(wxBusiness, pageNum, pageSize);
return new ResultData(page);
}


+ 25
- 33
mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java View File

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

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

wxScoreRulesService.addScore(EnumScoreType.BIND_CAR,userCar);
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);
} else {
String message = retObj.getString("message");
@@ -311,8 +309,8 @@ public class WxCarController extends BaseController {
Date curr = new Date();
WxCUserCar userCar = new WxCUserCar();
userCar.setId(newCarId);
userCar.setCUserId(user.getId());
userCar.setTenantId(user.getTenantId());
userCar.setCUserId(getUserId());
userCar.setTenantId(getTenantId());
userCar.setCarNumber(carNumber);
userCar.setVendorType(EnumCarVendor.CAR_TJD.getCode());
JSONObject jo = new JSONObject();
@@ -328,7 +326,7 @@ public class WxCarController extends BaseController {
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);
} else {
return new ResultData(ErrorCode.TJD_BIND_FAIL.getCode(), "绑车牌失败", retObj);
@@ -357,9 +355,8 @@ public class WxCarController extends BaseController {
"}\n")
@PostMapping("/unbindCar")
public ResultData unbindCar(@RequestBody Map<String, String > paramMap) {
WxCUser user = getUser();
// 1, get mall's park
WxPark park = getCurrentPark(user);
WxPark park = getCurrentPark(getTenantId());
if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) {
String etcpToken = paramMap.get("etcpToken");
if (StringUtils.isBlank(etcpToken)) {
@@ -383,8 +380,8 @@ public class WxCarController extends BaseController {
if (retObj.getIntValue("code") == 0) {
try {
WxCUserCar userCar = new WxCUserCar();
userCar.setCUserId(user.getId());
userCar.setTenantId(user.getTenantId());
userCar.setCUserId(getUserId());
userCar.setTenantId(getTenantId());
userCar.setCarNumber(carNumber);
wxCUserCarService.deleteByObj(userCar);
} catch (Exception e) {
@@ -406,8 +403,8 @@ public class WxCarController extends BaseController {
}
WxCUserCar queryOne = new WxCUserCar();
queryOne.setCarNumber(carNumber);
queryOne.setTenantId(user.getTenantId());
queryOne.setCUserId(user.getId());
queryOne.setTenantId(getTenantId());
queryOne.setCUserId(getUserId());
WxCUserCar userCar = wxCUserCarService.getOne(queryOne);
if (userCar != null) {
String params = userCar.getVendorParams();
@@ -481,9 +478,8 @@ public class WxCarController extends BaseController {
" }")
@PostMapping("/getCarStopFee")
public ResultData getCarStopFee(@RequestBody Map<String, String > paramMap) {
WxCUser user = getUser();
// 1, get mall's park
WxPark park = getCurrentPark(user);
WxPark park = getCurrentPark(getTenantId());
if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) {
String etcpToken = paramMap.get("etcpToken");
String carNumber = paramMap.get("carNumber");
@@ -564,9 +560,8 @@ public class WxCarController extends BaseController {
" }")
@PostMapping("/deductionFee")
public ResultData deductionFee(@RequestBody Map<String, String > paramMap) {
WxCUser user = getUser();
/// 1, get mall's park
WxPark park = getCurrentPark(user);
WxPark park = getCurrentPark(getTenantId());
if (park.getVendorType() == EnumCarVendor.CAR_TJD.getCode()) {
String tradeId = paramMap.get("tradeId");
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{}")
@PostMapping("/getCoupon")
public ResultData getCoupon(@RequestBody Map<String, String > paramMap) {
WxCUser user = getUser();
/// 1, get mall's park
WxPark park = getCurrentPark(user);
WxPark park = getCurrentPark(getTenantId());
if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) {
String etcpToken = paramMap.get("etcpToken");
String carNumber = paramMap.get("carNumber");
@@ -644,8 +638,8 @@ public class WxCarController extends BaseController {

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


+ 8
- 12
mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java View File

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

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

WxCUser user = getUser();

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

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

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

try {
return wxCardSpendService.createCardSpend(record, order, couponMerchant, user);
return wxCardSpendService.createCardSpend(record, order, couponMerchant);
} catch (MallinkException e) {
logger.error("card spend error, req 2: " + record.toString() + ", e:" + e.getMessage());
return new ResultData(e.getErrorCode(), e.getMessage());
@@ -162,9 +160,8 @@ public class WxCardPayController extends BaseController {
String ipStr = getIpAddr();
logger.info("saveCardPayOrder: " + ipStr + " :" + wxCardSpend.toString());
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);
return new ResultData(page);
}
@@ -175,9 +172,8 @@ public class WxCardPayController extends BaseController {
String ipStr = getIpAddr();
logger.info("sumCardSpendList: " + ipStr + " :" + wxCardSpend.toString());
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);
return new ResultData(mapList);
}


+ 7
- 4
mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java View File

@@ -49,7 +49,7 @@ public class WxCouponOrderController extends BaseController {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
}
if (wxCouponOrder == null) wxCouponOrder = new WxCouponOrderCVo();
wxCouponOrder.setcUserId(getUser().getId());
wxCouponOrder.setcUserId(getUserId());
if (wxCouponOrder.getCouponOrderStatus() == null)
wxCouponOrder.setSortColumns(WxCouponOrder.Field.CreateDate_DESC);
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);
}
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())) {
String [] statusAttr = cardCVo.getStatusStr().split(",");
List<Integer> tmpList = new ArrayList<Integer>();
@@ -222,6 +221,10 @@ public class WxCouponOrderController extends BaseController {
if (cUserId == null) {
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());
return wxCouponOrderService.queryCardStatus(wxCouponOrder);


+ 3
- 5
mallinkCApi/src/main/java/com/iformall/controller/WxMallController.java View File

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


+ 4
- 9
mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java View File

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

WxCUser user = getUser();

WxOrder order = null;

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


+ 1
- 2
mallinkCApi/src/main/java/com/iformall/controller/WxParkController.java View File

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


+ 3
- 5
mallinkCApi/src/main/java/com/iformall/controller/WxPressOrderController.java View File

@@ -62,7 +62,6 @@ public class WxPressOrderController extends BaseController {
logger.error("orderId convert error, " + 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);
if(order == null) {
logger.error("订单不存在:" + orderId);
@@ -100,7 +99,7 @@ public class WxPressOrderController extends BaseController {
}

try {
wxOrderPressService.pressCouponJoin(order, coupon, user);
wxOrderPressService.pressCouponJoin(order, coupon, getUserId());
} catch (MallinkException e) {
logger.error(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());
return new ResultData(ErrorCode.SYS_PARAMETER_CAST_ERROR.getCode(), "orderId: " + orderId + ", e:" + e.getMessage());
}
WxCUser user = getUser();
WxOrder order = wxOrderService.getById(orderIdL);
if(order == null) {
logger.error("订单不存在:" + orderId);
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());
return new ResultData(ret);
}
int status = wxOrderPressService.pressCouponStatus(order, user);
int status = wxOrderPressService.pressCouponStatus(order, getUserId());
ret.put("status", status);
return new ResultData(ret);
}


+ 2
- 3
mallinkCApi/src/main/java/com/iformall/controller/WxScoreHistoryController.java View File

@@ -28,10 +28,9 @@ public class WxScoreHistoryController extends BaseController {
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
public ResultData list(Integer pageNum, Integer pageSize) {
WxCUser user = getUser();
WxScoreHistory wxScoreHistory = new WxScoreHistory();
wxScoreHistory.setTenantId(user.getTenantId());
wxScoreHistory.setCUserId(user.getId());
wxScoreHistory.setTenantId(getTenantId());
wxScoreHistory.setCUserId(getUserId());
wxScoreHistory.setSortColumns(WxScoreHistory.Field.CreateDate_DESC);
final PageInfo<WxScoreHistory> page = wxScoreHistoryService.listAsPage(wxScoreHistory, pageNum, pageSize);
return new ResultData(page);


+ 24
- 26
mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java View File

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

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.setSessionKey(session_key);
@@ -202,8 +201,8 @@ public class WxUserGrantController extends BaseController {
wxCUserService.saveOrUpdate(user);

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 {
wxCUserService.scoreCalculate(user, true);
@@ -370,14 +369,13 @@ public class WxUserGrantController extends BaseController {
public ResultData checkUserStatus() {
Map resultMap = new HashMap();
WxCUser user = getUser();
if (!StringUtils.isBlank(user.getNickName())) {
if (StringUtils.isNotBlank(user.getNickName())) {
resultMap.put("nickName", user.getNickName());
}
if (StringUtils.isBlank(user.getNickName())) {
} else {
logger.warn("用户昵称未授权,跳转到用户授权页!");
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() {
Map resultMap = new HashMap();
WxCUser user = getUser();
if (!StringUtils.isBlank(user.getPhone())) {
if (StringUtils.isNotBlank(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("获取当前用户信息")
@@ -457,10 +456,9 @@ public class WxUserGrantController extends BaseController {
@ApiOperation("获取当前用户车牌列表")
@GetMapping("/carList")
public ResultData getCarList() {
WxCUser user = getUser();
WxCUserCar userCar = new WxCUserCar();
userCar.setTenantId(user.getTenantId());
userCar.setCUserId(user.getId());
userCar.setTenantId(getTenantId());
userCar.setCUserId(getUserId());
List<WxCUserCar> list = wxCUserCarService.getList(userCar);
return new ResultData(Result.SUCCESS,"获取查询成功", list);
}
@@ -541,7 +539,7 @@ public class WxUserGrantController extends BaseController {
public ResultData updateUserInfo(@RequestBody WxCUserBasicInfo wxCUserBasicInfo) {
if (wxCUserBasicInfo == 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);

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


+ 3
- 5
mallinkCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java View File

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

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

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

//设置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;
}


+ 2
- 2
mallinkCApi/src/main/java/com/iformall/resolver/LoginUserHandlerMethodArgumentResolver.java View File

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

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


+ 2
- 2
mallinkCApi/src/main/java/com/iformall/tenant/TenantInfoImpl.java View File

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

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


+ 2
- 2
mallinkMQConsumer/src/main/java/com/iformall/mq/MqBaseConsumer.java View File

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

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


+ 2
- 1
mallinkSchedule/src/main/java/com/iformall/schedule/MsgSendingSchedule.java View File

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


+ 24
- 1
mallinkService/src/main/java/com/iformall/domain/po/BaseMsg.java View File

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

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

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

//消息类型 1短信 2回调短信 3邮件 4微信小程序模板 5微信公众号模板 6系统通知
@Transient
private Integer msgType;
@@ -26,10 +32,27 @@ public class BaseMsg implements Serializable {
@Transient
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
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() {
return delayTimeLevel;
}


+ 0
- 10
mallinkService/src/main/java/com/iformall/domain/po/MailMsg.java View File

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

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

public String getTenantId() {
return tenantId;
}

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

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


+ 0
- 9
mallinkService/src/main/java/com/iformall/domain/po/SmartAppMsg.java View File

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

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

public String getTenantId() {
return tenantId;
}

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

public String getTo() {
return to;
}


+ 2
- 2
mallinkService/src/main/java/com/iformall/domain/po/WxCUser.java View File

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

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

import javax.persistence.*;
import java.util.*;
@@ -469,7 +469,7 @@ public class WxCUser implements Serializable {
//生成一个token
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;
}


+ 2
- 2
mallinkService/src/main/java/com/iformall/domain/po/WxMerchantBUser.java View File

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

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

import javax.persistence.Id;
import javax.persistence.Table;
@@ -240,7 +240,7 @@ public class WxMerchantBUser implements Serializable {
//生成一个token
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);
setExpireTime(expireTime);
}


+ 22
- 10
mallinkService/src/main/java/com/iformall/domain/po/WxMsgRecord.java View File

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

private Integer msgStatus;
private String statusMessage;

//动态替换内容
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() {
return msgJson;
@@ -105,14 +125,6 @@ public class WxMsgRecord extends BaseMsg {
this.senderUserName = senderUserName;
}

public String getReceiver() {
return receiver;
}

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

public Long getReceiverUserId() {
return receiverUserId;
}


+ 1
- 2
mallinkService/src/main/java/com/iformall/service/WxCardSpendService.java View File

@@ -22,10 +22,9 @@ public interface WxCardSpendService {
*
* @param record
* @param order
* @param user
* @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 View File

@@ -45,16 +45,16 @@ public interface WxOrderPressService {
* 加入砍价
* @param order
* @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 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 View File

@@ -53,12 +53,12 @@ public interface WxOrderService {
/**
* 商户码-储值卡支付
* @param merchant
* @param cUser
* @param cUserId
* @param totalFeeStr
* @param payment
* @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 View File

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

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

WxMsgConfig wxMsgConfig = record.getWxMsgConfig();
if(wxMsgConfig == null){
wxMsgConfig = new WxMsgConfig();
wxMsgConfig.setTenantId(record.getTenantId());
List<WxMsgConfig> wxMsgConfigs = wxMsgConfigMapper.findList(wxMsgConfig);
if (wxMsgConfigs.size() == 0) {
@@ -85,33 +90,28 @@ public class SendCallBackSmsServiceImpl implements MsgSendService {
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())) {
wxMsgService.addMsgCallback(wxMsg, batchNo);
wxMsgService.addMsgCallback(record, batchNo);
//wx_msg改为已发送
record.setStatus(EnumMsgStatus.MSG_STATUS_SENDED.getCode());
wxMsgMapper.updateByPrimaryKeySelective(record);
} else {
logger.error("发送:{},运营商返回失败:{}",phone,result);
wxMsgMapper.updateByPrimaryKeySelective(record);
throw new MallinkException(1001,"运营商返回失败:"+result);
}
}


+ 1
- 1
mallinkService/src/main/java/com/iformall/service/impl/SendSmsServiceImpl.java View File

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

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


+ 2
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java View File

@@ -543,8 +543,8 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService {
}
break;
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) {
//车
resList = assignTypeId11(user);


+ 3
- 3
mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java View File

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

@Override
@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();
final IdWorker idWorker = IdWorker.get();
// 1. get card info
@@ -111,11 +111,11 @@ public class WxCardSpendServiceImpl implements WxCardSpendService {
// 3. get pay account
WxPayAccount payAccount = null;
WxPayAccount payAccountQ = new WxPayAccount();
payAccountQ.setTenantId(user.getTenantId());
payAccountQ.setTenantId(record.getTenantId());
try {
payAccount = payAccountMapper.selectOne(payAccountQ);
} catch (Exception e) {
logger.error("获取payAccount error: " + user.getTenantId());
logger.error("获取payAccount error: " + record.getTenantId());
return new ResultData(ErrorCode.DB_FAIL.getCode(), "获取payAccount失败");
}



+ 1
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java View File

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


+ 23
- 8
mallinkService/src/main/java/com/iformall/service/impl/WxMsgRecordServiceImpl.java View File

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

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

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

@Override
public void save(BaseMsg data) {
WxMsgRecord msgRecord = new WxMsgRecord();
public void save(BaseMsg data){
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){
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);
}



+ 4
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java View File

@@ -110,6 +110,7 @@ public class WxMsgServiceImpl implements WxMsgService {
wxMsg.setWxMsgConfig(wxMsgConfig);
wxMsg.setCouponInject(null);
wxMsg.setMsgType(EnumMsgRecordType.SMS_CALLBACK.getCode());
wxMsg.setReceiver(wxMsg.getPhones());
mqBaseProducer.sendMessage(wxMsg, EnumMsgMqTopic.DEFAULT.getCode(),EnumMsgMqTag.DEFAULT.getCode(),null);
}
return new ResultData(Result.SUCCESS, "短信已发送");
@@ -139,6 +140,7 @@ public class WxMsgServiceImpl implements WxMsgService {
//sendmsg(wxMsg, wxMsgConfig, null);
wxMsg.setWxMsgConfig(wxMsgConfig);
wxMsg.setMsgType(EnumMsgRecordType.SMS_CALLBACK.getCode());
wxMsg.setReceiver(wxMsg.getPhones());
mqBaseProducer.sendMessage(wxMsg, EnumMsgMqTopic.DEFAULT.getCode(),EnumMsgMqTag.DEFAULT.getCode(),EnumMsgMqKey.DEFAULT.getCode());
}
return new ResultData(Result.SUCCESS, "短信已发送");
@@ -181,6 +183,7 @@ public class WxMsgServiceImpl implements WxMsgService {
wxMsg.setWxMsgConfig(wxMsgConfig);
wxMsg.setCouponInject(couponInject);
wxMsg.setMsgType(EnumMsgRecordType.SMS_CALLBACK.getCode());
wxMsg.setReceiver(wxMsg.getPhones());
mqBaseProducer.sendMessage(wxMsg, EnumMsgMqTopic.DEFAULT.getCode(),EnumMsgMqTag.DEFAULT.getCode(),EnumMsgMqKey.DEFAULT.getCode());
} else {
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.setCouponInject(couponInject);
wxMsg.setMsgType(EnumMsgRecordType.SMS_CALLBACK.getCode());
wxMsg.setReceiver(wxMsg.getPhones());
mqBaseProducer.sendMessage(wxMsg, EnumMsgMqTopic.DEFAULT.getCode(),EnumMsgMqTag.DEFAULT.getCode(),EnumMsgMqKey.DEFAULT.getCode());
}
}


+ 7
- 7
mallinkService/src/main/java/com/iformall/service/impl/WxOrderPressServiceImpl.java View File

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


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

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

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


+ 2
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java View File

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

@Override
@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();

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


+ 0
- 7
mallinkService/src/main/java/com/iformall/utils/BaseConstant.java View File

@@ -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 View File

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

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 importMemPrev = "importmem/";
public static final String adminPage = "http://admin.malls.iformall.com";


+ 9
- 12
mallinkService/src/main/resources/mapper/WxMsgRecordMapper.xml View File

@@ -9,12 +9,12 @@
<result column="msg" property="msg" />
<result column="send_time" property="sendTime" />
<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="status_message" property="statusMessage" />
<result column="createtime" property="createtime" />
@@ -38,9 +38,6 @@
<if test=" null != id ">
and `id` = #{id}
</if>
<if test=" null != tenantId ">
and `tenant_id` = #{tenantId}
</if>
<if test=" null != receiverUserId ">
and `receiver_user_id` = #{receiverUserId}
</if>
@@ -67,17 +64,17 @@
</update>

<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" />
</select>

<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`,
`signature`, `sender`, `sender_user_id`, `sender_user_name`,
`receiver`, `receiver_user_id`, `receiver_user_name`,
`msg_status`, `status_message`, `msg_json`)
VALUES(#{id},#{uuid},#{msgType},
VALUES(#{id},#{tenantId},#{uuid},#{msgType},
#{domain},#{msg},#{sendTime},#{modelId},#{modelType},#{signature},#{sender},
#{senderUserId},#{senderUserName},#{receiver},#{receiverUserId},#{receiverUserName},
#{msgStatus},#{statusMessage},#{msgJson});


Loading…
Cancel
Save