最近版本保存
|
|
@ -1,8 +1,12 @@
|
||||||
package com.ruoyi.quartz.task;
|
package com.ruoyi.web.controller.task;
|
||||||
|
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import com.ruoyi.common.utils.http.HttpUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 定时任务调度测试
|
* 定时任务调度测试
|
||||||
*
|
*
|
||||||
|
|
@ -11,18 +15,23 @@ import org.springframework.stereotype.Component;
|
||||||
@Component("SegchkTask")
|
@Component("SegchkTask")
|
||||||
public class SegchkTask
|
public class SegchkTask
|
||||||
{
|
{
|
||||||
public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
|
private static final Logger logger = LoggerFactory.getLogger(SegchkTask.class);
|
||||||
|
public void segchkMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
|
||||||
{
|
{
|
||||||
System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i));
|
System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ryParams(String params)
|
public void segchkParams(String params)
|
||||||
{
|
{
|
||||||
System.out.println("执行有参方法:" + params);
|
System.out.println("执行有参方法:" + params);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ryNoParams()
|
public void segchkNoParams()
|
||||||
{
|
{
|
||||||
System.out.println("执行无参方法");
|
System.out.println("执行无参方法");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void segchkGetWxAccessToken(){
|
||||||
|
// HttpUtils.sendGet();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
package com.ruoyi.login;
|
package com.ruoyi.login;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.ruoyi.common.core.domain.BaseEntity;
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
import com.ruoyi.segchk.domain.SegchkUserWebReq;
|
import com.ruoyi.segchk.domain.SegchkUserWebReq;
|
||||||
import com.ruoyi.util.Claims;
|
import com.ruoyi.util.*;
|
||||||
import com.ruoyi.appletsutil.ResultCode;
|
import com.ruoyi.appletsutil.ResultCode;
|
||||||
import com.ruoyi.appletsutil.UnAuthorizedException;
|
import com.ruoyi.appletsutil.UnAuthorizedException;
|
||||||
import com.ruoyi.common.annotation.Excel;
|
import com.ruoyi.common.annotation.Excel;
|
||||||
|
|
@ -11,14 +12,12 @@ import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.core.redis.RedisCache;
|
import com.ruoyi.common.core.redis.RedisCache;
|
||||||
import com.ruoyi.common.utils.SnowflakeIdWorker;
|
import com.ruoyi.common.utils.SnowflakeIdWorker;
|
||||||
import com.ruoyi.segchk.domain.SegchkUserWechat;
|
import com.ruoyi.segchk.domain.SegchkUserWechat;
|
||||||
import com.ruoyi.util.WeChatAppletLoginResponse;
|
|
||||||
import com.ruoyi.util.WechatSetting;
|
|
||||||
import com.ruoyi.member.service.*;
|
import com.ruoyi.member.service.*;
|
||||||
import com.ruoyi.member.vo.BindParams;
|
import com.ruoyi.member.vo.BindParams;
|
||||||
import com.ruoyi.setting.bean.WechatPaySet;
|
import com.ruoyi.setting.bean.WechatPaySet;
|
||||||
import com.ruoyi.setting.service.ILsPaySettingService;
|
import com.ruoyi.setting.service.ILsPaySettingService;
|
||||||
import com.ruoyi.util.CommonConstant;
|
import com.ruoyi.util.bean.SegUserProfile;
|
||||||
import com.ruoyi.util.WeChatAppletUtils;
|
import com.ruoyi.util.bean.UserInfoProfile;
|
||||||
import io.swagger.annotations.*;
|
import io.swagger.annotations.*;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
@ -34,6 +33,8 @@ import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
import java.net.URLEncoder;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
|
@ -272,6 +273,7 @@ public class SegChkLoginController {
|
||||||
segchkUserWechat.setUnionId(weChatAppletLoginResponse.getUnionid());
|
segchkUserWechat.setUnionId(weChatAppletLoginResponse.getUnionid());
|
||||||
segchkUserWechat.setProviderId(Long.valueOf(bindParams.getProviderId()));
|
segchkUserWechat.setProviderId(Long.valueOf(bindParams.getProviderId()));
|
||||||
segchkUserWechat.setNickName(bindParams.getNickName());
|
segchkUserWechat.setNickName(bindParams.getNickName());
|
||||||
|
|
||||||
segchkUserWechat.setIconUrl(bindParams.getAvatar());
|
segchkUserWechat.setIconUrl(bindParams.getAvatar());
|
||||||
// 将用户与微信openid绑定
|
// 将用户与微信openid绑定
|
||||||
int ret = weChatCustomerLinkService.addSegchkUserWechat(segchkUserWechat, bindParams.getUserLevel());
|
int ret = weChatCustomerLinkService.addSegchkUserWechat(segchkUserWechat, bindParams.getUserLevel());
|
||||||
|
|
@ -296,8 +298,25 @@ public class SegChkLoginController {
|
||||||
redisService.setCacheObject(token, claims, loginexpire, TimeUnit.HOURS);
|
redisService.setCacheObject(token, claims, loginexpire, TimeUnit.HOURS);
|
||||||
}
|
}
|
||||||
StringBuilder sb = new StringBuilder(CommonConstant.APPLET_BIND_OPENID).append("-").append(token);
|
StringBuilder sb = new StringBuilder(CommonConstant.APPLET_BIND_OPENID).append("-").append(token);
|
||||||
redisService.setCacheObject(sb.toString(), segchkUserWechat, 7100, TimeUnit.SECONDS);
|
redisService.setCacheObject(sb.toString(), segchkUserWechat, 7200, TimeUnit.SECONDS);
|
||||||
weChatAppletLoginResponse.getSession_key();
|
|
||||||
|
|
||||||
|
// 测试,解析getuserprofile返回结果
|
||||||
|
|
||||||
|
try {
|
||||||
|
if(!ObjectUtils.isEmpty(bindParams.getProfileRes())) {
|
||||||
|
SegUserProfile segUserProfile = JSON.parseObject(bindParams.getProfileRes(), SegUserProfile.class);
|
||||||
|
logger.info("getUserProfile info is: ({})", segUserProfile.toString());
|
||||||
|
UserInfoProfile userInfoProfile = JSON.parseObject(segUserProfile.getUserInfo(), UserInfoProfile.class);
|
||||||
|
logger.info("getUserInfo from userProfile is: ({})", userInfoProfile.toString());
|
||||||
|
String decryptres = WeChatAppletUtils.getUserInfoFromUserProfile(weChatAppletLoginResponse.getSession_key(), segUserProfile);
|
||||||
|
logger.debug("getUserProfile decrypt res: ({})", decryptres);
|
||||||
|
}
|
||||||
|
} catch (Exception e){
|
||||||
|
logger.error("getUserProfile wrong! {}", e.getMessage());
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
return AjaxResult.success("绑定成功", token);
|
return AjaxResult.success("绑定成功", token);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -88,6 +88,11 @@ public class SegchkDefaultStoreController extends BaseController
|
||||||
// 登录超时时长,单位天,-1永久有效
|
// 登录超时时长,单位天,-1永久有效
|
||||||
@Value("${yzytest.login.loginexpire:#{1}}")
|
@Value("${yzytest.login.loginexpire:#{1}}")
|
||||||
private Integer loginexpire;
|
private Integer loginexpire;
|
||||||
|
|
||||||
|
// 如果是一张新会员卡,在第一次核消是是否给商家返利
|
||||||
|
@Value("${segchk.servicecheck.storereward.enable:false}")
|
||||||
|
private Boolean stoRewardWithChk;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询seg用户中心信息 尹志颖
|
* 查询seg用户中心信息 尹志颖
|
||||||
* {
|
* {
|
||||||
|
|
@ -302,7 +307,7 @@ public class SegchkDefaultStoreController extends BaseController
|
||||||
ajax.put(MSG_TAG, "该预约单在本店已无可用权益次数");
|
ajax.put(MSG_TAG, "该预约单在本店已无可用权益次数");
|
||||||
}
|
}
|
||||||
else if(segchkServiceOrderChkTestResp.getCanFree() == 1){
|
else if(segchkServiceOrderChkTestResp.getCanFree() == 1){
|
||||||
int ret = segchkUserIndexService.OrderCheckTransaction(segchkServiceOrderChkTestResp, likegoId);
|
int ret = segchkUserIndexService.OrderCheckTransaction(segchkServiceOrderChkTestResp, likegoId, stoRewardWithChk);
|
||||||
ajax.put(CODE_TAG, "200");
|
ajax.put(CODE_TAG, "200");
|
||||||
|
|
||||||
segchkServiceOrderChkTestResp.setSegchkRecommenderStoreLableWebList(null);
|
segchkServiceOrderChkTestResp.setSegchkRecommenderStoreLableWebList(null);
|
||||||
|
|
@ -313,7 +318,7 @@ public class SegchkDefaultStoreController extends BaseController
|
||||||
redisService.setCacheObject(sb.toString(), likegoId, 5, TimeUnit.MINUTES);
|
redisService.setCacheObject(sb.toString(), likegoId, 5, TimeUnit.MINUTES);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
int ret = segchkUserIndexService.OrderCheckTransaction(segchkServiceOrderChkTestResp, likegoId);
|
int ret = segchkUserIndexService.OrderCheckTransaction(segchkServiceOrderChkTestResp, likegoId, stoRewardWithChk);
|
||||||
|
|
||||||
if(ret != 3){
|
if(ret != 3){
|
||||||
ajax.put(CODE_TAG, "500");
|
ajax.put(CODE_TAG, "500");
|
||||||
|
|
@ -322,6 +327,13 @@ public class SegchkDefaultStoreController extends BaseController
|
||||||
else{
|
else{
|
||||||
ajax.put(CODE_TAG, "200");
|
ajax.put(CODE_TAG, "200");
|
||||||
ajax.put(MSG_TAG, "核消成功");
|
ajax.put(MSG_TAG, "核消成功");
|
||||||
|
List<SegchkRecommenderStoreLableWeb> lables = segchkServiceOrderChkTestResp.getSegchkRecommenderStoreLableWebList();
|
||||||
|
SegchkRecommenderStoreLableWeb lable = new SegchkRecommenderStoreLableWeb();
|
||||||
|
lable.setLableId(0);
|
||||||
|
lable.setLableTypeId(1);
|
||||||
|
lable.setLableName("本店尊享");
|
||||||
|
lables.add(lable);
|
||||||
|
segchkServiceOrderChkTestResp.setSegchkRecommenderStoreLableWebList(lables);
|
||||||
ajax.put(DATA_TAG, segchkServiceOrderChkTestResp);
|
ajax.put(DATA_TAG, segchkServiceOrderChkTestResp);
|
||||||
StringBuilder sb = new StringBuilder(CommonConstant.APPLET_SERVICE_CHK).append(":").append(storeId).append("-").append(segchkServiceOrderChkTestResp.getUserId());
|
StringBuilder sb = new StringBuilder(CommonConstant.APPLET_SERVICE_CHK).append(":").append(storeId).append("-").append(segchkServiceOrderChkTestResp.getUserId());
|
||||||
logger.debug("ServiceCheckTest will store likego : {}:{}", sb.toString(), likegoId);
|
logger.debug("ServiceCheckTest will store likego : {}:{}", sb.toString(), likegoId);
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,7 @@
|
||||||
package com.ruoyi.segchk;
|
package com.ruoyi.segchk;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
|
||||||
import com.ruoyi.appletsutil.ResultCode;
|
import com.ruoyi.appletsutil.ResultCode;
|
||||||
import com.ruoyi.appletsutil.UnAuthorizedException;
|
import com.ruoyi.appletsutil.UnAuthorizedException;
|
||||||
import com.ruoyi.common.annotation.Log;
|
|
||||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||||
import com.ruoyi.common.annotation.UnAuth;
|
import com.ruoyi.common.annotation.UnAuth;
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
|
@ -12,7 +10,6 @@ import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
import com.ruoyi.common.core.redis.RedisCache;
|
import com.ruoyi.common.core.redis.RedisCache;
|
||||||
import com.ruoyi.common.core.text.Convert;
|
import com.ruoyi.common.core.text.Convert;
|
||||||
import com.ruoyi.common.enums.BusinessType;
|
|
||||||
import com.ruoyi.member.service.WeChatCustomerLinkService;
|
import com.ruoyi.member.service.WeChatCustomerLinkService;
|
||||||
import com.ruoyi.segchk.domain.*;
|
import com.ruoyi.segchk.domain.*;
|
||||||
import com.ruoyi.segchk.service.*;
|
import com.ruoyi.segchk.service.*;
|
||||||
|
|
@ -20,7 +17,6 @@ import com.ruoyi.setting.bean.WechatPaySet;
|
||||||
import com.ruoyi.setting.service.ILsPaySettingService;
|
import com.ruoyi.setting.service.ILsPaySettingService;
|
||||||
import com.ruoyi.util.*;
|
import com.ruoyi.util.*;
|
||||||
import com.ruoyi.util.bean.PrepayResult;
|
import com.ruoyi.util.bean.PrepayResult;
|
||||||
import com.ruoyi.util.bean.WechatApletPrepayResult;
|
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
@ -199,7 +195,8 @@ public class SegchkDefaultUserController extends BaseController
|
||||||
}
|
}
|
||||||
segchkServiceOrderWebReq.setUserId(claims.getUserId());
|
segchkServiceOrderWebReq.setUserId(claims.getUserId());
|
||||||
List<SegchkServiceOrderWebReq> segchkServiceOrderWebReqList = segchkUserIndexService.selectUserOrderPredCardListWebInfo(segchkServiceOrderWebReq);
|
List<SegchkServiceOrderWebReq> segchkServiceOrderWebReqList = segchkUserIndexService.selectUserOrderPredCardListWebInfo(segchkServiceOrderWebReq);
|
||||||
return getDataTable(segchkServiceOrderWebReqList);
|
boolean anyMatch = segchkServiceOrderWebReqList.parallelStream().anyMatch(v -> v.getTypeId() == 0);
|
||||||
|
return getDataTable(anyMatch ? segchkServiceOrderWebReqList : null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -704,7 +701,7 @@ public class SegchkDefaultUserController extends BaseController
|
||||||
if(!StringUtils.isEmpty(segchkUserCharge.getCharge())){
|
if(!StringUtils.isEmpty(segchkUserCharge.getCharge())){
|
||||||
// 如果待生成订单需要用户调起支付时
|
// 如果待生成订单需要用户调起支付时
|
||||||
|
|
||||||
segchkUserWechat = getSegchkUserWechat(request, segchkUserCharge.getSearchValue(), claims.getUserLevel());
|
segchkUserWechat = getSegchkUserWechat(request, segchkUserCharge.getSearchValue(), claims);
|
||||||
|
|
||||||
if(ObjectUtils.isEmpty(segchkUserWechat)){
|
if(ObjectUtils.isEmpty(segchkUserWechat)){
|
||||||
return AjaxResult.error(500, "微信绑定失败!");
|
return AjaxResult.error(500, "微信绑定失败!");
|
||||||
|
|
@ -804,7 +801,7 @@ public class SegchkDefaultUserController extends BaseController
|
||||||
return AjaxResult.error(301, "运营商无法线上提现");
|
return AjaxResult.error(301, "运营商无法线上提现");
|
||||||
}
|
}
|
||||||
SegchkUserWechat segchkUserWechat = null;
|
SegchkUserWechat segchkUserWechat = null;
|
||||||
segchkUserWechat = getSegchkUserWechat(request, segchkUserCashOpsReq.getSearchValue(), claims.getUserLevel());
|
segchkUserWechat = getSegchkUserWechat(request, segchkUserCashOpsReq.getSearchValue(), claims);
|
||||||
|
|
||||||
if(ObjectUtils.isEmpty(segchkUserWechat)){
|
if(ObjectUtils.isEmpty(segchkUserWechat)){
|
||||||
return AjaxResult.error(500, "微信绑定失败!");
|
return AjaxResult.error(500, "微信绑定失败!");
|
||||||
|
|
@ -974,11 +971,12 @@ public class SegchkDefaultUserController extends BaseController
|
||||||
return ObjectUtils.isEmpty(claims) ? null : (Claims) claims;
|
return ObjectUtils.isEmpty(claims) ? null : (Claims) claims;
|
||||||
}
|
}
|
||||||
|
|
||||||
private SegchkUserWechat getSegchkUserWechat(HttpServletRequest request, String code, int userLevel) {
|
private SegchkUserWechat getSegchkUserWechat(HttpServletRequest request, String code, Claims claims) {
|
||||||
String token = getToken(request);
|
String token = getToken(request);
|
||||||
StringBuilder sb = new StringBuilder(CommonConstant.APPLET_BIND_OPENID).append("-").append(token);
|
StringBuilder sb = new StringBuilder(CommonConstant.APPLET_BIND_OPENID).append("-").append(token);
|
||||||
SegchkUserWechat segchkUserWechat = redisService.getCacheObject(sb.toString());
|
SegchkUserWechat segchkUserWechat = redisService.getCacheObject(sb.toString());
|
||||||
|
// 暂时未解决重复获取openid问题
|
||||||
|
// segchkUserWechat = null;
|
||||||
if(ObjectUtils.isEmpty(segchkUserWechat)){
|
if(ObjectUtils.isEmpty(segchkUserWechat)){
|
||||||
// redis没有用户微信openid时,重新获取
|
// redis没有用户微信openid时,重新获取
|
||||||
segchkUserWechat = new SegchkUserWechat();
|
segchkUserWechat = new SegchkUserWechat();
|
||||||
|
|
@ -997,13 +995,16 @@ public class SegchkDefaultUserController extends BaseController
|
||||||
}
|
}
|
||||||
segchkUserWechat.setOpenid(weChatAppletLoginResponse.getOpenid());
|
segchkUserWechat.setOpenid(weChatAppletLoginResponse.getOpenid());
|
||||||
segchkUserWechat.setUnionId(weChatAppletLoginResponse.getUnionid());
|
segchkUserWechat.setUnionId(weChatAppletLoginResponse.getUnionid());
|
||||||
redisService.setCacheObject(sb.toString(), segchkUserWechat, 7100, TimeUnit.SECONDS);
|
redisService.setCacheObject(sb.toString(), segchkUserWechat, 7200, TimeUnit.SECONDS);
|
||||||
int ret = weChatCustomerLinkService.addSegchkUserWechat(segchkUserWechat, String.valueOf(userLevel));
|
segchkUserWechat.setUserId(claims.getUserId());
|
||||||
|
segchkUserWechat.setProviderId(claims.getProviderId());
|
||||||
|
int ret = weChatCustomerLinkService.addSegchkUserWechat(segchkUserWechat, String.valueOf(claims.getUserLevel()));
|
||||||
if(ret < 1){
|
if(ret < 1){
|
||||||
logger.error("addSegchkUserWechat failed with ({}) --- ({})", segchkUserWechat.toString(), userLevel);
|
logger.error("addSegchkUserWechat failed with ({}) --- ({})", segchkUserWechat.toString(), claims);
|
||||||
}
|
}
|
||||||
logger.debug("getSegchkUserWechat update user wechat with ({})---({})", segchkUserWechat.toString(), userLevel);
|
logger.debug("getSegchkUserWechat update user wechat with ({})---({})", segchkUserWechat.toString(), claims);
|
||||||
}
|
}
|
||||||
|
logger.debug("getSegchkUserWechat get res ({})", ObjectUtils.isEmpty(segchkUserWechat) ? null : segchkUserWechat.toString());
|
||||||
return ObjectUtils.isEmpty(segchkUserWechat) ? null : (SegchkUserWechat) segchkUserWechat;
|
return ObjectUtils.isEmpty(segchkUserWechat) ? null : (SegchkUserWechat) segchkUserWechat;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.ruoyi.util;
|
||||||
|
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
|
@ -25,4 +26,8 @@ public class IndexController extends BaseController {
|
||||||
return wxchecktxt;
|
return wxchecktxt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("getWxAccessToken")
|
||||||
|
public String getWxAccessToken(){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -127,6 +127,9 @@ yzytest:
|
||||||
smsplatid: 3
|
smsplatid: 3
|
||||||
|
|
||||||
segchk:
|
segchk:
|
||||||
|
servicecheck:
|
||||||
|
storereward:
|
||||||
|
enable: false
|
||||||
# 提现额度
|
# 提现额度
|
||||||
cash:
|
cash:
|
||||||
# 商户提现额度
|
# 商户提现额度
|
||||||
|
|
|
||||||
|
|
@ -120,7 +120,10 @@ yzytest:
|
||||||
loginexpire: 8
|
loginexpire: 8
|
||||||
|
|
||||||
segchk:
|
segchk:
|
||||||
# 提现额度
|
servicecheck:
|
||||||
|
storereward:
|
||||||
|
enable: false
|
||||||
|
# 提现额度
|
||||||
cash:
|
cash:
|
||||||
# 商户提现额度
|
# 商户提现额度
|
||||||
store_threshold: 300.0
|
store_threshold: 300.0
|
||||||
|
|
|
||||||
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 89 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 67 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
|
@ -434,7 +434,8 @@ Authorization: Bearer {{bindtoken}}
|
||||||
{
|
{
|
||||||
"userId": 241,
|
"userId": 241,
|
||||||
"providerId": 4,
|
"providerId": 4,
|
||||||
"userLevel": 0,
|
"userLevel": 2,
|
||||||
|
"cardFlag": 0,
|
||||||
"remark": "999999"
|
"remark": "999999"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,9 @@ import org.springframework.security.crypto.password.PasswordEncoder;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.util.ObjectUtils;
|
import org.springframework.util.ObjectUtils;
|
||||||
|
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
import java.net.URLDecoder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by 魔金商城 on 17/7/17.
|
* Created by 魔金商城 on 17/7/17.
|
||||||
* 登录服务接口
|
* 登录服务接口
|
||||||
|
|
@ -186,23 +189,28 @@ public class LoginServiceImpl implements LoginService {
|
||||||
segchkUserWebResp = segchkProviderIndexService.selectSegchkProviderWebInfo(segchkUserWebReq);
|
segchkUserWebResp = segchkProviderIndexService.selectSegchkProviderWebInfo(segchkUserWebReq);
|
||||||
segchkUserWebResp.setUserLevel(0);
|
segchkUserWebResp.setUserLevel(0);
|
||||||
segchkUserWebResp.setUserId(segchkUserWebReq.getProviderId());
|
segchkUserWebResp.setUserId(segchkUserWebReq.getProviderId());
|
||||||
ajaxResult = AjaxResult.success(segchkUserWebResp);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 1: {
|
case 1: {
|
||||||
segchkUserWebResp = segchkStoreIndexService.selectSegchkStoreWebInfo(segchkUserWebReq);
|
segchkUserWebResp = segchkStoreIndexService.selectSegchkStoreWebInfo(segchkUserWebReq);
|
||||||
segchkUserWebResp.setUserLevel(1);
|
segchkUserWebResp.setUserLevel(1);
|
||||||
ajaxResult = AjaxResult.success(segchkUserWebResp);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 2: {
|
case 2: {
|
||||||
segchkUserWebResp = segchkUserIndexService.selectSegchkUserWebInfo(segchkUserWebReq);
|
segchkUserWebResp = segchkUserIndexService.selectSegchkUserWebInfo(segchkUserWebReq);
|
||||||
segchkUserWebResp.setUserLevel(2);
|
segchkUserWebResp.setUserLevel(2);
|
||||||
ajaxResult = AjaxResult.success(segchkUserWebResp);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default: ajaxResult = AjaxResult.error("301", "用户身份异常");
|
default: return AjaxResult.error("301", "用户身份异常");
|
||||||
}
|
}
|
||||||
|
try {
|
||||||
|
segchkUserWebResp.setUserName(URLDecoder.decode(segchkUserWebResp.getUserName(), "utf-8"));
|
||||||
|
} catch (UnsupportedEncodingException e) {
|
||||||
|
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
ajaxResult = AjaxResult.success(segchkUserWebResp);
|
||||||
|
|
||||||
return ajaxResult;
|
return ajaxResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,12 @@ public class BindParams extends BaseEntity {
|
||||||
@ApiModelProperty(value = "头像")
|
@ApiModelProperty(value = "头像")
|
||||||
private String avatar;
|
private String avatar;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* getUserProfile返回
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "getUserProfile返回")
|
||||||
|
private String profileRes;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 验证验证码 是否正确 (目前都不需要验证码)
|
* 验证验证码 是否正确 (目前都不需要验证码)
|
||||||
|
|
@ -110,6 +116,14 @@ public class BindParams extends BaseEntity {
|
||||||
this.avatar = avatar;
|
this.avatar = avatar;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getProfileRes() {
|
||||||
|
return profileRes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProfileRes(String profileRes) {
|
||||||
|
this.profileRes = profileRes;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "BindParams{" +
|
return "BindParams{" +
|
||||||
|
|
@ -119,6 +133,7 @@ public class BindParams extends BaseEntity {
|
||||||
", code='" + code + '\'' +
|
", code='" + code + '\'' +
|
||||||
", nickName='" + nickName + '\'' +
|
", nickName='" + nickName + '\'' +
|
||||||
", avatar='" + avatar + '\'' +
|
", avatar='" + avatar + '\'' +
|
||||||
|
", profileRes='" + profileRes + '\'' +
|
||||||
'}';
|
'}';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,38 @@
|
||||||
package com.ruoyi.segchk.domain;
|
package com.ruoyi.segchk.domain;
|
||||||
|
|
||||||
import com.ruoyi.common.core.domain.BaseEntity;
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
import org.springframework.util.ObjectUtils;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
public class SegchkChargeReward extends BaseEntity {
|
public class SegchkChargeReward extends BaseEntity {
|
||||||
|
// 会员卡类型id
|
||||||
private Integer cardTypeId;
|
private Integer cardTypeId;
|
||||||
|
// 会员卡id
|
||||||
|
private Long cardId;
|
||||||
|
// 对应用户id
|
||||||
private Long userId;
|
private Long userId;
|
||||||
|
// 运营商id
|
||||||
private Long providerId;
|
private Long providerId;
|
||||||
|
// 充值id
|
||||||
private Long chargeId;
|
private Long chargeId;
|
||||||
|
// 奖励id
|
||||||
private Long rewardId;
|
private Long rewardId;
|
||||||
|
// 使用次数
|
||||||
|
private Long useCount;
|
||||||
|
// 在目标商家核消次数
|
||||||
|
private Long chkCount;
|
||||||
|
// 充值金额
|
||||||
private BigDecimal charge;
|
private BigDecimal charge;
|
||||||
|
// 余额使用额度
|
||||||
private BigDecimal accountUsed;
|
private BigDecimal accountUsed;
|
||||||
|
// 推荐人id
|
||||||
private Long userRecommenders;
|
private Long userRecommenders;
|
||||||
|
// 推荐人角色
|
||||||
private Integer recommendersLevel;
|
private Integer recommendersLevel;
|
||||||
|
// 持卡用户充值成功次数
|
||||||
private Integer totalChargeCount;
|
private Integer totalChargeCount;
|
||||||
|
// 奖励金额
|
||||||
private BigDecimal reward;
|
private BigDecimal reward;
|
||||||
|
|
||||||
public Integer getCardTypeId() {
|
public Integer getCardTypeId() {
|
||||||
|
|
@ -105,14 +123,41 @@ public class SegchkChargeReward extends BaseEntity {
|
||||||
this.rewardId = rewardId;
|
this.rewardId = rewardId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Long getCardId() {
|
||||||
|
return cardId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCardId(Long cardId) {
|
||||||
|
this.cardId = cardId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getUseCount() {
|
||||||
|
return useCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUseCount(Long useCount) {
|
||||||
|
this.useCount = useCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getChkCount() {
|
||||||
|
return chkCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setChkCount(Long chkCount) {
|
||||||
|
this.chkCount = chkCount;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "SegchkChargeReward{" +
|
return "SegchkChargeReward{" +
|
||||||
"cardTypeId=" + cardTypeId +
|
"cardTypeId=" + cardTypeId +
|
||||||
|
", cardId=" + cardId +
|
||||||
", userId=" + userId +
|
", userId=" + userId +
|
||||||
", providerId=" + providerId +
|
", providerId=" + providerId +
|
||||||
", chargeId=" + chargeId +
|
", chargeId=" + chargeId +
|
||||||
", rewardId=" + rewardId +
|
", rewardId=" + rewardId +
|
||||||
|
", useCount=" + useCount +
|
||||||
|
", chkCount=" + chkCount +
|
||||||
", charge=" + charge +
|
", charge=" + charge +
|
||||||
", accountUsed=" + accountUsed +
|
", accountUsed=" + accountUsed +
|
||||||
", userRecommenders=" + userRecommenders +
|
", userRecommenders=" + userRecommenders +
|
||||||
|
|
@ -121,4 +166,42 @@ public class SegchkChargeReward extends BaseEntity {
|
||||||
", reward=" + reward +
|
", reward=" + reward +
|
||||||
'}';
|
'}';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int validateForCheck(Long storeId){
|
||||||
|
// 根据核消商家,判断是否可以返利
|
||||||
|
if(ObjectUtils.isEmpty(this.getRecommendersLevel()) || this.getRecommendersLevel() == 2 || this.getRecommendersLevel() == 1){
|
||||||
|
// 只要持卡用户推荐人不是平台。就不可以返利
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
else if(this.getUseCount() > 1 || this.getChkCount() > 1){
|
||||||
|
// 该卡已发生过核消
|
||||||
|
return -2;
|
||||||
|
}
|
||||||
|
else if(ObjectUtils.isEmpty(this.getReward())){
|
||||||
|
// 该商家不支持该卡的核消,也不可以返利
|
||||||
|
return -3;
|
||||||
|
}
|
||||||
|
else if(this.getReward().compareTo(new BigDecimal(0.0)) == 0){
|
||||||
|
// 该商家不需要返利
|
||||||
|
return -4;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void mkReward() {
|
||||||
|
switch (this.getTotalChargeCount()){
|
||||||
|
case 0: break;
|
||||||
|
case 1: {
|
||||||
|
this.setReward(this.getReward().divide(new BigDecimal("2"), 2, BigDecimal.ROUND_HALF_UP));break;
|
||||||
|
}
|
||||||
|
case 2: {
|
||||||
|
this.setReward(this.getReward().divide(new BigDecimal("3"), 2, BigDecimal.ROUND_HALF_UP));break;
|
||||||
|
}
|
||||||
|
default: {
|
||||||
|
this.setReward(new BigDecimal("0.0"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,112 +0,0 @@
|
||||||
package com.ruoyi.segchk.domain;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
import com.ruoyi.common.annotation.Excel;
|
|
||||||
import com.ruoyi.common.core.domain.BaseEntity;
|
|
||||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
|
||||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* seg商家累积评价对象 segchk_comment_acc
|
|
||||||
*
|
|
||||||
* @author yinzhiying
|
|
||||||
* @date 2021-08-23
|
|
||||||
*/
|
|
||||||
public class SegchkCommentAcc extends BaseEntity
|
|
||||||
{
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
/** 更新id,全表唯一 */
|
|
||||||
@Excel(name = "更新id,全表唯一")
|
|
||||||
private Long updateId;
|
|
||||||
|
|
||||||
/** 评价次数 */
|
|
||||||
@Excel(name = "评价次数")
|
|
||||||
private Long starCount;
|
|
||||||
|
|
||||||
/** 评价总分 */
|
|
||||||
@Excel(name = "评价总分")
|
|
||||||
private Long starLevel;
|
|
||||||
|
|
||||||
/** 商家id,全局唯一 */
|
|
||||||
@Excel(name = "商家id,全局唯一")
|
|
||||||
private Long storeId;
|
|
||||||
|
|
||||||
/** 运营商id,全局唯一 */
|
|
||||||
@Excel(name = "运营商id,全局唯一")
|
|
||||||
private Long providerId;
|
|
||||||
|
|
||||||
/** 创建或修改时间 */
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
|
||||||
@Excel(name = "创建或修改时间", width = 30, dateFormat = "yyyy-MM-dd")
|
|
||||||
private Date modTime;
|
|
||||||
|
|
||||||
public void setUpdateId(Long updateId)
|
|
||||||
{
|
|
||||||
this.updateId = updateId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Long getUpdateId()
|
|
||||||
{
|
|
||||||
return updateId;
|
|
||||||
}
|
|
||||||
public void setStarCount(Long starCount)
|
|
||||||
{
|
|
||||||
this.starCount = starCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Long getStarCount()
|
|
||||||
{
|
|
||||||
return starCount;
|
|
||||||
}
|
|
||||||
public void setStarLevel(Long starLevel)
|
|
||||||
{
|
|
||||||
this.starLevel = starLevel;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Long getStarLevel()
|
|
||||||
{
|
|
||||||
return starLevel;
|
|
||||||
}
|
|
||||||
public void setStoreId(Long storeId)
|
|
||||||
{
|
|
||||||
this.storeId = storeId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Long getStoreId()
|
|
||||||
{
|
|
||||||
return storeId;
|
|
||||||
}
|
|
||||||
public void setProviderId(Long providerId)
|
|
||||||
{
|
|
||||||
this.providerId = providerId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Long getProviderId()
|
|
||||||
{
|
|
||||||
return providerId;
|
|
||||||
}
|
|
||||||
public void setModTime(Date modTime)
|
|
||||||
{
|
|
||||||
this.modTime = modTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Date getModTime()
|
|
||||||
{
|
|
||||||
return modTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
|
||||||
.append("updateId", getUpdateId())
|
|
||||||
.append("starCount", getStarCount())
|
|
||||||
.append("starLevel", getStarLevel())
|
|
||||||
.append("storeId", getStoreId())
|
|
||||||
.append("providerId", getProviderId())
|
|
||||||
.append("modTime", getModTime())
|
|
||||||
.toString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,135 +0,0 @@
|
||||||
package com.ruoyi.segchk.domain;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
import com.ruoyi.common.annotation.Excel;
|
|
||||||
import com.ruoyi.common.core.domain.BaseEntity;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* seg用户基本信息对象 segchk_user_basic_info
|
|
||||||
*
|
|
||||||
* @author yinzhiying
|
|
||||||
* @date 2021-07-01
|
|
||||||
*/
|
|
||||||
public class SegchkUserWebCardResp extends BaseEntity
|
|
||||||
{
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
|
|
||||||
/** 卡名称 */
|
|
||||||
@Excel(name = "卡名称")
|
|
||||||
private String cardName;
|
|
||||||
|
|
||||||
/** 卡提供商(商家名称) */
|
|
||||||
@Excel(name = "卡提供商")
|
|
||||||
private String storeName;
|
|
||||||
|
|
||||||
|
|
||||||
/** 使用次数 */
|
|
||||||
@Excel(name = "使用次数")
|
|
||||||
private Integer useCount;
|
|
||||||
|
|
||||||
/** 剩余次数 */
|
|
||||||
@Excel(name = "剩余次数")
|
|
||||||
private Integer leftCount;
|
|
||||||
|
|
||||||
/** 有效期 */
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
|
||||||
@Excel(name = "有效期", width = 30, dateFormat = "yyyy-MM-dd")
|
|
||||||
private Date effectiveTime;
|
|
||||||
|
|
||||||
/** 卡券标识,0会员卡,1券(或赠卡) */
|
|
||||||
@Excel(name = "卡券标识")
|
|
||||||
private Integer typeFlag;
|
|
||||||
|
|
||||||
/** 卡券状态 */
|
|
||||||
@Excel(name = "卡券状态")
|
|
||||||
private String cardStatus;
|
|
||||||
|
|
||||||
/** 卡券说明 */
|
|
||||||
@Excel(name = "卡券说明")
|
|
||||||
private String cardContent;
|
|
||||||
|
|
||||||
/** 卡券说明 */
|
|
||||||
@Excel(name = "卡券说明")
|
|
||||||
private String bgUrl;
|
|
||||||
|
|
||||||
public String getCardName() {
|
|
||||||
return cardName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCardName(String cardName) {
|
|
||||||
this.cardName = cardName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getStoreName() {
|
|
||||||
return storeName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setStoreName(String storeName) {
|
|
||||||
this.storeName = storeName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getUseCount() {
|
|
||||||
return useCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUseCount(Integer useCount) {
|
|
||||||
this.useCount = useCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getLeftCount() {
|
|
||||||
return leftCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLeftCount(Integer leftCount) {
|
|
||||||
this.leftCount = leftCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Date getEffectiveTime() {
|
|
||||||
return effectiveTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setEffectiveTime(Date effectiveTime) {
|
|
||||||
this.effectiveTime = effectiveTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getTypeFlag() {
|
|
||||||
return typeFlag;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTypeFlag(Integer typeFlag) {
|
|
||||||
this.typeFlag = typeFlag;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCardStatus() {
|
|
||||||
return cardStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCardStatus(String cardStatus) {
|
|
||||||
this.cardStatus = cardStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCardContent() {
|
|
||||||
return cardContent;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCardContent(String cardContent) {
|
|
||||||
this.cardContent = cardContent;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return "SegchkUserWebCardResp{" +
|
|
||||||
"cardName='" + cardName + '\'' +
|
|
||||||
", storeName='" + storeName + '\'' +
|
|
||||||
", useCount=" + useCount +
|
|
||||||
", leftCount=" + leftCount +
|
|
||||||
", effectiveTime=" + effectiveTime +
|
|
||||||
", typeFlag=" + typeFlag +
|
|
||||||
", cardStatus='" + cardStatus + '\'' +
|
|
||||||
", cardContent='" + cardContent + '\'' +
|
|
||||||
'}';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -149,4 +149,6 @@ public interface SegchkStoreIndexMapper {
|
||||||
public int addAccountByReward(SegchkChargeReward segchkChargeReward);
|
public int addAccountByReward(SegchkChargeReward segchkChargeReward);
|
||||||
|
|
||||||
Long getVipCardFromLikego(Long likegoId);
|
Long getVipCardFromLikego(Long likegoId);
|
||||||
|
|
||||||
|
public int addCommentAccByComment(Long commentId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -126,7 +126,11 @@ public interface SegchkUserIndexMapper {
|
||||||
|
|
||||||
public String selectSegchkUserName(String userId);
|
public String selectSegchkUserName(String userId);
|
||||||
|
|
||||||
public SegchkChargeReward selectSegchkRewardInfo(SegchkUserCharge segchkUserCharge);
|
public SegchkChargeReward selectSegchkRewardInfoForCharge(Map<String, Object> paramsMap);
|
||||||
|
|
||||||
int addAccountByReward(SegchkChargeReward segchkChargeReward);
|
int addAccountByReward(SegchkChargeReward segchkChargeReward);
|
||||||
|
|
||||||
|
Map<String, Object> getCardInfo(Map<String, Object> paramsMap);
|
||||||
|
|
||||||
|
SegchkChargeReward selectSegchkRewardInfoForCheck(Map<String, Object> params);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -186,4 +186,6 @@ public interface ISegchkStoreIndexService
|
||||||
Long getVipCardFromLikego(Long likegoId);
|
Long getVipCardFromLikego(Long likegoId);
|
||||||
|
|
||||||
HashMap<String, Object> getCustomService(Long providerId);
|
HashMap<String, Object> getCustomService(Long providerId);
|
||||||
|
|
||||||
|
public int addCommentAccByComment(Long commentId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -108,9 +108,10 @@ public interface ISegchkUserIndexService
|
||||||
*
|
*
|
||||||
* @param segchkServiceOrderChkTestResp 核消检查信息
|
* @param segchkServiceOrderChkTestResp 核消检查信息
|
||||||
* @param likegoId 预约单id
|
* @param likegoId 预约单id
|
||||||
|
* @param stoRewardWithChk
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int OrderCheckTransaction(SegchkServiceOrderChkTestResp segchkServiceOrderChkTestResp, Long likegoId);
|
public int OrderCheckTransaction(SegchkServiceOrderChkTestResp segchkServiceOrderChkTestResp, Long likegoId, Boolean stoRewardWithChk);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据支付回调结果,进行相应的更新
|
* 根据支付回调结果,进行相应的更新
|
||||||
|
|
@ -121,6 +122,15 @@ public interface ISegchkUserIndexService
|
||||||
*/
|
*/
|
||||||
public void chargeRet(String chargeId, int ret);
|
public void chargeRet(String chargeId, int ret);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据用户充值等信息获取相关的返利信息
|
||||||
|
*
|
||||||
|
* @param params 充值信息
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int makeChargeReward(Map<String, Object> params);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据支用户id,运营商id,查询该用户可购买的卡
|
* 根据支用户id,运营商id,查询该用户可购买的卡
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -361,7 +361,7 @@ public class ISegchkStoreIndexServiceImpl implements ISegchkStoreIndexService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Integer addStoreSelfCard(SegchkStoreSelfMgt segchkStoreSelfMgt) {
|
public Integer addStoreSelfCard(SegchkStoreSelfMgt segchkStoreSelfMgt) {
|
||||||
if(segchkStoreSelfMgt.getTypeId() != 2){
|
if(segchkStoreSelfMgt.getTypeId() == 2){
|
||||||
// 说明是优惠券
|
// 说明是优惠券
|
||||||
SegchkPreferenceLable segchkPreferenceLable = segchkPreferenceLableService.selectSegchkPreferenceLableByPreferenceId(segchkStoreSelfMgt.getLableId());
|
SegchkPreferenceLable segchkPreferenceLable = segchkPreferenceLableService.selectSegchkPreferenceLableByPreferenceId(segchkStoreSelfMgt.getLableId());
|
||||||
segchkStoreSelfMgt.setFreeName(segchkPreferenceLable.getPreferenceName());
|
segchkStoreSelfMgt.setFreeName(segchkPreferenceLable.getPreferenceName());
|
||||||
|
|
@ -383,4 +383,11 @@ public class ISegchkStoreIndexServiceImpl implements ISegchkStoreIndexService {
|
||||||
public HashMap<String, Object> getCustomService(Long providerId) {
|
public HashMap<String, Object> getCustomService(Long providerId) {
|
||||||
return segchkProviderMgtService.getCustomService(providerId);
|
return segchkProviderMgtService.getCustomService(providerId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int addCommentAccByComment(Long commentId) {
|
||||||
|
int ret = segchkStoreIndexMapper.addCommentAccByComment(commentId);
|
||||||
|
logger.debug("addCommentAccByComment with ({}) {}", commentId, (ret > 0 ? "successed" : "failed"));
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.ruoyi.segchk.service.impl;
|
package com.ruoyi.segchk.service.impl;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.ruoyi.order.service.impl.PaySupplier;
|
import com.ruoyi.order.service.impl.PaySupplier;
|
||||||
//import com.ruoyi.order.service.impl.WechatWithdrawSupplier;
|
//import com.ruoyi.order.service.impl.WechatWithdrawSupplier;
|
||||||
import com.ruoyi.segchk.domain.*;
|
import com.ruoyi.segchk.domain.*;
|
||||||
|
|
@ -21,7 +22,9 @@ import org.springframework.util.ObjectUtils;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.net.URLEncoder;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
@ -291,48 +294,81 @@ public class SegchkUserIndexServiceImpl implements ISegchkUserIndexService
|
||||||
*
|
*
|
||||||
* @param segchkServiceOrderChkTestResp
|
* @param segchkServiceOrderChkTestResp
|
||||||
* @param likegoId
|
* @param likegoId
|
||||||
|
* @param stoRewardWithChk
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public int OrderCheckTransaction(SegchkServiceOrderChkTestResp segchkServiceOrderChkTestResp, Long likegoId) {
|
public int OrderCheckTransaction(SegchkServiceOrderChkTestResp segchkServiceOrderChkTestResp, Long likegoId, Boolean stoRewardWithChk) {
|
||||||
logger.debug("OrderCheckTransaction with: {}---{}", segchkServiceOrderChkTestResp.toString(), likegoId);
|
logger.debug("OrderCheckTransaction with: {}---{}", segchkServiceOrderChkTestResp.toString(), likegoId);
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
Long tmpStoreId = segchkServiceOrderChkTestResp.getStoreId();
|
||||||
if(segchkServiceOrderChkTestResp.getCardType() == 0){
|
if(segchkServiceOrderChkTestResp.getCardType() == 0){
|
||||||
// 说明是会员卡,则先更新会员卡次数。然后插入核消记录,最后更新预约订单状态
|
// 说明是会员卡,则先更新会员卡次数。然后插入核消记录,最后更新预约订单状态
|
||||||
// SegchkUserVip segchkUserVip = new SegchkUserVip();
|
// SegchkUserVip segchkUserVip = new SegchkUserVip();
|
||||||
logger.debug("OrderCheckTransaction will check with vip card");
|
logger.debug("OrderCheckTransaction will check with vip card");
|
||||||
ret += segchkIndexUserVipMapper.updateSegchkUserVipCheck(segchkServiceOrderChkTestResp.getCardId());
|
ret += segchkIndexUserVipMapper.updateSegchkUserVipCheck(segchkServiceOrderChkTestResp.getCardId());
|
||||||
System.out.println(ret);
|
logger.debug("OrderCheckTransaction checked({}) with vip card({})"
|
||||||
|
, (ret == 1 ? "successed" : "failed")
|
||||||
|
, segchkServiceOrderChkTestResp.getCardId());
|
||||||
SegchkServiceChk segchkServiceChk = new SegchkServiceChk();
|
SegchkServiceChk segchkServiceChk = new SegchkServiceChk();
|
||||||
segchkServiceChk.setCardId(segchkServiceOrderChkTestResp.getCardId());
|
segchkServiceChk.setCardId(segchkServiceOrderChkTestResp.getCardId());
|
||||||
// segchkServiceChk.setCardTypeId(0L);
|
// segchkServiceChk.setCardTypeId(0L);
|
||||||
segchkServiceChk.setProviderId(segchkServiceOrderChkTestResp.getProviderId());
|
segchkServiceChk.setProviderId(segchkServiceOrderChkTestResp.getProviderId());
|
||||||
segchkServiceChk.setStoreId(segchkServiceOrderChkTestResp.getStoreId());
|
segchkServiceChk.setStoreId(tmpStoreId);
|
||||||
segchkServiceChk.setUserId(segchkServiceOrderChkTestResp.getUserId());
|
segchkServiceChk.setUserId(segchkServiceOrderChkTestResp.getUserId());
|
||||||
|
|
||||||
ret += segchkServiceChkMapper.insertSegchkServiceChk(segchkServiceChk);
|
ret += segchkServiceChkMapper.insertSegchkServiceChk(segchkServiceChk);
|
||||||
System.out.println(ret);
|
logger.debug("OrderCheckTransaction save({}) service-check with ({})"
|
||||||
|
, (ret == 2 ? "successed" : "failed")
|
||||||
|
, segchkServiceChk.toString());
|
||||||
|
|
||||||
|
if(stoRewardWithChk){
|
||||||
|
// 如果允许,会员卡第一次核消,将给该商家返利
|
||||||
|
Map<String, Object> params = new HashMap<>();
|
||||||
|
params.put("cardId", segchkServiceChk.getCardId());
|
||||||
|
params.put("storeId", tmpStoreId);
|
||||||
|
params.put("userId", segchkServiceChk.getUserId());
|
||||||
|
// 根据卡号id,获取会员卡相关信息
|
||||||
|
SegchkChargeReward segchkChargeReward = segchkUserIndexMapper.selectSegchkRewardInfoForCheck(params);
|
||||||
|
|
||||||
|
int validateForCheck = segchkChargeReward.validateForCheck(tmpStoreId);
|
||||||
|
if(validateForCheck < 0){
|
||||||
|
logger.warn("validateForCheselectUserOrderPredCardListWebInfock can not make reword for store({}), because {}", tmpStoreId, (validateForCheck == -1 ? "持卡用户推荐人不是平台" : validateForCheck == -2 ? "已使用过" : validateForCheck == -3 ? "该商家不支持该卡的核消" : "该商家不需要返利"));
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
segchkChargeReward.mkReward();
|
||||||
|
segchkChargeReward.setRecommendersLevel(1);
|
||||||
|
segchkChargeReward.setUserRecommenders(tmpStoreId);
|
||||||
|
makeStoreReward(segchkChargeReward);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// 说明是优惠券或赠卡则先更新赠卡次数。然后插入核消记录,最后更新预约订单状态
|
// 说明是优惠券或赠卡则先更新赠卡次数。然后插入核消记录,最后更新预约订单状态
|
||||||
logger.debug("OrderCheckTransaction will check with store card");
|
logger.debug("OrderCheckTransaction will check with store card");
|
||||||
ret += segchkStoreSelfMgtMapper.updateSegchkUserVipCheck(segchkServiceOrderChkTestResp.getCardId());
|
ret += segchkStoreSelfMgtMapper.updateSegchkUserVipCheck(segchkServiceOrderChkTestResp.getCardId());
|
||||||
System.out.println(ret);
|
logger.debug("OrderCheckTransaction checked({}) with vip card({})"
|
||||||
|
, (ret == 1 ? "successed" : "failed")
|
||||||
|
, segchkServiceOrderChkTestResp.getCardId());
|
||||||
SegchkSelfServiceChk segchkSelfServiceChk = new SegchkSelfServiceChk();
|
SegchkSelfServiceChk segchkSelfServiceChk = new SegchkSelfServiceChk();
|
||||||
segchkSelfServiceChk.setCardId(segchkServiceOrderChkTestResp.getCardId());
|
segchkSelfServiceChk.setCardId(segchkServiceOrderChkTestResp.getCardId());
|
||||||
segchkSelfServiceChk.setProviderId(segchkServiceOrderChkTestResp.getProviderId());
|
segchkSelfServiceChk.setProviderId(segchkServiceOrderChkTestResp.getProviderId());
|
||||||
segchkSelfServiceChk.setStoreId(segchkServiceOrderChkTestResp.getStoreId());
|
segchkSelfServiceChk.setStoreId(tmpStoreId);
|
||||||
segchkSelfServiceChk.setUserId(segchkServiceOrderChkTestResp.getUserId());
|
segchkSelfServiceChk.setUserId(segchkServiceOrderChkTestResp.getUserId());
|
||||||
ret += segchkSelfServiceChkMapper.insertSegchkSelfServiceChk(segchkSelfServiceChk);
|
ret += segchkSelfServiceChkMapper.insertSegchkSelfServiceChk(segchkSelfServiceChk);
|
||||||
System.out.println(ret);
|
logger.debug("OrderCheckTransaction save({}) service-check with ({})"
|
||||||
|
, (ret == 2 ? "successed" : "failed")
|
||||||
|
, segchkSelfServiceChk.toString());
|
||||||
}
|
}
|
||||||
SegchkUserLikego segchkUserLikego = new SegchkUserLikego();
|
SegchkUserLikego segchkUserLikego = new SegchkUserLikego();
|
||||||
segchkUserLikego.setLikegoId(likegoId);
|
segchkUserLikego.setLikegoId(likegoId);
|
||||||
segchkUserLikego.setMgtState(2);
|
segchkUserLikego.setMgtState(2);
|
||||||
logger.debug("OrderCheckTransaction will update likego");
|
|
||||||
ret += segchkUserLikegoMapper.updateSegchkUserLikego(segchkUserLikego);
|
ret += segchkUserLikegoMapper.updateSegchkUserLikego(segchkUserLikego);
|
||||||
System.out.println(ret);
|
logger.debug("OrderCheckTransaction update({}) likego({})"
|
||||||
|
, (ret == 3 ? "successed" : "failed")
|
||||||
|
, likegoId);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -386,84 +422,132 @@ public class SegchkUserIndexServiceImpl implements ISegchkUserIndexService
|
||||||
int updaterest = segchkUserChargeMapper.updateSegchkUserChargeByRet(segchkUserCharge);
|
int updaterest = segchkUserChargeMapper.updateSegchkUserChargeByRet(segchkUserCharge);
|
||||||
logger.warn("chargeRet update with {} result: {}", "success", updaterest == 1 ? "successed" : "failed");
|
logger.warn("chargeRet update with {} result: {}", "success", updaterest == 1 ? "successed" : "failed");
|
||||||
|
|
||||||
// 计算返利.给用户或商户,运营商加余额
|
Map<String, Object> params = new HashMap<>();
|
||||||
SegchkChargeReward segchkChargeReward = segchkUserIndexMapper.selectSegchkRewardInfo(segchkUserCharge1);
|
params.put("chargeId", segchkUserCharge1.getChargeId());
|
||||||
|
params.put("userId", segchkUserCharge1.getUserId());
|
||||||
if(ObjectUtils.isEmpty(segchkChargeReward.getUserRecommenders()) || ObjectUtils.isEmpty(segchkChargeReward.getRecommendersLevel())){
|
params.put("providerId", segchkUserCharge1.getProviderId());
|
||||||
// 推荐人是平台
|
params.put("cardTypeId", segchkUserCharge1.getCardTypeId());
|
||||||
logger.warn("chargeRet charge({}) reward is will belong to platform", chargeId);
|
params.put("cardId", segchkChargeRet.getCardId());
|
||||||
}
|
updaterest = makeChargeReward(params);
|
||||||
/*else if(segchkChargeReward.getRecommendersLevel() == 0){
|
|
||||||
|
|
||||||
}*/
|
|
||||||
else if(segchkChargeReward.getRecommendersLevel() == 1 && !ObjectUtils.isEmpty(segchkChargeReward.getReward()) && segchkChargeReward.getReward().compareTo(new BigDecimal(0.0)) > 0){
|
|
||||||
logger.debug("chargeRet make reward with --- \n{}", segchkChargeReward.toString());
|
|
||||||
// 如果推荐是商户。则给商户累加奖励
|
|
||||||
SegchkStoreReward segchkStoreReward = new SegchkStoreReward();
|
|
||||||
segchkStoreReward.setProviderId(segchkUserCharge1.getProviderId());
|
|
||||||
segchkStoreReward.setReward(segchkChargeReward.getReward());
|
|
||||||
segchkStoreReward.setRewardCardId(segchkChargeRet.getCardId());
|
|
||||||
segchkStoreReward.setRewardCardTypeId(segchkUserCharge1.getCardTypeId());
|
|
||||||
segchkStoreReward.setStoreId(segchkChargeReward.getUserRecommenders());
|
|
||||||
int i = segchkStoreRewardService.insertSegchkStoreReward(segchkStoreReward);
|
|
||||||
if(i > 0 ){
|
|
||||||
logger.debug("chargeRet save reward success with chargeId({})--- {}", chargeId, segchkStoreReward.toString());
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
logger.warn("chargeRet save reward failed with chargeId({}) --- {}", chargeId, segchkStoreReward.toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
segchkChargeReward.setChargeId(Long.valueOf(chargeId));
|
|
||||||
segchkChargeReward.setRewardId(segchkStoreReward.getRewardId());
|
|
||||||
// 形成商户余额
|
|
||||||
i = segchkStoreIndexService.addAccountByReward(segchkChargeReward);
|
|
||||||
if(i > 0){
|
|
||||||
logger.debug("chargeRet add account successed for --- {}", segchkChargeReward.toString());
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
logger.warn("chargeRet add account failed for --- {}", segchkChargeReward.toString());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if(segchkChargeReward.getRecommendersLevel() == 2 && !ObjectUtils.isEmpty(segchkChargeReward.getReward()) && segchkChargeReward.getReward().compareTo(new BigDecimal(0.0)) > 0){
|
|
||||||
logger.debug("chargeRet make reward with --- \n{}", segchkChargeReward.toString());
|
|
||||||
// 如果推荐是用户。则给用户累加奖励
|
|
||||||
SegchkUserReward segchkUserReward = new SegchkUserReward();
|
|
||||||
segchkUserReward.setProviderId(segchkUserCharge1.getProviderId());
|
|
||||||
segchkUserReward.setReward(segchkChargeReward.getReward());
|
|
||||||
segchkUserReward.setRewardCardId(segchkChargeRet.getCardId());
|
|
||||||
segchkUserReward.setRewardCardTypeId(segchkUserCharge1.getCardTypeId());
|
|
||||||
segchkUserReward.setUserId(segchkChargeReward.getUserRecommenders());
|
|
||||||
int i = segchkUserRewardService.insertSegchkUserReward(segchkUserReward);
|
|
||||||
if(i > 0 ){
|
|
||||||
logger.debug("chargeRet save reward success with chargeId({})--- {}", chargeId, segchkUserReward.toString());
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
logger.warn("chargeRet save reward failed with chargeId({}) --- {}", chargeId, segchkUserReward.toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
segchkChargeReward.setChargeId(Long.valueOf(chargeId));
|
|
||||||
segchkChargeReward.setRewardId(segchkUserReward.getRewardId());
|
|
||||||
// 形成商户余额
|
|
||||||
i = segchkUserIndexMapper.addAccountByReward(segchkChargeReward);
|
|
||||||
if(i > 0){
|
|
||||||
logger.debug("chargeRet add account successed for --- {}", segchkChargeReward.toString());
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
logger.warn("chargeRet add account failed for --- {}", segchkChargeReward.toString());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
logger.warn("chargeRet with: {}---{}, 充值失败!!!", chargeId.toString(), ret);
|
logger.warn("chargeRet with: {}---{}, 充值失败!!!", chargeId.toString(), ret);
|
||||||
SegchkUserCharge segchkUserCharge = new SegchkUserCharge();
|
SegchkUserCharge segchkUserCharge = new SegchkUserCharge();
|
||||||
segchkUserCharge.setChargeId(Long.parseLong(chargeId));
|
segchkUserCharge.setChargeId(Long.parseLong(chargeId));
|
||||||
segchkUserCharge.setRetFlag(2);
|
segchkUserCharge.setRetFlag(-1);
|
||||||
int updaterest = segchkUserChargeMapper.updateSegchkUserCharge(segchkUserCharge);
|
int updaterest = segchkUserChargeMapper.updateSegchkUserCharge(segchkUserCharge);
|
||||||
int deleterest = segchkIndexUserAccountMapper.deleteSegchkUserAccountByCharge(segchkUserCharge);
|
int deleterest = segchkIndexUserAccountMapper.deleteSegchkUserAccountByCharge(segchkUserCharge);
|
||||||
logger.warn("chargeRet update with {} result: {}", "failed", deleterest == 1 ? "successed" : "failed");
|
logger.warn("chargeRet update with {} result: {}", "failed", deleterest == 1 ? "successed" : "failed");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int makeChargeReward(Map<String, Object> params) {
|
||||||
|
logger.debug("makeChargeReward with --- ({})", JSON.toJSONString(params));
|
||||||
|
int ret = 0;
|
||||||
|
// 计算返利.给用户或商户,运营商加余额
|
||||||
|
SegchkChargeReward segchkChargeReward = segchkUserIndexMapper.selectSegchkRewardInfoForCharge(params);
|
||||||
|
segchkChargeReward.setCardId((Long) params.get("cardId"));
|
||||||
|
segchkChargeReward.setChargeId((Long) params.get("chargeId"));
|
||||||
|
if(ObjectUtils.isEmpty(segchkChargeReward.getUserRecommenders()) || ObjectUtils.isEmpty(segchkChargeReward.getRecommendersLevel())){
|
||||||
|
// 推荐人是平台
|
||||||
|
logger.warn("chargeRet charge({}) reward is will belong to platform", params.get("chargeId"));
|
||||||
|
}
|
||||||
|
/*else if(segchkChargeReward.getRecommendersLevel() == 0){
|
||||||
|
|
||||||
|
}*/
|
||||||
|
else{
|
||||||
|
switch (segchkChargeReward.getRecommendersLevel()){
|
||||||
|
case 0: {
|
||||||
|
// return makeProviderReward(segchkChargeReward, params);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
case 1: {
|
||||||
|
return makeStoreReward(segchkChargeReward);
|
||||||
|
}
|
||||||
|
case 2: {
|
||||||
|
return makeUserReward(segchkChargeReward);
|
||||||
|
}
|
||||||
|
default: return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int makeUserReward(SegchkChargeReward segchkChargeReward) {
|
||||||
|
logger.debug("makeUserReward with ({})", segchkChargeReward.toString());
|
||||||
|
int ret = 0;
|
||||||
|
if(ObjectUtils.isEmpty(segchkChargeReward.getReward()) || segchkChargeReward.getReward().compareTo(new BigDecimal(0.0)) <= 0){
|
||||||
|
logger.debug("makeUserReward reword is null or 0.0");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
// 如果推荐是用户。则给用户累加奖励
|
||||||
|
SegchkUserReward segchkUserReward = new SegchkUserReward();
|
||||||
|
segchkUserReward.setProviderId(segchkChargeReward.getProviderId());
|
||||||
|
segchkUserReward.setReward(segchkChargeReward.getReward());
|
||||||
|
segchkUserReward.setRewardCardId(segchkChargeReward.getCardId());
|
||||||
|
segchkUserReward.setRewardCardTypeId(Long.valueOf(segchkChargeReward.getCardTypeId()));
|
||||||
|
segchkUserReward.setUserId(segchkChargeReward.getUserRecommenders());
|
||||||
|
ret = segchkUserRewardService.insertSegchkUserReward(segchkUserReward);
|
||||||
|
if(ret > 0 ){
|
||||||
|
logger.debug("makeUserReward save reward success with chargeId({})--- {}", segchkChargeReward.getChargeId(), segchkUserReward.toString());
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
logger.warn("makeUserReward save reward failed with chargeId({}) --- {}", segchkChargeReward.getChargeId(), segchkUserReward.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
segchkChargeReward.setChargeId(segchkChargeReward.getChargeId());
|
||||||
|
segchkChargeReward.setRewardId(segchkUserReward.getRewardId());
|
||||||
|
// 形成商户余额
|
||||||
|
ret = segchkUserIndexMapper.addAccountByReward(segchkChargeReward);
|
||||||
|
if(ret > 0){
|
||||||
|
logger.debug("makeUserReward add account successed for --- {}", segchkChargeReward.toString());
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
logger.warn("makeUserReward add account failed for --- {}", segchkChargeReward.toString());
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int makeStoreReward(SegchkChargeReward segchkChargeReward) {
|
||||||
|
logger.debug("makeStoreReward with ({})", segchkChargeReward.toString());
|
||||||
|
int ret = 0;
|
||||||
|
if(ObjectUtils.isEmpty(segchkChargeReward.getReward()) || segchkChargeReward.getReward().compareTo(new BigDecimal(0.0)) <= 0){
|
||||||
|
logger.debug("makeStoreReward reword is null or 0.0");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
// 如果推荐是商户。则给商户累加奖励
|
||||||
|
SegchkStoreReward segchkStoreReward = new SegchkStoreReward();
|
||||||
|
segchkStoreReward.setProviderId(segchkChargeReward.getProviderId());
|
||||||
|
segchkStoreReward.setReward(segchkChargeReward.getReward());
|
||||||
|
segchkStoreReward.setRewardCardId(segchkChargeReward.getCardId());
|
||||||
|
segchkStoreReward.setRewardCardTypeId(Long.valueOf(segchkChargeReward.getCardTypeId()));
|
||||||
|
segchkStoreReward.setStoreId(segchkChargeReward.getUserRecommenders());
|
||||||
|
ret = segchkStoreRewardService.insertSegchkStoreReward(segchkStoreReward);
|
||||||
|
if(ret > 0 ){
|
||||||
|
logger.debug("makeStoreReward save reward success with chargeId({})--- {}", segchkChargeReward.getChargeId(), segchkStoreReward.toString());
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
logger.warn("makeStoreReward save reward failed with chargeId({}) --- {}", segchkChargeReward.getChargeId(), segchkStoreReward.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
segchkChargeReward.setChargeId(segchkChargeReward.getChargeId());
|
||||||
|
segchkChargeReward.setRewardId(segchkStoreReward.getRewardId());
|
||||||
|
// 形成商户余额
|
||||||
|
ret = segchkStoreIndexService.addAccountByReward(segchkChargeReward);
|
||||||
|
if(ret > 0){
|
||||||
|
logger.debug("chargeRet add account successed for --- {}", segchkChargeReward.toString());
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
logger.warn("chargeRet add account failed for --- {}", segchkChargeReward.toString());
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int makeProviderReward(SegchkChargeReward segchkChargeReward, Map<String, Object> params) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据支用户id,运营商id,查询该用户可购买的卡
|
* 根据支用户id,运营商id,查询该用户可购买的卡
|
||||||
*
|
*
|
||||||
|
|
@ -583,6 +667,7 @@ public class SegchkUserIndexServiceImpl implements ISegchkUserIndexService
|
||||||
SegchkServiceChk segchkServiceChk = new SegchkServiceChk();
|
SegchkServiceChk segchkServiceChk = new SegchkServiceChk();
|
||||||
segchkServiceChk.setCommentId(segchkServiceCommentUserReq.getCommentId());
|
segchkServiceChk.setCommentId(segchkServiceCommentUserReq.getCommentId());
|
||||||
segchkServiceChk.setChkServiceId(segchkServiceCommentUserReq.getChkServiceId());
|
segchkServiceChk.setChkServiceId(segchkServiceCommentUserReq.getChkServiceId());
|
||||||
|
ret += segchkStoreIndexService.addCommentAccByComment(segchkServiceCommentUserReq.getCommentId());
|
||||||
ret += segchkServiceChkMapper.updateSegchkServiceChk(segchkServiceChk);
|
ret += segchkServiceChkMapper.updateSegchkServiceChk(segchkServiceChk);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
@ -722,6 +807,15 @@ public class SegchkUserIndexServiceImpl implements ISegchkUserIndexService
|
||||||
@Override
|
@Override
|
||||||
public int updateWeChatInfoByUserId(SegchkUserWechat segchkUserWechat, String userLevel) {
|
public int updateWeChatInfoByUserId(SegchkUserWechat segchkUserWechat, String userLevel) {
|
||||||
logger.debug("updateWeChatInfoByUserId with: {}---{}", segchkUserWechat.toString(), userLevel);
|
logger.debug("updateWeChatInfoByUserId with: {}---{}", segchkUserWechat.toString(), userLevel);
|
||||||
|
if(!ObjectUtils.isEmpty(segchkUserWechat.getNickName())) {
|
||||||
|
// 如果用户昵称不空,则对昵称进行utf转换,避免用户昵称特殊字符无法存入
|
||||||
|
try {
|
||||||
|
segchkUserWechat.setNickName(URLEncoder.encode(segchkUserWechat.getNickName(), "utf-8"));
|
||||||
|
} catch (UnsupportedEncodingException e) {
|
||||||
|
logger.error("updateWeChatInfoByUserId get nickName error: {}", e.getMessage());
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
switch (userLevel){
|
switch (userLevel){
|
||||||
case "0": return segchkUserIndexMapper.updateSegchkProviderWechat(segchkUserWechat);
|
case "0": return segchkUserIndexMapper.updateSegchkProviderWechat(segchkUserWechat);
|
||||||
case "1": return segchkUserIndexMapper.updateSegchkStoreWechat(segchkUserWechat);
|
case "1": return segchkUserIndexMapper.updateSegchkStoreWechat(segchkUserWechat);
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ public class AesUtils {
|
||||||
public byte[] decrypt(byte[] content, byte[] keyByte, byte[] ivByte) throws InvalidAlgorithmParameterException {
|
public byte[] decrypt(byte[] content, byte[] keyByte, byte[] ivByte) throws InvalidAlgorithmParameterException {
|
||||||
try {
|
try {
|
||||||
// java是没有
|
// java是没有
|
||||||
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding");
|
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding", "BC");
|
||||||
Key sKeySpec = new SecretKeySpec(keyByte, "AES");
|
Key sKeySpec = new SecretKeySpec(keyByte, "AES");
|
||||||
|
|
||||||
cipher.init(Cipher.DECRYPT_MODE, sKeySpec, generateIV(ivByte));// 初始化
|
cipher.init(Cipher.DECRYPT_MODE, sKeySpec, generateIV(ivByte));// 初始化
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.ruoyi.util;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.alibaba.fastjson.annotation.JSONField;
|
import com.alibaba.fastjson.annotation.JSONField;
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
import org.springframework.util.ObjectUtils;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -34,7 +35,7 @@ public class WeChatAppletLoginResponse {
|
||||||
* 错误码(出错时返回)
|
* 错误码(出错时返回)
|
||||||
*/
|
*/
|
||||||
@JSONField(name = "errcode")
|
@JSONField(name = "errcode")
|
||||||
private String errcode;
|
private Integer errcode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 错误信息(出错时返回)
|
* 错误信息(出错时返回)
|
||||||
|
|
@ -61,7 +62,7 @@ public class WeChatAppletLoginResponse {
|
||||||
*/
|
*/
|
||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
public boolean isError() {
|
public boolean isError() {
|
||||||
return !StringUtils.isEmpty(this.errcode);
|
return this.errcode != null && this.errcode != 0 ;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -69,7 +70,7 @@ public class WeChatAppletLoginResponse {
|
||||||
*/
|
*/
|
||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
public String errCodeDesc() {
|
public String errCodeDesc() {
|
||||||
switch (Integer.valueOf(this.errcode)){
|
switch (this.errcode){
|
||||||
case -1: return "系统繁忙,此时请开发者稍候再试";
|
case -1: return "系统繁忙,此时请开发者稍候再试";
|
||||||
case 0: return "请求成功";
|
case 0: return "请求成功";
|
||||||
case 40029: return "code 无效";
|
case 40029: return "code 无效";
|
||||||
|
|
@ -113,11 +114,11 @@ public class WeChatAppletLoginResponse {
|
||||||
this.unionid = unionid;
|
this.unionid = unionid;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getErrcode() {
|
public Integer getErrcode() {
|
||||||
return errcode;
|
return errcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setErrcode(String errcode) {
|
public void setErrcode(Integer errcode) {
|
||||||
this.errcode = errcode;
|
this.errcode = errcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,10 @@ import com.ruoyi.common.annotation.Log;
|
||||||
import com.ruoyi.util.WeChatAppletLoginResponse;
|
import com.ruoyi.util.WeChatAppletLoginResponse;
|
||||||
import com.ruoyi.util.WeChatAppletUserInfo;
|
import com.ruoyi.util.WeChatAppletUserInfo;
|
||||||
import com.ruoyi.util.WechatSetting;
|
import com.ruoyi.util.WechatSetting;
|
||||||
|
import com.ruoyi.util.bean.SegUserProfile;
|
||||||
|
import com.ruoyi.util.bean.UserInfoProfile;
|
||||||
import org.apache.commons.codec.binary.Base64;
|
import org.apache.commons.codec.binary.Base64;
|
||||||
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
import org.apache.http.HttpEntity;
|
import org.apache.http.HttpEntity;
|
||||||
import org.apache.http.HttpResponse;
|
import org.apache.http.HttpResponse;
|
||||||
import org.apache.http.HttpStatus;
|
import org.apache.http.HttpStatus;
|
||||||
|
|
@ -27,6 +30,7 @@ import java.io.ByteArrayInputStream;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -70,24 +74,68 @@ public class WeChatAppletUtils {
|
||||||
*/
|
*/
|
||||||
public static WeChatAppletLoginResponse getLoginInfo(String code, WechatSetting wechatSetting) {
|
public static WeChatAppletLoginResponse getLoginInfo(String code, WechatSetting wechatSetting) {
|
||||||
logger.debug("getLoginInfo and code:{} \r\n wechatSetting:{}", code, wechatSetting);
|
logger.debug("getLoginInfo and code:{} \r\n wechatSetting:{}", code, wechatSetting);
|
||||||
WeChatAppletLoginResponse weChatAppletLoginResponse = wechatSetting.getType() == 999999
|
/*WeChatAppletLoginResponse weChatAppletLoginResponse = wechatSetting.getType() == 999999
|
||||||
? new WeChatAppletLoginResponse(code, code, code)
|
? new WeChatAppletLoginResponse(code, code, code)
|
||||||
: JSON.parseObject(WechatUtils.executeHttpGet(String.format(GET_LOGIN_INFO_URL, wechatSetting.getAppId(), wechatSetting.getAppSecret(), code)), WeChatAppletLoginResponse.class);
|
: JSON.parseObject(WechatUtils.executeHttpGet(String.format(GET_LOGIN_INFO_URL, wechatSetting.getAppId(), wechatSetting.getAppSecret(), code)), WeChatAppletLoginResponse.class);*/
|
||||||
// WeChatAppletLoginResponse weChatAppletLoginResponse = null;
|
// WeChatAppletLoginResponse weChatAppletLoginResponse = null;
|
||||||
// JSONObject jsonObject = JSON.parseObject(WechatUtils.executeHttpGet(String.format(GET_LOGIN_INFO_URL, wechatSetting.getAppId(), wechatSetting.getAppSecret(), code)));
|
String s = WechatUtils.executeHttpGet(String.format(GET_LOGIN_INFO_URL, wechatSetting.getAppId(), wechatSetting.getAppSecret(), code));
|
||||||
logger.warn("getLoginInfo get WeChatAppletLoginResponse: {}", weChatAppletLoginResponse.toString());
|
logger.warn("getLoginInfo res: ({})", s);
|
||||||
|
WeChatAppletLoginResponse weChatAppletLoginResponse = JSONObject.parseObject(s, WeChatAppletLoginResponse.class);
|
||||||
|
// logger.warn("getLoginInfo get WeChatAppletLoginResponse: {}", weChatAppletLoginResponse.toString());
|
||||||
if (Objects.isNull(weChatAppletLoginResponse)) {
|
if (Objects.isNull(weChatAppletLoginResponse)) {
|
||||||
logger.error("getLoginInfo fail : weChatAppletLoginResponse is null");
|
logger.error("getLoginInfo fail : weChatAppletLoginResponse is null");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if (weChatAppletLoginResponse.isError()) {
|
if (weChatAppletLoginResponse.isError()) {
|
||||||
logger.debug("getLoginInfo fail and errorMsg:({}) errCode:({}) desc:({})", weChatAppletLoginResponse.getErrmsg(), weChatAppletLoginResponse.getErrcode(), weChatAppletLoginResponse.errCodeDesc());
|
logger.debug("getLoginInfo fail and errorMsg:({}) errCode:({})", weChatAppletLoginResponse.getErrmsg(), weChatAppletLoginResponse.getErrcode());
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
logger.debug("getLoginInfo get user wechat info: {}", weChatAppletLoginResponse.toString());
|
logger.debug("getLoginInfo get user wechat info: {}", weChatAppletLoginResponse.toString());
|
||||||
return weChatAppletLoginResponse;
|
return weChatAppletLoginResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据用户信息UserProfile获取用户信息
|
||||||
|
*
|
||||||
|
* @param sessionKey 会话密钥
|
||||||
|
* @param segUserProfile 微信小程序用户信息实体
|
||||||
|
* @return 用户unionId
|
||||||
|
*/
|
||||||
|
public static String getUserInfoFromUserProfile(String sessionKey, SegUserProfile segUserProfile) {
|
||||||
|
logger.debug("getUserInfoFromUserProfile and sessionKey:{} \r\n weChatAppletUserInfo:{}", sessionKey, segUserProfile);
|
||||||
|
String unionId = null;
|
||||||
|
if (Objects.isNull(segUserProfile)) {
|
||||||
|
logger.error("getUserInfoFromUserProfile fail:weChatAppletUserInfo is null ");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
// 被加密的数据
|
||||||
|
byte[] dataByte = Base64.decodeBase64(segUserProfile.getEncryptedData());
|
||||||
|
// 加密秘钥
|
||||||
|
byte[] aeskey = Base64.decodeBase64(sessionKey);
|
||||||
|
// 偏移量
|
||||||
|
byte[] ivByte = Base64.decodeBase64(segUserProfile.getIv());
|
||||||
|
|
||||||
|
try {
|
||||||
|
/*int base = 16;
|
||||||
|
if (aeskey.length % base != 0) {
|
||||||
|
int groups = aeskey.length / base + (aeskey.length % base != 0 ? 1 : 0);
|
||||||
|
byte[] temp = new byte[groups * base];
|
||||||
|
Arrays.fill(temp, (byte) 0);
|
||||||
|
System.arraycopy(aeskey, 0, temp, 0, aeskey.length);
|
||||||
|
aeskey = temp;
|
||||||
|
}*/
|
||||||
|
byte[] resultByte = AesUtils.getInstance().decrypt(dataByte, aeskey, ivByte);
|
||||||
|
if (!ObjectUtils.isEmpty(resultByte)) {
|
||||||
|
String result = new String(resultByte, "UTF-8");
|
||||||
|
return JSONObject.parseObject(result).toJSONString();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return unionId;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据用户信息获取unionId
|
* 根据用户信息获取unionId
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,107 @@
|
||||||
|
package com.ruoyi.util.bean;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.annotation.JSONField;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户信息返回实体类
|
||||||
|
*/
|
||||||
|
public class SegUserProfile {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户信息对象
|
||||||
|
*/
|
||||||
|
@JSONField(name = "userInfo")
|
||||||
|
private String userInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 不包括敏感信息的原始数据字符串,用于计算签名
|
||||||
|
*/
|
||||||
|
@JSONField(name = "rawData")
|
||||||
|
private String rawData;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息
|
||||||
|
*/
|
||||||
|
@JSONField(name = "signature")
|
||||||
|
private String signature;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 包括敏感数据在内的完整用户信息的加密数据
|
||||||
|
*/
|
||||||
|
@JSONField(name = "encryptedData")
|
||||||
|
private String encryptedData;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 加密算法的初始向量
|
||||||
|
*/
|
||||||
|
@JSONField(name = "iv")
|
||||||
|
private String iv;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 敏感数据对应的云 ID
|
||||||
|
*/
|
||||||
|
@JSONField(name = "cloudID")
|
||||||
|
private String cloudID;
|
||||||
|
|
||||||
|
public String getUserInfo() {
|
||||||
|
return userInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserInfo(String userInfo) {
|
||||||
|
this.userInfo = userInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRawData() {
|
||||||
|
return rawData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRawData(String rawData) {
|
||||||
|
this.rawData = rawData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSignature() {
|
||||||
|
return signature;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSignature(String signature) {
|
||||||
|
this.signature = signature;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getEncryptedData() {
|
||||||
|
return encryptedData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEncryptedData(String encryptedData) {
|
||||||
|
this.encryptedData = encryptedData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIv() {
|
||||||
|
return iv;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIv(String iv) {
|
||||||
|
this.iv = iv;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCloudID() {
|
||||||
|
return cloudID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCloudID(String cloudID) {
|
||||||
|
this.cloudID = cloudID;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "SegUserProfile{" +
|
||||||
|
"userInfo='" + userInfo + '\'' +
|
||||||
|
", rawData='" + rawData + '\'' +
|
||||||
|
", signature='" + signature + '\'' +
|
||||||
|
", encryptedData='" + encryptedData + '\'' +
|
||||||
|
", iv='" + iv + '\'' +
|
||||||
|
", cloudID='" + cloudID + '\'' +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,120 @@
|
||||||
|
package com.ruoyi.util.bean;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.annotation.JSONField;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户信息返回实体类
|
||||||
|
*/
|
||||||
|
public class UserInfoProfile {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户昵称
|
||||||
|
*/
|
||||||
|
@JSONField(name = "nickName")
|
||||||
|
private String nickName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户头像图片的 URL
|
||||||
|
*/
|
||||||
|
@JSONField(name = "avatarUrl")
|
||||||
|
private String avatarUrl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户性别
|
||||||
|
*/
|
||||||
|
@JSONField(name = "gender")
|
||||||
|
private String gender;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户所在国家
|
||||||
|
*/
|
||||||
|
@JSONField(name = "country")
|
||||||
|
private String country;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 省份
|
||||||
|
*/
|
||||||
|
@JSONField(name = "province")
|
||||||
|
private String province;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 城市
|
||||||
|
*/
|
||||||
|
@JSONField(name = "city")
|
||||||
|
private String city;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 语言
|
||||||
|
*/
|
||||||
|
@JSONField(name = "language")
|
||||||
|
private String language;
|
||||||
|
|
||||||
|
public String getNickName() {
|
||||||
|
return nickName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNickName(String nickName) {
|
||||||
|
this.nickName = nickName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAvatarUrl() {
|
||||||
|
return avatarUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAvatarUrl(String avatarUrl) {
|
||||||
|
this.avatarUrl = avatarUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGender() {
|
||||||
|
return gender;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGender(String gender) {
|
||||||
|
this.gender = gender;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCountry() {
|
||||||
|
return country;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCountry(String country) {
|
||||||
|
this.country = country;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getProvince() {
|
||||||
|
return province;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProvince(String province) {
|
||||||
|
this.province = province;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCity() {
|
||||||
|
return city;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCity(String city) {
|
||||||
|
this.city = city;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLanguage() {
|
||||||
|
return language;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLanguage(String language) {
|
||||||
|
this.language = language;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "UserInfoProfile{" +
|
||||||
|
"nickName='" + nickName + '\'' +
|
||||||
|
", avatarUrl='" + avatarUrl + '\'' +
|
||||||
|
", gender='" + gender + '\'' +
|
||||||
|
", country='" + country + '\'' +
|
||||||
|
", province='" + province + '\'' +
|
||||||
|
", city='" + city + '\'' +
|
||||||
|
", language='" + language + '\'' +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -157,7 +157,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<select id="selectSegchkStoreSaleList" parameterType="SegchkServiceAndSaleWebReq" resultMap="SegchkServiceAndSaleWebRespResult">
|
<select id="selectSegchkStoreSaleList" parameterType="SegchkServiceAndSaleWebReq" resultMap="SegchkServiceAndSaleWebRespResult">
|
||||||
select date_format( mod_time, '%Y%m' ) as static_month
|
select date_format( mod_time, '%Y%m' ) as static_month
|
||||||
, date_format(any_value(mod_time), '%Y-%m-01') as query_mon
|
, date_format(any_value(mod_time), '%Y-%m-01') as query_mon
|
||||||
, count(1) as static_count from segchk_user_charge where provider_id = #{providerId} and ret_flag = 1 and mod_time <![CDATA[ >= ]]> NOW() - interval
|
, count(1) as static_count from segchk_user_charge where provider_id = #{providerId} and ret_flag <![CDATA[ >= ]]> 1 and mod_time <![CDATA[ >= ]]> NOW() - interval
|
||||||
<choose>
|
<choose>
|
||||||
<when test="staticMonth == null">3</when>
|
<when test="staticMonth == null">3</when>
|
||||||
<when test="staticMonth == 0">3</when>
|
<when test="staticMonth == 0">3</when>
|
||||||
|
|
@ -170,7 +170,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
, charge.charge_count as static_count
|
, charge.charge_count as static_count
|
||||||
, ifnull(cardmgt.card_type_name, '未知卡') as card_name
|
, ifnull(cardmgt.card_type_name, '未知卡') as card_name
|
||||||
from
|
from
|
||||||
(select store_id, card_type_id, provider_id, count(1) as charge_count from segchk_user_charge where provider_id = #{providerId} and ret_flag = 1 and date_format(mod_time, '%Y%m') = date_format(#{staticMonth}, '%Y%m') group by provider_id, card_type_id, store_id) charge
|
(select store_id, card_type_id, provider_id, count(1) as charge_count from segchk_user_charge where provider_id = #{providerId} and ret_flag <![CDATA[ >= ]]> 1 and date_format(mod_time, '%Y%m') = date_format(#{staticMonth}, '%Y%m') group by provider_id, card_type_id, store_id) charge
|
||||||
left join
|
left join
|
||||||
(select provider_id, card_type_id, card_type_name from segchk_charge_card where provider_id = #{providerId}) cardmgt on cardmgt.provider_id = charge.provider_id and cardmgt.card_type_id = charge.card_type_id
|
(select provider_id, card_type_id, card_type_name from segchk_charge_card where provider_id = #{providerId}) cardmgt on cardmgt.provider_id = charge.provider_id and cardmgt.card_type_id = charge.card_type_id
|
||||||
left join
|
left join
|
||||||
|
|
|
||||||
|
|
@ -157,6 +157,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
) ssa
|
) ssa
|
||||||
on ssa.store_id = suc.store_id
|
on ssa.store_id = suc.store_id
|
||||||
</insert>
|
</insert>
|
||||||
|
<insert id="addCommentAccByComment">
|
||||||
|
insert into segchk_comment_acc (
|
||||||
|
star_count
|
||||||
|
, star_level
|
||||||
|
, store_id
|
||||||
|
, provider_id
|
||||||
|
, mod_time
|
||||||
|
, comment_id)
|
||||||
|
select
|
||||||
|
if(isnull(sca.star_count), ssc.cnt, ssc.cnt + sca.star_count) as star_count
|
||||||
|
, if(isnull(sca.star_level), ssc.star_level, ssc.star_level + sca.star_level) as start_level
|
||||||
|
, ssc.store_id
|
||||||
|
, ssc.provider_id
|
||||||
|
, now()
|
||||||
|
, ssc.comment_id from
|
||||||
|
(select provider_id, store_id, comment_id, 1 as cnt, star_level from segchk_service_comment where comment_id = #{commentId}) ssc
|
||||||
|
left join
|
||||||
|
(select provider_id, store_id, star_count, star_level from segchk_comment_acc where store_id = (select store_id from segchk_service_comment where comment_id = #{commentId}) order by update_id limit 1) sca
|
||||||
|
on sca.provider_id = ssc.provider_id and sca.store_id = ssc.store_id
|
||||||
|
</insert>
|
||||||
|
|
||||||
<select id="selectSegchkStoreList" parameterType="SegchkStoreWebReq" resultMap="SegchkStoreIndexWebRespResult">
|
<select id="selectSegchkStoreList" parameterType="SegchkStoreWebReq" resultMap="SegchkStoreIndexWebRespResult">
|
||||||
select
|
select
|
||||||
|
|
@ -616,7 +636,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<select id="selectSegchkStoreSaleList" parameterType="SegchkServiceAndSaleWebReq" resultMap="SegchkServiceAndSaleWebRespResult">
|
<select id="selectSegchkStoreSaleList" parameterType="SegchkServiceAndSaleWebReq" resultMap="SegchkServiceAndSaleWebRespResult">
|
||||||
select date_format( mod_time, '%Y%m' ) as static_month
|
select date_format( mod_time, '%Y%m' ) as static_month
|
||||||
, date_format(any_value(mod_time), '%Y-%m-01') as query_mon
|
, date_format(any_value(mod_time), '%Y-%m-01') as query_mon
|
||||||
, count(1) as static_count from segchk_user_charge where provider_id = #{providerId} and store_id = #{storeId} and ret_flag = 1 and mod_time <![CDATA[ >= ]]> NOW() - interval
|
, count(1) as static_count from segchk_user_charge where provider_id = #{providerId} and store_id = #{storeId} and ret_flag <![CDATA[ >= ]]> 1 and mod_time <![CDATA[ >= ]]> NOW() - interval
|
||||||
<choose>
|
<choose>
|
||||||
<when test="staticMonth != null and staticMonth != ''">#{staticMonth} - 1</when>
|
<when test="staticMonth != null and staticMonth != ''">#{staticMonth} - 1</when>
|
||||||
<otherwise>12 - 1</otherwise>
|
<otherwise>12 - 1</otherwise>
|
||||||
|
|
@ -626,7 +646,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
|
||||||
<select id="selectSegchkStoreSaleDetails" parameterType="SegchkServiceAndSaleWebReq" resultMap="SegchkServiceAndSaleDetailWebRespResult">
|
<select id="selectSegchkStoreSaleDetails" parameterType="SegchkServiceAndSaleWebReq" resultMap="SegchkServiceAndSaleDetailWebRespResult">
|
||||||
select charge.mod_time, charge.card_id, ifnull(cardmgt.card_type_name, '未知卡') as card_name from
|
select charge.mod_time, charge.card_id, ifnull(cardmgt.card_type_name, '未知卡') as card_name from
|
||||||
(select store_id, card_id, card_type_id, provider_id, mod_time from segchk_user_charge where provider_id = #{providerId} and store_id = #{storeId} and ret_flag = 1 and date_format(mod_time, '%Y%m') = date_format(#{staticMonth}, '%Y%m') order by mod_time desc) charge
|
(select store_id, card_id, card_type_id, provider_id, mod_time from segchk_user_charge where provider_id = #{providerId} and store_id = #{storeId} and ret_flag <![CDATA[ >= ]]> 1 and date_format(mod_time, '%Y%m') = date_format(#{staticMonth}, '%Y%m') order by mod_time desc) charge
|
||||||
left join
|
left join
|
||||||
(select provider_id, card_type_id, card_type_name from segchk_charge_card where provider_id = #{providerId}) cardmgt on cardmgt.provider_id = charge.provider_id and cardmgt.card_type_id = charge.card_type_id
|
(select provider_id, card_type_id, card_type_name from segchk_charge_card where provider_id = #{providerId}) cardmgt on cardmgt.provider_id = charge.provider_id and cardmgt.card_type_id = charge.card_type_id
|
||||||
order by mod_time desc
|
order by mod_time desc
|
||||||
|
|
|
||||||
|
|
@ -52,6 +52,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<result property="cardStatus" column="card_status"/>
|
<result property="cardStatus" column="card_status"/>
|
||||||
<result property="cardContent" column="card_content"/>
|
<result property="cardContent" column="card_content"/>
|
||||||
<result property="bgUrl" column="bg_url"/>
|
<result property="bgUrl" column="bg_url"/>
|
||||||
|
<result property="contentColor" column="content_color"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<resultMap type="SegchkUserCollectWebResp" id="SegchkUserCollectWebRespResult">
|
<resultMap type="SegchkUserCollectWebResp" id="SegchkUserCollectWebRespResult">
|
||||||
|
|
@ -190,6 +191,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<result property="recommendersLevel" column="recommenders_level"/>
|
<result property="recommendersLevel" column="recommenders_level"/>
|
||||||
<result property="totalChargeCount" column="total_charge_count"/>
|
<result property="totalChargeCount" column="total_charge_count"/>
|
||||||
<result property="reward" column="reward"/>
|
<result property="reward" column="reward"/>
|
||||||
|
<result property="cardId" column="card_id"/>
|
||||||
|
<result property="useCount" column="use_count"/>
|
||||||
|
<result property="chkCount" column="chk_count"/>
|
||||||
|
<result property="chargeId" column="charge_id"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<select id="selectSegchkUserWebInfo" parameterType="SegchkUserWebReq" resultMap="SegchkUserWebRespResult">
|
<select id="selectSegchkUserWebInfo" parameterType="SegchkUserWebReq" resultMap="SegchkUserWebRespResult">
|
||||||
|
|
@ -275,7 +280,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
order by mod_time desc
|
order by mod_time desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectUserCardList" parameterType="SegchkUserWebReq" resultMap="SegchkUserWebCardRespResult">card_content
|
<select id="selectUserCardList" parameterType="SegchkUserWebReq" resultMap="SegchkUserWebCardRespResult">
|
||||||
select
|
select
|
||||||
card.effective_time
|
card.effective_time
|
||||||
, card.use_count
|
, card.use_count
|
||||||
|
|
@ -283,7 +288,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
, provcard.card_type_name
|
, provcard.card_type_name
|
||||||
, 0 as type_flag
|
, 0 as type_flag
|
||||||
, case when to_days(card.effective_time) <![CDATA[ < ]]> to_days( current_date()) then '过期' else case when status != 0 then '无效' else '可用' end end as card_status
|
, case when to_days(card.effective_time) <![CDATA[ < ]]> to_days( current_date()) then '过期' else case when status != 0 then '无效' else '可用' end end as card_status
|
||||||
, sci.img_url as bg_url
|
, ifnull(sci.img_url, '/img/experiencecard.png') as bg_url
|
||||||
|
, ifnull(sci.content_color, '000000') as content_color
|
||||||
from
|
from
|
||||||
(select card_id, card_type_id, user_id, provider_id, mod_time, effective_time, use_count, left_count, status from segchk_user_vip where provider_id = #{providerId} and user_id = #{userId} and status = 0) card
|
(select card_id, card_type_id, user_id, provider_id, mod_time, effective_time, use_count, left_count, status from segchk_user_vip where provider_id = #{providerId} and user_id = #{userId} and status = 0) card
|
||||||
left join
|
left join
|
||||||
|
|
@ -306,7 +312,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
, left_count
|
, left_count
|
||||||
, 1 as type_flag
|
, 1 as type_flag
|
||||||
, card_status
|
, card_status
|
||||||
, sci.img_url as bg_url
|
, ifnull(sci.img_url, '/img/storeself.png') as bg_url
|
||||||
|
, ifnull(sci.content_color, '764e11') as content_color
|
||||||
, card_content
|
, card_content
|
||||||
from
|
from
|
||||||
(select
|
(select
|
||||||
|
|
@ -315,16 +322,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
, provider_id
|
, provider_id
|
||||||
, free_content as card_content
|
, free_content as card_content
|
||||||
, left_count
|
, left_count
|
||||||
, if(type_id = 2, free_name, '本店专享') as card_type_name
|
, if(type_id = 2, free_name, '本店尊享') as card_type_name
|
||||||
, if(date_sub(current_date, interval 0 day )) <![CDATA[ > ]]> to_days(mod_time), '过期', '可用') as card_status
|
, if(to_days(current_date) <![CDATA[ > ]]> to_days(mod_time), '过期', '可用') as card_status
|
||||||
<!-- , case when type_id = 2 then case when to_days(date_sub(current_date, interval 30 day )) <![CDATA[ > ]]> to_days(mod_time) then '过期' else '可用' end else case when to_days(date_sub(current_date, interval 60 day )) <![CDATA[ > ]]> to_days(mod_time) then '过期' else '可用' end end as card_status-->
|
|
||||||
, type_id
|
, type_id
|
||||||
|
, lable_id
|
||||||
from segchk_store_self_mgt where provider_id = #{providerId} and user_id = #{userId} and left_count <![CDATA[ > ]]> 0 and status = 0) pserformance
|
from segchk_store_self_mgt where provider_id = #{providerId} and user_id = #{userId} and left_count <![CDATA[ > ]]> 0 and status = 0) pserformance
|
||||||
left join
|
left join
|
||||||
(select provider_id, store_id, store_name from segchk_store_basic_info where provider_id = #{providerId}) store on store.provider_id = pserformance.provider_id and store.store_id = pserformance.store_id
|
(select provider_id, store_id, store_name from segchk_store_basic_info where provider_id = #{providerId}) store on store.provider_id = pserformance.provider_id and store.store_id = pserformance.store_id
|
||||||
left join
|
left join
|
||||||
<!-- 关联卡的卡片id-->
|
<!-- 关联卡的卡片id-->
|
||||||
(select * from segchk_card_img_ctl where provider_id = #{providerId} and type_id <![CDATA[ != ]]> 0 and lable_id = 0) scic on pserformance.card_type_id = scic.lable_id and pserformance.type_id = scic.type_id
|
(select * from segchk_card_img_ctl where provider_id = #{providerId} and type_id <![CDATA[ != ]]> 0) scic on pserformance.lable_id = scic.lable_id and pserformance.type_id = scic.type_id
|
||||||
left join
|
left join
|
||||||
(select * from segchk_card_img where provider_id = #{providerId}) sci on scic.img_id = sci.id
|
(select * from segchk_card_img where provider_id = #{providerId}) sci on scic.img_id = sci.id
|
||||||
order by effective_time desc;
|
order by effective_time desc;
|
||||||
|
|
@ -542,6 +549,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
, if(isnull(sssm.free_name), suv.status, sssm.status) as card_status
|
, if(isnull(sssm.free_name), suv.status, sssm.status) as card_status
|
||||||
, if(isnull(sssm2.free_card_id), 0, 1) as can_free
|
, if(isnull(sssm2.free_card_id), 0, 1) as can_free
|
||||||
, if(isnull(sssm2.free_card_id), sslm.lable_id, null) as lable_id
|
, if(isnull(sssm2.free_card_id), sslm.lable_id, null) as lable_id
|
||||||
|
, if(isnull(sssm2.free_card_id), sslm.type_id, null) as type_id
|
||||||
, if(isnull(sssm2.free_card_id), sslm.preference_name, null) as lable_name
|
, if(isnull(sssm2.free_card_id), sslm.preference_name, null) as lable_name
|
||||||
, if(isnull(sssm2.free_card_id), sslm.store_id, null) as lable_sort
|
, if(isnull(sssm2.free_card_id), sslm.store_id, null) as lable_sort
|
||||||
, if(to_days(suv.effective_time) <![CDATA[ > ]]> to_days(curdate()), 0, 1) as is_expire
|
, if(to_days(suv.effective_time) <![CDATA[ > ]]> to_days(curdate()), 0, 1) as is_expire
|
||||||
|
|
@ -599,7 +607,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
on subi.provider_id = scc.provider_id
|
on subi.provider_id = scc.provider_id
|
||||||
left join
|
left join
|
||||||
(
|
(
|
||||||
select provider_id, user_id, card_type_id, count(1) as buycnt from segchk_user_charge where provider_id = #{providerId} and user_id = #{userId} and ret_flag = 1 group by provider_id, user_id, card_type_id
|
select provider_id, user_id, card_type_id, count(1) as buycnt from segchk_user_charge where provider_id = #{providerId} and user_id = #{userId} and ret_flag <![CDATA[ >= ]]> 1 group by provider_id, user_id, card_type_id
|
||||||
) suc
|
) suc
|
||||||
on suc.provider_id = scc.provider_id and suc.card_type_id = scc.card_type_id
|
on suc.provider_id = scc.provider_id and suc.card_type_id = scc.card_type_id
|
||||||
|
|
||||||
|
|
@ -674,7 +682,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
on c.recomid = x.recommender and c.level = #{recommondLevel}
|
on c.recomid = x.recommender and c.level = #{recommondLevel}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectSegchkRewardInfo" parameterType="SegchkUserCharge" resultMap="SegchkChargeRewardResult">
|
<select id="selectSegchkRewardInfoForCharge" parameterType="java.util.Map" resultMap="SegchkChargeRewardResult">
|
||||||
select card_type_id
|
select card_type_id
|
||||||
, user_id
|
, user_id
|
||||||
, provider_id
|
, provider_id
|
||||||
|
|
@ -723,6 +731,50 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
on succnt.user_id = suc.user_id
|
on succnt.user_id = suc.user_id
|
||||||
) ret
|
) ret
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getCardInfo" parameterType="java.util.Map" resultType="java.util.HashMap">
|
||||||
|
select
|
||||||
|
suv.card_id as cardId
|
||||||
|
, suv.card_type_id as cardTypeId
|
||||||
|
, suv.user_id as userId
|
||||||
|
, suv.provider_id as providerId
|
||||||
|
, suv.use_count as useCount
|
||||||
|
, suc.charge_id as chargeId
|
||||||
|
, ifnull(ssc.chk_count, 0) as chkCount
|
||||||
|
from
|
||||||
|
(select * from segchk_user_vip where card_id = #{cardId}) suv
|
||||||
|
left join
|
||||||
|
(select * from segchk_user_charge where card_id = #{cardId} order by charge_id desc limit 1) suc on suv.card_id = suc.card_id
|
||||||
|
left join
|
||||||
|
(select count(1) as chk_count, card_id from segchk_service_chk where card_id = #{cardId} and store_id = #{storeId}) ssc on ssc.card_id = suv.card_id
|
||||||
|
</select>
|
||||||
|
<select id="selectSegchkRewardInfoForCheck" parameterType="java.util.Map" resultMap="SegchkChargeRewardResult">
|
||||||
|
select
|
||||||
|
suv.card_id as card_id
|
||||||
|
, suv.card_type_id as card_type_id
|
||||||
|
, suv.user_id as user_id
|
||||||
|
, suv.provider_id as provider_id
|
||||||
|
, suv.use_count as use_count
|
||||||
|
, suc.charge_id as charge_id
|
||||||
|
, suc.charge_count as total_charge_count
|
||||||
|
, ifnull(ssc.chk_count, 0) as chk_count
|
||||||
|
, suei.user_recommenders as user_recommenders
|
||||||
|
, suei.recommenders_level as recommenders_level
|
||||||
|
, sscm.card_commission as reward
|
||||||
|
from
|
||||||
|
<!-- # 获取会员卡信息-->
|
||||||
|
(select * from segchk_user_vip where card_id = #{cardId}) suv
|
||||||
|
left join
|
||||||
|
<!-- # 获取会员卡对应的充值id,充值必须成功,-->
|
||||||
|
(select charge_id, user_id, (select count(1) from segchk_user_charge where user_id = #{userId} and ret_flag <![CDATA[ > ]]> 0) as charge_count from segchk_user_charge where card_id = #{cardId} order by charge_id desc limit 1) suc on suv.user_id = suc.user_id
|
||||||
|
left join
|
||||||
|
<!-- # 获取该会员卡在该商家的核消次数-->
|
||||||
|
(select count(1) as chk_count, card_id from segchk_service_chk where card_id = #{cardId} and store_id = #{storeId}) ssc on ssc.card_id = suv.card_id
|
||||||
|
left join
|
||||||
|
<!-- # 获取该用户的推荐人-->
|
||||||
|
(select * from segchk_user_ext_info where user_id = #{userId}) suei on suv.user_id = suei.user_id
|
||||||
|
left join
|
||||||
|
(select * from segchk_store_chk_mgt where store_id = #{storeId}) sscm on suv.card_type_id = sscm.card_type_id;
|
||||||
|
</select>
|
||||||
|
|
||||||
<insert id="updateSegchkUserWechat" parameterType="SegchkUserWechat">
|
<insert id="updateSegchkUserWechat" parameterType="SegchkUserWechat">
|
||||||
insert into segchk_user_wechat
|
insert into segchk_user_wechat
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,10 @@ public class SegchkCommentAcc extends BaseEntity
|
||||||
@Excel(name = "运营商id,全局唯一")
|
@Excel(name = "运营商id,全局唯一")
|
||||||
private Long providerId;
|
private Long providerId;
|
||||||
|
|
||||||
|
/** 评价id */
|
||||||
|
@Excel(name = "评价id")
|
||||||
|
private Long commentId;
|
||||||
|
|
||||||
/** 创建或修改时间 */
|
/** 创建或修改时间 */
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
@Excel(name = "创建或修改时间", width = 30, dateFormat = "yyyy-MM-dd")
|
@Excel(name = "创建或修改时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
|
|
@ -97,15 +101,24 @@ public class SegchkCommentAcc extends BaseEntity
|
||||||
return modTime;
|
return modTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Long getCommentId() {
|
||||||
|
return commentId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCommentId(Long commentId) {
|
||||||
|
this.commentId = commentId;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
return "SegchkCommentAcc{" +
|
||||||
.append("updateId", getUpdateId())
|
"updateId=" + updateId +
|
||||||
.append("starCount", getStarCount())
|
", starCount=" + starCount +
|
||||||
.append("starLevel", getStarLevel())
|
", starLevel=" + starLevel +
|
||||||
.append("storeId", getStoreId())
|
", storeId=" + storeId +
|
||||||
.append("providerId", getProviderId())
|
", providerId=" + providerId +
|
||||||
.append("modTime", getModTime())
|
", commentId=" + commentId +
|
||||||
.toString();
|
", modTime=" + modTime +
|
||||||
|
'}';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* seg用户基本信息对象 segchk_user_basic_info
|
* seg用户基本信息对象 segchk_user_basic_info
|
||||||
*
|
*
|
||||||
* @author yinzhiying
|
* @author yinzhiying
|
||||||
* @date 2021-07-01
|
* @date 2021-07-01
|
||||||
*/
|
*/
|
||||||
|
|
@ -17,6 +17,14 @@ public class SegchkUserWebCardResp extends BaseEntity
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
|
||||||
|
/** 运营商id */
|
||||||
|
@Excel(name = "运营商id")
|
||||||
|
private Long providerId;
|
||||||
|
|
||||||
|
/** 商家id */
|
||||||
|
@Excel(name = "商家id")
|
||||||
|
private Long storeId;
|
||||||
|
|
||||||
/** 卡名称 */
|
/** 卡名称 */
|
||||||
@Excel(name = "卡名称")
|
@Excel(name = "卡名称")
|
||||||
private String cardName;
|
private String cardName;
|
||||||
|
|
@ -26,15 +34,6 @@ public class SegchkUserWebCardResp extends BaseEntity
|
||||||
private String storeName;
|
private String storeName;
|
||||||
|
|
||||||
|
|
||||||
/** 商家id */
|
|
||||||
@Excel(name = "商家id")
|
|
||||||
private String storeId;
|
|
||||||
|
|
||||||
/** providerId */
|
|
||||||
@Excel(name = "providerId")
|
|
||||||
private String providerId;
|
|
||||||
|
|
||||||
|
|
||||||
/** 使用次数 */
|
/** 使用次数 */
|
||||||
@Excel(name = "使用次数")
|
@Excel(name = "使用次数")
|
||||||
private Integer useCount;
|
private Integer useCount;
|
||||||
|
|
@ -56,6 +55,18 @@ public class SegchkUserWebCardResp extends BaseEntity
|
||||||
@Excel(name = "卡券状态")
|
@Excel(name = "卡券状态")
|
||||||
private String cardStatus;
|
private String cardStatus;
|
||||||
|
|
||||||
|
/** 卡券说明 */
|
||||||
|
@Excel(name = "卡券说明")
|
||||||
|
private String cardContent;
|
||||||
|
|
||||||
|
/** 卡券说明 */
|
||||||
|
@Excel(name = "卡券说明")
|
||||||
|
private String bgUrl;
|
||||||
|
|
||||||
|
/** 内容色号 */
|
||||||
|
@Excel(name = "内容色号")
|
||||||
|
private String contentColor;
|
||||||
|
|
||||||
public String getCardName() {
|
public String getCardName() {
|
||||||
return cardName;
|
return cardName;
|
||||||
}
|
}
|
||||||
|
|
@ -112,25 +123,61 @@ public class SegchkUserWebCardResp extends BaseEntity
|
||||||
this.cardStatus = cardStatus;
|
this.cardStatus = cardStatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getStoreId() {
|
public String getCardContent() {
|
||||||
|
return cardContent;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCardContent(String cardContent) {
|
||||||
|
this.cardContent = cardContent;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBgUrl() {
|
||||||
|
return bgUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBgUrl(String bgUrl) {
|
||||||
|
this.bgUrl = bgUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getContentColor() {
|
||||||
|
return contentColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContentColor(String contentColor) {
|
||||||
|
this.contentColor = contentColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getProviderId() {
|
||||||
|
return providerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProviderId(Long providerId) {
|
||||||
|
this.providerId = providerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getStoreId() {
|
||||||
return storeId;
|
return storeId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setStoreId(String storeId) {
|
public void setStoreId(Long storeId) {
|
||||||
this.storeId = storeId;
|
this.storeId = storeId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "SegchkUserWebCardResp{" +
|
return "SegchkUserWebCardResp{" +
|
||||||
"cardName='" + cardName + '\'' +
|
"providerId=" + providerId +
|
||||||
|
", storeId=" + storeId +
|
||||||
|
", cardName='" + cardName + '\'' +
|
||||||
", storeName='" + storeName + '\'' +
|
", storeName='" + storeName + '\'' +
|
||||||
", storeId='" + storeId + '\'' +
|
|
||||||
", useCount=" + useCount +
|
", useCount=" + useCount +
|
||||||
", leftCount=" + leftCount +
|
", leftCount=" + leftCount +
|
||||||
", effectiveTime=" + effectiveTime +
|
", effectiveTime=" + effectiveTime +
|
||||||
", typeFlag=" + typeFlag +
|
", typeFlag=" + typeFlag +
|
||||||
", cardStatus='" + cardStatus + '\'' +
|
", cardStatus='" + cardStatus + '\'' +
|
||||||
|
", cardContent='" + cardContent + '\'' +
|
||||||
|
", bgUrl='" + bgUrl + '\'' +
|
||||||
|
", contentColor='" + contentColor + '\'' +
|
||||||
'}';
|
'}';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,10 +11,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<result property="storeId" column="store_id" />
|
<result property="storeId" column="store_id" />
|
||||||
<result property="providerId" column="provider_id" />
|
<result property="providerId" column="provider_id" />
|
||||||
<result property="modTime" column="mod_time" />
|
<result property="modTime" column="mod_time" />
|
||||||
|
<result property="commentId" column="comment_id" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectSegchkCommentAccVo">
|
<sql id="selectSegchkCommentAccVo">
|
||||||
select update_id, star_count, star_level, store_id, provider_id, mod_time from segchk_comment_acc
|
select update_id, star_count, star_level, store_id, provider_id, mod_time, comment_id from segchk_comment_acc
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="selectSegchkCommentAccList" parameterType="SegchkCommentAcc" resultMap="SegchkCommentAccResult">
|
<select id="selectSegchkCommentAccList" parameterType="SegchkCommentAcc" resultMap="SegchkCommentAccResult">
|
||||||
|
|
@ -25,6 +26,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="starLevel != null "> and star_level = #{starLevel}</if>
|
<if test="starLevel != null "> and star_level = #{starLevel}</if>
|
||||||
<if test="storeId != null "> and store_id = #{storeId}</if>
|
<if test="storeId != null "> and store_id = #{storeId}</if>
|
||||||
<if test="providerId != null "> and provider_id = #{providerId}</if>
|
<if test="providerId != null "> and provider_id = #{providerId}</if>
|
||||||
|
<if test="commentId != null "> and comment_id = #{commentId}</if>
|
||||||
<if test="params.beginModTime != null and params.beginModTime != '' and params.endModTime != null and params.endModTime != ''"> and mod_time between #{params.beginModTime} and #{params.endModTime}</if>
|
<if test="params.beginModTime != null and params.beginModTime != '' and params.endModTime != null and params.endModTime != ''"> and mod_time between #{params.beginModTime} and #{params.endModTime}</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
@ -41,6 +43,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="starLevel != null">star_level,</if>
|
<if test="starLevel != null">star_level,</if>
|
||||||
<if test="storeId != null">store_id,</if>
|
<if test="storeId != null">store_id,</if>
|
||||||
<if test="providerId != null">provider_id,</if>
|
<if test="providerId != null">provider_id,</if>
|
||||||
|
<if test="commentId != null">comment_id,</if>
|
||||||
mod_time,
|
mod_time,
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
|
|
@ -48,6 +51,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="starLevel != null">#{starLevel},</if>
|
<if test="starLevel != null">#{starLevel},</if>
|
||||||
<if test="storeId != null">#{storeId},</if>
|
<if test="storeId != null">#{storeId},</if>
|
||||||
<if test="providerId != null">#{providerId},</if>
|
<if test="providerId != null">#{providerId},</if>
|
||||||
|
<if test="commentId != null">#{commentId},</if>
|
||||||
<choose>
|
<choose>
|
||||||
<when test="modTime != null">#{modTime},</when>
|
<when test="modTime != null">#{modTime},</when>
|
||||||
<otherwise>now(),</otherwise>
|
<otherwise>now(),</otherwise>
|
||||||
|
|
@ -62,6 +66,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="starLevel != null">star_level = #{starLevel},</if>
|
<if test="starLevel != null">star_level = #{starLevel},</if>
|
||||||
<if test="storeId != null">store_id = #{storeId},</if>
|
<if test="storeId != null">store_id = #{storeId},</if>
|
||||||
<if test="providerId != null">provider_id = #{providerId},</if>
|
<if test="providerId != null">provider_id = #{providerId},</if>
|
||||||
|
<if test="commentId != null ">comment_id = #{commentId}</if>
|
||||||
<choose>
|
<choose>
|
||||||
<when test="modTime != null">mod_time = #{modTime},</when>
|
<when test="modTime != null">mod_time = #{modTime},</when>
|
||||||
<otherwise>mod_time = now(),</otherwise>
|
<otherwise>mod_time = now(),</otherwise>
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
, left_count
|
, left_count
|
||||||
, status)
|
, status)
|
||||||
select * from ( select suc.card_type_id, suc.user_id, suc.provider_id, now() as mod_time, now() + interval scc.effective_time day as effective_time, 0 as use_count, scc.card_type_chkcount as left_count, 0 as status from
|
select * from ( select suc.card_type_id, suc.user_id, suc.provider_id, now() as mod_time, now() + interval scc.effective_time day as effective_time, 0 as use_count, scc.card_type_chkcount as left_count, 0 as status from
|
||||||
(select user_id, card_type_id, provider_id from segchk_user_charge where charge_id = #{chargeId} and ret_flag = 0) suc
|
(select user_id, card_type_id, provider_id from segchk_user_charge where charge_id = #{chargeId} and `ret_flag` = 0) suc
|
||||||
left join segchk_charge_card scc on suc.provider_id = scc.provider_id and suc.card_type_id = scc.card_type_id) ret
|
left join segchk_charge_card scc on suc.provider_id = scc.provider_id and suc.card_type_id = scc.card_type_id) ret
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<otherwise>now(),</otherwise>
|
<otherwise>now(),</otherwise>
|
||||||
</choose>
|
</choose>
|
||||||
<choose>
|
<choose>
|
||||||
<when test="retFlag != null and modTime != ''">#{retFlag},</when>
|
<when test="retFlag != null and retFlag != ''">#{retFlag},</when>
|
||||||
<otherwise>0,</otherwise>
|
<otherwise>0,</otherwise>
|
||||||
</choose>
|
</choose>
|
||||||
</trim>
|
</trim>
|
||||||
|
|
@ -98,7 +98,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
, uc.card_type_id
|
, uc.card_type_id
|
||||||
, uc.provider_id
|
, uc.provider_id
|
||||||
, now() as mod_time
|
, now() as mod_time
|
||||||
, 0 as ret_flag from
|
, uc.ret_flag from
|
||||||
(
|
(
|
||||||
(select
|
(select
|
||||||
#{userId} as user_id
|
#{userId} as user_id
|
||||||
|
|
@ -106,6 +106,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
, #{cardTypeId} as card_type_id
|
, #{cardTypeId} as card_type_id
|
||||||
, #{accountUsed} as account_used
|
, #{accountUsed} as account_used
|
||||||
, #{providerId} as provider_id
|
, #{providerId} as provider_id
|
||||||
|
<choose>
|
||||||
|
<when test="retFlag != null and retFlag != ''">, 0</when>
|
||||||
|
<otherwise>, #{retFlag}</otherwise>
|
||||||
|
</choose>
|
||||||
|
as ret_flag
|
||||||
) uc
|
) uc
|
||||||
left join
|
left join
|
||||||
(select user_id, user_recommenders, recommenders_level, provider_id from segchk_user_ext_info where user_id = #{userId}) suei
|
(select user_id, user_recommenders, recommenders_level, provider_id from segchk_user_ext_info where user_id = #{userId}) suei
|
||||||
|
|
|
||||||