完善推荐人信息绑定,完善推荐人(商户,用户)返利计算,提示跨地区注册用户,完成赠卡流程,完善商户核消统计
parent
69ac550fc0
commit
6557fc5f43
|
|
@ -0,0 +1,273 @@
|
|||
package com.ruoyi.web.controller.segchk;
|
||||
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.annotation.UnAuth;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.segchk.domain.*;
|
||||
import com.ruoyi.segchk.service.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
* seg首页轮播图管理Controller
|
||||
*
|
||||
* @author yinzhiying
|
||||
* @date 2021-08-23
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/segchk/simple_list")
|
||||
public class SegchkSimpleListController extends BaseController
|
||||
{
|
||||
@Autowired
|
||||
private ISegchkProviderMgtService segchkProviderMgtService;
|
||||
@Autowired
|
||||
private ISegchkSalerInfoService segchkSalerInfoService;
|
||||
@Autowired
|
||||
private ISegchkStoreBasicInfoService segchkStoreBasicInfoService;
|
||||
|
||||
@Autowired
|
||||
private ISegchkChargeCardService segchkChargeCardService;
|
||||
|
||||
@Autowired
|
||||
private ISegchkKeywordLableService segchkKeywordLableService;
|
||||
|
||||
|
||||
@Autowired
|
||||
private ISegchkPreferenceLableService segchkPreferenceLableService;
|
||||
|
||||
|
||||
/**
|
||||
* 查询seg首页轮播图管理列表
|
||||
*/
|
||||
@UnAuth
|
||||
// @PreAuthorize("@ss.hasPermi('segchk:segchk_carouse_mgt:list')")
|
||||
@GetMapping("/salerList")
|
||||
public TableDataInfo saler_list()
|
||||
{
|
||||
logger.debug("salerList is call");
|
||||
// 获取当前登录用户信息
|
||||
SysUser sysUser = getLoginUser().getUser();
|
||||
// sysUser.getNickName();
|
||||
Long providerId = sysUser.getUserId() == 1 ? null : sysUser.getProviderId();
|
||||
startPage();
|
||||
SegchkSalerInfo segchkSalerInfo = new SegchkSalerInfo();
|
||||
segchkSalerInfo.setProviderId(providerId);
|
||||
List<SegchkSalerInfo> list = segchkSalerInfoService.selectSegchkSalerInfoList(segchkSalerInfo);
|
||||
List<SimpleListObj> collect = list.parallelStream().map(v -> {
|
||||
SimpleListObj simpleListObj1 = new SimpleListObj();
|
||||
simpleListObj1.setProviderId(String.valueOf(v.getProviderId()));
|
||||
simpleListObj1.setKey(String.valueOf(v.getSalerId()));
|
||||
simpleListObj1.setValue(String.valueOf(v.getSalerName()));
|
||||
return simpleListObj1;
|
||||
}).collect(Collectors.toList());
|
||||
return getDataTable(collect);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询seg首页轮播图管理列表
|
||||
*/
|
||||
@UnAuth
|
||||
// @PreAuthorize("@ss.hasPermi('segchk:segchk_carouse_mgt:list')")
|
||||
@GetMapping("/providerList")
|
||||
public TableDataInfo provider_list()
|
||||
{
|
||||
logger.debug("providerList is call");
|
||||
SimpleListObj simpleListObj = new SimpleListObj();
|
||||
// 获取当前登录用户信息
|
||||
SysUser sysUser = getLoginUser().getUser();
|
||||
// sysUser.getNickName();
|
||||
Long providerId = sysUser.getUserId() == 1 ? null : sysUser.getProviderId();
|
||||
startPage();
|
||||
SegchkProviderMgt segchkProviderMgt = new SegchkProviderMgt();
|
||||
segchkProviderMgt.setProviderId(providerId);
|
||||
List<SegchkProviderMgt> list = segchkProviderMgtService.selectSegchkProviderMgtList(segchkProviderMgt);
|
||||
List<SimpleListObj> collect = list.parallelStream().map(v -> {
|
||||
SimpleListObj simpleListObj1 = new SimpleListObj();
|
||||
simpleListObj1.setProviderId(String.valueOf(v.getProviderId()));
|
||||
simpleListObj1.setKey(String.valueOf(v.getProviderId()));
|
||||
simpleListObj1.setValue(String.valueOf(v.getNickName()));
|
||||
return simpleListObj1;
|
||||
}).collect(Collectors.toList());
|
||||
collect.forEach(v -> logger.debug("providerList ret : {}", v.toString()));
|
||||
return getDataTable(collect);
|
||||
}
|
||||
/**
|
||||
* 查询seg首页轮播图管理列表
|
||||
*/
|
||||
@UnAuth
|
||||
// @PreAuthorize("@ss.hasPermi('segchk:segchk_carouse_mgt:list')")
|
||||
@GetMapping("/storeList")
|
||||
public TableDataInfo store_list()
|
||||
{
|
||||
logger.debug("storeList is call");
|
||||
// 获取当前登录用户信息
|
||||
SysUser sysUser = getLoginUser().getUser();
|
||||
// sysUser.getNickName();
|
||||
Long providerId = sysUser.getUserId() == 1 ? null : sysUser.getProviderId();
|
||||
startPage();
|
||||
SegchkStoreBasicInfo segchkStoreBasicInfo = new SegchkStoreBasicInfo();
|
||||
segchkStoreBasicInfo.setProviderId(providerId);
|
||||
List<SegchkStoreBasicInfo> list = segchkStoreBasicInfoService.selectSegchkStoreBasicInfoList(segchkStoreBasicInfo);
|
||||
List<SimpleListObj> collect = list.parallelStream().map(v -> {
|
||||
SimpleListObj simpleListObj1 = new SimpleListObj();
|
||||
simpleListObj1.setProviderId(String.valueOf(v.getProviderId()));
|
||||
simpleListObj1.setKey(String.valueOf(v.getStoreId()));
|
||||
simpleListObj1.setValue(String.valueOf(v.getStoreName()));
|
||||
return simpleListObj1;
|
||||
}).collect(Collectors.toList());
|
||||
collect.forEach(v -> logger.debug("providerList ret : {}", v.toString()));
|
||||
return getDataTable(collect);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询seg首页轮播图管理列表
|
||||
*/
|
||||
@UnAuth
|
||||
// @PreAuthorize("@ss.hasPermi('segchk:segchk_carouse_mgt:list')")
|
||||
@GetMapping("/ChargeCardList")
|
||||
public TableDataInfo charge_card_list()
|
||||
{
|
||||
logger.debug("ChargeCardList is call");
|
||||
// 获取当前登录用户信息
|
||||
SysUser sysUser = getLoginUser().getUser();
|
||||
// sysUser.getNickName();
|
||||
Long providerId = sysUser.getUserId() == 1 ? null : sysUser.getProviderId();
|
||||
startPage();
|
||||
SegchkChargeCard segchkChargeCard = new SegchkChargeCard();
|
||||
segchkChargeCard.setProviderId(providerId);
|
||||
List<SegchkChargeCard> list = segchkChargeCardService.selectSegchkChargeCardList(segchkChargeCard);
|
||||
List<SimpleListObj> collect = list.parallelStream().map(v -> {
|
||||
SimpleListObj simpleListObj1 = new SimpleListObj();
|
||||
simpleListObj1.setProviderId(String.valueOf(v.getProviderId()));
|
||||
simpleListObj1.setKey(String.valueOf(v.getCardTypeId()));
|
||||
simpleListObj1.setValue(String.valueOf(v.getCardTypeName()));
|
||||
return simpleListObj1;
|
||||
}).collect(Collectors.toList());
|
||||
collect.forEach(v -> logger.debug("ChargeCardList ret : {}", v.toString()));
|
||||
return getDataTable(collect);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询seg首页轮播图管理列表
|
||||
*/
|
||||
@UnAuth
|
||||
// @PreAuthorize("@ss.hasPermi('segchk:segchk_carouse_mgt:list')")
|
||||
@GetMapping("/KerwordList")
|
||||
public TableDataInfo kerword_list()
|
||||
{
|
||||
logger.debug("KerwordList is call");
|
||||
// 获取当前登录用户信息
|
||||
SysUser sysUser = getLoginUser().getUser();
|
||||
// sysUser.getNickName();
|
||||
Long providerId = sysUser.getUserId() == 1 ? null : sysUser.getProviderId();
|
||||
startPage();
|
||||
SegchkKeywordLable segchkKeywordLable = new SegchkKeywordLable();
|
||||
segchkKeywordLable.setProviderId(providerId);
|
||||
List<SegchkKeywordLable> list = segchkKeywordLableService.selectSegchkKeywordLableList(segchkKeywordLable);
|
||||
List<SimpleListObj> collect = list.parallelStream().map(v -> {
|
||||
SimpleListObj simpleListObj1 = new SimpleListObj();
|
||||
simpleListObj1.setProviderId(String.valueOf(v.getProviderId()));
|
||||
simpleListObj1.setKey(String.valueOf(v.getKeywordId()));
|
||||
simpleListObj1.setValue(String.valueOf(v.getKeywordName()));
|
||||
simpleListObj1.setImgUrl(String.valueOf(v.getKeywordUrl()));
|
||||
return simpleListObj1;
|
||||
}).collect(Collectors.toList());
|
||||
collect.forEach(v -> logger.debug("KerwordList ret : {}", v.toString()));
|
||||
return getDataTable(collect);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 查询seg首页轮播图管理列表
|
||||
*/
|
||||
@UnAuth
|
||||
// @PreAuthorize("@ss.hasPermi('segchk:segchk_carouse_mgt:list')")
|
||||
@GetMapping("/PreferenceLableList")
|
||||
public TableDataInfo preference_lable_list()
|
||||
{
|
||||
logger.debug("PreferenceLableList is call");
|
||||
// 获取当前登录用户信息
|
||||
SysUser sysUser = getLoginUser().getUser();
|
||||
// sysUser.getNickName();
|
||||
Long providerId = sysUser.getUserId() == 1 ? null : sysUser.getProviderId();
|
||||
startPage();
|
||||
SegchkPreferenceLable segchkPreferenceLable = new SegchkPreferenceLable();
|
||||
segchkPreferenceLable.setProviderId(providerId);
|
||||
List<SegchkPreferenceLable> list = segchkPreferenceLableService.selectSegchkPreferenceLableList(segchkPreferenceLable);
|
||||
List<SimpleListObj> collect = list.parallelStream().map(v -> {
|
||||
SimpleListObj simpleListObj1 = new SimpleListObj();
|
||||
simpleListObj1.setProviderId(String.valueOf(v.getProviderId()));
|
||||
simpleListObj1.setKey(String.valueOf(v.getPreferenceId()));
|
||||
simpleListObj1.setValue(String.valueOf(v.getPreferenceName()));
|
||||
simpleListObj1.setImgUrl(String.valueOf(v.getPreferenceUrl()));
|
||||
return simpleListObj1;
|
||||
}).collect(Collectors.toList());
|
||||
collect.forEach(v -> logger.debug("PreferenceLableList ret : {}", v.toString()));
|
||||
return getDataTable(collect);
|
||||
}
|
||||
|
||||
|
||||
private class SimpleListObj extends BaseEntity {
|
||||
private String providerId;
|
||||
private String key;
|
||||
private String value;
|
||||
private String imgUrl;
|
||||
|
||||
public String getProviderId() {
|
||||
return providerId;
|
||||
}
|
||||
|
||||
public void setProviderId(String providerId) {
|
||||
this.providerId = providerId;
|
||||
}
|
||||
|
||||
public String getKey() {
|
||||
return key;
|
||||
}
|
||||
|
||||
public void setKey(String key) {
|
||||
this.key = key;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public void setValue(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getImgUrl() {
|
||||
return imgUrl;
|
||||
}
|
||||
|
||||
public void setImgUrl(String imgUrl) {
|
||||
this.imgUrl = imgUrl;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "SimpleListObj{" +
|
||||
"providerId='" + providerId + '\'' +
|
||||
", key='" + key + '\'' +
|
||||
", value='" + value + '\'' +
|
||||
", imgUrl='" + imgUrl + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -107,7 +107,13 @@ public class SegchkStoreBasicInfoController extends BaseController
|
|||
else{
|
||||
segchkStoreBasicInfo.setProviderId(sysUser.getProviderId());
|
||||
}
|
||||
return toAjax(segchkStoreBasicInfoService.insertSegchkStoreBasicInfo(segchkStoreBasicInfo));
|
||||
int i = segchkStoreBasicInfoService.insertSegchkStoreBasicInfo(segchkStoreBasicInfo);
|
||||
if(i < 0){
|
||||
return AjaxResult.error(500, "手机号码已绑定商户");
|
||||
}
|
||||
else {
|
||||
return toAjax(i);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -129,7 +135,13 @@ public class SegchkStoreBasicInfoController extends BaseController
|
|||
segchkStoreBasicInfo.setProviderId(sysUser.getProviderId());
|
||||
}
|
||||
logger.debug("edit_info with ---> {}", segchkStoreBasicInfo.toString());
|
||||
return toAjax(segchkStoreBasicInfoService.updateSegchkStoreBasicInfo(segchkStoreBasicInfo));
|
||||
int i = segchkStoreBasicInfoService.updateSegchkStoreBasicInfo(segchkStoreBasicInfo);
|
||||
if(i < 0){
|
||||
return AjaxResult.error(500, "手机号码已绑定商户");
|
||||
}
|
||||
else {
|
||||
return toAjax(i);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -0,0 +1,118 @@
|
|||
# 项目相关配置
|
||||
ruoyi:
|
||||
# 名称
|
||||
name: RuoYi
|
||||
# 版本
|
||||
version: 3.6.0
|
||||
# 版权年份
|
||||
copyrightYear: 2021
|
||||
# 实例演示开关
|
||||
demoEnabled: true
|
||||
# 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
|
||||
profile: /home/segchk/data/uploadPath/applet
|
||||
# 获取ip地址开关
|
||||
addressEnabled: false
|
||||
# 验证码类型 math 数组计算 char 字符验证
|
||||
captchaType: math
|
||||
|
||||
# 开发环境配置
|
||||
server:
|
||||
# 服务器的HTTP端口,默认为8080
|
||||
port: 7070
|
||||
servlet:
|
||||
# 应用的访问路径
|
||||
context-path: /
|
||||
tomcat:
|
||||
# tomcat的URI编码
|
||||
uri-encoding: UTF-8
|
||||
# tomcat最大线程数,默认为200
|
||||
max-threads: 800
|
||||
# Tomcat启动初始化的线程数,默认值25
|
||||
min-spare-threads: 30
|
||||
|
||||
# 日志配置
|
||||
logging:
|
||||
level:
|
||||
com.ruoyi: debug
|
||||
org.springframework: warn
|
||||
|
||||
|
||||
# 数据源配置
|
||||
spring:
|
||||
datasource:
|
||||
type: com.alibaba.druid.pool.DruidDataSource
|
||||
driverClassName: com.mysql.cj.jdbc.Driver
|
||||
druid:
|
||||
# 主库数据源
|
||||
master:
|
||||
url: jdbc:mysql://127.0.0.1:8306/segchksaas?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||
username: segchksaas
|
||||
password: 2wsx@WSX
|
||||
# 从库数据源
|
||||
slave:
|
||||
# 从数据源开关/默认关闭
|
||||
enabled: false
|
||||
url:
|
||||
username:
|
||||
password:
|
||||
# 初始连接数
|
||||
initialSize: 5
|
||||
# 最小连接池数量
|
||||
minIdle: 10
|
||||
# 最大连接池数量
|
||||
maxActive: 20
|
||||
# 配置获取连接等待超时的时间
|
||||
maxWait: 60000
|
||||
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
|
||||
timeBetweenEvictionRunsMillis: 60000
|
||||
# 配置一个连接在池中最小生存的时间,单位是毫秒
|
||||
minEvictableIdleTimeMillis: 300000
|
||||
# 配置一个连接在池中最大生存的时间,单位是毫秒
|
||||
maxEvictableIdleTimeMillis: 900000
|
||||
# 配置检测连接是否有效
|
||||
validationQuery: SELECT 1 FROM DUAL
|
||||
testWhileIdle: true
|
||||
testOnBorrow: false
|
||||
testOnReturn: false
|
||||
webStatFilter:
|
||||
enabled: true
|
||||
statViewServlet:
|
||||
enabled: true
|
||||
# 设置白名单,不填则允许所有访问
|
||||
allow:
|
||||
url-pattern: /druid/*
|
||||
# 控制台管理用户名和密码
|
||||
login-username: ruoyi
|
||||
login-password: 123456
|
||||
filter:
|
||||
stat:
|
||||
enabled: true
|
||||
# 慢SQL记录
|
||||
log-slow-sql: true
|
||||
slow-sql-millis: 1000
|
||||
merge-sql: true
|
||||
wall:
|
||||
config:
|
||||
multi-statement-allow: true
|
||||
# redis 配置
|
||||
redis:
|
||||
# 地址
|
||||
host: 127.0.0.1
|
||||
# 端口,默认为6379
|
||||
port: 63795
|
||||
# 数据库索引
|
||||
database: 3
|
||||
# 密码
|
||||
password: 3edc#EDC
|
||||
# 连接超时时间
|
||||
timeout: 10s
|
||||
lettuce:
|
||||
pool:
|
||||
# 连接池中的最小空闲连接
|
||||
min-idle: 0
|
||||
# 连接池中的最大空闲连接
|
||||
max-idle: 8
|
||||
# 连接池的最大数据库连接数
|
||||
max-active: 8
|
||||
# #连接池最大阻塞等待时间(使用负值表示没有限制)
|
||||
max-wait: -1ms
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package com.ruoyi.quartz.task;
|
||||
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 定时任务调度测试
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Component("SegchkTask")
|
||||
public class SegchkTask
|
||||
{
|
||||
public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
|
||||
{
|
||||
System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i));
|
||||
}
|
||||
|
||||
public void ryParams(String params)
|
||||
{
|
||||
System.out.println("执行有参方法:" + params);
|
||||
}
|
||||
|
||||
public void ryNoParams()
|
||||
{
|
||||
System.out.println("执行无参方法");
|
||||
}
|
||||
}
|
||||
|
|
@ -67,8 +67,9 @@ public class SegChkLoginController {
|
|||
@Value("${token.secret}")
|
||||
private String jwtSecretKey;
|
||||
|
||||
|
||||
|
||||
// 登录超时时长,单位天,-1永久有效
|
||||
@Value("${yzytest.login.loginexpire:#{1}}")
|
||||
private Integer loginexpire;
|
||||
|
||||
/**
|
||||
* 注入登录处理service
|
||||
|
|
@ -287,7 +288,12 @@ public class SegChkLoginController {
|
|||
claims.setUserLevel(Integer.valueOf(bindParams.getUserLevel()));
|
||||
}
|
||||
// 将用户的token进行缓存
|
||||
redisService.setCacheObject(token, claims);
|
||||
if(loginexpire == -1) {
|
||||
redisService.setCacheObject(token, claims);
|
||||
}
|
||||
else{
|
||||
redisService.setCacheObject(token, claims, loginexpire, TimeUnit.HOURS);
|
||||
}
|
||||
return AjaxResult.success("绑定成功", token);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
|
|||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
|
|
@ -57,6 +58,12 @@ public class SegchkDefaultIndexController extends BaseController
|
|||
|
||||
@Value("${segchk.recommendstore.distince:#{null}}")
|
||||
private BigDecimal recomDist;
|
||||
|
||||
@Value("${segchk.startid:#{null}}")
|
||||
private Integer startid;
|
||||
|
||||
@Value("${segchk.default_district:#{110100}}")
|
||||
private Long defaultDistrict;
|
||||
/**
|
||||
* 根据用户当前所在地市行政id,返回运营商id 尹志颖
|
||||
* {
|
||||
|
|
@ -76,9 +83,20 @@ public class SegchkDefaultIndexController extends BaseController
|
|||
{
|
||||
logger.debug("get_provider_byadcode with: {}", adcode);
|
||||
AjaxResult ajax = new AjaxResult();
|
||||
Long providerId = segchkStoreIndexService.getProvider(adcode);
|
||||
HashMap<String, Object> paramsMap = new HashMap<>();
|
||||
paramsMap.put("districtId", adcode);
|
||||
paramsMap.put("defaultDistrict", defaultDistrict);
|
||||
HashMap<String, Object> provider = segchkStoreIndexService.getProvider(paramsMap);
|
||||
ajax.put(CODE_TAG, 200);
|
||||
ajax.put(DATA_TAG, providerId);
|
||||
PrvoiderDistrict prvoiderDistrict = new PrvoiderDistrict();
|
||||
prvoiderDistrict.setProvFlag((Integer) provider.get("provFlag"));
|
||||
prvoiderDistrict.setProviderId((Long) provider.get("providerId"));
|
||||
if(prvoiderDistrict.getProvFlag() == 1){
|
||||
// 说明返回默认地区运营商
|
||||
prvoiderDistrict.setDistName(String.valueOf(provider.get("provName")));
|
||||
}
|
||||
ajax.put(DATA_TAG, prvoiderDistrict);
|
||||
logger.debug("getProviderByadcode res --- {}", ajax.toString());
|
||||
return ajax;
|
||||
}
|
||||
|
||||
|
|
@ -248,11 +266,11 @@ public class SegchkDefaultIndexController extends BaseController
|
|||
if(!StringUtils.isEmpty(recommenderId) && !StringUtils.isEmpty(recommenderLevel)){
|
||||
logger.debug("store_details recommender with: {}---{}", recommenderId, recommenderLevel);
|
||||
int ret = segchkStoreIndexService.recommenderIsExit(recommenderId, recommenderLevel, segchkStoreWebReq.getProviderId().toString());
|
||||
if(ret == 1){
|
||||
if(ret > 1){
|
||||
ajax.put("recommenderId", recommenderId);
|
||||
ajax.put("recommenderLevel", recommenderLevel);
|
||||
}
|
||||
logger.warn("store_details the recommender: {}{} is {}", recommenderId, recommenderLevel, ret < 1 ? "not exit" : "exit");
|
||||
logger.warn("store_details the recommender: ({}{}) is {} {} curprov({})", recommenderId, recommenderLevel, ret < 1 ? "not exit" : "exit", ret == 1 ? "with same provider" : "different with provider");
|
||||
}
|
||||
return ajax;
|
||||
}
|
||||
|
|
@ -379,4 +397,44 @@ public class SegchkDefaultIndexController extends BaseController
|
|||
'}';
|
||||
}
|
||||
}
|
||||
|
||||
private class PrvoiderDistrict extends BaseEntity {
|
||||
private Integer provFlag;
|
||||
private Long providerId;
|
||||
private String distName;
|
||||
|
||||
public Integer getProvFlag() {
|
||||
return provFlag;
|
||||
}
|
||||
|
||||
public void setProvFlag(Integer provFlag) {
|
||||
this.provFlag = provFlag;
|
||||
}
|
||||
|
||||
public Long getProviderId() {
|
||||
return providerId;
|
||||
}
|
||||
|
||||
public void setProviderId(Long providerId) {
|
||||
this.providerId = providerId;
|
||||
}
|
||||
|
||||
public String getDistName() {
|
||||
|
||||
return distName;
|
||||
}
|
||||
|
||||
public void setDistName(String distName) {
|
||||
this.distName = distName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "PrvoiderDistrict{" +
|
||||
"provFlag=" + provFlag +
|
||||
", providerId=" + providerId +
|
||||
", distName='" + distName + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ import io.swagger.annotations.ApiOperation;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
|
@ -22,6 +23,7 @@ import org.springframework.web.bind.annotation.*;
|
|||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* seg首页推荐商户Controller
|
||||
|
|
@ -45,6 +47,10 @@ public class SegchkDefaultProviderController extends BaseController
|
|||
@Autowired
|
||||
private RedisCache redisService;
|
||||
|
||||
|
||||
// 登录超时时长,单位天,-1永久有效
|
||||
@Value("${yzytest.login.loginexpire:#{1}}")
|
||||
private Integer loginexpire;
|
||||
protected final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
/**
|
||||
* 查询seg用户中心信息 尹志颖
|
||||
|
|
@ -91,22 +97,10 @@ public class SegchkDefaultProviderController extends BaseController
|
|||
{
|
||||
|
||||
if(StringUtils.isEmpty(segchkServiceAndSaleWebReq.getRemark())){
|
||||
Claims claims = null;
|
||||
try {
|
||||
claims = getClaims(getToken(request));
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
TableDataInfo tableDataInfo = new TableDataInfo();
|
||||
tableDataInfo.setCode(300);
|
||||
tableDataInfo.setMsg("请先登录注册");
|
||||
return tableDataInfo;
|
||||
}
|
||||
}
|
||||
catch (Exception e){
|
||||
TableDataInfo tableDataInfo = new TableDataInfo();
|
||||
tableDataInfo.setCode(300);
|
||||
tableDataInfo.setMsg("请先登录注册");
|
||||
return tableDataInfo;
|
||||
return LoginRequireTableInfo();
|
||||
}
|
||||
segchkServiceAndSaleWebReq.setProviderId(claims.getUserId());
|
||||
}
|
||||
|
|
@ -132,22 +126,10 @@ public class SegchkDefaultProviderController extends BaseController
|
|||
{
|
||||
|
||||
if(StringUtils.isEmpty(segchkServiceAndSaleWebReq.getRemark())){
|
||||
Claims claims = null;
|
||||
try {
|
||||
claims = getClaims(getToken(request));
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
TableDataInfo tableDataInfo = new TableDataInfo();
|
||||
tableDataInfo.setCode(300);
|
||||
tableDataInfo.setMsg("请先登录注册");
|
||||
return tableDataInfo;
|
||||
}
|
||||
}
|
||||
catch (Exception e){
|
||||
TableDataInfo tableDataInfo = new TableDataInfo();
|
||||
tableDataInfo.setCode(300);
|
||||
tableDataInfo.setMsg("请先登录注册");
|
||||
return tableDataInfo;
|
||||
return LoginRequireTableInfo();
|
||||
}
|
||||
segchkServiceAndSaleWebReq.setProviderId(claims.getUserId());
|
||||
}
|
||||
|
|
@ -157,6 +139,40 @@ public class SegchkDefaultProviderController extends BaseController
|
|||
return getDataTable(segchkServiceAndSaleDetailWebRespList);
|
||||
}
|
||||
|
||||
|
||||
// 返回注册登录提示
|
||||
private AjaxResult LoginRequireAjax() {
|
||||
return AjaxResult.error(300, "请先登录注册");
|
||||
}
|
||||
|
||||
private TableDataInfo LoginRequireTableInfo() {
|
||||
TableDataInfo tableDataInfo = new TableDataInfo();
|
||||
tableDataInfo.setCode(300);
|
||||
tableDataInfo.setMsg("请先登录注册");
|
||||
return tableDataInfo;
|
||||
}
|
||||
|
||||
// 获取登录信息
|
||||
private Claims getLoing(HttpServletRequest request){
|
||||
String token = null;
|
||||
try {
|
||||
token = getToken(request);
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
Claims claims = getClaims(token);
|
||||
if(!ObjectUtils.isEmpty(claims)){
|
||||
if(loginexpire == -1){
|
||||
redisService.setCacheObject(token, claims);
|
||||
}
|
||||
else {
|
||||
redisService.setCacheObject(token, claims, loginexpire, TimeUnit.DAYS);
|
||||
}
|
||||
}
|
||||
return claims;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取token
|
||||
*
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ import java.io.IOException;
|
|||
import java.io.OutputStream;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import static com.ruoyi.common.core.domain.AjaxResult.*;
|
||||
|
||||
|
|
@ -82,6 +83,10 @@ public class SegchkDefaultStoreController extends BaseController
|
|||
|
||||
@Value("${segchk.sto_weight:#{200}}")
|
||||
private Integer stoWeight;
|
||||
|
||||
// 登录超时时长,单位天,-1永久有效
|
||||
@Value("${yzytest.login.loginexpire:#{1}}")
|
||||
private Integer loginexpire;
|
||||
/**
|
||||
* 查询seg用户中心信息 尹志颖
|
||||
* {
|
||||
|
|
@ -131,13 +136,10 @@ public class SegchkDefaultStoreController extends BaseController
|
|||
{
|
||||
|
||||
if(StringUtils.isEmpty(segchkServiceAndSaleWebReq.getRemark())){
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
TableDataInfo tableDataInfo = new TableDataInfo();
|
||||
tableDataInfo.setCode(300);
|
||||
tableDataInfo.setMsg("请先登录注册");
|
||||
return tableDataInfo;
|
||||
return LoginRequireTableInfo();
|
||||
}
|
||||
segchkServiceAndSaleWebReq.setStoreId(claims.getUserId());
|
||||
segchkServiceAndSaleWebReq.setProviderId(claims.getProviderId());
|
||||
|
|
@ -165,13 +167,10 @@ public class SegchkDefaultStoreController extends BaseController
|
|||
{
|
||||
|
||||
if(StringUtils.isEmpty(segchkServiceAndSaleWebReq.getRemark())){
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
TableDataInfo tableDataInfo = new TableDataInfo();
|
||||
tableDataInfo.setCode(300);
|
||||
tableDataInfo.setMsg("请先登录注册");
|
||||
return tableDataInfo;
|
||||
return LoginRequireTableInfo();
|
||||
}
|
||||
segchkServiceAndSaleWebReq.setStoreId(claims.getUserId());
|
||||
segchkServiceAndSaleWebReq.setProviderId(claims.getProviderId());
|
||||
|
|
@ -199,13 +198,10 @@ public class SegchkDefaultStoreController extends BaseController
|
|||
{
|
||||
|
||||
if(StringUtils.isEmpty(segchkServiceAndSaleWebReq.getRemark())){
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
TableDataInfo tableDataInfo = new TableDataInfo();
|
||||
tableDataInfo.setCode(300);
|
||||
tableDataInfo.setMsg("请先登录注册");
|
||||
return tableDataInfo;
|
||||
return LoginRequireTableInfo();
|
||||
}
|
||||
segchkServiceAndSaleWebReq.setStoreId(claims.getUserId());
|
||||
segchkServiceAndSaleWebReq.setProviderId(claims.getProviderId());
|
||||
|
|
@ -233,13 +229,10 @@ public class SegchkDefaultStoreController extends BaseController
|
|||
{
|
||||
|
||||
if(StringUtils.isEmpty(segchkUserWebReq.getRemark())){
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
TableDataInfo tableDataInfo = new TableDataInfo();
|
||||
tableDataInfo.setCode(300);
|
||||
tableDataInfo.setMsg("请先登录注册");
|
||||
return tableDataInfo;
|
||||
return LoginRequireTableInfo();
|
||||
}
|
||||
segchkUserWebReq.setUserId(claims.getUserId());
|
||||
segchkUserWebReq.setProviderId(claims.getProviderId());
|
||||
|
|
@ -268,10 +261,10 @@ public class SegchkDefaultStoreController extends BaseController
|
|||
{
|
||||
|
||||
if(StringUtils.isEmpty(remark)){
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
return AjaxResult.error(300, "请先登录注册");
|
||||
return LoginRequireAjax();
|
||||
}
|
||||
if(!storeId.equals(String.valueOf(claims.getUserId()))){
|
||||
logger.warn("ServiceCheckTest---storeid: {} is not then token: {}", storeId, claims);
|
||||
|
|
@ -281,7 +274,7 @@ public class SegchkDefaultStoreController extends BaseController
|
|||
AjaxResult ajax = new AjaxResult();
|
||||
logger.debug("ServiceCheckTest with: {}---{}---{}", likegoId.toString(), storeId, remark);
|
||||
SegchkServiceOrderChkTestResp segchkServiceOrderChkTestResp = segchkUserIndexService.selectUserOrderPredInfo(likegoId);
|
||||
|
||||
logger.debug("ServiceCheckTest check with: {}", segchkServiceOrderChkTestResp.toString());
|
||||
if(segchkServiceOrderChkTestResp.getStoreId()!= Long.parseLong(storeId)){
|
||||
ajax.put(CODE_TAG, "500");
|
||||
ajax.put(MSG_TAG, "预约单商家非本店商家!");
|
||||
|
|
@ -307,6 +300,7 @@ public class SegchkDefaultStoreController extends BaseController
|
|||
ajax.put(MSG_TAG, "该预约单在本店已无可用权益次数");
|
||||
}
|
||||
else if(segchkServiceOrderChkTestResp.getCanFree() == 1){
|
||||
int ret = segchkUserIndexService.OrderCheckTransaction(segchkServiceOrderChkTestResp, likegoId);
|
||||
ajax.put(CODE_TAG, "200");
|
||||
segchkServiceOrderChkTestResp.setSegchkRecommenderStoreLableWebList(null);
|
||||
ajax.put(DATA_TAG, segchkServiceOrderChkTestResp);
|
||||
|
|
@ -327,7 +321,38 @@ public class SegchkDefaultStoreController extends BaseController
|
|||
return ajax;
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("giveFreeCard")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "商家赠卡接口", notes = "需要鉴权")
|
||||
public AjaxResult giveFreeCard(@RequestBody StoreSelfCard storeSelfCard, HttpServletRequest request)
|
||||
{
|
||||
logger.debug("giveFreeCard with --- {}", storeSelfCard.toString());
|
||||
SegchkStoreSelfMgt segchkStoreSelfMgt = new SegchkStoreSelfMgt();
|
||||
segchkStoreSelfMgt.setStoreId(storeSelfCard.getStoreId());
|
||||
if(StringUtils.isEmpty(storeSelfCard.getRemark())){
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
return LoginRequireAjax();
|
||||
}
|
||||
segchkStoreSelfMgt.setProviderId(claims.getProviderId());
|
||||
segchkStoreSelfMgt.setStoreId(claims.getUserId());
|
||||
}
|
||||
segchkStoreSelfMgt.setCardId(storeSelfCard.getCardId());
|
||||
segchkStoreSelfMgt.setUserId(storeSelfCard.getUserId());
|
||||
segchkStoreSelfMgt.setTypeId(storeSelfCard.getTypeId());
|
||||
segchkStoreSelfMgt.setFreeCount(storeSelfCard.getTotalCount());
|
||||
segchkStoreSelfMgt.setLableId(storeSelfCard.getTypeId() == 2 ? storeSelfCard.getLableId() : 0L);
|
||||
segchkStoreSelfMgt.setFreeName(storeSelfCard.getTypeId() == 2 ? null : "赠卡");
|
||||
segchkStoreSelfMgt.setFreeContent(storeSelfCard.getFreeContent());
|
||||
segchkStoreSelfMgt.setLeftCount(storeSelfCard.getTotalCount());
|
||||
logger.debug("giveFreeCard with --- {}", segchkStoreSelfMgt.toString());
|
||||
Integer ret = segchkStoreIndexService.addStoreSelfCard(segchkStoreSelfMgt);
|
||||
if(ret == 0){
|
||||
logger.error("giveFreeCard failed with --- {}", segchkStoreSelfMgt.toString());
|
||||
}
|
||||
return ret > 0 ? AjaxResult.success("赠卡成功") : AjaxResult.error(500, "赠卡失败");
|
||||
}
|
||||
/**
|
||||
* 提现结果回调接口,接口微信的支付结果,更新充值结果, ret 0成功,其他失败 未测试
|
||||
* {
|
||||
|
|
@ -337,7 +362,7 @@ public class SegchkDefaultStoreController extends BaseController
|
|||
* }
|
||||
*/
|
||||
// @Log(title = "seg提现结果回调", businessType = BusinessType.UPDATE)
|
||||
@PostMapping( "/userCashResult")
|
||||
@PostMapping("/userCashResult")
|
||||
@ResponseBody
|
||||
@ApiOperation(value = "提现结果回调接口", notes = "需要鉴权")
|
||||
public void userCashResult(String chargeId, int userLevel, int ret)
|
||||
|
|
@ -367,15 +392,10 @@ public class SegchkDefaultStoreController extends BaseController
|
|||
public AjaxResult store_share_qr(String storeId, String providerId, String remark, Integer qrw, Integer qrh, HttpServletRequest request, HttpServletResponse response)
|
||||
{
|
||||
if(StringUtils.isEmpty(remark)){
|
||||
Claims claims = null;
|
||||
try {
|
||||
claims = getClaims(getToken(request));
|
||||
} catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
return AjaxResult.error(300, "请先登录注册");
|
||||
return LoginRequireAjax();
|
||||
}
|
||||
storeId = String.valueOf(claims.getUserId());
|
||||
providerId = String.valueOf(claims.getProviderId());
|
||||
|
|
@ -400,6 +420,43 @@ public class SegchkDefaultStoreController extends BaseController
|
|||
logger.debug("storerecommend res: {}", storeRecommend.toString());
|
||||
return AjaxResult.success("生成成功", storeRecommend);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 返回注册登录提示
|
||||
private AjaxResult LoginRequireAjax() {
|
||||
return AjaxResult.error(300, "请先登录注册");
|
||||
}
|
||||
|
||||
private TableDataInfo LoginRequireTableInfo() {
|
||||
TableDataInfo tableDataInfo = new TableDataInfo();
|
||||
tableDataInfo.setCode(300);
|
||||
tableDataInfo.setMsg("请先登录注册");
|
||||
return tableDataInfo;
|
||||
}
|
||||
|
||||
// 获取登录信息
|
||||
private Claims getLoing(HttpServletRequest request){
|
||||
String token = null;
|
||||
try {
|
||||
token = getToken(request);
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
Claims claims = getClaims(token);
|
||||
if(!ObjectUtils.isEmpty(claims)){
|
||||
if(loginexpire == -1){
|
||||
redisService.setCacheObject(token, claims);
|
||||
}
|
||||
else {
|
||||
redisService.setCacheObject(token, claims, loginexpire, TimeUnit.HOURS);
|
||||
}
|
||||
}
|
||||
return claims;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取小程序凭证实体
|
||||
*
|
||||
|
|
@ -497,4 +554,6 @@ public class SegchkDefaultStoreController extends BaseController
|
|||
'}';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ import java.io.PrintWriter;
|
|||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import static com.ruoyi.common.core.domain.AjaxResult.*;
|
||||
import static com.ruoyi.common.utils.ip.IpUtils.getIpAddr;
|
||||
|
|
@ -104,6 +105,10 @@ public class SegchkDefaultUserController extends BaseController
|
|||
|
||||
@Value("${segchk.chk_weight:#{200}}")
|
||||
private Integer chkWeight;
|
||||
|
||||
// 登录超时时长,单位天,-1永久有效
|
||||
@Value("${yzytest.login.loginexpire:#{1}}")
|
||||
private Integer loginexpire;
|
||||
/**
|
||||
* 新增保存seg用户收藏记录
|
||||
* {
|
||||
|
|
@ -132,10 +137,11 @@ public class SegchkDefaultUserController extends BaseController
|
|||
logger.debug("add_user_collect with: {}", segchkUserCollect.toString());
|
||||
return toAjax(segchkUserCollectService.insertSegchkUserCollect(segchkUserCollect));
|
||||
}
|
||||
Claims claims = getClaims(getToken(request));
|
||||
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
return AjaxResult.error(300, "请先登录注册");
|
||||
return LoginRequireAjax();
|
||||
}
|
||||
if (claims.getUserLevel() != 2){
|
||||
return AjaxResult.error(400, "非会员用户不可以收藏");
|
||||
|
|
@ -158,10 +164,10 @@ public class SegchkDefaultUserController extends BaseController
|
|||
@ApiOperation(value = "删除seg用户收藏记录", notes = "需要鉴权")
|
||||
public AjaxResult removeUserCollect(@RequestBody RemoveIds removeIds, HttpServletRequest request)
|
||||
{
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
return AjaxResult.error(300, "请先登录注册");
|
||||
return LoginRequireAjax();
|
||||
}
|
||||
logger.debug("removeUserCollect with: {}", removeIds.toString());
|
||||
return toAjax(segchkUserCollectService.deleteSegchkUserCollectByIds(removeIds.getIds()));
|
||||
|
|
@ -186,13 +192,10 @@ public class SegchkDefaultUserController extends BaseController
|
|||
List<SegchkServiceOrderWebReq> segchkServiceOrderWebReqList = segchkUserIndexService.selectUserOrderPredCardListWebInfo(segchkServiceOrderWebReq);
|
||||
return getDataTable(segchkServiceOrderWebReqList);
|
||||
}
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
TableDataInfo tableDataInfo = new TableDataInfo();
|
||||
tableDataInfo.setCode(300);
|
||||
tableDataInfo.setMsg("请先登录注册");
|
||||
return tableDataInfo;
|
||||
return LoginRequireTableInfo();
|
||||
}
|
||||
segchkServiceOrderWebReq.setUserId(claims.getUserId());
|
||||
List<SegchkServiceOrderWebReq> segchkServiceOrderWebReqList = segchkUserIndexService.selectUserOrderPredCardListWebInfo(segchkServiceOrderWebReq);
|
||||
|
|
@ -221,11 +224,10 @@ public class SegchkDefaultUserController extends BaseController
|
|||
Long userId = 0L;
|
||||
|
||||
if(StringUtils.isEmpty(segchkUserLikego.getRemark())){
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
userId = getClaims(getToken(request)).getUserId();
|
||||
return AjaxResult.error(300, "请先登录注册");
|
||||
return LoginRequireAjax();
|
||||
}
|
||||
if(claims.getUserLevel() != 2){
|
||||
return AjaxResult.error(400, "未会员用户不允许预约!");
|
||||
|
|
@ -237,6 +239,7 @@ public class SegchkDefaultUserController extends BaseController
|
|||
return toAjax(segchkUserLikegoService.insertSegchkUserLikego(segchkUserLikego));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据预约id,返回预约单二维码 尹志颖
|
||||
* {
|
||||
|
|
@ -255,14 +258,10 @@ public class SegchkDefaultUserController extends BaseController
|
|||
SegchkUserLikego segchkUserLikego = new SegchkUserLikego();
|
||||
segchkUserLikego.setLikegoId(Long.valueOf(likegoId));
|
||||
if(StringUtils.isEmpty(remark)){
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
// TableDataInfo tableDataInfo = new TableDataInfo();
|
||||
// tableDataInfo.setCode(300);
|
||||
// tableDataInfo.setMsg("请先登录注册");
|
||||
// return tableDataInfo;
|
||||
return AjaxResult.error(300, "请先登录注册");
|
||||
return LoginRequireAjax();
|
||||
}
|
||||
segchkUserLikego.setUserId(claims.getUserId());
|
||||
segchkUserLikego.setProviderId(claims.getProviderId());
|
||||
|
|
@ -320,15 +319,13 @@ public class SegchkDefaultUserController extends BaseController
|
|||
public TableDataInfo store_service_check_list(@RequestBody SegchkUserWebReq segchkUserWebReq, HttpServletRequest request)
|
||||
{
|
||||
if(StringUtils.isEmpty(segchkUserWebReq.getRemark())){
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
TableDataInfo tableDataInfo = new TableDataInfo();
|
||||
tableDataInfo.setCode(300);
|
||||
tableDataInfo.setMsg("请先登录注册");
|
||||
return tableDataInfo;
|
||||
return LoginRequireTableInfo();
|
||||
}
|
||||
segchkUserWebReq.setUserId(claims.getUserId());
|
||||
segchkUserWebReq.setProviderId(claims.getProviderId());
|
||||
}
|
||||
startPage();
|
||||
logger.debug("store_service_check_list with: {}", segchkUserWebReq.toString());
|
||||
|
|
@ -336,6 +333,7 @@ public class SegchkDefaultUserController extends BaseController
|
|||
return getDataTable(segchkUserWebSCRespList);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据用户id,运营商id,查询seg用户可用会员卡列表或者优惠券列表 尹志颖
|
||||
*/
|
||||
|
|
@ -347,15 +345,13 @@ public class SegchkDefaultUserController extends BaseController
|
|||
public TableDataInfo user_card_list(@RequestBody SegchkUserWebReq segchkUserWebReq, HttpServletRequest request)
|
||||
{
|
||||
if(StringUtils.isEmpty(segchkUserWebReq.getRemark())){
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
TableDataInfo tableDataInfo = new TableDataInfo();
|
||||
tableDataInfo.setCode(300);
|
||||
tableDataInfo.setMsg("请先登录注册");
|
||||
return tableDataInfo;
|
||||
return LoginRequireTableInfo();
|
||||
}
|
||||
segchkUserWebReq.setUserId(claims.getUserId());
|
||||
segchkUserWebReq.setProviderId(claims.getProviderId());
|
||||
}
|
||||
startPage();
|
||||
logger.debug("user_card_list with: {}", segchkUserWebReq.toString());
|
||||
|
|
@ -380,15 +376,13 @@ public class SegchkDefaultUserController extends BaseController
|
|||
{
|
||||
|
||||
if(StringUtils.isEmpty(segchkUserWebReq.getRemark())){
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
TableDataInfo tableDataInfo = new TableDataInfo();
|
||||
tableDataInfo.setCode(300);
|
||||
tableDataInfo.setMsg("请先登录注册");
|
||||
return tableDataInfo;
|
||||
return LoginRequireTableInfo();
|
||||
}
|
||||
segchkUserWebReq.setUserId(claims.getUserId());
|
||||
segchkUserWebReq.setProviderId(claims.getProviderId());
|
||||
}
|
||||
startPage();
|
||||
logger.debug("user_collect_list with: {}", segchkUserWebReq.toString());
|
||||
|
|
@ -414,15 +408,13 @@ public class SegchkDefaultUserController extends BaseController
|
|||
{
|
||||
|
||||
if(StringUtils.isEmpty(segchkUserWebReq.getRemark())){
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
TableDataInfo tableDataInfo = new TableDataInfo();
|
||||
tableDataInfo.setCode(300);
|
||||
tableDataInfo.setMsg("请先登录注册");
|
||||
return tableDataInfo;
|
||||
return LoginRequireTableInfo();
|
||||
}
|
||||
segchkUserWebReq.setUserId(claims.getUserId());
|
||||
segchkUserWebReq.setProviderId(claims.getProviderId());
|
||||
}
|
||||
startPage();
|
||||
logger.debug("userLikeGOList with: {}", segchkUserWebReq.toString());
|
||||
|
|
@ -443,10 +435,10 @@ public class SegchkDefaultUserController extends BaseController
|
|||
{
|
||||
|
||||
if(StringUtils.isEmpty(removeIds.getRemark())){
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
return AjaxResult.error(300, "请先登录注册");
|
||||
return LoginRequireAjax();
|
||||
}
|
||||
removeIds.setUserId(claims.getUserId());
|
||||
}
|
||||
|
|
@ -468,10 +460,10 @@ public class SegchkDefaultUserController extends BaseController
|
|||
public AjaxResult get_comment(@RequestBody SegchkServiceCommentUserReq segchkServiceCommentUserReq, HttpServletRequest request)
|
||||
{
|
||||
if(StringUtils.isEmpty(segchkServiceCommentUserReq.getRemark())){
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
return AjaxResult.error(300, "请先登录注册");
|
||||
return LoginRequireAjax();
|
||||
}
|
||||
}
|
||||
logger.debug("get_comment with: {}", segchkServiceCommentUserReq.toString());
|
||||
|
|
@ -500,10 +492,10 @@ public class SegchkDefaultUserController extends BaseController
|
|||
public AjaxResult addComment(@RequestBody SegchkServiceCommentUserReq segchkServiceCommentUserReq, HttpServletRequest request)
|
||||
{
|
||||
if(StringUtils.isEmpty(segchkServiceCommentUserReq.getRemark())){
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
return AjaxResult.error(300, "请先登录注册");
|
||||
return LoginRequireAjax();
|
||||
}
|
||||
if (claims.getUserLevel() != 2){
|
||||
return AjaxResult.error(400, "非会员用户不允许提交评价");
|
||||
|
|
@ -529,15 +521,13 @@ public class SegchkDefaultUserController extends BaseController
|
|||
{
|
||||
|
||||
if(StringUtils.isEmpty(segchkUserWebReq.getRemark())){
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
TableDataInfo tableDataInfo = new TableDataInfo();
|
||||
tableDataInfo.setCode(300);
|
||||
tableDataInfo.setMsg("请先登录注册");
|
||||
return tableDataInfo;
|
||||
return LoginRequireTableInfo();
|
||||
}
|
||||
segchkUserWebReq.setUserId(claims.getUserId());
|
||||
segchkUserWebReq.setProviderId(claims.getProviderId());
|
||||
}
|
||||
logger.debug("userChargeList with: {}", segchkUserWebReq.toString());
|
||||
startPage();
|
||||
|
|
@ -557,15 +547,13 @@ public class SegchkDefaultUserController extends BaseController
|
|||
{
|
||||
|
||||
if(StringUtils.isEmpty(segchkUserWebReq.getRemark())){
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
TableDataInfo tableDataInfo = new TableDataInfo();
|
||||
tableDataInfo.setCode(300);
|
||||
tableDataInfo.setMsg("请先登录注册");
|
||||
return tableDataInfo;
|
||||
return LoginRequireTableInfo();
|
||||
}
|
||||
segchkUserWebReq.setUserId(claims.getUserId());
|
||||
segchkUserWebReq.setProviderId(claims.getProviderId());
|
||||
}
|
||||
logger.debug("userCashList with: {}", segchkUserWebReq.toString());
|
||||
startPage();
|
||||
|
|
@ -591,15 +579,13 @@ public class SegchkDefaultUserController extends BaseController
|
|||
{
|
||||
|
||||
if(StringUtils.isEmpty(segchkUserWebReq.getRemark())){
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
TableDataInfo tableDataInfo = new TableDataInfo();
|
||||
tableDataInfo.setCode(300);
|
||||
tableDataInfo.setMsg("请先登录注册");
|
||||
return tableDataInfo;
|
||||
return LoginRequireTableInfo();
|
||||
}
|
||||
segchkUserWebReq.setUserId(claims.getUserId());
|
||||
segchkUserWebReq.setProviderId(claims.getProviderId());
|
||||
}
|
||||
logger.debug("userMsgList with: {}", segchkUserWebReq.toString());
|
||||
startPage();
|
||||
|
|
@ -623,10 +609,10 @@ public class SegchkDefaultUserController extends BaseController
|
|||
{
|
||||
|
||||
if(StringUtils.isEmpty(segchkUserWebReq.getRemark())){
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
return AjaxResult.error(300, "请先登录注册");
|
||||
return LoginRequireAjax();
|
||||
}
|
||||
if(!claims.getProviderId().equals(segchkUserWebReq.getProviderId())){
|
||||
logger.warn("userChargePre can not charg for user({}), because login prov({}) is not register prov({})", claims.getUserId(), segchkUserWebReq.getProviderId(), claims.getProviderId());
|
||||
|
|
@ -670,10 +656,10 @@ public class SegchkDefaultUserController extends BaseController
|
|||
{
|
||||
|
||||
if(StringUtils.isEmpty(segchkUserCharge.getRemark())){
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
return AjaxResult.error(300, "请先登录注册");
|
||||
return LoginRequireAjax();
|
||||
}
|
||||
segchkUserCharge.setUserId(claims.getUserId());
|
||||
segchkUserCharge.setProviderId(claims.getProviderId());
|
||||
|
|
@ -705,13 +691,17 @@ public class SegchkDefaultUserController extends BaseController
|
|||
|
||||
}
|
||||
segchkUserCharge.setRetFlag(ret_flag);
|
||||
int ret = segchkUserChargeService.insertSegchkUserCharge(segchkUserCharge);
|
||||
// 生成充值订单
|
||||
int ret = segchkUserIndexService.insertSegchkUserCharge(segchkUserCharge);
|
||||
if(ret < 1){
|
||||
// 生成失败。返回提示
|
||||
ajax.put(CODE_TAG, "500");
|
||||
ajax.put(MSG_TAG, "充值失败!");
|
||||
}
|
||||
else{
|
||||
if(!StringUtils.isEmpty(segchkUserCharge.getSearchValue())){
|
||||
// 生成订单成功
|
||||
if(!StringUtils.isEmpty(segchkUserCharge.getCharge())){
|
||||
// 如果待生成订单需要用户调起支付时
|
||||
WechatPaySet wechatAppletPaySet = paySetService.queryPaySet().getWechatAppletPaySet();
|
||||
WechatSetting wechatSetting = new WechatSetting();
|
||||
wechatSetting.setAppId(wechatAppletPaySet.getAppId());
|
||||
|
|
@ -745,6 +735,7 @@ public class SegchkDefaultUserController extends BaseController
|
|||
}
|
||||
}
|
||||
if(ret_flag == 1){
|
||||
|
||||
return AjaxResult.error(201, "充值成功");
|
||||
}
|
||||
CommonResponse<PrepayResult> prepayResultCommonResponse = segchkUserIndexService.wechatAppletPay(
|
||||
|
|
@ -822,10 +813,10 @@ public class SegchkDefaultUserController extends BaseController
|
|||
public AjaxResult userCashReq(@RequestBody SegchkUserCashOpsReq segchkUserCashOpsReq, HttpServletRequest request)
|
||||
{
|
||||
if(StringUtils.isEmpty(segchkUserCashOpsReq.getRemark())){
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
return AjaxResult.error(300, "请先登录注册");
|
||||
return LoginRequireAjax();
|
||||
}
|
||||
segchkUserCashOpsReq.setUserId(claims.getUserId());
|
||||
segchkUserCashOpsReq.setProviderId(claims.getProviderId());
|
||||
|
|
@ -875,10 +866,10 @@ public class SegchkDefaultUserController extends BaseController
|
|||
{
|
||||
|
||||
if(StringUtils.isEmpty(segchkUserSetInfoReq.getRemark())){
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
return AjaxResult.error(300, "请先登录注册");
|
||||
return LoginRequireAjax();
|
||||
}
|
||||
segchkUserSetInfoReq.setUserId(claims.getUserId());
|
||||
segchkUserSetInfoReq.setProviderId(claims.getProviderId());
|
||||
|
|
@ -917,10 +908,10 @@ public class SegchkDefaultUserController extends BaseController
|
|||
int ret = 0;
|
||||
|
||||
if(StringUtils.isEmpty(segchkUserCertificationInfo.getRemark())){
|
||||
Claims claims = getClaims(getToken(request));
|
||||
Claims claims = getLoing(request);
|
||||
if (ObjectUtils.isEmpty(claims)) {
|
||||
// 如果用户未登录,则要求用户使用手机号登录注册
|
||||
return AjaxResult.error(300, "请先登录注册");
|
||||
return LoginRequireAjax();
|
||||
}
|
||||
segchkUserCertificationInfo.setUserId(claims.getUserId());
|
||||
segchkUserCertificationInfo.setProviderId(claims.getProviderId());
|
||||
|
|
@ -954,6 +945,39 @@ public class SegchkDefaultUserController extends BaseController
|
|||
}
|
||||
}
|
||||
|
||||
// 返回注册登录提示
|
||||
private AjaxResult LoginRequireAjax() {
|
||||
return AjaxResult.error(300, "请先登录注册");
|
||||
}
|
||||
|
||||
private TableDataInfo LoginRequireTableInfo() {
|
||||
TableDataInfo tableDataInfo = new TableDataInfo();
|
||||
tableDataInfo.setCode(300);
|
||||
tableDataInfo.setMsg("请先登录注册");
|
||||
return tableDataInfo;
|
||||
}
|
||||
|
||||
// 获取登录信息
|
||||
private Claims getLoing(HttpServletRequest request){
|
||||
String token = null;
|
||||
try {
|
||||
token = getToken(request);
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
Claims claims = getClaims(token);
|
||||
if(!ObjectUtils.isEmpty(claims)){
|
||||
if(loginexpire == -1){
|
||||
redisService.setCacheObject(token, claims);
|
||||
}
|
||||
else {
|
||||
redisService.setCacheObject(token, claims, loginexpire, TimeUnit.HOURS);
|
||||
}
|
||||
}
|
||||
return claims;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取小程序凭证实体
|
||||
*
|
||||
|
|
|
|||
|
|
@ -127,6 +127,7 @@ yzytest:
|
|||
smsplatid: 3
|
||||
|
||||
segchk:
|
||||
default_district: 140100
|
||||
qr_path: C:\Users\Public\Desktop\dome.jpg
|
||||
poster_path: F:\ideaproj\RuoYi-Vue\ruoyi-segchk\src\main\resources\templates\posters\bg.jpg
|
||||
# 核消二维码保存路径,测试使用。正常不打开
|
||||
|
|
|
|||
|
|
@ -116,29 +116,32 @@ yzytest:
|
|||
smssign:
|
||||
smstest: true
|
||||
smsplatid: 3
|
||||
# 登录超时时长,单位天, -1永久有效
|
||||
loginexpire: 8
|
||||
|
||||
segchk:
|
||||
default_district: 130500
|
||||
qr_path: /home/segchk/data/resources/check/dome.jpg
|
||||
poster_path: /home/segchk/data/resources/check/poster/bg.jpg
|
||||
poster_path: /home/segchk/data/resources/check/poster/bg1.jpg
|
||||
# 核消二维码保存路径,测试使用。正常不打开
|
||||
check_qr_path: /home/segchk/data/resources/check/poster/checkqr.jpg
|
||||
# 核消二维码背景路径,可有,可无
|
||||
check_poster_path: /home/segchk/data/resources/check/poster/bg.jpg
|
||||
# check_poster_path: /home/segchk/data/resources/check/poster/bg1.jpg
|
||||
|
||||
|
||||
chkurl: '/default/store/ServiceCheckTest?likegoId=%s&storeId=%s'
|
||||
sto_height: 350
|
||||
sto_weight: 350
|
||||
chk_height: 350
|
||||
chk_weight: 350
|
||||
chk_height: 400
|
||||
chk_weight: 400
|
||||
|
||||
|
||||
|
||||
# 商户推广二维码
|
||||
store_qr_path: /home/segchk/data/resources/check/poster/storeqr
|
||||
# 商户推广二维码背景路径,可有,可无
|
||||
store_poster_path: /home/segchk/data/resources/check/poster/bg.jpg
|
||||
store_poster_path: /home/segchk/data/resources/check/poster/bg1.jpg
|
||||
|
||||
sto_height: 350
|
||||
sto_weight: 350
|
||||
storeurl: 'https://segchksaas.mynatapp.cc/default/store/storerecommend?recC=%s&recV=%s'
|
||||
wxchecktxt: 1bc40f067f30d2f520200d504238a620
|
||||
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ spring:
|
|||
# 国际化资源文件路径
|
||||
basename: i18n/messages
|
||||
profiles:
|
||||
active: dev
|
||||
active: test
|
||||
# # 文件上传
|
||||
# servlet:
|
||||
# multipart:
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 706 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 68 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 68 KiB |
|
|
@ -62,6 +62,24 @@ Content-Type: application/json
|
|||
###
|
||||
############### 商家接口测试 ####################
|
||||
|
||||
### 商家核消操作
|
||||
POST {{host}}//default/store/giveFreeCard
|
||||
Accept: */*
|
||||
Cache-Control: no-cache
|
||||
Content-Type: application/json
|
||||
Authorization: Bearer {{bindtoken}}
|
||||
|
||||
{
|
||||
"userId": 243,
|
||||
"cardId": 242,
|
||||
"lableId": 10,
|
||||
"storeId": 144,
|
||||
"typeId": 2,
|
||||
"totalCount": 10,
|
||||
"freeContent": "demoData",
|
||||
"remark": "demoData"
|
||||
}
|
||||
|
||||
### 商家核消操作
|
||||
POST {{host}}//default/store/ServiceCheckTest?likegoId=16877&storeId=128&remark=999999
|
||||
Accept: */*
|
||||
|
|
@ -146,6 +164,14 @@ Authorization: Bearer {{bindtoken1}}
|
|||
"userLevel": 2
|
||||
}
|
||||
|
||||
###
|
||||
POST {{host}}//default/user/userChargeResult?chargeId=45459&ret=0
|
||||
Accept: */*
|
||||
Cache-Control: no-cache
|
||||
Content-Type: application/json
|
||||
Authorization: Bearer {{bindtoken1}}
|
||||
|
||||
|
||||
### 用户充值操作
|
||||
#返回结果
|
||||
#{
|
||||
|
|
@ -183,9 +209,9 @@ Authorization: Bearer {{bindtoken1}}
|
|||
{
|
||||
"userId": 503,
|
||||
"charge": 9.9,
|
||||
"accountUsed": 0,
|
||||
"cardTypeId": 0,
|
||||
"providerId": 2
|
||||
"providerId": 2,
|
||||
"remark": 999
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -611,10 +637,11 @@ Content-Type: application/json
|
|||
Authorization: Bearer {{providertoken}}
|
||||
|
||||
{
|
||||
"userId": 3,
|
||||
"userId": 9,
|
||||
"providerId": 2,
|
||||
"userLevel": 2,
|
||||
"cardID": "11111"
|
||||
"userLevel": 1,
|
||||
"cardID": "11111",
|
||||
"remark": "999999"
|
||||
}
|
||||
|
||||
### 商家评价列表
|
||||
|
|
@ -853,14 +880,17 @@ Content-Type: application/json
|
|||
### 根据用户当前所在地市行政id,返回运营商id 尹志颖
|
||||
### 返回值说明 {
|
||||
# "code": 200,
|
||||
# "data": 2//该值用于在小程序内部留存,在后续接口请求时都会用到
|
||||
# data": {
|
||||
# "provFlag": 1, 0说明用户所选或所在的地区已开放服务,1说明用户所在或所选地区未开放服务,提供的运营商为默认运营商
|
||||
# "providerId": 3
|
||||
# }
|
||||
#}
|
||||
GET {{host}}//default/index/getProviderByadcode
|
||||
GET {{host}}//default/index/getProviderByadcode?adcode=150100
|
||||
Accept: */*
|
||||
Cache-Control: no-cache
|
||||
Content-Type: application/json
|
||||
|
||||
130502
|
||||
|
||||
|
||||
###
|
||||
### 测试微信账号绑定
|
||||
|
|
|
|||
|
|
@ -182,6 +182,7 @@ public class LoginServiceImpl implements LoginService {
|
|||
case 0: {
|
||||
segchkUserWebResp = segchkProviderIndexService.selectSegchkProviderWebInfo(segchkUserWebReq);
|
||||
segchkUserWebResp.setUserLevel(0);
|
||||
segchkUserWebResp.setUserId(segchkUserWebReq.getProviderId());
|
||||
ajaxResult = AjaxResult.success(segchkUserWebResp);
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ import java.time.temporal.ChronoUnit;
|
|||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* 注册服务聚合接口实现
|
||||
|
|
@ -48,6 +49,11 @@ public class RegisterServiceApiImpl implements RegisterServiceApi {
|
|||
@Value("${token.secret}")
|
||||
private String jwtSecretKey;
|
||||
|
||||
|
||||
// 登录超时时长,单位天,-1永久有效
|
||||
@Value("${yzytest.login.loginexpire:#{1}}")
|
||||
private Integer loginexpire;
|
||||
|
||||
/**
|
||||
* 注入注册服务
|
||||
*/
|
||||
|
|
@ -104,31 +110,12 @@ public class RegisterServiceApiImpl implements RegisterServiceApi {
|
|||
}
|
||||
|
||||
SegchkUserLevelInfo segchkUserLevelInfo = segchkUserIndexService.selectUserLevelByMobile(mobile);
|
||||
SegchkUserExtInfo segchkUserExtInfo = new SegchkUserExtInfo();
|
||||
SegchkUserExtInfo segchkUserExtInfo = null;
|
||||
|
||||
if(ObjectUtils.isEmpty(segchkUserLevelInfo)){
|
||||
logger.debug("registerCustomer prov {} mobile: {{}} is a new user with recommender:{}---{}", providerId, mobile, recommondId, recommondLevel);
|
||||
segchkUserLevelInfo = new SegchkUserLevelInfo();
|
||||
// 如果用户信息空,则添加新的用户
|
||||
if(!StringUtils.isEmpty(recommondId) && !StringUtils.isEmpty(recommondLevel)){
|
||||
// 如果推荐人,推荐人角色都非空。要检查推荐人是否存在。否则推荐人设置为运营商
|
||||
Map<String, Object> parmMap = new HashMap<>();
|
||||
parmMap.put("userId", recommondId);
|
||||
parmMap.put("userLevel", recommondLevel);
|
||||
parmMap.put("providerId", providerId);
|
||||
int ret = segchkUserIndexService.recommenderIsExit(parmMap);
|
||||
if(ret == 0){
|
||||
// 推荐人异常
|
||||
logger.error("registerCustomer fail due to recommender is wrong...");
|
||||
|
||||
return AjaxResult.error(500, "推荐人不存在或不在同一地区!");
|
||||
}
|
||||
|
||||
// 添加推荐人绑定
|
||||
segchkUserExtInfo.setProviderId(Long.valueOf(providerId));
|
||||
segchkUserExtInfo.setRecommendersLevel(recommondLevel);
|
||||
segchkUserExtInfo.setUserRecommenders(Long.valueOf(recommondId));
|
||||
}
|
||||
// 添加新用户信息
|
||||
SegchkUserBasicInfo segchkUserBasicInfo = new SegchkUserBasicInfo();
|
||||
segchkUserBasicInfo.setPhoneNo(mobile);
|
||||
|
|
@ -142,15 +129,42 @@ public class RegisterServiceApiImpl implements RegisterServiceApi {
|
|||
return AjaxResult.error(500, "注册异常,请联系客服!");
|
||||
}
|
||||
|
||||
segchkUserExtInfo.setProviderId(Long.valueOf(providerId));
|
||||
segchkUserExtInfo.setRecommendersLevel("0");
|
||||
segchkUserExtInfo.setUserRecommenders(0L);
|
||||
segchkUserExtInfo.setUserId(segchkUserBasicInfo.getUserId());
|
||||
ret = segchkUserIndexService.insertUserExtInfo(segchkUserExtInfo);
|
||||
if(ret < 1){
|
||||
logger.error("registerCustomer fail due to recommender binding is wrong...");
|
||||
return AjaxResult.error(500, "推荐人绑定异常,请联系客服!");
|
||||
if(!StringUtils.isEmpty(recommondId) && !StringUtils.isEmpty(recommondLevel)){
|
||||
// 如果推荐人,推荐人角色都非空。要检查推荐人是否存在。否则推荐人设置为运营商
|
||||
|
||||
Map<String, Object> parmMap = new HashMap<>();
|
||||
parmMap.put("recommondId", recommondId);
|
||||
parmMap.put("recommondLevel", recommondLevel);
|
||||
parmMap.put("providerId", providerId);
|
||||
ret = segchkUserIndexService.recommenderIsExit(parmMap);
|
||||
|
||||
switch (ret){
|
||||
case 0:{
|
||||
// 推荐人不存在,归属平台推荐,注册到某一运营商即可
|
||||
logger.warn("registerCustomer recommender is not exit!!! will be register with platform on provider({})", providerId);
|
||||
break;
|
||||
}
|
||||
case 1: {
|
||||
logger.debug("registerCustomer recommender is exit!!!");
|
||||
segchkUserExtInfo = new SegchkUserExtInfo();
|
||||
segchkUserExtInfo.setProviderId(Long.valueOf(providerId));
|
||||
segchkUserExtInfo.setRecommendersLevel(recommondLevel);
|
||||
segchkUserExtInfo.setUserRecommenders(Long.valueOf(recommondId));
|
||||
segchkUserExtInfo.setUserId(segchkUserBasicInfo.getUserId());
|
||||
int xxx = segchkUserIndexService.insertUserExtInfo(segchkUserExtInfo);
|
||||
if(xxx < 1){
|
||||
logger.error("registerCustomer fail due to recommender binding is wrong...");
|
||||
// return AjaxResult.error(500, "推荐人绑定异常,请联系客服!");
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 2: {
|
||||
logger.warn("registerCustomer user is different from recommender, will be register with platform on provider({})", providerId);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
segchkUserLevelInfo.setProviderId(Long.valueOf(providerId));
|
||||
segchkUserLevelInfo.setUserId(segchkUserBasicInfo.getUserId());
|
||||
segchkUserLevelInfo.setUserLevel(2L);
|
||||
|
|
@ -174,9 +188,14 @@ public class RegisterServiceApiImpl implements RegisterServiceApi {
|
|||
claims.setProviderId(segchkUserLevelInfo.getProviderId());
|
||||
claims.setUserLevel(segchkUserLevelInfo.getUserLevel().intValue());
|
||||
// 将用户的token进行缓存
|
||||
redisService.setCacheObject(token, claims);
|
||||
if(loginexpire == -1) {
|
||||
redisService.setCacheObject(token, claims);
|
||||
}
|
||||
else {
|
||||
redisService.setCacheObject(token, claims, loginexpire, TimeUnit.DAYS);
|
||||
}
|
||||
}
|
||||
logger.debug("registerCustomer res: ---{}---{}", segchkUserLevelInfo.toString(), segchkUserExtInfo.toString());
|
||||
logger.debug("registerCustomer res: ---{}---{}", segchkUserLevelInfo.toString(), (ObjectUtils.isEmpty(segchkUserExtInfo) ? null : segchkUserExtInfo.toString()));
|
||||
return AjaxResult.success("注册成功", segchkUserLevelInfo);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,124 @@
|
|||
package com.ruoyi.segchk.domain;
|
||||
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
public class SegchkChargeReward extends BaseEntity {
|
||||
private Integer cardTypeId;
|
||||
private Long userId;
|
||||
private Long providerId;
|
||||
private Long chargeId;
|
||||
private Long rewardId;
|
||||
private BigDecimal charge;
|
||||
private BigDecimal accountUsed;
|
||||
private Long userRecommenders;
|
||||
private Integer recommendersLevel;
|
||||
private Integer totalChargeCount;
|
||||
private BigDecimal reward;
|
||||
|
||||
public Integer getCardTypeId() {
|
||||
return cardTypeId;
|
||||
}
|
||||
|
||||
public void setCardTypeId(Integer cardTypeId) {
|
||||
this.cardTypeId = cardTypeId;
|
||||
}
|
||||
|
||||
public Long getUserId() {
|
||||
return userId;
|
||||
}
|
||||
|
||||
public void setUserId(Long userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
|
||||
public Long getProviderId() {
|
||||
return providerId;
|
||||
}
|
||||
|
||||
public void setProviderId(Long providerId) {
|
||||
this.providerId = providerId;
|
||||
}
|
||||
|
||||
public BigDecimal getCharge() {
|
||||
return charge;
|
||||
}
|
||||
|
||||
public void setCharge(BigDecimal charge) {
|
||||
this.charge = charge;
|
||||
}
|
||||
|
||||
public BigDecimal getAccountUsed() {
|
||||
return accountUsed;
|
||||
}
|
||||
|
||||
public void setAccountUsed(BigDecimal accountUsed) {
|
||||
this.accountUsed = accountUsed;
|
||||
}
|
||||
|
||||
public Long getUserRecommenders() {
|
||||
return userRecommenders;
|
||||
}
|
||||
|
||||
public void setUserRecommenders(Long userRecommenders) {
|
||||
this.userRecommenders = userRecommenders;
|
||||
}
|
||||
|
||||
public Integer getRecommendersLevel() {
|
||||
return recommendersLevel;
|
||||
}
|
||||
|
||||
public void setRecommendersLevel(Integer recommendersLevel) {
|
||||
this.recommendersLevel = recommendersLevel;
|
||||
}
|
||||
|
||||
public Integer getTotalChargeCount() {
|
||||
return totalChargeCount;
|
||||
}
|
||||
|
||||
public void setTotalChargeCount(Integer totalChargeCount) {
|
||||
this.totalChargeCount = totalChargeCount;
|
||||
}
|
||||
|
||||
public BigDecimal getReward() {
|
||||
return reward;
|
||||
}
|
||||
|
||||
public void setReward(BigDecimal reward) {
|
||||
this.reward = reward;
|
||||
}
|
||||
|
||||
public Long getChargeId() {
|
||||
return chargeId;
|
||||
}
|
||||
|
||||
public void setChargeId(Long chargeId) {
|
||||
this.chargeId = chargeId;
|
||||
}
|
||||
|
||||
public Long getRewardId() {
|
||||
return rewardId;
|
||||
}
|
||||
|
||||
public void setRewardId(Long rewardId) {
|
||||
this.rewardId = rewardId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "SegchkChargeReward{" +
|
||||
"cardTypeId=" + cardTypeId +
|
||||
", userId=" + userId +
|
||||
", providerId=" + providerId +
|
||||
", chargeId=" + chargeId +
|
||||
", rewardId=" + rewardId +
|
||||
", charge=" + charge +
|
||||
", accountUsed=" + accountUsed +
|
||||
", userRecommenders=" + userRecommenders +
|
||||
", recommendersLevel=" + recommendersLevel +
|
||||
", totalChargeCount=" + totalChargeCount +
|
||||
", reward=" + reward +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
|
@ -93,6 +93,11 @@ public class SegchkStoreBasicInfoWebResp extends BaseEntity
|
|||
@Excel(name = "商户平均星评")
|
||||
private BigDecimal starAvg;
|
||||
|
||||
|
||||
/** 是否被收藏 */
|
||||
@Excel(name = "是否被收藏")
|
||||
private Integer isCollect = 0;
|
||||
|
||||
/** 商户标签列表 */
|
||||
@Valid
|
||||
private List<SegchkRecommenderStoreLableWeb> segchkRecommenderStoreLableWebList;
|
||||
|
|
@ -270,6 +275,14 @@ public class SegchkStoreBasicInfoWebResp extends BaseEntity
|
|||
this.starAvg = starAvg;
|
||||
}
|
||||
|
||||
public Integer getIsCollect() {
|
||||
return isCollect;
|
||||
}
|
||||
|
||||
public void setIsCollect(Integer isCollect) {
|
||||
this.isCollect = isCollect;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "SegchkStoreBasicInfoWebResp{" +
|
||||
|
|
@ -292,6 +305,7 @@ public class SegchkStoreBasicInfoWebResp extends BaseEntity
|
|||
", storeCarousel6='" + storeCarousel6 + '\'' +
|
||||
", chkCount=" + chkCount +
|
||||
", starAvg=" + starAvg +
|
||||
", isCollect=" + isCollect +
|
||||
", segchkRecommenderStoreLableWebList=" + segchkRecommenderStoreLableWebList +
|
||||
'}';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,83 @@
|
|||
package com.ruoyi.segchk.domain;
|
||||
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
public class StoreSelfCard extends BaseEntity {
|
||||
private Long userId;
|
||||
private Long cardId;
|
||||
private Long lableId;
|
||||
private Long storeId;
|
||||
private Integer typeId;
|
||||
private Integer totalCount;
|
||||
private String freeContent;
|
||||
|
||||
public Long getUserId() {
|
||||
return userId;
|
||||
}
|
||||
|
||||
public void setUserId(Long userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
|
||||
public Long getCardId() {
|
||||
return cardId;
|
||||
}
|
||||
|
||||
public void setCardId(Long cardId) {
|
||||
this.cardId = cardId;
|
||||
}
|
||||
|
||||
public Integer getTypeId() {
|
||||
return typeId;
|
||||
}
|
||||
|
||||
public void setTypeId(Integer typeId) {
|
||||
this.typeId = typeId;
|
||||
}
|
||||
|
||||
public Integer getTotalCount() {
|
||||
return totalCount;
|
||||
}
|
||||
|
||||
public void setTotalCount(Integer totalCount) {
|
||||
this.totalCount = totalCount;
|
||||
}
|
||||
|
||||
public String getFreeContent() {
|
||||
return freeContent;
|
||||
}
|
||||
|
||||
public void setFreeContent(String freeContent) {
|
||||
this.freeContent = freeContent;
|
||||
}
|
||||
|
||||
public Long getLableId() {
|
||||
return lableId;
|
||||
}
|
||||
|
||||
public void setLableId(Long lableId) {
|
||||
this.lableId = lableId;
|
||||
}
|
||||
|
||||
public Long getStoreId() {
|
||||
return storeId;
|
||||
}
|
||||
|
||||
public void setStoreId(Long storeId) {
|
||||
this.storeId = storeId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String
|
||||
toString() {
|
||||
return "StoreSelfCard{" +
|
||||
"userId=" + userId +
|
||||
", cardId=" + cardId +
|
||||
", lableId=" + lableId +
|
||||
", storeId=" + storeId +
|
||||
", typeId=" + typeId +
|
||||
", totalCount=" + totalCount +
|
||||
", freeContent='" + freeContent + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@ package com.ruoyi.segchk.mapper;
|
|||
import com.ruoyi.segchk.domain.*;
|
||||
import com.ruoyi.segchk.domain.WeChatCustomerLink;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -116,10 +117,10 @@ public interface SegchkStoreIndexMapper {
|
|||
/**
|
||||
* 根据行政区域id,查询对应运营商id,如果没有,则返回默认运营商id
|
||||
*
|
||||
* @param adcode 行政区代码
|
||||
* @param params 行政区代码,以及默认展示行政地区代码
|
||||
* @return seg首页轮播图管理
|
||||
*/
|
||||
public Long selectSegchkProviderBycode(Long adcode);
|
||||
public HashMap<String, Object> selectSegchkProviderBycode(Map<String, Object> params);
|
||||
|
||||
public List<SegchkCarouseMgt> selectSegchkCarouseStoreList(SegchkCarouseMgt segchkCarouseMgt);
|
||||
|
||||
|
|
@ -144,4 +145,6 @@ public interface SegchkStoreIndexMapper {
|
|||
public Integer isCollectByUser(Map<String, Object> params);
|
||||
|
||||
public String selectSegchkStoreName(String storeId);
|
||||
|
||||
public int addAccountByReward(SegchkChargeReward segchkChargeReward);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -114,13 +114,19 @@ public interface SegchkUserIndexMapper {
|
|||
public int providerIsExit(Map<String, Object> parmMap);
|
||||
public int storeIsExit(Map<String, Object> parmMap);
|
||||
|
||||
public int recommenderIsExit(Map<String, Object> parmMap);
|
||||
|
||||
int updateSegchkProviderWechat(SegchkUserWechat segchkUserWechat);
|
||||
|
||||
int updateSegchkStoreWechat(SegchkUserWechat segchkUserWechat);
|
||||
public int updateSegchkStoreWechat(SegchkUserWechat segchkUserWechat);
|
||||
|
||||
int updateSegchkUserWechat(SegchkUserWechat segchkUserWechat);
|
||||
public int updateSegchkUserWechat(SegchkUserWechat segchkUserWechat);
|
||||
|
||||
WeChatCustomerLink getUserWechatOpenId(Long userId);
|
||||
public WeChatCustomerLink getUserWechatOpenId(Long userId);
|
||||
|
||||
public String selectSegchkUserName(String userId);
|
||||
|
||||
public SegchkChargeReward selectSegchkRewardInfo(SegchkUserCharge segchkUserCharge);
|
||||
|
||||
int addAccountByReward(SegchkChargeReward segchkChargeReward);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,9 @@ package com.ruoyi.segchk.service;
|
|||
import com.ruoyi.segchk.domain.*;
|
||||
import com.ruoyi.segchk.domain.WeChatCustomerLink;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* seg首页轮播图管理Service接口
|
||||
|
|
@ -41,7 +43,7 @@ public interface ISegchkStoreIndexService
|
|||
* 商户查找
|
||||
*
|
||||
* @param segchkStoreWebReq 搜索对象
|
||||
* @return seg首页轮播图管理
|
||||
* @return 商户查找
|
||||
*/
|
||||
public List<SegchkStoreIndexWebResp> selectSegchkStoreSearch(SegchkStoreWebReq segchkStoreWebReq);
|
||||
|
||||
|
|
@ -110,7 +112,7 @@ public interface ISegchkStoreIndexService
|
|||
* @param adcode 行政区代码
|
||||
* @return seg首页轮播图管理
|
||||
*/
|
||||
public Long getProvider(Long adcode);
|
||||
public HashMap<String, Object> getProvider(Map<String, Object> adcode);
|
||||
|
||||
/**
|
||||
* 根据提现id,进行提现结果保存,及余额更新
|
||||
|
|
@ -176,4 +178,8 @@ public interface ISegchkStoreIndexService
|
|||
Integer isCollectByUser(Long providerId, Long storeId, Long userId);
|
||||
|
||||
public String selectSegchkStoreName(String storeId);
|
||||
|
||||
Integer addStoreSelfCard(SegchkStoreSelfMgt segchkStoreSelfMgt);
|
||||
|
||||
public int addAccountByReward(SegchkChargeReward segchkChargeReward);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,62 +0,0 @@
|
|||
package com.ruoyi.segchk.service;
|
||||
|
||||
import com.ruoyi.segchk.domain.SegchkUserCharge;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* seg用户充值记录Service接口
|
||||
*
|
||||
* @author yinzhiying
|
||||
* @date 2021-08-23
|
||||
*/
|
||||
public interface ISegchkUserChargeService
|
||||
{
|
||||
/**
|
||||
* 查询seg用户充值记录
|
||||
*
|
||||
* @param chargeId seg用户充值记录主键
|
||||
* @return seg用户充值记录
|
||||
*/
|
||||
public SegchkUserCharge selectSegchkUserChargeByChargeId(Long chargeId);
|
||||
|
||||
/**
|
||||
* 查询seg用户充值记录列表
|
||||
*
|
||||
* @param segchkUserCharge seg用户充值记录
|
||||
* @return seg用户充值记录集合
|
||||
*/
|
||||
public List<SegchkUserCharge> selectSegchkUserChargeList(SegchkUserCharge segchkUserCharge);
|
||||
|
||||
/**
|
||||
* 新增seg用户充值记录
|
||||
*
|
||||
* @param segchkUserCharge seg用户充值记录
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertSegchkUserCharge(SegchkUserCharge segchkUserCharge);
|
||||
|
||||
/**
|
||||
* 修改seg用户充值记录
|
||||
*
|
||||
* @param segchkUserCharge seg用户充值记录
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateSegchkUserCharge(SegchkUserCharge segchkUserCharge);
|
||||
|
||||
/**
|
||||
* 批量删除seg用户充值记录
|
||||
*
|
||||
* @param chargeIds 需要删除的seg用户充值记录主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteSegchkUserChargeByChargeIds(Long[] chargeIds);
|
||||
|
||||
/**
|
||||
* 删除seg用户充值记录信息
|
||||
*
|
||||
* @param chargeId seg用户充值记录主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteSegchkUserChargeByChargeId(Long chargeId);
|
||||
}
|
||||
|
|
@ -276,4 +276,6 @@ public interface ISegchkUserIndexService
|
|||
* @return SegchkUserLikego
|
||||
*/
|
||||
public SegchkUserLikego selectUserLikeGo(SegchkUserLikego segchkUserLikego);
|
||||
|
||||
int insertSegchkUserCharge(SegchkUserCharge segchkUserCharge);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,8 +5,10 @@ import com.ruoyi.segchk.mapper.SegchkIndexStoreAccountMapper;
|
|||
import com.ruoyi.segchk.mapper.SegchkStoreCashMapper;
|
||||
import com.ruoyi.segchk.mapper.SegchkStoreIndexMapper;
|
||||
import com.ruoyi.segchk.mapper.SegchkStoreSecurityMapper;
|
||||
import com.ruoyi.segchk.service.ISegchkPreferenceLableService;
|
||||
import com.ruoyi.segchk.service.ISegchkStoreIndexService;
|
||||
import com.ruoyi.segchk.domain.WeChatCustomerLink;
|
||||
import com.ruoyi.segchk.service.ISegchkStoreSelfMgtService;
|
||||
import com.ruoyi.segchk.service.ISegchkUserIndexService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
|
@ -18,7 +20,6 @@ import java.util.HashMap;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
@Service
|
||||
public class ISegchkStoreIndexServiceImpl implements ISegchkStoreIndexService {
|
||||
|
|
@ -39,6 +40,12 @@ public class ISegchkStoreIndexServiceImpl implements ISegchkStoreIndexService {
|
|||
|
||||
@Autowired
|
||||
private ISegchkUserIndexService segchkUserIndexService;
|
||||
|
||||
@Autowired
|
||||
private ISegchkPreferenceLableService segchkPreferenceLableService;
|
||||
|
||||
@Autowired
|
||||
private ISegchkStoreSelfMgtService segchkStoreSelfMgtService;
|
||||
/**
|
||||
* 根据标签id,商户列表
|
||||
*
|
||||
|
|
@ -155,7 +162,10 @@ public class ISegchkStoreIndexServiceImpl implements ISegchkStoreIndexService {
|
|||
@Override
|
||||
public SegchkUserWebResp selectSegchkStoreWebInfo(SegchkUserWebReq segchkUserWebReq) {
|
||||
logger.debug("selectSegchkStoreWebInfo with: {}", segchkUserWebReq.toString());
|
||||
return segchkStoreIndexMapper.selectSegchkStoreWebInfo(segchkUserWebReq);
|
||||
SegchkUserWebResp segchkUserWebResp = segchkStoreIndexMapper.selectSegchkStoreWebInfo(segchkUserWebReq);
|
||||
segchkUserWebResp.setProviderId(segchkUserWebReq.getProviderId());
|
||||
segchkUserWebResp.setUserId(segchkUserWebReq.getUserId());
|
||||
return segchkUserWebResp;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -227,7 +237,7 @@ public class ISegchkStoreIndexServiceImpl implements ISegchkStoreIndexService {
|
|||
* @return seg首页轮播图管理
|
||||
*/
|
||||
@Override
|
||||
public Long getProvider(Long adcode) {
|
||||
public HashMap<String, Object> getProvider(Map<String, Object> adcode) {
|
||||
logger.debug("getProvider with: {}", adcode);
|
||||
return segchkStoreIndexMapper.selectSegchkProviderBycode(adcode);
|
||||
}
|
||||
|
|
@ -320,8 +330,8 @@ public class ISegchkStoreIndexServiceImpl implements ISegchkStoreIndexService {
|
|||
public int recommenderIsExit(String recommenderId, String recommenderLevel, String providerId) {
|
||||
logger.debug("recommenderIsExit with: {}---{}---{}", recommenderId, recommenderLevel, providerId);
|
||||
Map<String, Object> parmMap = new HashMap<>();
|
||||
parmMap.put("userId", recommenderId);
|
||||
parmMap.put("userLevel", recommenderLevel);
|
||||
parmMap.put("recommondId", recommenderId);
|
||||
parmMap.put("recommondLevel", recommenderLevel);
|
||||
parmMap.put("providerId", providerId);
|
||||
return segchkUserIndexService.recommenderIsExit(parmMap);
|
||||
}
|
||||
|
|
@ -348,4 +358,19 @@ public class ISegchkStoreIndexServiceImpl implements ISegchkStoreIndexService {
|
|||
public String selectSegchkStoreName(String storeId) {
|
||||
return segchkStoreIndexMapper.selectSegchkStoreName(storeId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer addStoreSelfCard(SegchkStoreSelfMgt segchkStoreSelfMgt) {
|
||||
if(segchkStoreSelfMgt.getTypeId() == 2){
|
||||
// 说明是赠卡
|
||||
SegchkPreferenceLable segchkPreferenceLable = segchkPreferenceLableService.selectSegchkPreferenceLableByPreferenceId(segchkStoreSelfMgt.getLableId());
|
||||
segchkStoreSelfMgt.setFreeName(segchkPreferenceLable.getPreferenceName());
|
||||
}
|
||||
return segchkStoreSelfMgtService.insertSegchkStoreSelfMgt(segchkStoreSelfMgt);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int addAccountByReward(SegchkChargeReward segchkChargeReward) {
|
||||
return segchkStoreIndexMapper.addAccountByReward(segchkChargeReward);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,94 +0,0 @@
|
|||
package com.ruoyi.segchk.service.impl;
|
||||
|
||||
import com.ruoyi.segchk.domain.SegchkUserCharge;
|
||||
import com.ruoyi.segchk.mapper.SegchkUserChargeMapper;
|
||||
import com.ruoyi.segchk.service.ISegchkUserChargeService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* seg用户充值记录Service业务层处理
|
||||
*
|
||||
* @author yinzhiying
|
||||
* @date 2021-08-23
|
||||
*/
|
||||
@Service
|
||||
public class SegchkUserChargeServiceImpl implements ISegchkUserChargeService
|
||||
{
|
||||
@Autowired
|
||||
private SegchkUserChargeMapper segchkUserChargeMapper;
|
||||
|
||||
/**
|
||||
* 查询seg用户充值记录
|
||||
*
|
||||
* @param chargeId seg用户充值记录主键
|
||||
* @return seg用户充值记录
|
||||
*/
|
||||
@Override
|
||||
public SegchkUserCharge selectSegchkUserChargeByChargeId(Long chargeId)
|
||||
{
|
||||
return segchkUserChargeMapper.selectSegchkUserChargeByChargeId(chargeId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询seg用户充值记录列表
|
||||
*
|
||||
* @param segchkUserCharge seg用户充值记录
|
||||
* @return seg用户充值记录
|
||||
*/
|
||||
@Override
|
||||
public List<SegchkUserCharge> selectSegchkUserChargeList(SegchkUserCharge segchkUserCharge)
|
||||
{
|
||||
return segchkUserChargeMapper.selectSegchkUserChargeList(segchkUserCharge);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增seg用户充值记录
|
||||
*
|
||||
* @param segchkUserCharge seg用户充值记录
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertSegchkUserCharge(SegchkUserCharge segchkUserCharge)
|
||||
{
|
||||
return segchkUserChargeMapper.insertSegchkUserCharge(segchkUserCharge);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改seg用户充值记录
|
||||
*
|
||||
* @param segchkUserCharge seg用户充值记录
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateSegchkUserCharge(SegchkUserCharge segchkUserCharge)
|
||||
{
|
||||
return segchkUserChargeMapper.updateSegchkUserCharge(segchkUserCharge);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除seg用户充值记录
|
||||
*
|
||||
* @param chargeIds 需要删除的seg用户充值记录主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteSegchkUserChargeByChargeIds(Long[] chargeIds)
|
||||
{
|
||||
return segchkUserChargeMapper.deleteSegchkUserChargeByChargeIds(chargeIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除seg用户充值记录信息
|
||||
*
|
||||
* @param chargeId seg用户充值记录主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteSegchkUserChargeByChargeId(Long chargeId)
|
||||
{
|
||||
return segchkUserChargeMapper.deleteSegchkUserChargeByChargeId(chargeId);
|
||||
}
|
||||
}
|
||||
|
|
@ -4,9 +4,7 @@ import com.ruoyi.order.service.impl.PaySupplier;
|
|||
//import com.ruoyi.order.service.impl.WechatWithdrawSupplier;
|
||||
import com.ruoyi.segchk.domain.*;
|
||||
import com.ruoyi.segchk.mapper.*;
|
||||
import com.ruoyi.segchk.service.ISegchkStoreIndexService;
|
||||
import com.ruoyi.segchk.service.ISegchkUserCashService;
|
||||
import com.ruoyi.segchk.service.ISegchkUserIndexService;
|
||||
import com.ruoyi.segchk.service.*;
|
||||
import com.ruoyi.setting.bean.BaseInfoSet;
|
||||
import com.ruoyi.setting.bean.WechatPaySet;
|
||||
import com.ruoyi.setting.service.BaseInfoSetService;
|
||||
|
|
@ -97,6 +95,9 @@ public class SegchkUserIndexServiceImpl implements ISegchkUserIndexService
|
|||
@Autowired
|
||||
private SegchkUserWechatMapper segchkUserWechatMapper;
|
||||
|
||||
@Autowired
|
||||
private SegchkUserRewardServiceImpl segchkUserRewardService;
|
||||
|
||||
@Autowired
|
||||
private ISegchkStoreIndexService segchkStoreIndexService;
|
||||
|
||||
|
|
@ -109,6 +110,13 @@ public class SegchkUserIndexServiceImpl implements ISegchkUserIndexService
|
|||
@Autowired
|
||||
private ISegchkUserCashService segchkUserCashService;
|
||||
|
||||
@Autowired
|
||||
private ISegchkStoreRewardService segchkStoreRewardService;
|
||||
|
||||
|
||||
@Autowired
|
||||
private ISegchkUserAccountService segchkUserAccountService;
|
||||
|
||||
/**
|
||||
* 注入支付设置服务
|
||||
*/
|
||||
|
|
@ -126,6 +134,15 @@ public class SegchkUserIndexServiceImpl implements ISegchkUserIndexService
|
|||
public SegchkUserWebResp selectSegchkUserWebInfo(SegchkUserWebReq segchkUserWebReq) {
|
||||
logger.debug("selectSegchkUserWebInfo with: {}", segchkUserWebReq.toString());
|
||||
SegchkUserWebResp segchkUserWebResp = segchkUserIndexMapper.selectSegchkUserWebInfo(segchkUserWebReq);
|
||||
segchkUserWebResp.setProviderId(segchkUserWebReq.getProviderId());
|
||||
if(ObjectUtils.isEmpty(segchkUserWebResp.getRecommenderId()) || ObjectUtils.isEmpty(segchkUserWebResp.getRecommenderLevel())){
|
||||
// 说明是平台用户,无推荐人
|
||||
segchkUserWebResp.setRecommenderLevel(null);
|
||||
segchkUserWebResp.setRecommenderId(null);
|
||||
segchkUserWebResp.setRecommenderName("无");
|
||||
logger.debug("selectSegchkUserWebInfo res: ({})", segchkUserWebResp.toString());
|
||||
return segchkUserWebResp;
|
||||
}
|
||||
switch (segchkUserWebResp.getRecommenderLevel()){
|
||||
case "0": segchkUserWebResp.setRecommenderName(segchkProviderIndexService.selectSegchkProviderName(segchkUserWebResp.getRecommenderId()));break;
|
||||
case "1": segchkUserWebResp.setRecommenderName(segchkStoreIndexService.selectSegchkStoreName(segchkUserWebResp.getRecommenderId()));break;
|
||||
|
|
@ -281,8 +298,9 @@ public class SegchkUserIndexServiceImpl implements ISegchkUserIndexService
|
|||
logger.debug("OrderCheckTransaction will check with vip card");
|
||||
ret += segchkIndexUserVipMapper.updateSegchkUserVipCheck(segchkServiceOrderChkTestResp.getCardId());
|
||||
System.out.println(ret);
|
||||
SegchkServiceChk segchkServiceChk = new SegchkServiceChk(); segchkServiceChk.setCardId(segchkServiceOrderChkTestResp.getCardId());
|
||||
segchkServiceChk.setCardTypeId(0L);
|
||||
SegchkServiceChk segchkServiceChk = new SegchkServiceChk();
|
||||
segchkServiceChk.setCardId(segchkServiceOrderChkTestResp.getCardId());
|
||||
// segchkServiceChk.setCardTypeId(0L);
|
||||
segchkServiceChk.setProviderId(segchkServiceOrderChkTestResp.getProviderId());
|
||||
segchkServiceChk.setStoreId(segchkServiceOrderChkTestResp.getStoreId());
|
||||
segchkServiceChk.setUserId(segchkServiceOrderChkTestResp.getUserId());
|
||||
|
|
@ -323,8 +341,12 @@ public class SegchkUserIndexServiceImpl implements ISegchkUserIndexService
|
|||
@Transactional
|
||||
public void chargeRet(String chargeId, int ret) {
|
||||
// 根据回调结果。如果成功,则插入生成会员卡,并获取会员卡号,否则不产生新的会员卡号
|
||||
logger.debug("chargeRet with: {}---{}", chargeId.toString(), ret);
|
||||
logger.debug("chargeRet with: {}---{}", chargeId, ret);
|
||||
SegchkUserCharge segchkUserCharge1 = segchkUserChargeMapper.selectSegchkUserChargeByChargeId(Long.valueOf(chargeId));
|
||||
if(ObjectUtils.isEmpty(segchkUserCharge1) || ObjectUtils.isEmpty(segchkUserCharge1.getRetFlag())) {
|
||||
logger.debug("chargeRet with: {} is not exit", chargeId);
|
||||
return;
|
||||
}
|
||||
if(segchkUserCharge1.getRetFlag() != 0){
|
||||
logger.debug("chargeRet charge:{}{} had been updated with: {} on {}", chargeId, ret, segchkUserCharge1.getRetFlag(), segchkUserCharge1.getModTime());
|
||||
return;
|
||||
|
|
@ -339,6 +361,10 @@ public class SegchkUserIndexServiceImpl implements ISegchkUserIndexService
|
|||
}
|
||||
else{
|
||||
logger.info("chargeRet生成新的会员卡成功--->{0}:{1}\n", chargeId, segchkChargeRet.getCardId());
|
||||
SegchkUserBasicInfo segchkUserBasicInfo = new SegchkUserBasicInfo();
|
||||
segchkUserBasicInfo.setUserId(segchkUserCharge1.getUserId());
|
||||
segchkUserBasicInfo.setCardTypeId(segchkUserCharge1.getCardTypeId());
|
||||
segchkUserBasicInfoMapper.updateSegchkUserBasicInfo(segchkUserBasicInfo);
|
||||
}
|
||||
// 根据新生成的会员卡号,充值id,更新相应的充值记录表,商家赠卡表等
|
||||
SegchkUserCharge segchkUserCharge = new SegchkUserCharge();
|
||||
|
|
@ -352,15 +378,83 @@ public class SegchkUserIndexServiceImpl implements ISegchkUserIndexService
|
|||
}
|
||||
segchkUserCharge.setRetFlag(1);
|
||||
int updaterest = segchkUserChargeMapper.updateSegchkUserChargeByRet(segchkUserCharge);
|
||||
System.out.println(updaterest);
|
||||
logger.warn("chargeRet update with {} result: {}", "success", updaterest == 1 ? "successed" : "failed");
|
||||
|
||||
// 计算返利.给用户或商户,运营商加余额
|
||||
SegchkChargeReward segchkChargeReward = segchkUserIndexMapper.selectSegchkRewardInfo(segchkUserCharge1);
|
||||
|
||||
if(ObjectUtils.isEmpty(segchkChargeReward.getUserRecommenders()) || ObjectUtils.isEmpty(segchkChargeReward.getRecommendersLevel())){
|
||||
// 推荐人是平台
|
||||
logger.warn("chargeRet charge({}) reward is will belong to platform", chargeId);
|
||||
}
|
||||
/*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{
|
||||
logger.warn("chargeRet with: {}---{}, 充值失败!!!", chargeId.toString(), ret);
|
||||
SegchkUserCharge segchkUserCharge = new SegchkUserCharge();
|
||||
segchkUserCharge.setChargeId(Long.parseLong(chargeId));
|
||||
segchkUserCharge.setRetFlag(2);
|
||||
int updaterest = segchkUserChargeMapper.updateSegchkUserCharge(segchkUserCharge);
|
||||
int deleterest = segchkIndexUserAccountMapper.deleteSegchkUserAccountByCharge(segchkUserCharge);
|
||||
System.out.println(updaterest);
|
||||
logger.warn("chargeRet update with {} result: {}", "failed", deleterest == 1 ? "successed" : "failed");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -569,13 +663,7 @@ public class SegchkUserIndexServiceImpl implements ISegchkUserIndexService
|
|||
@Override
|
||||
public int recommenderIsExit(Map<String, Object> parmMap) {
|
||||
logger.debug("recommenderIsExit with: {}", parmMap.toString());
|
||||
String userLevel = parmMap.get("userLevel").toString();
|
||||
switch (userLevel){
|
||||
case "0": return segchkUserIndexMapper.providerIsExit(parmMap);
|
||||
case "1": return segchkUserIndexMapper.storeIsExit(parmMap);
|
||||
case "2": return segchkUserIndexMapper.userIsExit(parmMap);
|
||||
default: return -1;
|
||||
}
|
||||
return segchkUserIndexMapper.recommenderIsExit(parmMap);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -608,7 +696,8 @@ public class SegchkUserIndexServiceImpl implements ISegchkUserIndexService
|
|||
return segchkUserWechat.getOpenid();
|
||||
}
|
||||
else if(segchkUserLevelInfo.getUserLevel() == 1){
|
||||
return segchkStoreIndexService.selectWeChatInfoByStoreId(segchkUserLevelInfo.getUserId()).getOpenId();
|
||||
WeChatCustomerLink weChatCustomerLink = segchkStoreIndexService.selectWeChatInfoByStoreId(segchkUserLevelInfo.getUserId());
|
||||
return ObjectUtils.isEmpty(weChatCustomerLink) ? null : weChatCustomerLink.getOpenId();
|
||||
}
|
||||
else if(segchkUserLevelInfo.getUserLevel() == 0){
|
||||
return segchkProviderIndexService.selectWeChatInfoByProviderId(segchkUserLevelInfo.getUserId());
|
||||
|
|
@ -1009,6 +1098,28 @@ public class SegchkUserIndexServiceImpl implements ISegchkUserIndexService
|
|||
return segchkUserLikegos.get(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertSegchkUserCharge(SegchkUserCharge segchkUserCharge) {
|
||||
int i = segchkUserChargeMapper.addSegchkUserChargeWithRecommend(segchkUserCharge);
|
||||
if(i < 1){
|
||||
// 生成订单失败
|
||||
return i;
|
||||
}
|
||||
if(segchkUserCharge.getAccountUsed().compareTo(new BigDecimal(0.0)) > 1){
|
||||
// 只要使用了余额就进行余额更新无论充值是否实际发生支付 ,防止被其他行为如提现,返利打乱造成数据不一致
|
||||
// 如果全部使用用户余额支付,则更新用户余额信息
|
||||
SegchkUserAccount segchkUserAccount = new SegchkUserAccount();
|
||||
segchkUserAccount.setProviderId(segchkUserCharge.getProviderId());
|
||||
segchkUserAccount.setChargeId(segchkUserCharge.getChargeId());
|
||||
segchkUserAccount.setUserId(segchkUserCharge.getUserId());
|
||||
// 把用户使用充值的余额写进余额中
|
||||
segchkUserAccount.setAccount(segchkUserCharge.getAccountUsed());
|
||||
i = segchkUserAccountService.insertSegchkUserAccountBuyCharge(segchkUserAccount);
|
||||
}
|
||||
return i;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 微信支付回调
|
||||
|
|
|
|||
|
|
@ -0,0 +1,110 @@
|
|||
package com.ruoyi.util;
|
||||
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class Graphics2DUtils {
|
||||
/**
|
||||
* 向画布上写文字
|
||||
*
|
||||
* @param g Graphics2D对象
|
||||
* @param color 颜色
|
||||
* @param font 字体
|
||||
* @param content 内容
|
||||
* @param x 坐标x
|
||||
* @param y 坐标y
|
||||
*/
|
||||
public static void drawString(Graphics2D g, Color color, Font font, String content, float x, float y) {
|
||||
g.setColor(color);
|
||||
g.setFont(font);
|
||||
g.drawString(content, x, y);
|
||||
}
|
||||
|
||||
/**
|
||||
* 向画布上写多行文字文字,自动居中
|
||||
*
|
||||
* @param g Graphics2D对象
|
||||
* @param color 颜色
|
||||
* @param font 字体
|
||||
* @param content 内容
|
||||
* @param x 坐标X
|
||||
* @param y 坐标y
|
||||
* @param width 画布宽度
|
||||
* @param lineWordNum 每行字数
|
||||
* @param linePadding 行间距
|
||||
* @param center 是否居中
|
||||
*/
|
||||
public static void drawString(Graphics2D g, Color color, Font font, String content, float x, float y, int width, int lineWordNum, int linePadding, boolean center) {
|
||||
int num = content.length();
|
||||
|
||||
ArrayList<String> contents = new ArrayList<>();
|
||||
if (num <= lineWordNum) {
|
||||
|
||||
contents.add(content);
|
||||
} else {
|
||||
for (int i = 0; i < num; i += lineWordNum) {
|
||||
contents.add(StringUtils.substring(content, i, i + lineWordNum));
|
||||
}
|
||||
|
||||
}
|
||||
for (int i = 0; i < contents.size(); i++) {
|
||||
String s = contents.get(i);
|
||||
if (i != 0) {
|
||||
y += linePadding + font.getSize();
|
||||
}
|
||||
if (center) {
|
||||
drawCenterString(g, color, font, s, width, y);
|
||||
} else {
|
||||
drawString(g, color, font, s, x, y);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 向画布上写多行文字文字,自动居中
|
||||
*
|
||||
* @param g Graphics2D对象
|
||||
* @param color 颜色
|
||||
* @param font 字体
|
||||
* @param content 内容
|
||||
* @param y 坐标y
|
||||
* @param width 画布宽度
|
||||
* @param lineWordNum 每行字数
|
||||
* @param linePadding 行间距
|
||||
*/
|
||||
public static void drawCenterString(Graphics2D g, Color color, Font font, String content, float y, int width, int lineWordNum, int linePadding) {
|
||||
drawString(g, color, font, content, 0, y, width, lineWordNum, linePadding, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 向画布上写文字,自动居中
|
||||
*
|
||||
* @param g Graphics2D对象
|
||||
* @param color 颜色
|
||||
* @param font 字体
|
||||
* @param content 内容
|
||||
* @param width 画布宽度
|
||||
* @param y 坐标y
|
||||
*/
|
||||
public static void drawCenterString(Graphics2D g, Color color, Font font, String content, int width, float y) {
|
||||
int textWidth = getStringWidth(g, font, content);
|
||||
|
||||
drawString(g, color, font, content, (width - textWidth) / 2, y);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取字符串内容的宽度
|
||||
*
|
||||
* @param g Graphics2D对象
|
||||
* @param font 字体
|
||||
* @param content 内容
|
||||
* @return
|
||||
*/
|
||||
public static int getStringWidth(Graphics2D g, Font font, String content) {
|
||||
FontMetrics fm = g.getFontMetrics(font);
|
||||
//获取字符串宽度
|
||||
return fm.stringWidth(content);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,358 @@
|
|||
package com.ruoyi.util;
|
||||
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import com.ruoyi.common.core.redis.RedisCache;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.utils.uuid.UUID;
|
||||
import com.ruoyi.setting.bean.PaySetCommon;
|
||||
import com.ruoyi.setting.service.ILsPaySettingService;
|
||||
//import com.sun.image.codec.jpeg.JPEGCodec;
|
||||
//import com.sun.image.codec.jpeg.JPEGImageEncoder;
|
||||
import net.sf.json.JSONObject;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.http.HttpEntity;
|
||||
import org.apache.http.HttpResponse;
|
||||
import org.apache.http.client.ClientProtocolException;
|
||||
import org.apache.http.client.HttpClient;
|
||||
import org.apache.http.client.methods.HttpGet;
|
||||
import org.apache.http.client.methods.HttpPost;
|
||||
import org.apache.http.entity.StringEntity;
|
||||
import org.apache.http.impl.client.DefaultHttpClient;
|
||||
import org.apache.http.impl.client.HttpClients;
|
||||
import org.apache.http.message.BasicHeader;
|
||||
import org.apache.http.protocol.HTTP;
|
||||
import org.apache.http.util.EntityUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import javax.imageio.ImageIO;
|
||||
import java.awt.*;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.*;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.util.Base64;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@Component
|
||||
public class PosterUtils extends BaseEntity {
|
||||
private static final String ACCESS_TOKEN = "微信小程序token";
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(PosterUtils.class);
|
||||
|
||||
/**
|
||||
* 注入redis服务
|
||||
*/
|
||||
@Autowired
|
||||
private RedisCache redisService;
|
||||
|
||||
/**
|
||||
* 注入支付设置服务
|
||||
*/
|
||||
@Autowired
|
||||
private ILsPaySettingService paySetService;
|
||||
|
||||
private static PosterUtils posterUtils;
|
||||
|
||||
@PostConstruct
|
||||
public void init(){
|
||||
posterUtils = this;
|
||||
posterUtils.redisService = this.redisService;
|
||||
posterUtils.paySetService = this.paySetService;
|
||||
}
|
||||
|
||||
public static String createPoster(String posterTitle, String scene, String moneyReward, String petNameUrl, String qrpath, String bgpath, String sitepage) throws Exception {
|
||||
// String resourcePath = PosterUtils.class.getResource("/image/").getPath();
|
||||
long nowTime = System.currentTimeMillis();
|
||||
/*String qrcodeName = UUID.randomUUID().toString().replace("-", "");
|
||||
String petUrlName = UUID.randomUUID().toString().replace("-", "");
|
||||
URL petUnitUrl = new URL(petNameUrl);
|
||||
HttpURLConnection conn = (HttpURLConnection) petUnitUrl.openConnection();
|
||||
conn.setRequestMethod("GET");
|
||||
conn.setConnectTimeout(5 * 1000);
|
||||
BufferedInputStream biss = new BufferedInputStream(conn.getInputStream());
|
||||
OutputStream outputStream = new FileOutputStream(new File(resourcePath + petUrlName + ".png"));
|
||||
int lens;
|
||||
byte[] arrs = new byte[1024];
|
||||
while ((lens = biss.read(arrs)) != -1) {
|
||||
outputStream.write(arrs, 0, lens);
|
||||
outputStream.flush();
|
||||
}
|
||||
outputStream.close();*/
|
||||
PaySetCommon paySetCommon = posterUtils.paySetService.queryPaySet();
|
||||
//二维码图片
|
||||
String urlstr ="https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=";
|
||||
// String url = "http://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=";
|
||||
URL getCodeUrl = new URL(urlstr + GetAccessToken(paySetCommon.getWechatAppletPaySet().getAppId(), paySetCommon.getWechatAppletPaySet().getAppSecret()));
|
||||
HttpURLConnection httpURLConnection = (HttpURLConnection) getCodeUrl.openConnection();
|
||||
httpURLConnection.setRequestMethod("POST");// 提交模式
|
||||
httpURLConnection.setDoOutput(true);
|
||||
httpURLConnection.setDoInput(true);
|
||||
PrintWriter printWriter = new PrintWriter(httpURLConnection.getOutputStream());
|
||||
JSONObject paramJson = new JSONObject();
|
||||
paramJson.accumulate("scene", scene).accumulate("page", sitepage);
|
||||
paramJson.put("auto_color", false);
|
||||
JSONObject lineColor = new JSONObject();
|
||||
lineColor.put("r", 0);
|
||||
lineColor.put("g", 0);
|
||||
lineColor.put("b", 0);
|
||||
paramJson.put("line_color", lineColor);
|
||||
printWriter.write(paramJson.toString());
|
||||
printWriter.flush();
|
||||
// BufferedInputStream bis = new BufferedInputStream(httpURLConnection.getInputStream());
|
||||
BufferedImage qrimg = ImageIO.read(httpURLConnection.getInputStream());
|
||||
|
||||
ImageIO.write(qrimg, "jpg", new File(qrpath));
|
||||
/*OutputStream ost = new FileOutputStream(new File(qrpath));
|
||||
int len;
|
||||
byte[] arr = new byte[1024];
|
||||
while ((len = bis.read(arr)) != -1) {
|
||||
ost.write(arr, 0, len);
|
||||
ost.flush();
|
||||
}
|
||||
ost.close();*/
|
||||
|
||||
//合成图片
|
||||
String title = posterTitle;
|
||||
if (title.length() > 21) {
|
||||
title = StringUtils.substring(title, 0, 21) + "...";
|
||||
}
|
||||
//宠物图片文件
|
||||
File petImg = FileUtils.toFile(PosterUtils.class.getResource("/templates/posters/bg.jpg"));
|
||||
//二维码图片文件 1
|
||||
File qrCodeImg = new File(qrpath);
|
||||
//背景地址
|
||||
//为了方便演示放在resources中,可根据实际情况(上传后)将背景模板放入单独的资源文件夹或远程资源服务器
|
||||
URL url = PosterUtils.class.getResource("/templates/posters/bg.jpg");
|
||||
File fileBg = FileUtils.toFile(url);
|
||||
//1、背景图片输入流
|
||||
FileInputStream fis = new FileInputStream(fileBg);
|
||||
//2、背景图片对象
|
||||
Image srcImg = ImageIO.read(fis);
|
||||
//3、创建画布,根据背景图片的宽高
|
||||
BufferedImage bufferedImage = new BufferedImage(
|
||||
//宽度
|
||||
srcImg.getWidth(null),
|
||||
//高度
|
||||
srcImg.getHeight(null),
|
||||
//图片类型
|
||||
BufferedImage.TYPE_INT_RGB);
|
||||
int width = bufferedImage.getWidth();
|
||||
int height = bufferedImage.getHeight();
|
||||
//4、得到2d画笔对象
|
||||
Graphics2D g = bufferedImage.createGraphics();
|
||||
// 设置对线段的锯齿状边缘处理
|
||||
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
|
||||
//5、设置画布背景
|
||||
g.drawImage(srcImg.getScaledInstance(width, height, Image.SCALE_SMOOTH), 0, 0, null);
|
||||
//6、```````````开始作画```````````
|
||||
Font rewardFirstFont = new Font("PingFang SC Bold", Font.PLAIN, 24);
|
||||
Font rewardLastFont = new Font("PingFang SC Bold", Font.PLAIN, 48);
|
||||
int rewardFirstWidth = Graphics2DUtils.getStringWidth(g, rewardFirstFont, "赏金¥");
|
||||
int rewardLastWidth = Graphics2DUtils.getStringWidth(g, rewardLastFont, moneyReward);
|
||||
//赏金内容
|
||||
Graphics2DUtils.drawString(g, Color.decode("#ffd434"), rewardFirstFont, "赏金¥", (width - rewardFirstWidth - rewardLastWidth) / 2, 550);
|
||||
Graphics2DUtils.drawString(g, Color.decode("#ffd434"), rewardLastFont, moneyReward, (width - rewardLastWidth + rewardFirstWidth) / 2, 550);
|
||||
//标题
|
||||
Graphics2DUtils.drawString(g, Color.decode("#323232"), new Font("PingFang SC Bold", Font.BOLD, 34), title, 0, 400, width, 12, 5, true);
|
||||
//把宠物图片和二维码图片划入背景
|
||||
g.drawImage(ImageIO.read(petImg), 130, 90, 362, 250, null);
|
||||
g.drawImage(ImageIO.read(qrCodeImg), 100, 700, 175, 175, null);
|
||||
// ```````````结束作画```````````
|
||||
//7、处理画作
|
||||
g.dispose();
|
||||
//8、得到输出流
|
||||
ByteArrayOutputStream os = new ByteArrayOutputStream();
|
||||
ImageIO.write(bufferedImage, "jpg", os);
|
||||
//9、转成base64编码前端可以直接显示,也可转换成其它形式比如文件
|
||||
String encodeStr = Base64.getEncoder().encodeToString(os.toByteArray());
|
||||
//保存为图片文件
|
||||
FileUtils.writeByteArrayToFile(new File(bgpath), os.toByteArray());
|
||||
//10、关闭输入输出流
|
||||
fis.close();
|
||||
os.close();
|
||||
qrCodeImg.delete();
|
||||
petImg.delete();
|
||||
return encodeStr;
|
||||
|
||||
}
|
||||
|
||||
public static String GetAccessToken(String appId, String secret) throws ClientProtocolException,
|
||||
IOException {
|
||||
String access_token1 = posterUtils.redisService.getCacheObject("access_token");
|
||||
if(!StringUtils.isEmpty(access_token1)){
|
||||
return access_token1;
|
||||
}
|
||||
HttpGet httpGet = new HttpGet(
|
||||
"https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="
|
||||
+ appId + "&secret="
|
||||
+ secret );
|
||||
HttpClient httpClient = HttpClients.createDefault();
|
||||
HttpResponse res = httpClient.execute(httpGet);
|
||||
HttpEntity entity = res.getEntity();
|
||||
String result = EntityUtils.toString(entity, "UTF-8");
|
||||
JSONObject jsons = JSONObject.fromObject(result);
|
||||
String expires_in = jsons.getString("expires_in");
|
||||
|
||||
//缓存
|
||||
if(Integer.parseInt(expires_in)==7200){
|
||||
//ok
|
||||
String access_token = jsons.getString("access_token");
|
||||
posterUtils.redisService.setCacheObject("access_token", access_token, 2, TimeUnit.HOURS);
|
||||
return access_token;
|
||||
}else{
|
||||
System.out.println("出错获取token失败!");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// 获取二维码 信息图片
|
||||
public static String GetPostUrl(String access_token,String id) throws Exception {
|
||||
//String result = HttpRequest.sendPost("http://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token="+access_token, path);
|
||||
System.out.println(id);
|
||||
String url ="https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=";
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
map.put("path", "pages/index/index?###="+id);//你二维码中跳向的地址
|
||||
map.put("width", "430");//图片大小
|
||||
JSONObject json = JSONObject.fromObject(map);
|
||||
System.out.println(json);
|
||||
// String res= HttpClientConnectionManager.httpPostWithJSON(url
|
||||
// + access_token, json.toString(),id);
|
||||
// System.out.println(res);
|
||||
return null;
|
||||
}
|
||||
|
||||
// 返回图片保存 ,根据 id
|
||||
public static String httpPostWithJSON(String url, String json,String id)
|
||||
throws Exception {
|
||||
String result = null;
|
||||
DefaultHttpClient httpClient = new DefaultHttpClient();
|
||||
HttpPost httpPost = new HttpPost(url);
|
||||
httpPost.addHeader(HTTP.CONTENT_TYPE, "application/json");
|
||||
|
||||
StringEntity se = new StringEntity(json);
|
||||
se.setContentType("application/json");
|
||||
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,
|
||||
"UTF-8"));
|
||||
httpPost.setEntity(se);
|
||||
// httpClient.execute(httpPost);
|
||||
HttpResponse response = httpClient.execute(httpPost);
|
||||
if (response != null) {
|
||||
HttpEntity resEntity = response.getEntity();
|
||||
if (resEntity != null) {
|
||||
InputStream instreams = resEntity.getContent();
|
||||
String uploadSysUrl = "D://erweima/";
|
||||
File saveFile = new File(uploadSysUrl+id+".png");
|
||||
// 判断这个文件(saveFile)是否存在
|
||||
if (!saveFile.getParentFile().exists()) {
|
||||
// 如果不存在就创建这个文件夹
|
||||
saveFile.getParentFile().mkdirs();
|
||||
}
|
||||
saveToImgByInputStream(instreams, uploadSysUrl, id+".png");
|
||||
}
|
||||
}
|
||||
httpPost.abort();
|
||||
return result;
|
||||
}
|
||||
|
||||
/* @param instreams 二进制流
|
||||
* @param imgPath 图片的保存路径
|
||||
* @param imgName 图片的名称
|
||||
* @return
|
||||
* 1:保存正常
|
||||
* 0:保存失败
|
||||
*/
|
||||
public static int saveToImgByInputStream(InputStream instreams,String imgPath,String imgName){
|
||||
|
||||
int stateInt = 1;
|
||||
if(instreams != null){
|
||||
try {
|
||||
File file=new File(imgPath+imgName);//可以是任何图片格式.jpg,.png等
|
||||
FileOutputStream fos=new FileOutputStream(file);
|
||||
|
||||
byte[] b = new byte[1024];
|
||||
int nRead = 0;
|
||||
while ((nRead = instreams.read(b)) != -1) {
|
||||
fos.write(b, 0, nRead);
|
||||
}
|
||||
fos.flush();
|
||||
fos.close();
|
||||
} catch (Exception e) {
|
||||
stateInt = 0;
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
try {
|
||||
instreams.close();
|
||||
} catch (IOException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
return stateInt;
|
||||
}
|
||||
|
||||
// 然后是图片重合和增加字体
|
||||
public void changeImage(String imageurl,String i ){
|
||||
try {
|
||||
// InputStream imagein = new FileInputStream(
|
||||
// "D:/systemAvatarNew1.png");
|
||||
// InputStream imagein2 = new FileInputStream(
|
||||
// "D:/qqfile/1852230493/FileRecv/4-02.png");
|
||||
InputStream imagein = new FileInputStream(
|
||||
"D:/systemAvatarNew1.png");
|
||||
InputStream imagein2 = new FileInputStream(
|
||||
imageurl);
|
||||
|
||||
BufferedImage image = ImageIO.read(imagein);
|
||||
BufferedImage image2 = ImageIO.read(imagein2);
|
||||
//image2.getWidth() - 160, image2.getHeight() - 155,
|
||||
Graphics g = image.getGraphics();
|
||||
g.drawImage(image2, 300, 230, 410,422,null);
|
||||
// g.drawImage(image2, image.getWidth() - image2.getWidth() - 195,
|
||||
// image.getHeight() - image2.getHeight() - 190,
|
||||
// 340,349,null);
|
||||
OutputStream outImage = new FileOutputStream(
|
||||
imageurl);
|
||||
// JPEGImageEncoder enc = JPEGCodec.createJPEGEncoder(outImage);
|
||||
// enc.encode(image);
|
||||
|
||||
|
||||
BufferedImage bimg=ImageIO.read(new FileInputStream(imageurl));
|
||||
//得到Graphics2D 对象
|
||||
Graphics2D g2d=(Graphics2D)bimg.getGraphics();
|
||||
//设置颜色和画笔粗细
|
||||
g2d.setColor(Color.black);
|
||||
g2d.setStroke(new BasicStroke(5));
|
||||
//String pathString = "D://qqfile/1852230493/FileRecv/SourceHanSansCN-/SourceHanSansCN-Heavy.otf";
|
||||
// Font dynamicFont = Font.createFont(Font.TRUETYPE_FONT, new File(pathString));
|
||||
|
||||
g2d.setFont(new Font("微软雅黑", Font.PLAIN, 36));
|
||||
//g2d.setFont(Loadfont.loadFont(pathString, 45));
|
||||
//绘制图案或文字
|
||||
g2d.drawString("编号: "+i, 320, 700);
|
||||
// g2d.drawString(i, 450, 700);
|
||||
|
||||
ImageIO.write(bimg, "JPG",new FileOutputStream(imageurl));
|
||||
|
||||
|
||||
File fromFile = new File(imageurl);
|
||||
File toFile = new File(imageurl);
|
||||
// Image Image1 =new Image();
|
||||
// Image1.resizePng(fromFile, toFile, 1000, 1000, false);
|
||||
|
||||
|
||||
|
||||
imagein.close();
|
||||
imagein2.close();
|
||||
outImage.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -164,33 +164,33 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<select id="selectSegchkStoreSaleDetails" parameterType="SegchkServiceAndSaleWebReq" resultMap="SegchkServiceAndSaleDetailWebRespResult">
|
||||
select store.store_name
|
||||
, charge.charge_count as static_count
|
||||
, cardmgt.card_type_name as card_name
|
||||
, ifnull(cardmgt.card_type_name, '未知卡') as card_name
|
||||
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
|
||||
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
|
||||
left join
|
||||
(select provider_id, store_id, store_name from segchk_store_basic_info where provider_id = #{providerId}) store on charge.provider_id = store.provider_id and charge.store_id = store.store_id
|
||||
order by store_id
|
||||
order by charge.store_id
|
||||
</select>
|
||||
|
||||
<select id="selectSegchkStoreServiceDetails" parameterType="SegchkServiceAndSaleWebReq" resultMap="SegchkServiceAndSaleDetailWebRespResult">
|
||||
select chk.chk_count as static_count
|
||||
, store.store_name
|
||||
, cardmgt.card_type_name as card_name
|
||||
, ifnull(cardmgt.card_type_name, '未知卡') as card_name
|
||||
from
|
||||
(select provider_id, store_id, card_type_id, count(1) as chk_count from segchk_service_chk where provider_id = #{providerId} and date_format(mod_time, '%Y%m') = date_format(#{staticMonth}, '%Y%m') group by provider_id, store_id, card_type_id order by store_id, card_type_id) chk
|
||||
left join
|
||||
(select provider_id, card_type_id, card_type_name from segchk_charge_card where provider_id = #{providerId}) cardmgt on cardmgt.provider_id = chk.provider_id and chk.card_type_id = cardmgt.card_type_id
|
||||
left join
|
||||
(select provider_id, store_id, store_name from segchk_store_basic_info where provider_id = #{providerId}) store on chk.provider_id = store.provider_id and chk.store_id = store.store_id
|
||||
order by store_id
|
||||
order by chk.store_id
|
||||
</select>
|
||||
|
||||
<select id="selectProviderOpenIdById" parameterType="long" resultType="string">
|
||||
select openid from segchk_provider_mgt where provider_id = #{providerId}
|
||||
</select>
|
||||
<select id="selectSegchkProviderName" parameterType="string" resultType="java.lang.String">
|
||||
select nick_name from segchk_provider_mgt where where provider_id = #{providerId}
|
||||
select nick_name from segchk_provider_mgt where provider_id = #{providerId}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -141,6 +141,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<sql id="selectSegchkCarouseMgtVo1">
|
||||
select provider_id, store_id, store_carousel, sort_id from segchk_carouse_mgt
|
||||
</sql>
|
||||
<insert id="addAccountByReward" parameterType="SegchkChargeReward">
|
||||
insert into segchk_store_account (store_id, account, reward_id, charge_id, mod_time, provider_id)
|
||||
|
||||
select suc.store_id, if(isnull(ssa.account), #{reward}, ssa.account + #{reward}) as account, reward_id, charge_id, now(), provider_id from
|
||||
(select #{userRecommenders} as store_id
|
||||
, #{rewardId} as reward_id
|
||||
, #{chargeId} as charge_id
|
||||
, #{providerId} as provider_id
|
||||
) suc
|
||||
left join
|
||||
(
|
||||
<!-- # 上一次的余额-->
|
||||
select account, store_id from segchk_store_account where store_id = #{userRecommenders} order by account_id desc limit 1
|
||||
) ssa
|
||||
on ssa.store_id = suc.store_id
|
||||
</insert>
|
||||
|
||||
<select id="selectSegchkStoreList" parameterType="SegchkStoreWebReq" resultMap="SegchkStoreIndexWebRespResult">
|
||||
select
|
||||
|
|
@ -603,7 +619,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</select>
|
||||
|
||||
<select id="selectSegchkStoreSaleDetails" parameterType="SegchkServiceAndSaleWebReq" resultMap="SegchkServiceAndSaleDetailWebRespResult">
|
||||
select charge.mod_time, charge.card_id, 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
|
||||
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
|
||||
|
|
@ -613,7 +629,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<select id="selectSegchkStoreServiceDetails" parameterType="SegchkServiceAndSaleWebReq" resultMap="SegchkServiceAndSaleDetailWebRespResult">
|
||||
select chk.mod_time
|
||||
, chk.card_id
|
||||
, cardmgt.card_type_name as card_name
|
||||
, ifnull(cardmgt.card_type_name, '未知卡') as card_name
|
||||
from
|
||||
(select provider_id, card_id, store_id, card_type_id, mod_time from segchk_service_chk where provider_id = #{providerId} and store_id = #{storeId} and date_format(mod_time, '%Y%m') = date_format(#{staticMonth}, '%Y%m') order by mod_time desc) chk
|
||||
left join
|
||||
|
|
@ -641,9 +657,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
day order by mod_time desc;
|
||||
</select>
|
||||
|
||||
<select id="selectSegchkProviderBycode" parameterType="long" resultType="java.lang.Long">
|
||||
select provider_id from
|
||||
(select provider_id, if(District_id=110000, 1, 0) as aaa from segchk_provider_mgt where District_id = 110000 or District_id = #{district_id} order by aaa limit 1) a
|
||||
<select id="selectSegchkProviderBycode" parameterType="java.util.Map" resultType="java.util.HashMap">
|
||||
select provider_id as providerId, aaa as provFlag
|
||||
, if(aaa = 1, (
|
||||
select district_name from segchk_district_info where district_id = #{defaultDistrict}
|
||||
), '') as provName
|
||||
from
|
||||
(select provider_id, if(District_id=#{districtId}
|
||||
, 0, 1) as aaa from segchk_provider_mgt where District_id = #{defaultDistrict} or District_id = #{districtId} order by aaa limit 1) a
|
||||
</select>
|
||||
|
||||
<select id="selectSegchkCarouseStoreList" parameterType="SegchkCarouseMgt" resultMap="SegchkCarouseMgtResult">
|
||||
|
|
@ -720,7 +741,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</select>
|
||||
|
||||
<select id="selectStoreOpenIdById" parameterType="long" resultMap="WeChatCustomerLinkResult">
|
||||
select openid from segchk_store_basic_info where store_id = #{storeId}
|
||||
select store_id as user_id, openid, provider_id from segchk_store_basic_info where store_id = #{storeId}
|
||||
</select>
|
||||
|
||||
<select id="isCollectByUser" parameterType="java.util.Map" resultType="java.lang.Integer">
|
||||
|
|
|
|||
|
|
@ -176,6 +176,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<result property="providerId" column="provider_id"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="SegchkChargeRewardResult" type="SegchkChargeReward">
|
||||
<result property="cardTypeId" column="card_type_id"/>
|
||||
<result property="userId" column="user_id"/>
|
||||
<result property="providerId" column="provider_id"/>
|
||||
<result property="charge" column="charge"/>
|
||||
<result property="accountUsed" column="account_used"/>
|
||||
<result property="userRecommenders" column="user_recommenders"/>
|
||||
<result property="recommendersLevel" column="recommenders_level"/>
|
||||
<result property="totalChargeCount" column="total_charge_count"/>
|
||||
<result property="reward" column="reward"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="selectSegchkUserWebInfo" parameterType="SegchkUserWebReq" resultMap="SegchkUserWebRespResult">
|
||||
select basic.user_id
|
||||
, case when isnull(wechat.nick_name) then basic.phone_no else wechat.nick_name end as user_name
|
||||
|
|
@ -221,7 +233,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
on basic.user_id = card.user_id and basic.provider_id = card.provider_id
|
||||
left join
|
||||
(select provider_id, user_id, count(1) as storecardcount from segchk_store_self_mgt where provider_id = #{providerId} and user_id = #{userId} and type_id = 2) storecard
|
||||
on basic.user_id = storecard.user_id and basic.provider_id = storecard.provider_id;
|
||||
on basic.user_id = storecard.user_id and basic.provider_id = storecard.provider_id
|
||||
left join
|
||||
(select provider_id, District_id from segchk_provider_mgt where provider_id = #{providerId}) spm on basic.provider_id = spm.provider_id
|
||||
left join
|
||||
|
|
@ -402,7 +414,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
select charge.store_id, charge.charge, charge.account_used, charge.mod_time, charge.ret_flag, card.card_type_name
|
||||
, storeinfo.store_name
|
||||
from
|
||||
(select provider_id, user_id, store_id, charge, account_used, card_id, card_type_id, mod_time, case when ret_flag = 0 then '未完成' else case when ret_flag = 1 then '成功' else '失败' end end as ret_flag from segchk_user_charge where provider_id = #{providerId} and user_id = #{userId}) charge
|
||||
(select provider_id, user_id, store_id, charge, account_used, card_id, card_type_id, mod_time, case when ret_flag = 0 then '未完成' else case when ret_flag <![CDATA[ >= ]]> 1 then '成功' else '失败' end end as ret_flag from segchk_user_charge where provider_id = #{providerId} and user_id = #{userId}) charge
|
||||
left join
|
||||
(select provider_id, card_type_id, card_type_name from segchk_charge_card where provider_id = #{providerId}) card
|
||||
on charge.card_type_id = card.card_type_id and charge.provider_id = card.provider_id
|
||||
|
|
@ -583,14 +595,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</select>
|
||||
|
||||
<select id="userIsExit" parameterType="java.util.Map" resultType="java.lang.Integer">
|
||||
select count(1) from segchk_user_basic_info where user_id = #{userId} and provider_id = #{providerId}
|
||||
select if(count(1) = 0 || isnull(count(1)), -1, 2) as ret from segchk_user_basic_info where user_id = #{userId} and provider_id = #{providerId}
|
||||
</select>
|
||||
<select id="storeIsExit" parameterType="java.util.Map" resultType="java.lang.Integer">
|
||||
select count(1) from segchk_store_basic_info where store_id = #{userId} and provider_id = #{providerId}
|
||||
select if(count(1) = 0 || isnull(count(1)), -1, 1) as ret from segchk_store_basic_info where store_id = #{userId} and provider_id = #{providerId}
|
||||
</select>
|
||||
|
||||
<select id="providerIsExit" parameterType="java.util.Map" resultType="java.lang.Integer">
|
||||
select count(1) from segchk_provider_mgt where provider_id = #{userId} and provider_id = #{providerId}
|
||||
select if(count(1) = 0 || isnull(count(1)), -1, 0) as ret from segchk_provider_mgt where provider_id = #{userId} and provider_id = #{providerId}
|
||||
</select>
|
||||
<select id="getUserWechatOpenId" parameterType="Long" resultMap="WeChatCustomerLinkResult">
|
||||
select a.provider_id, a.user_id, b.openid from
|
||||
|
|
@ -602,6 +614,86 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<select id="selectSegchkUserName" parameterType="string" resultType="java.lang.String">
|
||||
select phone_no from segchk_user_basic_info where user_id = #{userId}
|
||||
</select>
|
||||
<select id="recommenderIsExit" resultType="java.lang.Integer">
|
||||
select if(isnull(recomid)
|
||||
<!-- # 如果空,说明推荐人信息不对或不存在,不在线,平台推荐,当前地区注册-->
|
||||
, 0
|
||||
<!-- # 如果推荐人存在,判断推荐人与用户是否同地区,相同1,不同2-->
|
||||
, if(x.curprov = c.provider_id, 1, 2)
|
||||
) as ret
|
||||
<!-- , x.curprov, c.provider_id-->
|
||||
from
|
||||
(
|
||||
<!-- # 将参数中的推荐人id,当前用户所在的地区运营商代码-->
|
||||
select #{providerId} as curprov, #{recommondId} as recommender
|
||||
) x
|
||||
left join
|
||||
(
|
||||
<!-- # 根据推荐人id,角色查询三张信息表-->
|
||||
(select user_id as recomid, 2 as level, provider_id
|
||||
from segchk_user_basic_info
|
||||
where user_id = #{recommondId})
|
||||
union
|
||||
(select store_id as recomid, 1 as level, provider_id
|
||||
from segchk_store_basic_info
|
||||
where store_id = #{recommondId} and service_state = 0)
|
||||
union
|
||||
(select provider_id as recomid, 0 as level, provider_id
|
||||
from segchk_provider_mgt
|
||||
where provider_id = #{recommondId} and flag_id = 0)
|
||||
) c
|
||||
on c.recomid = x.recommender and c.level = #{recommondLevel}
|
||||
</select>
|
||||
|
||||
<select id="selectSegchkRewardInfo" parameterType="SegchkUserCharge" resultMap="SegchkChargeRewardResult">
|
||||
select card_type_id
|
||||
, user_id
|
||||
, provider_id
|
||||
, charge
|
||||
, account_used
|
||||
, user_recommenders
|
||||
, recommenders_level
|
||||
, total_charge_count
|
||||
<!-- # , reward, card_commission-->
|
||||
, if(recommenders_level = 1,
|
||||
case when total_charge_count = 0 then card_commission
|
||||
when total_charge_count = 1 then card_commission / 2
|
||||
when total_charge_count = 2 then card_commission / 3
|
||||
else 0.0 end
|
||||
,if(recommenders_level = 2,
|
||||
case when total_charge_count = 0 then reward
|
||||
when total_charge_count = 1 then reward / 2
|
||||
when total_charge_count = 2 then reward / 3
|
||||
else 0.0 end
|
||||
, 0.0)) as reward
|
||||
from
|
||||
(select suc.card_type_id, suc.user_id, suc.provider_id, suc.charge, suc.account_used, user_recommenders, recommenders_level
|
||||
, ifnull(total_charge_count, 0) as total_charge_count, from_type
|
||||
, if(recommenders_level = 2, (select reward from segchk_user_reward_ctl where suc.provider_id = provider_id and from_id = from_type and to_id = suc.card_type_id), 0.0) as reward
|
||||
, if(recommenders_level = 1 and !isnull(suei.store_status), (select card_commission from segchk_store_chk_mgt where store_id = user_recommenders and card_type_id = suc.card_type_id), 0.0) as card_commission
|
||||
from
|
||||
(select * from segchk_user_charge where charge_id = #{chargeId}) suc
|
||||
left join
|
||||
(select user_id
|
||||
, user_recommenders, recommenders_level, provider_id, mod_time
|
||||
, if(recommenders_level = 2, (
|
||||
<!-- # 当推荐人是用户时,获取推荐人卡类型-->
|
||||
select ifnull(card_type_id, -1) as card_type_id from segchk_user_basic_info where user_id = user_recommenders
|
||||
), -1) as from_type
|
||||
, if(recommenders_level = 1,
|
||||
(select service_state from segchk_store_basic_info where provider_id = segchk_user_ext_info.provider_id and service_state = 0 and store_id = user_recommenders)
|
||||
, null) as store_status
|
||||
|
||||
from segchk_user_ext_info where user_id = #{userId} and provider_id = #{providerId}) suei
|
||||
on suei.user_id = suc.user_id
|
||||
left join
|
||||
(
|
||||
<!-- # 统计用户累积充值成功次数-->
|
||||
select count(1) as total_charge_count, user_id from segchk_user_charge where user_id = #{userId} and ret_flag <![CDATA[ > ]]>0 and charge_id != #{chargeId}
|
||||
) succnt
|
||||
on succnt.user_id = suc.user_id
|
||||
) ret
|
||||
</select>
|
||||
|
||||
<insert id="updateSegchkUserWechat" parameterType="SegchkUserWechat">
|
||||
insert into segchk_user_wechat
|
||||
|
|
@ -633,6 +725,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
mod_time = now(),
|
||||
</trim>
|
||||
</insert>
|
||||
<insert id="addAccountByReward">
|
||||
insert into segchk_user_account (user_id, account, provider_id, reward_id, charge_id, mod_time)
|
||||
|
||||
select suc.user_id, if(isnull(ssa.account), #{reward}, ssa.account + #{reward}) as account, provider_id, reward_id, charge_id, now() from
|
||||
(select
|
||||
#{userRecommenders} as user_id
|
||||
, #{rewardId} as reward_id
|
||||
, #{chargeId} as charge_id
|
||||
, #{providerId} as provider_id
|
||||
) suc
|
||||
left join
|
||||
(
|
||||
<!-- # 上一次的余额-->
|
||||
select account, user_id from segchk_user_account where user_id = #{userRecommenders} order by account_id desc limit 1
|
||||
) ssa
|
||||
on ssa.user_id = suc.user_id
|
||||
</insert>
|
||||
|
||||
<update id="updateSegchkStoreWechat" parameterType="SegchkUserWechat">
|
||||
update segchk_store_basic_info
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 389 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 68 KiB |
|
|
@ -1,312 +0,0 @@
|
|||
package com.ruoyi.segchk.domain;
|
||||
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* seg商家详情页对象 SegchkStoreBasicInfoWebResp
|
||||
*
|
||||
* @author yinzhiying
|
||||
* @date 2021-07-12
|
||||
*/
|
||||
public class SegchkStoreBasicInfoWebResp extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 运营商id,全局唯一 */
|
||||
@Excel(name = "运营商id,全局唯一")
|
||||
private Long providerId;
|
||||
|
||||
/** 商家id,全局唯一 */
|
||||
@Excel(name = "商家id,全局唯一")
|
||||
private Long storeId;
|
||||
|
||||
/** 商家名称 */
|
||||
@Excel(name = "商家名称")
|
||||
private String storeName;
|
||||
|
||||
/** 商家电话 */
|
||||
@Excel(name = "商家电话")
|
||||
private String storePhone;
|
||||
|
||||
/** 服务状态,0在线,1下线 */
|
||||
@Excel(name = "服务状态,0在线,1下线")
|
||||
private String serviceState;
|
||||
|
||||
/** 销售id */
|
||||
@Excel(name = "销售id")
|
||||
private Integer salerId;
|
||||
|
||||
/** 商家地址 */
|
||||
@Excel(name = "商家地址")
|
||||
private String storeAddr;
|
||||
|
||||
/** 商家经度 */
|
||||
@Excel(name = "商家经度")
|
||||
private BigDecimal storeLon;
|
||||
|
||||
/** 商家纬度 */
|
||||
@Excel(name = "商家纬度")
|
||||
private BigDecimal storeLat;
|
||||
|
||||
/** 商家运营时间 */
|
||||
@Excel(name = "商家运营时间")
|
||||
private String onService;
|
||||
|
||||
/** 商家描述详情 */
|
||||
@Excel(name = "商家描述详情")
|
||||
private String detail;
|
||||
|
||||
/** 商家轮播图1路径,默认用于首页推荐轮播图 */
|
||||
@Excel(name = "商家轮播图1路径,默认用于首页推荐轮播图")
|
||||
private String storeCarousel1;
|
||||
|
||||
/** 商家轮播图2路径 */
|
||||
@Excel(name = "商家轮播图2路径")
|
||||
private String storeCarousel2;
|
||||
|
||||
/** 商家轮播图3路径 */
|
||||
@Excel(name = "商家轮播图3路径")
|
||||
private String storeCarousel3;
|
||||
|
||||
/** 商家轮播图4路径 */
|
||||
@Excel(name = "商家轮播图4路径")
|
||||
private String storeCarousel4;
|
||||
|
||||
/** 商家轮播图5路径 */
|
||||
@Excel(name = "商家轮播图5路径")
|
||||
private String storeCarousel5;
|
||||
|
||||
/** 商家轮播图6路径 */
|
||||
@Excel(name = "商家轮播图6路径")
|
||||
private String storeCarousel6;
|
||||
|
||||
/** 商户累积核消次数 */
|
||||
@Excel(name = "商户累积核消次数")
|
||||
private Integer chkCount;
|
||||
|
||||
/** 商户平均星评 */
|
||||
@Excel(name = "商户平均星评")
|
||||
private BigDecimal starAvg;
|
||||
|
||||
|
||||
/** 是否被收藏 */
|
||||
@Excel(name = "是否被收藏")
|
||||
private Integer isCollect = 0;
|
||||
|
||||
/** 商户标签列表 */
|
||||
@Valid
|
||||
private List<SegchkRecommenderStoreLableWeb> segchkRecommenderStoreLableWebList;
|
||||
|
||||
public void setProviderId(Long providerId)
|
||||
{
|
||||
this.providerId = providerId;
|
||||
}
|
||||
|
||||
public Long getProviderId()
|
||||
{
|
||||
return providerId;
|
||||
}
|
||||
public void setStoreId(Long storeId)
|
||||
{
|
||||
this.storeId = storeId;
|
||||
}
|
||||
|
||||
public Long getStoreId()
|
||||
{
|
||||
return storeId;
|
||||
}
|
||||
public void setStoreName(String storeName)
|
||||
{
|
||||
this.storeName = storeName;
|
||||
}
|
||||
|
||||
public String getStoreName()
|
||||
{
|
||||
return storeName;
|
||||
}
|
||||
public void setStorePhone(String storePhone)
|
||||
{
|
||||
this.storePhone = storePhone;
|
||||
}
|
||||
|
||||
public void setServiceState(String serviceState)
|
||||
{
|
||||
this.serviceState = serviceState;
|
||||
}
|
||||
|
||||
public String getServiceState()
|
||||
{
|
||||
return serviceState;
|
||||
}
|
||||
public void setSalerId(Integer salerId)
|
||||
{
|
||||
this.salerId = salerId;
|
||||
}
|
||||
|
||||
public Integer getSalerId()
|
||||
{
|
||||
return salerId;
|
||||
}
|
||||
|
||||
public void setStoreAddr(String storeAddr)
|
||||
{
|
||||
this.storeAddr = storeAddr;
|
||||
}
|
||||
|
||||
public String getStoreAddr()
|
||||
{
|
||||
return storeAddr;
|
||||
}
|
||||
public void setStoreLon(BigDecimal storeLon)
|
||||
{
|
||||
this.storeLon = storeLon;
|
||||
}
|
||||
|
||||
public BigDecimal getStoreLon()
|
||||
{
|
||||
return storeLon;
|
||||
}
|
||||
public void setStoreLat(BigDecimal storeLat)
|
||||
{
|
||||
this.storeLat = storeLat;
|
||||
}
|
||||
|
||||
public BigDecimal getStoreLat()
|
||||
{
|
||||
return storeLat;
|
||||
}
|
||||
public void setOnService(String onService)
|
||||
{
|
||||
this.onService = onService;
|
||||
}
|
||||
|
||||
public String getOnService()
|
||||
{
|
||||
return onService;
|
||||
}
|
||||
public void setDetail(String detail)
|
||||
{
|
||||
this.detail = detail;
|
||||
}
|
||||
|
||||
public String getDetail()
|
||||
{
|
||||
return detail;
|
||||
}
|
||||
|
||||
public String getStorePhone() {
|
||||
return storePhone;
|
||||
}
|
||||
|
||||
public String getStoreCarousel1() {
|
||||
return storeCarousel1;
|
||||
}
|
||||
|
||||
public void setStoreCarousel1(String storeCarousel1) {
|
||||
this.storeCarousel1 = storeCarousel1;
|
||||
}
|
||||
|
||||
public String getStoreCarousel2() {
|
||||
return storeCarousel2;
|
||||
}
|
||||
|
||||
public void setStoreCarousel2(String storeCarousel2) {
|
||||
this.storeCarousel2 = storeCarousel2;
|
||||
}
|
||||
|
||||
public String getStoreCarousel3() {
|
||||
return storeCarousel3;
|
||||
}
|
||||
|
||||
public void setStoreCarousel3(String storeCarousel3) {
|
||||
this.storeCarousel3 = storeCarousel3;
|
||||
}
|
||||
|
||||
public String getStoreCarousel4() {
|
||||
return storeCarousel4;
|
||||
}
|
||||
|
||||
public void setStoreCarousel4(String storeCarousel4) {
|
||||
this.storeCarousel4 = storeCarousel4;
|
||||
}
|
||||
|
||||
public String getStoreCarousel5() {
|
||||
return storeCarousel5;
|
||||
}
|
||||
|
||||
public void setStoreCarousel5(String storeCarousel5) {
|
||||
this.storeCarousel5 = storeCarousel5;
|
||||
}
|
||||
|
||||
public String getStoreCarousel6() {
|
||||
return storeCarousel6;
|
||||
}
|
||||
|
||||
public void setStoreCarousel6(String storeCarousel6) {
|
||||
this.storeCarousel6 = storeCarousel6;
|
||||
}
|
||||
|
||||
public List<SegchkRecommenderStoreLableWeb> getSegchkRecommenderStoreLableWebList() {
|
||||
return segchkRecommenderStoreLableWebList;
|
||||
}
|
||||
|
||||
public void setSegchkRecommenderStoreLableWebList(List<SegchkRecommenderStoreLableWeb> segchkRecommenderStoreLableWebList) {
|
||||
this.segchkRecommenderStoreLableWebList = segchkRecommenderStoreLableWebList;
|
||||
}
|
||||
|
||||
public Integer getChkCount() {
|
||||
return chkCount;
|
||||
}
|
||||
|
||||
public void setChkCount(Integer chkCount) {
|
||||
this.chkCount = chkCount;
|
||||
}
|
||||
|
||||
public BigDecimal getStarAvg() {
|
||||
return starAvg;
|
||||
}
|
||||
|
||||
public void setStarAvg(BigDecimal starAvg) {
|
||||
this.starAvg = starAvg;
|
||||
}
|
||||
|
||||
public Integer getIsCollect() {
|
||||
return isCollect;
|
||||
}
|
||||
|
||||
public void setIsCollect(Integer isCollect) {
|
||||
this.isCollect = isCollect;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "SegchkStoreBasicInfoWebResp{" +
|
||||
"providerId=" + providerId +
|
||||
", storeId=" + storeId +
|
||||
", storeName='" + storeName + '\'' +
|
||||
", storePhone='" + storePhone + '\'' +
|
||||
", serviceState='" + serviceState + '\'' +
|
||||
", salerId=" + salerId +
|
||||
", storeAddr='" + storeAddr + '\'' +
|
||||
", storeLon=" + storeLon +
|
||||
", storeLat=" + storeLat +
|
||||
", onService='" + onService + '\'' +
|
||||
", detail='" + detail + '\'' +
|
||||
", storeCarousel1='" + storeCarousel1 + '\'' +
|
||||
", storeCarousel2='" + storeCarousel2 + '\'' +
|
||||
", storeCarousel3='" + storeCarousel3 + '\'' +
|
||||
", storeCarousel4='" + storeCarousel4 + '\'' +
|
||||
", storeCarousel5='" + storeCarousel5 + '\'' +
|
||||
", storeCarousel6='" + storeCarousel6 + '\'' +
|
||||
", chkCount=" + chkCount +
|
||||
", starAvg=" + starAvg +
|
||||
", isCollect=" + isCollect +
|
||||
", segchkRecommenderStoreLableWebList=" + segchkRecommenderStoreLableWebList +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
|
@ -161,4 +161,6 @@ public interface SegchkStoreBasicInfoMapper
|
|||
* @return 结果
|
||||
*/
|
||||
public int updateSegchkStoreServiceStatus(SegchkStoreBasicInfo segchkStoreBasicInfo);
|
||||
|
||||
public Long selectStoreIdByPhone(String phone);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,4 +58,6 @@ public interface SegchkUserAccountMapper
|
|||
* @return 结果
|
||||
*/
|
||||
public int deleteSegchkUserAccountByAccountIds(Long[] accountIds);
|
||||
|
||||
public int insertSegchkUserAccountBuyCharge(SegchkUserAccount segchkUserAccount);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -66,4 +66,6 @@ public interface SegchkUserChargeMapper
|
|||
* @return 结果
|
||||
*/
|
||||
public int updateSegchkUserChargeByRet(SegchkUserCharge segchkUserCharge);
|
||||
|
||||
int addSegchkUserChargeWithRecommend(SegchkUserCharge segchkUserCharge);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,4 +58,6 @@ public interface ISegchkUserAccountService
|
|||
* @return 结果
|
||||
*/
|
||||
public int deleteSegchkUserAccountByAccountId(Long accountId);
|
||||
|
||||
public int insertSegchkUserAccountBuyCharge(SegchkUserAccount segchkUserAccount);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ import java.util.List;
|
|||
import com.ruoyi.segchk.domain.*;
|
||||
import com.ruoyi.segchk.service.ISegchkCarouseMgtService;
|
||||
import com.ruoyi.segchk.service.ISegchkRecommenderStoreService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
|
@ -14,6 +16,7 @@ import com.ruoyi.common.utils.StringUtils;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
import com.ruoyi.segchk.mapper.SegchkStoreBasicInfoMapper;
|
||||
import com.ruoyi.segchk.service.ISegchkStoreBasicInfoService;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
|
||||
/**
|
||||
* seg商家基础信息Service业务层处理
|
||||
|
|
@ -32,6 +35,7 @@ public class SegchkStoreBasicInfoServiceImpl implements ISegchkStoreBasicInfoSer
|
|||
@Autowired
|
||||
private ISegchkRecommenderStoreService segchkRecommenderStoreService;
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(SegchkStoreBasicInfoServiceImpl.class);
|
||||
/**
|
||||
* 查询seg商家基础信息
|
||||
*
|
||||
|
|
@ -63,6 +67,11 @@ public class SegchkStoreBasicInfoServiceImpl implements ISegchkStoreBasicInfoSer
|
|||
@Transactional
|
||||
@Override
|
||||
public int insertSegchkStoreBasicInfo(SegchkStoreBasicInfo segchkStoreBasicInfo) {
|
||||
Long store_id = segchkStoreBasicInfoMapper.selectStoreIdByPhone(segchkStoreBasicInfo.getStorePhone());
|
||||
if(!ObjectUtils.isEmpty(store_id)){
|
||||
logger.warn("insertSegchkStoreBasicInfo error insert for store({}) with phone({}) same to store({})", segchkStoreBasicInfo.getStoreName(), segchkStoreBasicInfo.getStorePhone(), store_id);
|
||||
return -1;//说明该手机号已注册商户
|
||||
}
|
||||
int rows = segchkStoreBasicInfoMapper.insertSegchkStoreBasicInfo(segchkStoreBasicInfo);
|
||||
insertSegchkStoreImage(segchkStoreBasicInfo);
|
||||
insertSegchkStoreChkMgt(segchkStoreBasicInfo);
|
||||
|
|
@ -80,6 +89,11 @@ public class SegchkStoreBasicInfoServiceImpl implements ISegchkStoreBasicInfoSer
|
|||
@Transactional
|
||||
@Override
|
||||
public int updateSegchkStoreBasicInfo(SegchkStoreBasicInfo segchkStoreBasicInfo) {
|
||||
Long store_id = segchkStoreBasicInfoMapper.selectStoreIdByPhone(segchkStoreBasicInfo.getStorePhone());
|
||||
if(!ObjectUtils.isEmpty(store_id) && !segchkStoreBasicInfo.getStoreId().equals(store_id)){
|
||||
logger.warn("updateSegchkStoreBasicInfo error update for store({}) with phone({}) same to store({})", segchkStoreBasicInfo.getStoreId(), segchkStoreBasicInfo.getStorePhone(), store_id);
|
||||
return -1;//说明该手机号已注册其他商户
|
||||
}
|
||||
segchkStoreBasicInfoMapper.deleteSegchkStoreImageByStoreId(segchkStoreBasicInfo.getStoreId());
|
||||
segchkStoreBasicInfoMapper.deleteSegchkStoreChkMgtByStoreId(segchkStoreBasicInfo.getStoreId());
|
||||
segchkStoreBasicInfoMapper.deleteSegchkStoreLableMgtByStoreId(segchkStoreBasicInfo.getStoreId());
|
||||
|
|
|
|||
|
|
@ -90,4 +90,10 @@ public class SegchkUserAccountServiceImpl implements ISegchkUserAccountService
|
|||
{
|
||||
return segchkUserAccountMapper.deleteSegchkUserAccountByAccountId(accountId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertSegchkUserAccountBuyCharge(SegchkUserAccount segchkUserAccount) {
|
||||
return segchkUserAccountMapper.insertSegchkUserAccountBuyCharge(segchkUserAccount);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
package com.ruoyi.segchk.service.impl;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
import com.ruoyi.segchk.domain.SegchkUserAccount;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.segchk.mapper.SegchkUserChargeMapper;
|
||||
|
|
@ -90,4 +93,5 @@ public class SegchkUserChargeServiceImpl implements ISegchkUserChargeService
|
|||
{
|
||||
return segchkUserChargeMapper.deleteSegchkUserChargeByChargeId(chargeId);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.ruoyi.system.service.impl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collector;
|
||||
|
|
@ -285,11 +286,15 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
// 增加用户信息写入运营商管理表
|
||||
SegchkProviderMgt segchkProviderMgt = new SegchkProviderMgt();
|
||||
segchkProviderMgt.setNickName(user.getNickName());
|
||||
segchkProviderMgt.setPhoneNo(user.getPhonenumber());
|
||||
segchkProviderMgt.setDistrictId(user.getDistictId().intValue());
|
||||
segchkProviderMgt.setFlagId(0);
|
||||
int ret = segchkProviderMgtMapper.insertSegchkProviderMgt(segchkProviderMgt);
|
||||
// Long[] roleIds = user.getRoleIds();
|
||||
if(ObjectUtils.isNotEmpty(user.getDistictId())) {
|
||||
// 10以上都是运营商
|
||||
segchkProviderMgt.setNickName(user.getNickName());
|
||||
segchkProviderMgt.setPhoneNo(user.getPhonenumber());
|
||||
segchkProviderMgt.setDistrictId(user.getDistictId().intValue());
|
||||
segchkProviderMgt.setFlagId(0);
|
||||
int ret = segchkProviderMgtMapper.insertSegchkProviderMgt(segchkProviderMgt);
|
||||
}
|
||||
// 新增用户岗位关联
|
||||
insertUserPost(user);
|
||||
// 新增用户与角色管理
|
||||
|
|
|
|||
|
|
@ -53,7 +53,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="providerId != null">#{providerId},</if>
|
||||
<if test="cardId != null">#{cardId},</if>
|
||||
<if test="storeId != null">#{storeId},</if>
|
||||
<if test="cardTypeId != null">#{cardTypeId},</if>
|
||||
<choose>
|
||||
<when test="cardTypeId != null">#{cardTypeId},</when>
|
||||
<otherwise>(select segchk_user_vip.card_type_id from segchk_user_vip where segchk_user_vip.card_id = #{cardId})</otherwise>
|
||||
</choose>
|
||||
<if test="userId != null">#{userId},</if>
|
||||
<if test="modTime != null">#{modTime},</if>
|
||||
<if test="commentId != null">#{commentId},</if>
|
||||
|
|
|
|||
|
|
@ -153,7 +153,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
|
||||
where a.store_id = #{storeId}
|
||||
</select>
|
||||
|
||||
<select id="selectStoreIdByPhone" resultType="java.lang.Long">
|
||||
select store_id from segchk_store_basic_info where store_phone = #{storePhone}
|
||||
</select>
|
||||
|
||||
<insert id="insertSegchkStoreBasicInfo" parameterType="SegchkStoreBasicInfo" useGeneratedKeys="true" keyProperty="storeId">
|
||||
insert into segchk_store_basic_info
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
|
|
|
|||
|
|
@ -59,6 +59,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="cashId != null">#{cashId},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
<insert id="insertSegchkUserAccountBuyCharge">
|
||||
insert into segchk_user_account
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="userId != null">user_id,</if>
|
||||
<if test="account != null">account,</if>
|
||||
<if test="accountType != null and accountType != ''">account_type,</if>
|
||||
<if test="providerId != null">provider_id,</if>
|
||||
<if test="rewardId != null">reward_id,</if>
|
||||
<if test="chargeId != null">charge_id,</if>
|
||||
<if test="cashId != null">cash_id,</if>
|
||||
</trim>
|
||||
select
|
||||
<trim suffixOverrides=",">
|
||||
uc.user_id,
|
||||
if(isnull(account), 0.0, (account - uc.account_use)) as account,
|
||||
, ifnull(sua.account_type, 0) as account_type
|
||||
, ifnull(sua.provider_id,uc.provider_id) as provider_id
|
||||
, ifnull(sua.reward_id, 0)
|
||||
, uc.charge_id
|
||||
, ifnull(sua.cash_id, 0)
|
||||
</trim>
|
||||
from
|
||||
(select #{account} as account_use, #{userId} as user_id, #{chargeId} as charge_id, #{providerId} as provider_id) uc
|
||||
left join
|
||||
(
|
||||
select user_id, account, account_type, provider_id, account_id, reward_id, charge_id, cash_id from segchk_user_account where user_id = #{userId} order by account_id desc limit 1
|
||||
) sua
|
||||
on uc.user_id = sua.user_id;
|
||||
</insert>
|
||||
|
||||
<update id="updateSegchkUserAccount" parameterType="SegchkUserAccount">
|
||||
update segchk_user_account
|
||||
|
|
|
|||
|
|
@ -43,20 +43,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<include refid="selectSegchkUserChargeVo"/>
|
||||
where charge_id = #{chargeId}
|
||||
</select>
|
||||
|
||||
|
||||
<insert id="insertSegchkUserCharge" parameterType="SegchkUserCharge" useGeneratedKeys="true" keyProperty="chargeId">
|
||||
insert into segchk_user_charge
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="userId != null">user_id,</if>
|
||||
<if test="storeId != null">store_id,</if>
|
||||
store_id,
|
||||
<if test="charge != null">charge,</if>
|
||||
<if test="accountUsed != null">account_used,</if>
|
||||
<if test="cardId != null">card_id,</if>
|
||||
<if test="cardTypeId != null">card_type_id,</if>
|
||||
<if test="chargeType != null and chargeType != ''">charge_type,</if>
|
||||
<if test="providerId != null">provider_id,</if>
|
||||
<if test="modTime != null">mod_time,</if>
|
||||
<if test="retFlag != null">ret_flag,</if>
|
||||
mod_time,
|
||||
ret_flag,
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="userId != null">#{userId},</if>
|
||||
|
|
@ -67,9 +67,50 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="cardTypeId != null">#{cardTypeId},</if>
|
||||
<if test="chargeType != null and chargeType != ''">#{chargeType},</if>
|
||||
<if test="providerId != null">#{providerId},</if>
|
||||
<if test="modTime != null">#{modTime},</if>
|
||||
<if test="retFlag != null">#{retFlag},</if>
|
||||
</trim>
|
||||
<choose>
|
||||
<when test="modTime != null and modTime != ''">#{modTime},</when>
|
||||
<otherwise>now(),</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<when test="retFlag != null and modTime != ''">#{retFlag},</when>
|
||||
<otherwise>0,</otherwise>
|
||||
</choose>
|
||||
</trim>
|
||||
|
||||
</insert>
|
||||
<insert id="addSegchkUserChargeWithRecommend" parameterType="SegchkUserCharge" useGeneratedKeys="true" keyProperty="chargeId">
|
||||
insert into segchk_user_charge (
|
||||
user_id
|
||||
, store_id
|
||||
, charge
|
||||
, account_used
|
||||
, card_type_id
|
||||
, provider_id
|
||||
, mod_time
|
||||
, ret_flag
|
||||
)
|
||||
|
||||
select
|
||||
uc.user_id
|
||||
, if(isnull(suei.recommenders_level), null, if(suei.recommenders_level = 1, suei.user_recommenders, null)) as store_id
|
||||
, uc.charge
|
||||
, uc.account_used
|
||||
, uc.card_type_id
|
||||
, uc.provider_id
|
||||
, now() as mod_time
|
||||
, 0 as ret_flag from
|
||||
(
|
||||
(select
|
||||
#{userId} as user_id
|
||||
, #{charge} as charge
|
||||
, #{cardTypeId} as card_type_id
|
||||
, #{accountUsed} as account_used
|
||||
, #{providerId} as provider_id
|
||||
) uc
|
||||
left join
|
||||
(select user_id, user_recommenders, recommenders_level, provider_id from segchk_user_ext_info where user_id = #{userId}) suei
|
||||
on suei.provider_id = uc.provider_id and suei.user_id = uc.user_id
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateSegchkUserCharge" parameterType="SegchkUserCharge">
|
||||
|
|
|
|||
|
|
@ -41,14 +41,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="fromId != null">from_id,</if>
|
||||
<if test="reward != null">reward,</if>
|
||||
<if test="toId != null">to_id,</if>
|
||||
<if test="modTime != null">mod_time,</if>
|
||||
mod_time,
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="providerId != null">#{providerId},</if>
|
||||
<if test="fromId != null">#{fromId},</if>
|
||||
<if test="reward != null">#{reward},</if>
|
||||
<if test="toId != null">#{toId},</if>
|
||||
<if test="modTime != null">#{modTime},</if>
|
||||
<choose>
|
||||
<when test="modTime != null and modTime != ''">#{modTime},</when>
|
||||
<otherwise>now()</otherwise>
|
||||
</choose>
|
||||
<!-- <if test="modTime != null">#{modTime},</if>-->
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
|
|
@ -59,7 +63,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="fromId != null">from_id = #{fromId},</if>
|
||||
<if test="reward != null">reward = #{reward},</if>
|
||||
<if test="toId != null">to_id = #{toId},</if>
|
||||
<if test="modTime != null">mod_time = #{modTime},</if>
|
||||
<choose>
|
||||
<when test="modTime != null">mod_time = #{modTime},</when>
|
||||
<otherwise>mod_time = now(),</otherwise>
|
||||
</choose>
|
||||
</trim>
|
||||
where reward_ctl_id = #{rewardCtlId}
|
||||
</update>
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="rewardType != null and rewardType != ''">reward_type,</if>
|
||||
<if test="rewardCardId != null">reward_card_id,</if>
|
||||
<if test="rewardCardTypeId != null">reward_card_type_id,</if>
|
||||
<if test="modTime != null">mod_time,</if>
|
||||
mod_time,
|
||||
<if test="providerId != null">provider_id,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
|
|
@ -55,7 +55,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="rewardType != null and rewardType != ''">#{rewardType},</if>
|
||||
<if test="rewardCardId != null">#{rewardCardId},</if>
|
||||
<if test="rewardCardTypeId != null">#{rewardCardTypeId},</if>
|
||||
<if test="modTime != null">#{modTime},</if>
|
||||
now(),
|
||||
<if test="providerId != null">#{providerId},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
|
|
|||
|
|
@ -391,10 +391,6 @@ export default {
|
|||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
if(this.segchk_saler_infoList.length == 0){
|
||||
this.msgError("请先添加销售人员")
|
||||
return
|
||||
}
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加seg销售人员信息";
|
||||
|
|
|
|||
|
|
@ -1270,14 +1270,24 @@ export default {
|
|||
this.form.segchkStoreChkMgtList = this.segchkStoreChkMgtList;
|
||||
this.form.segchkStoreLableMgtList = this.segchkStoreLableMgtList;
|
||||
this.form.segchkStoreSecurityList = this.segchkStoreSecurityList;
|
||||
// console.log(this.form)
|
||||
if (this.form.storeId != null) {
|
||||
updateSegchk_store_basic_info(this.form).then(response => {
|
||||
if(response.code == 500){
|
||||
this.msgError(response.msg)
|
||||
return
|
||||
}
|
||||
|
||||
this.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addSegchk_store_basic_info(this.form).then(response => {
|
||||
if(response.code == 500){
|
||||
this.msgError(response.msg)
|
||||
return
|
||||
}
|
||||
this.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
|
|
|
|||
|
|
@ -11,22 +11,38 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="运营商id" prop="providerId">
|
||||
<el-input
|
||||
<el-select v-model="queryParams.providerId" placeholder="运营商id" @keyup.enter.native="handleQuery">
|
||||
<el-option
|
||||
v-for="dict in this.segchk_providerList"
|
||||
:key="dict.key"
|
||||
:label="dict.value"
|
||||
:value="dict.key"
|
||||
></el-option>
|
||||
</el-select>
|
||||
<!--<el-input
|
||||
v-model="queryParams.providerId"
|
||||
placeholder="请输入运营商id"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
/>-->
|
||||
</el-form-item>
|
||||
<el-form-item label="卡类型id,-1,普通用户,其他会员卡类型id" prop="fromId">
|
||||
<el-input
|
||||
<el-form-item label="推荐人卡类型" prop="fromId">
|
||||
<!--<el-input
|
||||
v-model="queryParams.fromId"
|
||||
placeholder="请输入卡类型id,-1,普通用户,其他会员卡类型id"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
/>-->
|
||||
<el-select v-model="queryParams.fromId" placeholder="推荐人卡类型" @keyup.enter.native="handleQuery">
|
||||
<el-option
|
||||
v-for="dict in getLabelComp(0, queryParams.providerId)"
|
||||
:key="dict.value"
|
||||
:label="dict.lable"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="奖励额" prop="reward">
|
||||
<el-input
|
||||
|
|
@ -38,13 +54,21 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="卡类型id" prop="toId">
|
||||
<el-input
|
||||
<!--<el-input
|
||||
v-model="queryParams.toId"
|
||||
placeholder="请输入卡类型id"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
/>-->
|
||||
<el-select v-model="queryParams.toId" placeholder="购买卡类型" @keyup.enter.native="handleQuery">
|
||||
<el-option
|
||||
v-for="dict in getLabelComp(0, queryParams.providerId)"
|
||||
:key="dict.value"
|
||||
:label="dict.lable"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="修改时间">
|
||||
<el-date-picker
|
||||
|
|
@ -114,10 +138,10 @@
|
|||
<el-table v-loading="loading" :data="segchk_user_reward_ctlList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="控制id" align="center" prop="rewardCtlId" />
|
||||
<el-table-column label="运营商id" align="center" prop="providerId" />
|
||||
<el-table-column label="卡类型id,-1,普通用户,其他会员卡类型id" align="center" prop="fromId" />
|
||||
<el-table-column label="运营商id" align="center" prop="providerId" :formatter="tableProviderName"/>
|
||||
<el-table-column label="推荐人卡类型" align="center" prop="fromId" :formatter="tableProviderName" :render-header="renderHeader" />
|
||||
<el-table-column label="奖励额" align="center" prop="reward" />
|
||||
<el-table-column label="卡类型id" align="center" prop="toId" />
|
||||
<el-table-column label="购买卡类型" align="center" prop="toId" :formatter="tableProviderName" :render-header="renderHeader" />
|
||||
<el-table-column label="修改时间" align="center" prop="modTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.modTime, '{y}-{m}-{d}') }}</span>
|
||||
|
|
@ -142,7 +166,7 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
|
|
@ -155,25 +179,55 @@
|
|||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="运营商id" prop="providerId">
|
||||
<el-input v-model="form.providerId" placeholder="请输入运营商id" />
|
||||
<!-- <el-input v-model="form.providerId" placeholder="请输入运营商id" />-->
|
||||
<el-select v-model="form.providerId" placeholder="运营商id" >
|
||||
<el-option
|
||||
v-for="dict in segchk_providerList"
|
||||
:key="parseInt(dict.key)"
|
||||
:label="dict.value"
|
||||
:value="parseInt(dict.key)"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="卡类型id,-1,普通用户,其他会员卡类型id" prop="fromId">
|
||||
<el-input v-model="form.fromId" placeholder="请输入卡类型id,-1,普通用户,其他会员卡类型id" />
|
||||
<el-form-item label="推荐人卡类型" prop="fromId">
|
||||
<!-- <el-input v-model="form.fromId" placeholder="请输入卡类型id,-1,普通用户,其他会员卡类型id" />-->
|
||||
<el-tooltip content="推荐人持有的会员充值卡类型" placement="top">
|
||||
<i class="el-icon-question"></i>
|
||||
</el-tooltip>
|
||||
<el-select v-model="form.fromId" placeholder="推荐会员卡" @change="changecardTypeName">
|
||||
<el-option
|
||||
v-for="(dict,index) in getLabelComp(0, form.providerId)"
|
||||
:key="index"
|
||||
:label="dict.lable"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="奖励额" prop="reward">
|
||||
<el-input v-model="form.reward" placeholder="请输入奖励额" />
|
||||
</el-form-item>
|
||||
<el-form-item label="卡类型id" prop="toId">
|
||||
<el-input v-model="form.toId" placeholder="请输入卡类型id" />
|
||||
<el-form-item label="购买卡类型" prop="toId">
|
||||
<!-- <el-input v-model="form.toId" placeholder="请输入卡类型id" />-->
|
||||
<el-tooltip content="被推荐人购买的会员充值卡类型" placement="top">
|
||||
<i class="el-icon-question"></i>
|
||||
</el-tooltip>
|
||||
<el-select v-model="form.toId" placeholder="推荐会员卡" @change="changecardTypeName">
|
||||
<el-option
|
||||
v-for="(dict,index) in getLabelComp(0, form.providerId)"
|
||||
:key="index"
|
||||
:label="dict.lable"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="修改时间" prop="modTime">
|
||||
<!--<el-form-item label="修改时间" prop="modTime">
|
||||
<el-date-picker clearable size="small"
|
||||
v-model="form.modTime"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="选择修改时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-form-item>-->
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
|
|
@ -185,6 +239,7 @@
|
|||
|
||||
<script>
|
||||
import { listSegchk_user_reward_ctl, getSegchk_user_reward_ctl, delSegchk_user_reward_ctl, addSegchk_user_reward_ctl, updateSegchk_user_reward_ctl, exportSegchk_user_reward_ctl } from "@/api/segchk/segchk_user_reward_ctl";
|
||||
import {segchk_get_chargecard_list, segchk_get_provider_list} from "@/api/segchk/segchk_get_simple_list";
|
||||
|
||||
export default {
|
||||
name: "Segchk_user_reward_ctl",
|
||||
|
|
@ -201,11 +256,12 @@ export default {
|
|||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
showSearch: false,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// seg会员推荐控制表格数据
|
||||
segchk_user_reward_ctlList: [],
|
||||
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
|
|
@ -223,6 +279,9 @@ export default {
|
|||
toId: null,
|
||||
modTime: null
|
||||
},
|
||||
// 会员卡列表
|
||||
segchk_charge_cardList: [],
|
||||
segchk_providerList: [],
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
|
|
@ -248,7 +307,91 @@ export default {
|
|||
created() {
|
||||
this.getList();
|
||||
},
|
||||
computed: {
|
||||
getLabelComp(){
|
||||
return function (fromLableId, providerId) {
|
||||
let arr = []
|
||||
if(fromLableId == 0){
|
||||
arr = this.segchk_charge_cardList
|
||||
.filter(value => value.providerId == providerId)
|
||||
.map(e=> {
|
||||
return { value: parseInt(e.key), lable: e.value }
|
||||
}) // 会员卡
|
||||
}
|
||||
arr.push({value: -1, lable: '普通用户'})
|
||||
// this.formlableList = arr
|
||||
return arr
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
renderHeader(h, { column }) {
|
||||
let contentstr = undefined
|
||||
switch (column.label) {
|
||||
case '标签来源':
|
||||
contentstr = '充值会员卡,关键字(行业,范围),优惠券三选一';break;
|
||||
case '显示顺序':
|
||||
contentstr = '标签在商家相关页面下的显示顺序';break;
|
||||
case '卡类型名称':
|
||||
contentstr = '运营商下的会员卡名称';break;
|
||||
case '卡面额':
|
||||
contentstr = '用户购买时应支付的金额';break;
|
||||
case '有效期时长':
|
||||
contentstr = '用户购买后该种会员卡的有期天数';break;
|
||||
case '可购买次数':
|
||||
contentstr = '用户可购买多少次该种会员卡';break;
|
||||
case '总核消次数':
|
||||
contentstr = '用户可通过该种会员卡享受服务的次数';break;
|
||||
case '推荐人卡类型':
|
||||
contentstr = '推荐人,已持有的有效会员卡类型';break;
|
||||
case '购买卡类型':
|
||||
contentstr = '被推荐人购买的会员卡类型';break;
|
||||
case '操作':
|
||||
contentstr = '如果删除优惠时,同时将从首页标签,支持该标签的商家中的相应标签也会删除';break;
|
||||
}
|
||||
return [
|
||||
column.label,
|
||||
h(
|
||||
'el-tooltip',
|
||||
{
|
||||
props: {
|
||||
content: `${contentstr}`,
|
||||
placement: 'top'
|
||||
}
|
||||
},
|
||||
[
|
||||
h(
|
||||
'span',{
|
||||
class: {
|
||||
'el-icon-question': true
|
||||
}
|
||||
})
|
||||
]
|
||||
)
|
||||
]
|
||||
},
|
||||
tableProviderName(row, column) {
|
||||
// console.log("tableProviderName --- " + row.property + "---" + column.property + "---" + column.index)
|
||||
|
||||
if (column.property == 'providerId'){
|
||||
var ret = this.segchk_providerList.find((value) => {return value.key == row.providerId})
|
||||
var provName = ret == null ? "未知" : ret.value;
|
||||
return provName
|
||||
}
|
||||
if (column.property == 'fromId'){
|
||||
var ret = this.segchk_charge_cardList.find((value) => {return value.key == row.fromId || value.key == -1})
|
||||
var provName = ret == null ? "普通用户" : ret.value;
|
||||
return provName
|
||||
}
|
||||
if (column.property == 'toId'){
|
||||
var ret = this.segchk_charge_cardList.find(value => {
|
||||
return value.typeId == row.toId || value.key == -1
|
||||
})
|
||||
var provName = ret == null ? "普通用户" : ret.value;
|
||||
return provName
|
||||
}
|
||||
|
||||
},
|
||||
/** 查询seg会员推荐控制列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
|
|
@ -257,6 +400,19 @@ export default {
|
|||
this.queryParams.params["beginModTime"] = this.daterangeModTime[0];
|
||||
this.queryParams.params["endModTime"] = this.daterangeModTime[1];
|
||||
}
|
||||
// 运营商列表
|
||||
segchk_get_provider_list(this.queryParams.providerId).then(response => {
|
||||
this.segchk_providerList = response.rows;
|
||||
// this.cardtotal = response.total;
|
||||
});
|
||||
|
||||
// 会员卡
|
||||
segchk_get_chargecard_list(this.queryParams.providerId).then(response => {
|
||||
this.segchk_charge_cardList = response.rows;
|
||||
this.segchk_charge_cardList.push({providerId: this.queryParams.providerId, key: -1, value: '普通用户'})
|
||||
// this.cardtotal = response.total;
|
||||
});
|
||||
|
||||
listSegchk_user_reward_ctl(this.queryParams).then(response => {
|
||||
this.segchk_user_reward_ctlList = response.rows;
|
||||
this.total = response.total;
|
||||
|
|
@ -315,6 +471,10 @@ export default {
|
|||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
if(this.form.toId == -1){
|
||||
this.msgError("被推荐人不能设置为普通用户(即非会员)")
|
||||
return
|
||||
}
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.rewardCtlId != null) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue