23 Commits
back ... master

Author SHA1 Message Date
张松
59b62b694b 增加万能密码 2025-04-29 11:30:04 +08:00
张松
3db86bfc1a 用户账号获取 2025-04-24 13:44:24 +08:00
张松
a24692f31f 短信签名修改 2025-04-24 10:07:50 +08:00
liuyingfang
4922cdd870 测试推送 2024-03-21 14:01:19 +08:00
liuyingfang
52ee403187 取消 首页菜单119版本IOS不显示发票以及线上店铺 2024-03-21 10:00:00 +08:00
liuyingfang
51a4abcde6 Merge remote-tracking branch 'origin/master' 2024-03-19 11:24:44 +08:00
liuyingfang
378fcd50df 首页菜单119版本IOS不显示发票以及线上店铺 2024-03-19 11:24:30 +08:00
19991905653
5d1024ee3f 收银点bug修复 2024-02-29 13:43:22 +08:00
liuyingfang
9c2ef00db1 配置文件更改 2024-02-28 14:50:34 +08:00
liuyingfang
4f8f238ea6 设备商城代码覆盖 2024-02-28 11:04:47 +08:00
19991905653
654215e3dd 收银点 2024-02-27 20:38:09 +08:00
19991905653
c925311eb6 收银点bug修复 2024-02-27 17:39:20 +08:00
韩鹏辉
aa75932add Merge remote-tracking branch 'origin/master' 2024-02-27 17:19:47 +08:00
韩鹏辉
31d1118727 添加提示 2024-02-27 17:19:16 +08:00
19991905653
8ed5557b48 修改 2024-02-23 18:16:48 +08:00
19991905653
4c679e03c2 收银点 2024-02-23 17:38:17 +08:00
19991905653
67df185aff 收银点 2024-02-23 17:35:56 +08:00
liuyingfang
6e6e2ec70d 把收银呗字全部转化 2024-02-21 11:47:05 +08:00
liuyingfang
e2aa4e954f 把收银呗字全部转化,并且收银点更改 2024-02-21 11:46:12 +08:00
liuyingfang
028a427405 收银点改bug 2024-02-20 09:22:46 +08:00
liuyingfang
c34a5ace57 Merge remote-tracking branch 'origin/master' 2024-02-19 17:50:39 +08:00
liuyingfang
ce094f50f5 收银点更改 2024-02-19 17:45:38 +08:00
韩鹏辉
e505f03ab6 修改汇付退款处理 2024-02-19 14:52:42 +08:00
77 changed files with 1684 additions and 351 deletions

1
.idea/encodings.xml generated
View File

@@ -13,6 +13,7 @@
<file url="file://$PROJECT_DIR$/pluss-model-bundle/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/pluss-model-bundle/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/pluss-service-bundle/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/pluss-service-bundle/src/main/java/cn/pluss/platform/ali/impl/AlipayServiceImpl.java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/pluss-service-bundle/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/pluss-wap-page/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/pluss-wap-page/src/main/resources" charset="UTF-8" />

4
.idea/misc.xml generated
View File

@@ -1,5 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ASMSmaliIdeaPluginConfiguration">
<asm skipDebug="true" skipFrames="true" skipCode="false" expandFrames="false" />
<groovy codeStyle="LEGACY" />
</component>
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MavenProjectsManager">
<option name="originalFiles">

View File

@@ -1,8 +1,8 @@
package com.demo.util;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
//import com.baomidou.mybatisplus.annotation.DbType;
//import com.baomidou.mybatisplus.annotation.FieldFill;
//import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;

View File

@@ -101,6 +101,17 @@ public class UserInfoController {
return ResultGenerator.genSuccessResult();
}
/**
* 用户账号获取
* @param userId 用户主键
* @return 用户账号
*/
@GetMapping("/getPhoneByUserId")
public Result<?> getPhoneByUserId(@RequestParam String userId) {
UserInfo userInfo = userInfoNewService.getById(userId);
return ResultGenerator.genSuccessResult(userInfo == null ? null : userInfo.getLoginName());
}
@GetMapping("/verifyPhoneIsExist")
@ApiOperation(tags = {"页面-注册", "页面-H5注册", "页面-分享注册", "页面-会员开卡", "页面-分享_直接开户"}, value = "未注册手机号并获取验证码", notes = "验证该手机号是否注册,未注册即发送验证码", httpMethod = "GET")

View File

@@ -9,11 +9,10 @@ import cn.pluss.platform.exception.MsgException;
import cn.pluss.platform.mapper.AccountMapper;
import cn.pluss.platform.merchant.AccountService;
import cn.pluss.platform.merchantChannelStatus.MerchantChannelStatusService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
@@ -78,8 +77,6 @@ public class ZfbAttestationController {
}
return ResultGenerator.genSuccessResult(merchantCodeMap);
}
private MerchantChannelStatus checkChannel(String merchantCode){
LambdaQueryWrapper<MerchantChannelStatus> qWrapper2 = Wrappers.lambdaQuery();
qWrapper2.eq(MerchantChannelStatus::getMerchantCode, merchantCode)

View File

@@ -2,25 +2,26 @@ package cn.pluss.platform.controller.merchant;
import cn.pluss.platform.api.Result;
import cn.pluss.platform.api.ResultGenerator;
import cn.pluss.platform.entity.MerchantCashPayCode;
import cn.pluss.platform.entity.MerchantCashPlace;
import cn.pluss.platform.entity.MerchantCashPlaceStaff;
import cn.pluss.platform.entity.*;
import cn.pluss.platform.exception.MsgException;
import cn.pluss.platform.mapper.MerchantChannelMapper;
import cn.pluss.platform.merchant.MerchantCashPlaceService;
import cn.pluss.platform.merchant.MerchantCashPlaceStaffService;
import cn.pluss.platform.vo.MerchantCashPlaceStaffVO;
import cn.pluss.platform.vo.MerchantCashPlaceVO;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.Setter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
/** 收银点
* @author DJH
*/
@RestController
@@ -32,6 +33,9 @@ public class MerchantCashPlaceController {
@Setter(onMethod_ = {@Autowired})
private MerchantCashPlaceStaffService cashPlaceStaffService;
@Resource
private MerchantChannelMapper merchantChannelMapper;
@PostMapping
public Result<Object> add(@RequestBody MerchantCashPlace merchantCashPlace) {
@@ -50,6 +54,13 @@ public class MerchantCashPlaceController {
return ResultGenerator.genSuccessResult("操作成功", null);
}
/**
* (新)收银点列表
* @param current
* @param size
* @param merchantCashPlace
* @return
*/
@GetMapping("/list")
public Result<Object> list(Long current, Long size, MerchantCashPlace merchantCashPlace) {
Page<MerchantCashPlace> page = new Page<>();
@@ -59,7 +70,8 @@ public class MerchantCashPlaceController {
page.setCurrent(current);
page.setSize(size);
}
List<MerchantCashPlaceVO> result = cashPlaceService.getListForApp(page, merchantCashPlace);
// List<MerchantCashPlaceVO> result = cashPlaceService.getListForApp(page, merchantCashPlace);
List<MerchantCashPlaceVO> result = cashPlaceService.getListForBase(current.intValue(),size.intValue(), merchantCashPlace.getMerchantCode(),merchantCashPlace.getName());
return ResultGenerator.genSuccessResult(result);
}
@@ -113,4 +125,47 @@ public class MerchantCashPlaceController {
throw new MsgException("输入内容过长");
}
}
/**
* (新)增加收银点
* @return
*/
@PostMapping("/add")
public Result<Object> add(@RequestBody MerchantBaseInfo merchantBaseInfo){
//判定字符位数
if (Objects.equals(merchantBaseInfo.getAddress(), null) || Objects.equals(merchantBaseInfo.getAlias(), null)){
throw new MsgException("地址或收银点名称不能为空");
}
Boolean aBoolean = cashPlaceService.addCashPlace(merchantBaseInfo);
if (aBoolean){
return ResultGenerator.genSuccessResult("");
}
return ResultGenerator.genFailResult("增加失败");
}
/**
* 通道详情
* @return
*/
@GetMapping("/channel")
public Result<Object> channel(@RequestParam String merchantCode){
List<MerchantChannel> merchantChannels = merchantChannelMapper.selectList();
List<MerchantChannel> merchantChannelVo = cashPlaceService.merchantChannel(merchantCode, merchantChannels);
return ResultGenerator.genSuccessResult(merchantChannelVo);
}
/**
* 切换收银点
* @return
*/
@GetMapping("/cutChannel")
public Result<Object> cutChannel(@RequestParam String merchantCode,
@RequestParam String code,
@RequestParam Integer channel){
Boolean aBoolean = cashPlaceStaffService.cutChannel(merchantCode, code, channel);
if (aBoolean){
return ResultGenerator.genSuccessResult();
}
return ResultGenerator.genFailResult("无法切换该通道");
}
}

View File

@@ -0,0 +1,90 @@
package cn.pluss.platform.controller.merchant;
import cn.pluss.platform.api.PageInfo;
import cn.pluss.platform.api.Result;
import cn.pluss.platform.api.ResultGenerator;
import cn.pluss.platform.entity.*;
import cn.pluss.platform.exception.MsgException;
import cn.pluss.platform.mapper.MerchantCashPlaceMapper;
import cn.pluss.platform.mapper.MerchantChannelMapper;
import cn.pluss.platform.merchant.MerchantCashPlaceService;
import cn.pluss.platform.merchant.MerchantCashPlaceStaffService;
import cn.pluss.platform.merchant.MerchantCashierCounteService;
import cn.pluss.platform.userApp.UserAppService;
import cn.pluss.platform.vo.MerchantCashPlaceStaffVO;
import cn.pluss.platform.vo.MerchantCashPlaceVO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.Setter;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
* 收银点
*
* @author DJH
*/
@RestController
@RequestMapping("/cashierCounte")
public class MerchantCashierCounteController {
@Setter(onMethod_ = {@Autowired})
private MerchantCashierCounteService merchantCashierCounteService;
@Autowired
private UserAppService userAppService;
@Setter(onMethod_ = {@Autowired})
private MerchantCashPlaceStaffService cashPlaceStaffService;
@Resource
private MerchantChannelMapper merchantChannelMapper;
@PostMapping("/add")
public Result<Object> add(@RequestBody MerchantCashPlace merchantCashPlace) {
//判定字符位数
if (StringUtils.isEmpty(merchantCashPlace.getAddress()) || StringUtils.isEmpty(merchantCashPlace.getName())) {
throw new MsgException("地址或收银点名称不能为空");
}
UserApp userApp = userAppService.queryUserAppByToken();
merchantCashPlace.setUserId(userApp.getUserId());
merchantCashierCounteService.addCashierCounte(merchantCashPlace,userApp);
return ResultGenerator.genSuccessResult("保存成功", merchantCashPlace);
}
/**
* (新)收银点列表
*
* @param current
* @param size
* @return
*/
@GetMapping("/list")
public Result<Object> list(@RequestParam Integer current, @RequestParam Integer size, String name) {
UserApp userApp = userAppService.queryUserAppByToken();
PageInfo result = merchantCashierCounteService.selectList(current,size,userApp.getUserId(),name);
return ResultGenerator.genSuccessResult(result);
}
/**
* 切换收银点
*
* @return
*/
@GetMapping("/cutCashier")
public Result<Object> cutCashier(@RequestParam long fromChannel,
@RequestParam long toChannel) {
Map<String,Object> map = merchantCashierCounteService.cutCashier(fromChannel, toChannel);
return ResultGenerator.genSuccessResult(map);
}
}

View File

@@ -198,14 +198,14 @@ public class WxController {
// ysServiceV3.req(ReqMethod.Reporting, bizContentMap);
// }
//
@PostMapping("/appIdAddOrUpdate")
public void appIdAddOrUpdate(){
JSONObject bizContentMap = new JSONObject();
bizContentMap.put("channelId", "CUPS_WECHAT");
bizContentMap.put("mercId", "QRY230510383416");
bizContentMap.put("appletId", "wxfc7bd92a462eb191");
ysServiceV3.req(ReqMethod.appIdAddOrUpdate, bizContentMap,4);
}
// @PostMapping("/appIdAddOrUpdate")
// public void appIdAddOrUpdate(){
// JSONObject bizContentMap = new JSONObject();
// bizContentMap.put("channelId", "CUPS_WECHAT");
// bizContentMap.put("mercId", "QRY230511483159");
// bizContentMap.put("appletId", "wxc2bb94c0ddda1032");
// ysServiceV3.req(ReqMethod.appIdAddOrUpdate, bizContentMap);
// }
// @PostMapping("/auditResult")
// public void test(String sysFlowId){

View File

@@ -0,0 +1,67 @@
package cn.pluss.platform.controller;
import cn.hutool.core.lang.TypeReference;
import cn.pluss.platform.api.Result;
import cn.pluss.platform.api.ResultGenerator;
import cn.pluss.platform.util.FileUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.assertj.core.error.ShouldBe;
import org.springframework.context.annotation.Bean;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.PostConstruct;
import java.io.IOException;
import java.util.Map;
/**
* @author lyf
*/
@Slf4j
@RestController
@RequestMapping("/payConfig")
public class payConfigController {
private static JSONObject object=new JSONObject();
@GetMapping("/appconfig")
public Result<Object> appConfig()throws IOException {
object.put("path","/pages/app/pay");
object.put("appid","wxfc7bd92a462eb191");
object.put("id","gh_f987a9e9b1d0");
object.put("type","0");
return ResultGenerator.genSuccessResult(object);
}
// @Bean
// public void readFile() throws IOException {
// String filename = "/home/www/service/config.txt";
// String filecontent= FileUtil.readFile(filename);
//
// JSONObject obj = JSON.parseObject(filecontent);
// object=obj;
// }
//
//
//
// @Scheduled(cron = "0 0 0 * * ?")
// public void readFileSche() throws IOException {
//
// log.info("~~~~~~~~~统计用户流水是否达标定时任务开始~~~~~~~~~~~~");
// String filename = "/home/www/service/config.txt";
// String filecontent= FileUtil.readFile(filename);
// JSONObject obj = JSON.parseObject(filecontent);
// object=obj;
// }
}

View File

@@ -9,11 +9,13 @@ spring:
username: ysk_test
password: mysqlroot@123
driver-class-name: com.mysql.jdbc.Driver
# datasource:
# url: jdbc:mysql://101.37.12.135:3306/ysk_test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
# username: ysk_test
# password: CZGmysqlroot@123
# url: jdbc:mysql://101.37.12.135:3306/testchao?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
# username: testchao
# password: 2HzbCB3SHM2pWXWT
# driver-class-name: com.mysql.jdbc.Driver
parameter:
### 这个根据自己的情况配置
domain: https://admintestapi.sxczgkj.cn

View File

@@ -27,3 +27,6 @@ server:
port: 7004
environment: test
openness:
angenturl: https://p40312246f.goho.co/proxy/agent/registeragent
customerurl:

View File

@@ -246,25 +246,25 @@ public class ParameterConfig {
public String LESHUALIU;
/**
* 收银呗微信普通商户APPID
* 银收客微信普通商户APPID
*/
@Value("${parameter.MERCHANT_APPID}")
public String MERCHANT_APPID;
/**
* 收银呗微信普通商户Appsecret
* 银收客微信普通商户Appsecret
*/
@Value("${parameter.MERCHANT_APPSECRET}")
public String MERCHANT_APPSECRET;
/**
* 收银呗微信普通商户号
* 银收客微信普通商户号
*/
@Value("${parameter.MERCHANT_PID}")
public String MERCHANT_PID;
/**
* 收银呗微信普通商户key
* 银收客微信普通商户key
*/
@Value("${parameter.MERCHANT_KEY}")
public String MERCHANT_KEY;

View File

@@ -32,7 +32,7 @@ public class JtyYxPayNotice {
* 支付方式
* 10001 支付宝
* 10002 微信
* 10003 收银呗
* 10003 银收客
*/
private String payType;

View File

@@ -17,8 +17,16 @@ public class HttpUtils {
String userAgent = request.getHeader("user-agent");
/**
* 仅适用于收银呗app
* 仅适用于银收客app
*/
return userAgent.contains("iOS");
}
public static boolean phoneType(HttpServletRequest request){
String userAgent = request.getHeader("type");
if ("1".equals(userAgent)){
return false;
}
return true;
}
}

View File

@@ -44,7 +44,7 @@ public class JpushClientUtil {
// sendToAllAndroid("测试Android", "测试Android", "测试Android", "https://www.baidu.com");
// sendToAllIos("测试Ios", "测试信息Ios", "测试信息Ios", "https://www.baidu.com");
// sendToAll("测试全平台", "测试信息全平台", "测试信息全平台", "https://www.baidu.com");
int a = sendToRegistrationId2(alias, "收银呗到账通知233", "收银呗到账通知", "收银呗到账0.01元", "3","2018-11-23 17:05:25");
int a = sendToRegistrationId2(alias, "银收客到账通知233", "银收客到账通知", "银收客到账0.01元", "3","2018-11-23 17:05:25");
System.out.println(a);
System.out.println("发送成功!");
}

View File

@@ -49,7 +49,7 @@ public class MobPushClient {
push.setPushTarget(pushTarget);
Result<PushV3Res> pushV3ResResult = PushV3Client.pushTaskV3(push);
System.out.println(DateUtils.formatDateDefault(new Date(), "yyyy-MM-dd HH:mm:ss"));
//Result<PushV3Res> result = PushV3Client.pushByRids(null,"收银呗到账","收银呗到账1000.00元","65kyb6mmvuxvaio");
//Result<PushV3Res> result = PushV3Client.pushByRids(null,"银收客到账","银收客到账1000.00元","65kyb6mmvuxvaio");
System.out.println(pushV3ResResult);
return true;
}

View File

@@ -169,34 +169,34 @@ public class ParametersUtil {
public static String LESHUALIU;
/**
* 收银呗微信普通商户APPID
* 银收客微信普通商户APPID
*/
public static String MERCHANT_APPID;
/**
* 收银呗微信普通商户Appsecret
* 银收客微信普通商户Appsecret
*/
public static String MERCHANT_APPSECRET;
/**
* 收银呗微信普通商户号
* 银收客微信普通商户号
*/
public static String MERCHANT_PID;
/**
* 收银呗微信普通商户key
* 银收客微信普通商户key
*/
public static String MERCHANT_KEY;
public static String LESHUA_API;
/**
* @description:收银呗商家公众号APPID
* @description:银收客商家公众号APPID
* @date: 2021/9/23 10:27
*/
public static String SJ_APPID;
/**
* @description:收银呗商家公众号APPSECRET
* @description:银收客商家公众号APPSECRET
* @date: 2021/9/23 10:27
*/
public static String SJ_APPSECRET;

View File

@@ -255,7 +255,7 @@ public class ValidateCodeUtil {
}
// 1.发送短信
com.aliyun.dysmsapi20170525.models.SendSmsRequest sendSmsRequest = new com.aliyun.dysmsapi20170525.models.SendSmsRequest()
.setSignName("银收客")
.setSignName("陕西超掌柜科技")
.setTemplateCode("SMS_244665149")
.setTemplateParam("{\"code\":" +"'"+checkCode +"'"+"}")
.setPhoneNumbers(phone);

View File

@@ -100,7 +100,7 @@ parameter:
APPID: wx212769170d2c6b2a
# wxfffc7bff64c7a11e
#小程序付款APPID
APPLETS_APPID: wxc2bb94c0ddda1032
APPLETS_APPID: wxfc7bd92a462eb191
#小程序密钥
APPLETS_SECRET: 625cbce8772629312e42e8278a8d6889
APPSECRET: 8492a7e8d55bbb1b57f5c8276ea1add0

View File

@@ -35,11 +35,11 @@ ys:
## 加密密钥
encryptPwd: MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQD2J82Gg79Tk8HZ9Zl7EOeLwvUn41c4ktUg6jveIhYLhT
oldPayV2:
## 交易发起方编号 收银呗(武汉)科技有限公司
## 交易发起方编号 银收客(武汉)科技有限公司
srcMerchantNo:
## 收银呗(武汉)科技有限公司 私钥
## 银收客(武汉)科技有限公司 私钥
payPriKey:
## 收银呗公钥
## 银收客公钥
sybPubKey:
# 银盛公钥
payPubKey:

View File

@@ -1,8 +1,11 @@
package cn.pluss.platform.mapper;
import cn.pluss.platform.entity.BankCodeSxf;
import cn.pluss.platform.entity.BankCodeYs;
import cn.pluss.platform.leshua.BankNameVO;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import lombok.val;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -10,4 +13,8 @@ import java.util.List;
public interface BankCodeSxfMapper extends BaseMapper<BankCodeSxf> {
List<BankNameVO> getBranchName(@Param(value="areaCode")String areaCode, @Param(value="provinceCode")String provinceCode, @Param(value="bankName")String bankName, @Param(value="branchName")String branchName);
default BankCodeSxf selectByContactLine(String contactLine) {
val qWrapper = new LambdaQueryWrapper<BankCodeSxf>().eq(BankCodeSxf::getCnapsCode, contactLine);
return selectOne(qWrapper);
}
}

View File

@@ -63,7 +63,7 @@ public interface DeviceStockMapper extends BaseMapper<DeviceStock> {
DeviceStock getDeviceBySnNo(String snNo);
Page<DeviceStockVO> pageDeviceStock(Page<DeviceStockVO> page, @Param("userId") Long userId, @Param("cashPlaceId") Long cashPlaceId);
Page<DeviceStockVO> pageDeviceStock(Page<DeviceStockVO> page,@Param("cashPlaceId") Long cashPlaceId);
@Select("SELECT * FROM tb_pluss_device_stock where deviceNo = #{deviceNo} limit 1")
DeviceStock getDeviceByDeviceNo(@Param("deviceNo") String deviceNo);

View File

@@ -9,7 +9,7 @@ import org.apache.ibatis.annotations.Select;
/**
* <p>
* 收银呗缴费通收款单 Mapper 接口
* 银收客缴费通收款单 Mapper 接口
* </p>
*
* @author crystal

View File

@@ -1,6 +1,7 @@
package cn.pluss.platform.mapper;
import cn.pluss.platform.entity.MerchantCashPlace;
import cn.pluss.platform.entity.UserCashPlace;
import cn.pluss.platform.vo.MerchantCashPlaceVO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

View File

@@ -12,4 +12,6 @@ public interface MerchantChannelMapper extends BaseMapper<MerchantChannel> {
* @return
*/
List<Integer> selectValidIdList();
List<MerchantChannel> selectList();
}

View File

@@ -1,10 +1,7 @@
package cn.pluss.platform.mapper;
import cn.pluss.platform.entity.MerchantChannelStatus;
import cn.pluss.platform.vo.ChannelStatusVO;
import cn.pluss.platform.vo.MerchantChannelStatusVO;
import cn.pluss.platform.vo.UserNumVO;
import cn.pluss.platform.vo.merchantChannelVO;
import cn.pluss.platform.vo.*;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
@@ -40,6 +37,9 @@ public interface MerchantChannelStatusMapper extends BaseMapper<MerchantChannelS
List<MerchantChannelStatus> selectListWithUserId(@Param(Constants.WRAPPER) Wrapper<MerchantChannelStatus> queryWrapper);
List<MerchantCashPlaceVO> selectMerchantCode(@Param("merchantCode")String merchantCode, @Param("name")String name,
@Param("pageNum")Integer current, @Param("pageSize")Integer size);
@Select("SELECT * FROM tb_pluss_merchant_channel_status WHERE merchantId = #{merchantId} FOR UPDATE ")
MerchantChannelStatus getByMerchantIdLock(@Param("merchantId") String merchantId);
@@ -53,4 +53,9 @@ public interface MerchantChannelStatusMapper extends BaseMapper<MerchantChannelS
*/
UserNumVO getUserNumInfo(@Param("userId") Long userId, @Param("date")String date, @Param("dateType")Integer dateType);
List<merchantChannelVO> pageDate(@Param("pageSize")Integer size, @Param("offset")Integer page);
List<Integer> getChannelByMerchantCode(@Param("merchantCode") String merchantCode);
Integer saveChannel(MerchantChannelStatus merchantChannelStatus);
List<Integer> getChannelByRootId(@Param("rootAccountId") long rootAccountId);
}

View File

@@ -0,0 +1,16 @@
package cn.pluss.platform.mapper;
import cn.pluss.platform.entity.MerchantCashPlace;
import cn.pluss.platform.entity.UserCashPlace;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 商户收银点表 Mapper 接口
* </p>
*
* @author Djh
* @since 2021-03-23
*/
public interface UserCashPlaceMapper extends BaseMapper<UserCashPlace> {
}

View File

@@ -205,20 +205,20 @@
<select id="pageDeviceStock" resultType="cn.pluss.platform.vo.DeviceStockVO">
SELECT ds.*, dt.`name` deviceName, spec.specName typeDesc, dg.deviceLogo, dt.payCodeFlag, mcp.name cashPlaceName
FROM tb_pluss_device_stock ds
LEFT JOIN tb_pluss_merchant_base_info mbi ON ds.actMercId = mbi.id
LEFT JOIN tb_pluss_device_type dt ON dt.`code` = ds.`code`
LEFT JOIN tb_pluss_device_spec spec ON ds.`code` = spec.`code` AND ds.type = spec.spec
LEFT JOIN tb_pluss_merchant_cash_pay_code mcpc ON mcpc.payCode = ds.snNo
LEFT JOIN tb_pluss_merchant_cash_place mcp ON mcpc.cashPlaceId = mcp.id
LEFT JOIN tb_pluss_device_goods dg ON dg.`code` = ds.`code`
<where>
<if test="userId != null">
AND mbi.userId = #{userId}
</if>
<if test="cashPlaceId != null">
AND mcpc.cashPlaceId = #{cashPlaceId}
</if>
</where>
left JOIN tb_pluss_device_type dt ON dt.`code` = ds.`code`
left JOIN tb_pluss_device_spec spec ON ds.`code` = spec.`code` AND ds.type = spec.spec
left JOIN tb_pluss_merchant_cash_pay_code mcpc ON mcpc.payCode = ds.snNo
left JOIN tb_pluss_merchant_cash_place mcp ON mcp.id = mcpc.cashPlaceId
left JOIN tb_pluss_device_goods dg ON dg.`code` = ds.`code`
where mcpc.cashPlaceId = #{cashPlaceId}
<!-- <where>-->
<!-- <if test="userId != null">-->
<!-- AND mbi.userId = #{userId}-->
<!-- </if>-->
<!-- <if test="cashPlaceId != null">-->
<!-- AND mcpc.cashPlaceId = #{cashPlaceId}-->
<!-- </if>-->
<!-- </where>-->
</select>
</mapper>

View File

@@ -14,5 +14,10 @@
SELECT id FROM tb_pluss_merchant_channel WHERE `status` = 1
</select>
<select id="selectList" resultType="cn.pluss.platform.entity.MerchantChannel">
SELECT id,channelName FROM tb_pluss_merchant_channel WHERE `status` = 1
</select>
</mapper>

View File

@@ -89,4 +89,43 @@
WHERE mcs.`valid` = -1
order by mcs.id desc limit #{pageSize} offset #{offset};
</select>
<select id="getChannelByMerchantCode" resultType="java.lang.Integer">
-- SELECT channel FROM tb_pluss_merchant_channel_status tp inner join tb_pluss_merchant_cash_place tpm
-- on tp.channel = tpm.pay_passage_id and tp.userId = tpm.userId WHERE merchantCode=#{merchantCode}
SELECT tp.channel FROM tb_pluss_merchant_channel_status tp
inner join tb_pluss_merchant_base_info tmb on tp.merchantCode = tmb.merchantCode
inner join tb_pluss_merchant_cash_place tpm WHERE merchantCode=#{merchantCode}
on tmb.userId = tpm.userId
</select>
<select id="selectMerchantCode" resultType="cn.pluss.platform.vo.MerchantCashPlaceVO">
SELECT
a.channel,
a.valid AS tab,
IFNULL(b.alias, "本店铺") AS name,
b.address,
b.createTime,
b.code
FROM
tb_pluss_merchant_channel_status a
LEFT JOIN
tb_merchant_channel_status_exp b ON a.id = b.statusId
WHERE
a.merchantCode = #{merchantCode}
<if test="name != null">
AND b.alias LIKE CONCAT(#{name},'%')
</if>
ORDER BY
a.id
LIMIT
#{pageNum}, #{pageSize}
</select>
<select id="getChannelByRootId" resultType="java.lang.Integer">
SELECT DISTINCT tpm.pay_passage_id from tb_pluss_merchant_cash_place tpm where tpm.root_account_id = #{rootAccountId}
</select>
<insert id="saveChannel" useGeneratedKeys="true" keyProperty="id" keyColumn="id"
parameterType="cn.pluss.platform.entity.MerchantChannelStatus">
insert into tb_pluss_merchant_channel_status(merchantCode, channel, status, thirdStatus, createTime, updateTime)
VALUES (#{merchantCode}, #{channel}, #{status}, #{thirdStatus}, #{createTime}, #{updateTime})
</insert>
</mapper>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.pluss.platform.mapper.UserCashPlaceMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="cn.pluss.platform.entity.UserCashPlace">
<id column="id" property="id" />
<result column="user_id" property="userId" />
<result column="code" property="code" />
<result column="merchant_id" property="merchantId" />
<result column="is_root_account" property="isRootAccount" />
<result column="address" property="address" />
<result column="remark" property="remark" />
<result column="createTime" property="createTime" />
<result column="updateTime" property="updateTime" />
<result column="org_code" property="orgCode" />
<result column="root_account_id" property="rootAccountId" />
<result column="chasplace_id" property="chasplaceId" />
</resultMap>
</mapper>

View File

@@ -49,25 +49,25 @@ public class TestController {
Integer errorCode = parseObject.getInteger("errcode");
if (!StringUtil.isEmpty(errorCode)) {
switch (errorCode) {
case -1:
msg = "系统繁忙,此时请开发者稍候再试";
break;
case 0:
msg = "请求成功";
flag = true;
break;
case 40001:
msg = "AppSecret错误或者AppSecret不属于这个公众号请开发者确认AppSecret的正确性";
break;
case 40002:
msg = "请确保grant_type字段值为client_credential";
break;
case 40164:
msg = "调用接口的IP地址不在白名单中请在接口IP白名单中进行设置。小程序及小游戏调用不要求IP地址在白名单内。";
break;
default:
msg = "请求成功";
break;
case -1:
msg = "系统繁忙,此时请开发者稍候再试";
break;
case 0:
msg = "请求成功";
flag = true;
break;
case 40001:
msg = "AppSecret错误或者AppSecret不属于这个公众号请开发者确认AppSecret的正确性";
break;
case 40002:
msg = "请确保grant_type字段值为client_credential";
break;
case 40164:
msg = "调用接口的IP地址不在白名单中请在接口IP白名单中进行设置。小程序及小游戏调用不要求IP地址在白名单内。";
break;
default:
msg = "请求成功";
break;
}
} else {
flag = true;
@@ -118,25 +118,25 @@ public class TestController {
Integer errorCode = parseObject.getInteger("errcode");
if (!StringUtil.isEmpty(errorCode)) {
switch (errorCode) {
case -1:
msg = "系统繁忙,此时请开发者稍候再试";
break;
case 0:
msg = "请求成功";
flag = true;
break;
case 40001:
msg = "AppSecret错误或者AppSecret不属于这个公众号请开发者确认AppSecret的正确性";
break;
case 40002:
msg = "请确保grant_type字段值为client_credential";
break;
case 40164:
msg = "调用接口的IP地址不在白名单中请在接口IP白名单中进行设置。小程序及小游戏调用不要求IP地址在白名单内。";
break;
default:
msg = "请求成功";
break;
case -1:
msg = "系统繁忙,此时请开发者稍候再试";
break;
case 0:
msg = "请求成功";
flag = true;
break;
case 40001:
msg = "AppSecret错误或者AppSecret不属于这个公众号请开发者确认AppSecret的正确性";
break;
case 40002:
msg = "请确保grant_type字段值为client_credential";
break;
case 40164:
msg = "调用接口的IP地址不在白名单中请在接口IP白名单中进行设置。小程序及小游戏调用不要求IP地址在白名单内。";
break;
default:
msg = "请求成功";
break;
}
} else {
flag = true;
@@ -155,15 +155,12 @@ public class TestController {
return null;
}
/**
*
*
* creatMenu:(创建菜单). <br/>
*
*
*
* @author Administrator
* @return
@@ -181,6 +178,7 @@ public class TestController {
}
public static void main(String[] args) throws Exception {
System.out.println();
createMenu();
}
@@ -204,9 +202,9 @@ public class TestController {
//
/**
*
*
* deleteMenu:(删除菜单). <br/>
*
*
*
* @author Administrator
* @return
@@ -222,8 +220,6 @@ public class TestController {
}
return null;
}
}

View File

@@ -12,16 +12,16 @@ spring:
# password: prodCZGmysqlroot@123
# driver-class-name: com.mysql.jdbc.Driver
# #新
datasource:
url: jdbc:mysql://rm-bp1uo9iq250st2e691o.mysql.rds.aliyuncs.com.com:3306/chaozhanggui?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
username: root
password: prodCZGmysqlroot@123
driver-class-name: com.mysql.jdbc.Driver
# datasource:
# url: jdbc:mysql://101.37.12.135:3306/ysk_test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
# username: ysk_test
# password: CZGmysqlroot@123
# driver-class-name: com.mysql.jdbc.Driver
# datasource:
# url: jdbc:mysql://rm-bp1uo9iq250st2e691o.mysql.rds.aliyuncs.com.com:3306/chaozhanggui?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
# username: root
# password: prodCZGmysqlroot@123
# driver-class-name: com.mysql.jdbc.Driver
datasource:
url: jdbc:mysql://101.37.12.135:3306/ysk_test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
username: ysk_test
password: mysqlroot@123
driver-class-name: com.mysql.jdbc.Driver
logging:
config: classpath:log4j2-dev.xml

View File

@@ -21,7 +21,7 @@ import java.util.UUID;
/**
* <p>
* 收银呗缴费通收款单
* 银收客缴费通收款单
* </p>
*
* @author crystal

View File

@@ -2,7 +2,6 @@ package cn.pluss.platform.entity;
import cn.pluss.platform.constants.Constant;
import cn.pluss.platform.exception.MsgException;
import cn.pluss.platform.util.MD5Util;
import cn.pluss.platform.util.SignUtils;
import cn.pluss.platform.util.StringUtil;
import com.alibaba.fastjson.JSON;
@@ -19,7 +18,6 @@ import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.Objects;
@Data
@AllArgsConstructor
@@ -108,6 +106,16 @@ public class MerchantBaseInfo implements Serializable {
private String buslicType;
private String isVoice;
/**
* (新)多收银点主商户号
*/
@TableField("masterMerchantCode")
private String masterMerchantCode;
/**
* 通道切换标记
*/
@TableField("tab")
private Integer tab;
/**
* 是否推送微信消息0不推送 1推送
@@ -229,6 +237,9 @@ public class MerchantBaseInfo implements Serializable {
@TableField("validFlag")
private Integer validFlag;
@TableField(exist = false)
private Integer channel;
public static void setFirstAndLastTradeTime(MerchantBaseInfo mbi, Date date) {

View File

@@ -41,11 +41,6 @@ public class MerchantCashPlace implements Serializable {
@TableField("userId")
private Long userId;
/**
* 多商户的关联code
*/
private String bindingCode;
/**
* 收银点名称
*/
@@ -62,6 +57,8 @@ public class MerchantCashPlace implements Serializable {
*/
@TableField("address")
private String address;
@TableField("bindingCode")
private String bindingCode;
/**
@@ -70,7 +67,16 @@ public class MerchantCashPlace implements Serializable {
@TableField("remark")
private String remark;
@TableField(exist = false)
private String merchantCode;
@TableField("root_account_id")
private long rootAccountId;
@TableField("pay_passage_id")
private long payPassageId;
@TableField("pay_passage_name")
private String payPassageName;
@TableField(exist = false)
private Integer tab;
/**
* 创建时间
*/
@@ -78,18 +84,6 @@ public class MerchantCashPlace implements Serializable {
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 创建时间 开始时间
*/
@TableField(select = false, value = "createTime", condition = SqlConditionExtra.GT)
private Date createTimeStart;
/**
* 创建时间 截止时间
*/
@TableField(select = false, value = "createTime", condition = SqlConditionExtra.LT)
private Date createTimeEnd;
/**
* 更新时间
*/
@@ -97,16 +91,4 @@ public class MerchantCashPlace implements Serializable {
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**
* 更新时间 开始时间
*/
@TableField(select = false, value = "updateTime", condition = SqlConditionExtra.GT)
private Date updateTimeStart;
/**
* 更新时间 截止时间
*/
@TableField(select = false, value = "updateTime", condition = SqlConditionExtra.LT)
private Date updateTimeEnd;
}

View File

@@ -66,7 +66,7 @@ public class MerchantMemberCode implements Serializable {
private Date startTime;
/**
* 收银呗门店ID
* 银收客门店ID
*/
@TableField(exist = false)
private Long storeId;

View File

@@ -0,0 +1,87 @@
package cn.pluss.platform.entity;
import cn.pluss.platform.config.mybatis.SqlConditionExtra;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 商户收银点表
* </p>
*
* @author Djh
* @since 2021-03-23
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tb_pluss_user_cash_place")
public class UserCashPlace implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 用户id
*/
@TableField("user_id")
private Long userId;
/**
* 商户ID
*/
@TableField("merchant_id")
private String merchantId;
/**
* 是否主账号
*/
@TableField("is_root_account")
private String isRootAccount;
/**
* 备注
*/
@TableField("remark")
private String remark;
/**
* 所属商户编号
*/
@TableField("org_code")
private String orgCode;
@TableField("root_account_id")
private Integer rootAccountId;
@TableField("chasplace_id")
private Integer chasplaceId;
/**
* 创建时间
*/
@TableField(value = "createTime", fill = FieldFill.INSERT)
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 更新时间
*/
@TableField(value = "updateTime", fill = FieldFill.INSERT_UPDATE)
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}

View File

@@ -42,6 +42,6 @@ public enum DeviceOperateType {
return ot.getName();
}
}
return "";
return "virtual";
}
}

View File

@@ -18,7 +18,7 @@ public enum SubAppLetInfo {
CSY("wx79b08abe2c635a78","f885694fa1cb93656b72db34f3dae211","仓鼠云收银台小程序"),
MIMA("wx4dce83e9d6d42a6c","09d0ec30f8da544e396ad0b716f120f6","密码收银台小程序"),
TR("wx6639bea0f0c6d648","d060a877a09b48a8dc42f2eb66e08b25","天润收银小程序"),
SYB("wxaa8c9e6857a265e1","2ca82f68f5fa680bc6fc924fd22bd52d","收银呗智慧收银小程序");
SYB("wxaa8c9e6857a265e1","2ca82f68f5fa680bc6fc924fd22bd52d","银收客智慧收银小程序");
private String appid;

View File

@@ -22,9 +22,9 @@ public class JfShopValidTask extends JfShopCommon {
* 02订单微信推送
* 03使用一次帮助中心
* 04查看一次产品手册
* 05本月使用收银呗收款3天
* 06本月使用收银呗收款7天
* 07本月使用收银呗收款15天
* 05本月使用银收客收款3天
* 06本月使用银收客收款7天
* 07本月使用银收客收款15天
*/
private String taskType;

View File

@@ -2,10 +2,6 @@ package cn.pluss.platform.vo;
import cn.pluss.platform.entity.MerchantBaseInfo;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.io.Serializable;
@@ -41,7 +37,10 @@ public class MerchantCashPlaceVO implements Serializable {
* 收银点地址
*/
private String address;
/**
* 通道id
*/
private Integer channel;
/**
* 备注
@@ -70,4 +69,8 @@ public class MerchantCashPlaceVO implements Serializable {
* 店铺基本信息
*/
private MerchantBaseInfo merchantBaseInfo;
/**
* 切换
*/
private Integer tab;
}

View File

@@ -16,7 +16,7 @@ public enum YsOldSrcMerchantNo {
RSCY("826521773920170","wxaa8c9e6857a265e1","gh_5a1aa6143567","融商创赢(发起方)"),
SYB("826521673920090","wxc2ecf9662691832e","gh_d0571a5c903e","收银呗(发起方)");
SYB("826521673920090","wxc2ecf9662691832e","gh_d0571a5c903e","银收客(发起方)");
private String value;

View File

@@ -80,11 +80,11 @@ public class AlipayServiceImpl implements AlipayService {
bizJson.put("product_code", "TRANS_ACCOUNT_NO_PWD");
bizJson.put("biz_scene", "DIRECT_TRANSFER");
bizJson.put("payee_info", payeeInfo);
bizJson.put("order_title", "收银呗分润");
bizJson.put("remark", "收银呗分润");
bizJson.put("order_title", "银收客分润");
bizJson.put("remark", "银收客分润");
JSONObject bizParam = new JSONObject();
bizParam.put("payer_show_name", "收银呗");
bizParam.put("payer_show_name", "银收客");
bizJson.put("business_params", bizParam);

View File

@@ -13,13 +13,12 @@ import cn.pluss.platform.entity.*;
import cn.pluss.platform.exception.MsgException;
import cn.pluss.platform.klk.vo.CallBackVo;
import cn.pluss.platform.klk.vo.FeesSetVo;
import cn.pluss.platform.mapper.AccountMapper;
import cn.pluss.platform.mapper.MerchantChannelFeeMapper;
import cn.pluss.platform.mapper.UserAppMapper;
import cn.pluss.platform.mapper.*;
import cn.pluss.platform.mcc.MccReflectService;
import cn.pluss.platform.merchant.AccountService;
import cn.pluss.platform.merchant.JftMercPaymentChannelService;
import cn.pluss.platform.merchant.MerchantBaseInfoService;
import cn.pluss.platform.merchant.MerchantCashPlaceService;
import cn.pluss.platform.merchantChannelStatus.MerchantChannelStatusService;
import cn.pluss.platform.merchantImage.MerchantImageService;
import cn.pluss.platform.notice.NoticeService;
@@ -47,10 +46,12 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
//import cn.pluss.platform.merchant.edit.MercChangeRecordService;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.core.io.ClassPathResource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.TransactionStatus;
@@ -123,16 +124,27 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
private SxfMerAuditHandler handler;
@Resource
private MerchantChannelFeeMapper merchantChannelFeeMapper;
// @Autowired
// @Autowired
// private MercChangeRecordService mcrService;
@Setter(onMethod_ = {@Autowired})
private MerchantBaseInfoMapper merchantBaseInfoMapper;
@Setter(onMethod_ = {@Autowired})
private MerchantCashPlaceMapper merchantCashPlaceMapper;
@Setter(onMethod_ = {@Autowired})
private UserCashPlaceMapper userCashPlaceMapper;
@Setter(onMethod_ = {@Autowired})
private MerchantChannelStatusMapper merchantChannelStatusMapper;
@Setter(onMethod_ = {@Autowired})
private UserInfoMapper userInfoMapper;
@Setter(onMethod_ = {@Autowired})
private MerchantChannelMapper merchantChannelMapper;
@Override
public void merchantAuditV3(String userId, boolean isFailCheck, Integer channel) {
try {
self.step1(userId,channel);
self.step1(userId, channel);
executorService.execute(() -> {
try {
self.step2(userId,channel);
self.step2(userId, channel);
Thread.sleep(10000);
self.step3(userId, channel);
} catch (Exception e) {
@@ -204,7 +216,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
JSONObject extra = mcs.getExtra();
String custId = extra.getString("custId");
RespEntity respEntity;
if(channel == 4) {
if (channel == 4) {
RateInfo rateInfo = new RateInfo();
rateInfo.setCustId(custId);
rateInfo.setBusOpenType("00|01");
@@ -228,8 +240,8 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
throw new MsgException("银盛云商服3.0商户签约申请请求失败, {}", respEntity.getSubMsg());
}
//保存费率
channelFee(0.48d,0.48d, channel, mcs.getMerchantCode());
}else {
channelFee(0.48d, 0.48d, channel, mcs.getMerchantCode());
} else {
RateInfoD1 rateInfoD1 = new RateInfoD1();
rateInfoD1.setCustId(custId);
rateInfoD1.setBusOpenType("00");
@@ -251,7 +263,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
throw new MsgException("银盛云商服3.0商户签约申请请求失败, {}", respEntity.getSubMsg());
}
//保存费率
channelFee(0.38d,0.38d, channel, mcs.getMerchantCode());
channelFee(0.38d, 0.38d, channel, mcs.getMerchantCode());
}
JSONObject businessData = JSON.parseObject(respEntity.getBusinessData());
@@ -300,13 +312,13 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
// 资料确认通知
Notify.Cust cust = notifyData.getCust();
cust.setStatus(notifyData.getStatus());
auditResultHandle(cust,channel);
auditResultHandle(cust, channel);
break;
case Notify.TYPE_MERC_SIGN:
// 签约变更通知
Notify.Auth auth = notifyData.getAuth();
auth.setStatus(notifyData.getStatus());
signResultHandle(auth,channel);
signResultHandle(auth, channel);
break;
case Notify.TYPE_MERC_CHANGE:
// 商户资料变更通知
@@ -320,11 +332,82 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
// 报备通知
Notify.Report report = notifyData.getReport();
report.setStatus(notifyData.getStatus());
collectSubMerId(report,channel);
collectSubMerId(report, channel);
break;
}
}
private void addCash(MerchantChannelStatus mcs,Integer channl) {
QueryWrapper<MerchantChannelStatus> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("status", "3");
queryWrapper.eq("merchantCode", mcs.getMerchantCode());
// queryWrapper.eq("channel")
long num = merchantChannelStatusMapper.selectCount(queryWrapper);
if (num < 2) {
QueryWrapper<MerchantBaseInfo> baseInfoQueryWrapper = new QueryWrapper<>();
baseInfoQueryWrapper.eq("merchantCode", mcs.getMerchantCode());
List<MerchantBaseInfo> list = merchantBaseInfoMapper.selectList(baseInfoQueryWrapper);
if (list.size() > 0) {
MerchantBaseInfo merchantBaseInfo = list.iterator().next();
UserInfo userInfo = userInfoMapper.selectById(merchantBaseInfo.getUserId());
if (Objects.nonNull(userInfo) &&!userInfo.getLoginName().contains("-")){
MerchantCashPlace merchantCashPlace = new MerchantCashPlace();
merchantCashPlace.setAddress(merchantBaseInfo.getAddress());
merchantCashPlace.setUserId(Long.valueOf(merchantBaseInfo.getUserId()));
merchantCashPlace.setName("收银点一");
merchantCashPlace.setPayPassageId(channl);
MerchantChannel merchantChannel = merchantChannelMapper.selectById(channl);
if (Objects.nonNull(merchantChannel)){
merchantCashPlace.setPayPassageName(merchantChannel.getChannelName());
}
merchantCashPlace.setPayPassageId(mcs.getChannel());
merchantCashPlace.setPayPassageName(mcs.getChannelName());
merchantCashPlace.setCreateTime(new Date());
merchantCashPlace.setRootAccountId(Long.valueOf(merchantBaseInfo.getUserId()));
merchantCashPlace.setCode(getCode());
merchantCashPlaceMapper.insert(merchantCashPlace);
UserCashPlace childUserCashPlace = new UserCashPlace();
childUserCashPlace.setChasplaceId(merchantCashPlace.getId());
childUserCashPlace.setCreateTime(new Date());
childUserCashPlace.setIsRootAccount("true");
childUserCashPlace.setOrgCode(userInfo.getLoginName());
childUserCashPlace.setRootAccountId(userInfo.getId().intValue());
childUserCashPlace.setUserId(userInfo.getId());
userCashPlaceMapper.insert(childUserCashPlace);
}
}
}
}
public String getCode(){
String randomDigits = generateRandomDigits(2);
String randomLetters = generateRandomLetters(6);
String randomString = randomDigits + randomLetters;
return randomString;
}
// 生成n位随机数字
private static String generateRandomDigits(int n) {
Random random = new Random();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
int digit = random.nextInt(10);
sb.append(digit);
}
return sb.toString();
}
private static String generateRandomLetters(int n) {
Random random = new Random();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
char letter = (char) (random.nextInt(26) + 'A');
sb.append(letter);
}
return sb.toString();
}
@Override
public void auditResult(String userId) {
@@ -415,9 +498,9 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
private MercInfo combineBaseInfo(String userId, Integer channel) {
CombineMercInfo combineMercInfo;
if (channel.equals(4)){
if (channel.equals(4)) {
combineMercInfo = mercAuditListener.getMercInfo(userId, Account.CHANNEL_TYPE_D0);
}else {
} else {
combineMercInfo = mercAuditListener.getMercInfo(userId, Account.CHANNEL_TYPE_D1);
}
@@ -431,7 +514,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
//商户基本信息
if ("1".equals(mbi.getMerchantType())) {
custInfo.setMercName(mbi.getAlias());
}else {
} else {
custInfo.setMercName(mbi.getMerchantName());
}
custInfo.setMercShortName(mbi.getAlias());
@@ -458,7 +541,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
if (channel.equals(4)) {
custInfo.setNotifyUrl(YsConfigV3.AUDIT_NOTIFY_URL);
custInfo.setAgtMercId(ysConfigV3.getAgentNo());
}else {
} else {
custInfo.setNotifyUrl(YsConfigV3.AUDIT_NOTIFY_URL_D1);
custInfo.setAgtMercId(ysConfigV3.getAgentNoD1());
}
@@ -527,13 +610,13 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
if (!mbi.getMerchantType().equals(MerchantBaseInfo.MERCH_TYPE_MICRO)) {
busInfo.setBusNm(mbi.getBussAuthName());
busInfo.setBusNo(mbi.getBussAuthNum());
if (mbi.getBussAuthStartTime() == null || mbi.getBussAuthEndTime() == null){
throw new MsgException("营业执照日期有误");
if (mbi.getBussAuthStartTime() == null || mbi.getBussAuthEndTime() == null) {
throw new MsgException("营业执照日期有误");
}
busInfo.setBusCertBgn(mbi.getBussAuthStartTime().replace("","")
.replace("", "").replace("", ""));
busInfo.setBusCertExpire(mbi.getBussAuthEndTime().replace("","")
.replace("", "").replace("", ""));
busInfo.setBusCertBgn(mbi.getBussAuthStartTime().replace("", "")
.replace("", "").replace("", ""));
busInfo.setBusCertExpire(mbi.getBussAuthEndTime().replace("", "")
.replace("", "").replace("", ""));
busInfo.setBusAddr(mbi.getBussAuthAddress());
busInfo.setBusCertType("19");
} else {
@@ -568,7 +651,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
case YsConfigV3.STATUS_SUCCESS:
mcs.setAuditSuccessTime(new Date());
mcsService.updateById(mcs);
sign(mcs,channel);
sign(mcs, channel);
break;
case YsConfigV3.STATUS_REFUSE:
List<String> excludeStatus = Arrays.asList(MerchantChannelStatus.AUDIT_STATUS_REJECT, MerchantChannelStatus.AUDIT_STATUS_SUCCESS);
@@ -596,6 +679,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
break;
}
}
public void step2(String userId, Integer channel) {
MerchantBaseInfo mbi = mbiService.getMerchantBaseInfoByUserId(userId);
List<MerchantImage> miList = miService.getListOfMerch(userId, Account.CHANNEL_TYPE_D0);
@@ -612,6 +696,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
imageUpload(mi.getPhotoType(), mi.getPicUrl(), mcs.getApplicationId());
}
}
public void step3(String userId, Integer channel) {
MerchantBaseInfo mbi = mbiService.getMerchantBaseInfoByUserId(userId);
MerchantChannelStatus mcs = mcsService.getByMerchantCode(mbi.getMerchantCode(), channel);
@@ -654,6 +739,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
}
mcsService.updateById(mcs);
}
private void imageUpload(String photoType, String imgUrl, String flowId) {
int count = 0;
while (count < 3) {
@@ -678,6 +764,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
throw new MsgException("图片多次上传失败");
}
public String imgTypeTransform(String imageType) {
if (imageType == null) {
throw new MsgException("图片类型不能为空");
@@ -716,6 +803,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
return null;
}
public void signResultHandle(Notify.Auth authData, Integer channel) {
QueryWrapper<MerchantChannelStatus> qWrapper = Wrappers.query();
qWrapper.eq("extra ->> '$.authId'", authData.getAuthId());
@@ -752,12 +840,17 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
// mercAuditListener.onSuccess(mbi.getUserId(), mcs);
//向小程序里加入商家
handler.createStore(mcs);
// //银盛再次报备 appid
// //银盛再次报备
JSONObject bizContentMap = new JSONObject();
bizContentMap.put("channelId", "CUPS_WECHAT");
bizContentMap.put("mercId", mercId);
bizContentMap.put("appletId", "wxfc7bd92a462eb191");
ysServiceV3.req(ReqMethod.appIdAddOrUpdate, bizContentMap,channel);
try {
addCash(mcs,4);
}catch (Exception e){
log.info("创建店铺信息异常,异常信息:{}", e.getMessage());
}
break;
case YsConfigV3.STATUS_REFUSE:
String note1 = authData.getNote();
@@ -788,7 +881,8 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
break;
}
}
// public void editResultHandle(Notify.Change changeResult) {
// public void editResultHandle(Notify.Change changeResult) {
// String status = changeResult.getStatus();
//
// MercChangeRecord entity = mcrService.get(changeResult.getChangeSysFlowId(), 4);
@@ -922,6 +1016,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
}
}
}
@Override
public void report(MerchantChannelStatus mcs, Integer channel) {
if (mcs == null) {
@@ -962,6 +1057,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
throw new MsgException(result);
}
}
/**
* 微信网联报备
*/
@@ -1021,8 +1117,9 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
throw new MsgException("支付宝银联报备异常," + req.getSubMsg());
}
}
@Override
public void reportAgain(MerchantChannelStatus mcs, Integer channel){
public void reportAgain(MerchantChannelStatus mcs, Integer channel) {
if (mcs == null) {
return;
}
@@ -1177,11 +1274,12 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
param.put(YsConstant.MERC_ID, merchantId);
param.put("reportChannel", "CUPS_ALIPAY");
RespEntity req = ysServiceV3.req(ReqMethod.reportAgain, param,Integer.valueOf(merchantId));
RespEntity req = ysServiceV3.req(ReqMethod.reportAgain, param, Integer.valueOf(merchantId));
if (!Objects.equals(req.getSubCode(), YsConfigV3.BIZ_SUCCESS)) {
throw new MsgException("支付宝银联报备异常," + req.getSubMsg());
}
}
public void sendProtocolMsg(MerchantChannelStatus mcs) {
MerchantBaseInfo mbi = mbiService.getMerchantBaseInfoByMerchantCode(mcs.getMerchantCode());
if (!mcs.getStatus().equals(MerchantChannelStatus.AUDIT_STATUS_WAITING_SIGN)) {
@@ -1190,7 +1288,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
String signId = mcs.getExtra().getString("signId");
if (StringUtils.isEmpty(signId)) {
sign(mcs,mcs.getChannel());
sign(mcs, mcs.getChannel());
return;
}
@@ -1198,7 +1296,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
reqParam.put("signId", signId);
reqParam.put("isSendConMsg", "1");
RespEntity respEntity = ysServiceV3.req(ReqMethod.sendSmsOrEmailMsg, reqParam,mcs.getChannel());
RespEntity respEntity = ysServiceV3.req(ReqMethod.sendSmsOrEmailMsg, reqParam, mcs.getChannel());
if (!Objects.equals(respEntity.getSubCode(), YsConfigV3.BIZ_SUCCESS)) {
throw new MsgException("银盛云商服3.0商户签约短信请求失败, " + respEntity.getSubMsg());
}
@@ -1221,6 +1319,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
generalPushUtil.sendAllPlatByAlias(Collections.singletonList(mbi.getUserId()), title, content, "1");
}
/**
* 变更结算卡
* 一般不支持非法人结算卡变更
@@ -1258,7 +1357,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
account = accountService.getOne(new QueryWrapper<>(account));
accountIdCard = idCardService.getAccountIdCard(bankCardDTO.getUserId(), Account.CHANNEL_TYPE_D0);
JSONObject bak = account.getBak();
}else {
} else {
account.setUserId(bankCardDTO.getUserId()).setChannelType(Account.CHANNEL_TYPE_D1);
account = accountService.getOne(new QueryWrapper<>(account));
accountIdCard = idCardService.getAccountIdCard(bankCardDTO.getUserId(), Account.CHANNEL_TYPE_D1);
@@ -1314,7 +1413,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
// imageEditUpload(MerchantImage.ImageType.CHANGE_FORM, applyImg, changeSysFlowId);
//
// log.debug("云商服3.0基本信息变更发起成功");
// String title = "收银呗商户信息变更通知";
// String title = "银收客商户信息变更通知";
// String remark = "D0结算信息变更已发起";
//
// entity.setRemark(remark);
@@ -1323,6 +1422,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
// noticeService.saveSysNotice(userId, title, remark);
// generalPushUtil.sendAllPlatByAlias(Collections.singletonList(userId), title, remark, "1");
}
/**
* 变更基本信息
*/
@@ -1384,7 +1484,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
//
// if (count == 0) {
// log.debug("基本信息变更失败,上传身份证正面异常," + errorMsg);
// String title = "收银呗商户信息变更通知";
// String title = "银收客商户信息变更通知";
// String remark = "基本信息变更失败,上传图片正面异常," + errorMsg;
//
// entity.setRemark(remark);
@@ -1408,7 +1508,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
//
// if (count == 0) {
// log.debug("基本信息变更失败,上传身份证反面异常," + errorMsg);
// String title = "收银呗商户信息变更通知";
// String title = "银收客商户信息变更通知";
// String remark = "基本信息变更失败,上传图片异常," + errorMsg;
//
// entity.setRemark(remark);
@@ -1431,7 +1531,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
//
// if (count == 0) {
// log.debug("基本信息变更失败,上传身份证反面异常," + errorMsg);
// String title = "收银呗商户信息变更通知";
// String title = "银收客商户信息变更通知";
// String remark = "基本信息变更失败,上传图片异常," + errorMsg;
//
// entity.setRemark(remark);
@@ -1466,7 +1566,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
//
// mcrService.save(entity);
// log.debug("云商服3.0基本信息变更发起成功");
// String title = "收银呗商户信息变更通知";
// String title = "银收客商户信息变更通知";
// String remark = "D0基本信息变更已发起";
//
// entity.setRemark(remark);
@@ -1562,7 +1662,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
// mcrService.saveOrUpdate(entity);
//
// log.debug("云商服3.0基本信息变更发起成功");
// String title = "收银呗商户信息变更通知";
// String title = "银收客商户信息变更通知";
// String remark = "D0费率变更已发起";
//
// entity.setRemark(remark);
@@ -1712,11 +1812,13 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
// RespEntity req = ysServiceV3.req(ReqMethod.changeMercBaseInfo, param);
//
// }
/**
* 查询进件结果
*
* @param mcs
*/
public void auditResult(MerchantChannelStatus mcs,Integer channel) {
public void auditResult(MerchantChannelStatus mcs, Integer channel) {
if (mcs == null) {
return;
}
@@ -1731,13 +1833,13 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
return;
}
RespEntity respEntity = ysServiceV3.req(ReqMethod.queryCustApply, new JSONObject().fluentPut("sysFlowId", sysFlowId),channel);
RespEntity respEntity = ysServiceV3.req(ReqMethod.queryCustApply, new JSONObject().fluentPut("sysFlowId", sysFlowId), channel);
if (!Objects.equals(respEntity.getSubCode(), YsConfigV3.BIZ_SUCCESS)) {
throw new MsgException("银盛云商服3.0商户信息状态确认失败: {}", respEntity.getSubMsg());
}
Notify.Cust cust = JSON.parseObject(respEntity.getBusinessData(), Notify.Cust.class);
auditResultHandle(cust,channel);
auditResultHandle(cust, channel);
}
// public void result(String sysFlowId){
@@ -1749,7 +1851,8 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
/**
* 查询签约结果,该操作作为商户最终状态的判断
* @param userId 用户id
*
* @param userId 用户id
*/
public void signResult(String userId, Integer channel) {
MerchantBaseInfo mbi = mbiService.getMerchantBaseInfoByUserId(userId);
@@ -1770,15 +1873,17 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
JSONObject reqParam = new JSONObject();
reqParam.put("authId", authId);
RespEntity respEntity = ysServiceV3.req(ReqMethod.queryAuthInfo, reqParam,channel);
RespEntity respEntity = ysServiceV3.req(ReqMethod.queryAuthInfo, reqParam, channel);
if (!Objects.equals(respEntity.getSubCode(), YsConfigV3.BIZ_SUCCESS)) {
throw new MsgException("银盛云商服3.0商户签约状态请求失败, {}", respEntity.getSubMsg());
}
signResultHandle(JSON.parseObject(respEntity.getBusinessData(), Notify.Auth.class),channel);
signResultHandle(JSON.parseObject(respEntity.getBusinessData(), Notify.Auth.class), channel);
}
/**
* 查询商户变更结果
*
* @param userId 用户id
*/
// public void editResult(String userId) {
@@ -1851,7 +1956,7 @@ public class YSAuditServiceV3 implements cn.pluss.platform.channel.ys.YSAuditSer
// }
// }
// }
public void channelFee(Double WECHAT, Double ALIPAY, Integer channel, String merchantCode){
public void channelFee(Double WECHAT, Double ALIPAY, Integer channel, String merchantCode) {
JSONArray array = new JSONArray();
Set<FeesSetVo> feesSet = new HashSet<>();
FeesSetVo w = new FeesSetVo();

View File

@@ -274,8 +274,8 @@ public class MercOrderNewServiceImpl extends ServiceImpl<MercOrderNewMapper, Mer
if (Constant.PRIMORDIAL_CHANNEL.equals(mercOrderNew.getChannel())) {
result.put("type", "3");
Map<String, String> map = new HashMap<>(16);
map.put("body", "收银呗商城");
map.put("subject", "收银呗商城");
map.put("body", "银收客商城");
map.put("subject", "银收客商城");
map.put("outTradeNo", mercOrderNew.getOrderNo());
map.put("totalAmount", mercOrderNew.getActualAmt().toPlainString());
Map<String, Object> payParam = aliService.appPayParam(map);

View File

@@ -351,7 +351,7 @@ public class DeviceStockServiceImpl extends ServiceImpl<DeviceStockMapper, Devic
@Override
public Page<DeviceStockVO> pageMercDevice(Page<DeviceStockVO> page, Long userId, Long cashPlaceId) {
return baseMapper.pageDeviceStock(page, userId, cashPlaceId);
return baseMapper.pageDeviceStock(page, cashPlaceId);
}
@Override

View File

@@ -44,8 +44,12 @@ public class HfPayServiceImpl implements PayService {
@Autowired
MerchantHfInfoMapper merchantHfInfoMapper;
@Value("${hf.pay.callBack}")
private String callBack;
@Setter(onMethod_ = {@Autowired, @Lazy})
private MerchantOrderService merchantOrderService;
@@ -189,11 +193,11 @@ public class HfPayServiceImpl implements PayService {
} else if ("pending".equals(adapay.get("status"))) {
resp.put("code", ResultCode.FAIL.code());
resp.put("msg", adapay.get("msg"));
resp.put("msg", adapay.get("error_msg"));
return resp;
} else if ("failed".equals(adapay.get("status"))) {
resp.put("code", ResultCode.FAIL.code());
resp.put("msg", adapay.get("msg"));
resp.put("msg", adapay.get("error_msg"));
return resp;
}
@@ -289,7 +293,7 @@ public class HfPayServiceImpl implements PayService {
return obj;
} else {
obj.put("code", ResultCode.FAIL.code());
obj.put("msg", object.get("msg"));
obj.put("msg", object.get("error_msg"));
return obj;
}
}
@@ -344,8 +348,7 @@ public class HfPayServiceImpl implements PayService {
result.put("code", ResultCode.SUCCESS.code());
return result;
} else if ("failed".equals(adapay.get("status"))) {
result.put("msg", adapay.get("msg"));
result.put("msg", adapay.get("error_msg"));
return result;
}
} catch (Exception e) {

View File

@@ -50,7 +50,7 @@ public class AppMenuServiceImpl extends ServiceImpl<AppMenuMapper, AppMenu> impl
public List<Map<String, Object>> getHomeMenu(HttpServletRequest request) {
// 1、安卓; 2、iOS
int clientType = HttpUtils.isIOS(request)? 2: 1;
// int clientType = HttpUtils.phoneType(request)?2:1;
final String demoFlag = request.getHeader("demo");
List<Map<String, Object>> result = new ArrayList<>();
@@ -66,8 +66,18 @@ public class AppMenuServiceImpl extends ServiceImpl<AppMenuMapper, AppMenu> impl
appMenuList = baseMapper.getByNavCode(dict.getId(),userType, clientType);
}
//根据版本号
String version = request.getHeader("version");
Map<String, Object> map = null;
for (AppMenu appMenu : appMenuList) {
// if (StringUtils.isNotBlank(version)){
// if ("119".equals(version) && clientType==2){
// if (appMenu.getId()==62 || appMenu.getId()==18){
// break;
// }
// }
// }
AppMenu.wrapper(appMenu);
menuPathConvert(appMenu, request);
if (map == null || !map.get("type").equals(appMenu.getMenuGroupDesc())) {

View File

@@ -42,7 +42,7 @@ import java.util.Map;
/**
* <p>
* 收银呗缴费通收款单 服务实现类
* 银收客缴费通收款单 服务实现类
* </p>
*
* @author crystal

View File

@@ -1,9 +1,6 @@
package cn.pluss.platform.merchant;
import cn.pluss.platform.entity.MerchantCashPayCode;
import cn.pluss.platform.entity.MerchantCashPlace;
import cn.pluss.platform.entity.MerchantOrder;
import cn.pluss.platform.entity.UserApp;
import cn.pluss.platform.entity.*;
import cn.pluss.platform.vo.MerchantCashPlaceStaffVO;
import cn.pluss.platform.vo.MerchantCashPlaceVO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -27,12 +24,20 @@ public interface MerchantCashPlaceService extends IService<MerchantCashPlace> {
*/
void createDefaultCashPlace(Long userId);
List<MerchantChannel> merchantChannel(String merchantCode,List<MerchantChannel> merchantChannels);
/**
* 通过收银点编码删除
* @param code 收银台编码code
*/
void delByCodeForApp(String code);
/**
* (新)新增收银点
* @param merchantBaseInfo
*/
Boolean addCashPlace(MerchantBaseInfo merchantBaseInfo);
/**
* 查看收银点列表
* @param merchantCashPlace 收银点查询条件
@@ -40,6 +45,12 @@ public interface MerchantCashPlaceService extends IService<MerchantCashPlace> {
*/
List<MerchantCashPlaceVO> getListForApp(Page<MerchantCashPlace> page, MerchantCashPlace merchantCashPlace);
/**
* 最新查看收银点
* @return
*/
List<MerchantCashPlaceVO> getListForBase(Integer current, Integer size,String merchantCode,String name);
/**
* 收银点绑定收款码
* @param merchantCashPayCode

View File

@@ -44,6 +44,8 @@ public interface MerchantCashPlaceStaffService extends IService<MerchantCashPlac
*/
void offLineCashPlace(MerchantCashPlace cashPlace);
Boolean cutChannel(String merchantCode,String code,Integer channel);
/**
* 员工收银点签退
* @param cashPlaceCode

View File

@@ -0,0 +1,24 @@
package cn.pluss.platform.merchant;
import cn.pluss.platform.api.PageInfo;
import cn.pluss.platform.entity.*;
import java.util.Map;
/**
* <p>
* 商户收银点表 服务类
* </p>
*
* @author Djh
* @since 2021-03-23
*/
public interface MerchantCashierCounteService {
long addCashierCounte(MerchantCashPlace merchantCashPlace,UserApp userApp);
PageInfo selectList(Integer current, Integer size, Long userId, String name);
Map<String, Object> cutCashier(long fromChannel, long toChannel);
}

View File

@@ -1,15 +1,13 @@
package cn.pluss.platform.merchant.impl;
import cn.hutool.core.date.DateUtil;
import cn.jiguang.common.utils.StringUtils;
import cn.pluss.platform.converter.Converter;
import cn.pluss.platform.converter.MerchantCashPlaceConverter;
import cn.pluss.platform.deviceStock.DeviceStockService;
import cn.pluss.platform.entity.*;
import cn.pluss.platform.exception.MsgException;
import cn.pluss.platform.mapper.MerchantCashPayCodeMapper;
import cn.pluss.platform.mapper.MerchantCashPlaceMapper;
import cn.pluss.platform.mapper.MerchantCashPlaceStaffMapper;
import cn.pluss.platform.mapper.UserAppMapper;
import cn.pluss.platform.mapper.*;
import cn.pluss.platform.merchant.MerchantCashPayCodeService;
import cn.pluss.platform.merchant.MerchantCashPlaceService;
import cn.pluss.platform.merchant.MerchantCashPlaceStaffService;
@@ -30,10 +28,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import javax.annotation.Resource;
import java.util.*;
/**
* <p>
@@ -73,6 +69,16 @@ public class MerchantCashPlaceServiceImpl extends ServiceImpl<MerchantCashPlaceM
@Setter(onMethod_ = {@Autowired})
private UserAppMapper userAppMapper;
@Resource
private MerchantBaseInfoMapper merchantBaseInfoMapper;
@Resource
private MerchantCashPlaceMapper merchantCashPlaceMapper;
@Resource
private MerchantChannelStatusMapper channelStatusMapper;
// @Resource
// private MerchantChannelStatusExpMapper expMapper;
@Override
public boolean saveOrUpdate(MerchantCashPlace entity) {
@@ -158,8 +164,9 @@ public class MerchantCashPlaceServiceImpl extends ServiceImpl<MerchantCashPlaceM
/**
* 判断userId的多商户列表中是否包含selectUserId
* @param userId 用户id
* @param selectUserId 多商户列表校验用户id
*
* @param userId 用户id
* @param selectUserId 多商户列表校验用户id
*/
private void checkAvailable(String userId, String selectUserId) {
if (userId.equals(selectUserId)) {
@@ -202,6 +209,47 @@ public class MerchantCashPlaceServiceImpl extends ServiceImpl<MerchantCashPlaceM
cashPayCodeService.save(cashPayCode);
}
@Override
public List<MerchantChannel> merchantChannel(String merchantCode, List<MerchantChannel> merchantChannels) {
// if (merchantCode != null){
// QueryWrapper<MerchantChannelStatus> qW = new QueryWrapper<>();
// qW.eq("merchantCode",merchantCode);
// List<MerchantChannelStatus> list = merchantChannelStatusService.list(qW);
// }
QueryWrapper<MerchantBaseInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("merchantCode",merchantCode);
List<MerchantBaseInfo> list = merchantBaseInfoMapper.selectList(queryWrapper);
if (list.size() > 0){
QueryWrapper<MerchantCashPlace> wrapper = new QueryWrapper<>();
wrapper.eq("userId",list.iterator().next().getUserId());
List<MerchantCashPlace> chashList = merchantCashPlaceMapper.selectList(wrapper);
if (chashList.size() > 0){
List<Integer> channelByMerchantCode = channelStatusMapper.getChannelByRootId(chashList.iterator().next().getRootAccountId());
// List<Integer> channelByMerchantCode = channelStatusMapper.getChannelByMerchantCode(merchantCode);
for (MerchantChannel data : merchantChannels) {
data.setStatus("0");
for (Integer i : channelByMerchantCode) {
if (data.getId().equals(i)) {
data.setStatus("1");
}
}
}
}else {
for (MerchantChannel data : merchantChannels) {
data.setStatus("0");
}
}
}else {
// List<Integer> channelByMerchantCode = channelStatusMapper.getChannelByMerchantCode(merchantCode);
for (MerchantChannel data : merchantChannels) {
data.setStatus("0");
}
}
return merchantChannels;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delByCodeForApp(String code) {
@@ -235,6 +283,39 @@ public class MerchantCashPlaceServiceImpl extends ServiceImpl<MerchantCashPlaceM
}
}
/**
* (新)增加新的收银点
*
* @param merchantBaseInfo
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean addCashPlace(MerchantBaseInfo merchantBaseInfo) {
//判断能不能新加收银点
MerchantChannelStatus byMerchantCode = channelStatusMapper.getByMerchantCode(merchantBaseInfo.getMerchantCode(), merchantBaseInfo.getChannel());
if (byMerchantCode != null) {
throw new MsgException("不能添加收银点");
}
//增加商户通道
MerchantChannelStatus merchantChannelStatus = new MerchantChannelStatus();
merchantChannelStatus.setMerchantCode(merchantBaseInfo.getMerchantCode());
merchantChannelStatus.setChannel(merchantBaseInfo.getChannel());
merchantChannelStatus.setStatus("1");
merchantChannelStatus.setThirdStatus("-100");
merchantChannelStatus.setCreateTime(new Date());
merchantChannelStatus.setUpdateTime(new Date());
Integer id = channelStatusMapper.saveChannel(merchantChannelStatus);
//添加收银点
String merchantCode = "M800" + DateUtil.format(new Date(), "yyyyMMdd") + StringUtil.random6V2();
// Integer integer = expMapper.saveExp(merchantChannelStatus.getId(), merchantBaseInfo.getAlias(), merchantBaseInfo.getAddress(), new Date(),merchantCode);
Boolean flag = false;
// if (integer>0){
// flag = true;
// }
return flag;
}
@Override
public List<MerchantCashPlaceVO> getListForApp(Page<MerchantCashPlace> page, MerchantCashPlace merchantCashPlace) {
UserApp userApp = userAppService.queryUserAppByToken();
@@ -313,45 +394,71 @@ public class MerchantCashPlaceServiceImpl extends ServiceImpl<MerchantCashPlaceM
return result;
}
@Override
public List<MerchantCashPlaceVO> getListForBase(Integer current, Integer size, String merchantCodes, String name) {
//分页
current = (current - 1) * size;
//查询
List<MerchantCashPlaceVO> merchantCashPlaceVOS = channelStatusMapper.selectMerchantCode(merchantCodes, name, current, size);
//如果全为0,默认是用户号
boolean allZero = true;
for (MerchantCashPlaceVO vo : merchantCashPlaceVOS) {
if (vo.getTab() != 0) {
allZero = false;
break;
}
}
if (allZero && !merchantCashPlaceVOS.isEmpty()) {
merchantCashPlaceVOS.get(merchantCashPlaceVOS.size() - 1).setTab(1);
}
return merchantCashPlaceVOS;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void bindPayCode(MerchantCashPayCode merchantCashPayCode) {
if (Objects.isNull(merchantCashPayCode.getCashPlaceId()) || merchantCashPayCode.getCashPlaceId() < 1){
throw new MsgException("请选择收银点");
}
// 参数校验
UserApp userApp = userAppService.queryUserAppByToken();
List<MerchantBaseInfo> merchList = merchantBaseInfoService.getAllByUserId(userApp.getUserId() + "");
// List<MerchantBaseInfo> merchList = merchantBaseInfoService.getAllByUserId(userApp.getUserId() + "");
MerchantCashPayCode existData = new MerchantCashPayCode().setPayCode(merchantCashPayCode.getPayCode());
existData = cashPayCodeService.getOne(new QueryWrapper<>(existData));
if (existData != null) {
throw new MsgException("该收款码已绑定收银点");
}
Integer cashPlaceId = merchantCashPayCode.getCashPlaceId();
if (cashPlaceId == null) {
throw new MsgException("缺少收银点id");
}
// if (cashPlaceId == null) {
// throw new MsgException("缺少收银点id");
// }
MerchantCashPlace merchantCashPlace = new MerchantCashPlace().setId(cashPlaceId);
merchantCashPlace = getOne(new QueryWrapper<>(merchantCashPlace));
MerchantCashPlace merchantCashPlace = merchantCashPlaceMapper.selectById(cashPlaceId);
// MerchantCashPlace merchantCashPlace = new MerchantCashPlace().setId(cashPlaceId);
// merchantCashPlace = getOne(new QueryWrapper<>(merchantCashPlace));
if (merchantCashPlace == null) {
if (Objects.isNull(merchantCashPlace)) {
throw new MsgException("收银点不存在");
}
MerchantBaseInfo cashPlaceBaseInfo = new MerchantBaseInfo().setUserId(merchantCashPlace.getUserId() + "");
cashPlaceBaseInfo = merchantBaseInfoService.getOne(new QueryWrapper<>(cashPlaceBaseInfo));
boolean flag = true;
for (MerchantBaseInfo merchantBaseInfo : merchList) {
if (merchantBaseInfo.getUserId().equals(merchantCashPlace.getUserId() + "")) {
flag = false;
break;
}
}
if (flag) {
throw new MsgException("拒绝访问");
}
// MerchantBaseInfo cashPlaceBaseInfo = new MerchantBaseInfo().setUserId(merchantCashPlace.getUserId() + "");
// cashPlaceBaseInfo = merchantBaseInfoService.getOne(new QueryWrapper<>(cashPlaceBaseInfo));
//
// boolean flag = true;
// for (MerchantBaseInfo merchantBaseInfo : merchList) {
// if (merchantBaseInfo.getUserId().equals(merchantCashPlace.getUserId() + "")) {
// flag = false;
// break;
// }
// }
//
// if (flag) {
// throw new MsgException("拒绝访问");
// }
if (merchantCashPayCode.getPayCode().equals(userApp.getUserId() + "")) {
// 绑定默认的付款码,非码牌
@@ -366,14 +473,14 @@ public class MerchantCashPlaceServiceImpl extends ServiceImpl<MerchantCashPlaceM
throw new MsgException("不存在的码牌");
}
String actMercId = deviceStock.getActMercId();
// String actMercId = deviceStock.getActMercId();
if (!"3".equals(deviceStock.getStatus())) {
deviceStockService.bindPayCode(merchantCashPayCode.getPayCode());
}
if (StringUtils.isNotEmpty(actMercId) && !(cashPlaceBaseInfo.getId() + "").equals(actMercId)) {
throw new MsgException("收银点和收款码牌的所属商户不一致");
}
// if (StringUtils.isNotEmpty(actMercId) && !(cashPlaceBaseInfo.getId() + "").equals(actMercId)) {
// throw new MsgException("收银点和收款码牌的所属商户不一致");
// }
// 绑定
cashPayCodeService.bindPayCode(merchantCashPayCode);
@@ -507,27 +614,28 @@ public class MerchantCashPlaceServiceImpl extends ServiceImpl<MerchantCashPlaceM
/**
* 设置收银点信息
* @date: 2021/11/29 10:57
*
* @param order: 订单信息
* @param snNo: 设别号
* @date: 2021/11/29 10:57
*/
@Override
public void setOrderPlaceInfo(MerchantOrder order,String snNo) {
if(StringUtil.isNotEmpty(snNo)){
public void setOrderPlaceInfo(MerchantOrder order, String snNo) {
if (StringUtil.isNotEmpty(snNo)) {
order.setSnNo(snNo);
QueryWrapper<MerchantCashPayCode> cashCodeQueryWrapper = new QueryWrapper<MerchantCashPayCode>().eq("payCode",snNo);
QueryWrapper<MerchantCashPayCode> cashCodeQueryWrapper = new QueryWrapper<MerchantCashPayCode>().eq("payCode", snNo);
List<MerchantCashPayCode> merchantCashPayCodes = merchantCashPayCodeMapper.selectList(cashCodeQueryWrapper);
if(!merchantCashPayCodes.isEmpty()){
if (!merchantCashPayCodes.isEmpty()) {
MerchantCashPayCode cashPayCode = merchantCashPayCodes.get(0);
order.setCashPlaceId(String.valueOf(cashPayCode.getCashPlaceId()));
QueryWrapper<MerchantCashPlaceStaff> queryWrapper = new QueryWrapper<MerchantCashPlaceStaff>().eq("cashPlaceId",cashPayCode.getCashPlaceId())
.eq("status",MerchantCashPlaceStaff.STATUS_ONLINE);
QueryWrapper<MerchantCashPlaceStaff> queryWrapper = new QueryWrapper<MerchantCashPlaceStaff>().eq("cashPlaceId", cashPayCode.getCashPlaceId())
.eq("status", MerchantCashPlaceStaff.STATUS_ONLINE);
List<MerchantCashPlaceStaff> placeStaffList = merchantCashPlaceStaffMapper.selectList(queryWrapper);
if(!placeStaffList.isEmpty()){
if (!placeStaffList.isEmpty()) {
MerchantCashPlaceStaff placeStaff = placeStaffList.get(0);
order.setStaffCode(String.valueOf(placeStaff.getUserId()));
UserApp app = userAppMapper.selectByUserId(placeStaff.getUserId());
if(app != null){
if (app != null) {
order.setStaffName(app.getUserName());
}
}

View File

@@ -1,15 +1,17 @@
package cn.pluss.platform.merchant.impl;
import cn.pluss.platform.entity.MerchantCashPlace;
import cn.pluss.platform.entity.MerchantCashPlaceStaff;
import cn.pluss.platform.entity.UserApp;
import cn.pluss.platform.entity.*;
import cn.pluss.platform.exception.MsgException;
import cn.pluss.platform.mapper.MerchantBaseInfoMapper;
import cn.pluss.platform.mapper.MerchantCashPlaceStaffMapper;
import cn.pluss.platform.merchant.MerchantBaseInfoService;
import cn.pluss.platform.merchant.MerchantCashPlaceService;
import cn.pluss.platform.merchant.MerchantCashPlaceStaffService;
import cn.pluss.platform.merchantChannelStatus.MerchantChannelStatusService;
import cn.pluss.platform.userApp.UserAppService;
import cn.pluss.platform.vo.MerchantCashPlaceStaffVO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -19,7 +21,9 @@ import lombok.val;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -40,6 +44,16 @@ public class MerchantCashPlaceStaffServiceImpl extends ServiceImpl<MerchantCashP
@Setter(onMethod_ = {@Autowired})
private MerchantCashPlaceService cashPlaceService;
@Resource
private MerchantBaseInfoMapper merchantBaseInfoMapper;
@Resource
private MerchantBaseInfoService merchantBaseInfoService;
@Resource
private MerchantChannelStatusService merchantChannelStatusService;
// @Resource
// private MerchantChannelStatusExpMapper expMapper;
@Override
public void bindCashPlace(Long userId, MerchantCashPlace cashPlace) {
@@ -141,6 +155,30 @@ public class MerchantCashPlaceStaffServiceImpl extends ServiceImpl<MerchantCashP
update(cashPlaceStaff, uW);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean cutChannel(String merchantCode,String code,Integer channel) {
MerchantBaseInfo baseInfo = merchantBaseInfoService.getMerchantBaseInfoByMerchantCode(merchantCode);
if (baseInfo == null){
throw new MsgException("不能切换到该通道");
}
//切换
UpdateWrapper<MerchantChannelStatus> uWrapper = new UpdateWrapper<MerchantChannelStatus>();
uWrapper.eq("merchantCode", merchantCode)
.set("valid", 0);
merchantChannelStatusService.update(uWrapper);
if (code == null || "".equals(code)){
code=merchantCode;
}
LambdaUpdateWrapper<MerchantChannelStatus> lambdaUpdate = new LambdaUpdateWrapper<>();
lambdaUpdate.eq(MerchantChannelStatus::getMerchantCode, merchantCode)
.eq(MerchantChannelStatus::getChannel, channel)
.set(MerchantChannelStatus::getValid, 1);
boolean update = merchantChannelStatusService.update(lambdaUpdate);
return update;
}
@Override
public void offLineCashPlace(String cashPlaceCode) {
MerchantCashPlace merchantCashPlace = new MerchantCashPlace().setCode(cashPlaceCode);

View File

@@ -0,0 +1,452 @@
package cn.pluss.platform.merchant.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.jiguang.common.utils.StringUtils;
import cn.pluss.platform.api.PageInfo;
import cn.pluss.platform.deviceStock.DeviceStockService;
import cn.pluss.platform.entity.*;
import cn.pluss.platform.exception.MsgException;
import cn.pluss.platform.jfShop.JfShopHandler;
import cn.pluss.platform.mapper.*;
import cn.pluss.platform.merchant.*;
import cn.pluss.platform.merchantChannelStatus.MerchantChannelStatusService;
import cn.pluss.platform.roleUserInfo.RoleUserInfoService;
import cn.pluss.platform.systemConfig.SystemConfigService;
import cn.pluss.platform.userApp.UserAppService;
import cn.pluss.platform.userInfo.UserInfoService;
import cn.pluss.platform.util.MD5Util;
import cn.pluss.platform.util.StringUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.Setter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.*;
/**
* <p>
* 商户收银点表 服务实现类
* </p>
*
* @author Djh
* @since 2021-03-23
*/
@Service
public class MerchantCashierCounteServiceImpl implements MerchantCashierCounteService {
@Setter(onMethod_ = {@Autowired})
private UserAppService userAppService;
@Setter(onMethod_ = {@Autowired})
private MerchantChannelStatusService channelStatusService;
@Setter(onMethod_ = {@Autowired})
private MerchantCashPlaceStaffService cashPlaceStaffService;
@Setter(onMethod_ = {@Autowired})
private MerchantBaseInfoService merchantBaseInfoService;
@Setter(onMethod_ = {@Autowired, @Lazy})
private MerchantCashPayCodeService cashPayCodeService;
@Setter(onMethod_ = {@Autowired})
private DeviceStockService deviceStockService;
@Setter(onMethod_ = {@Autowired})
private MerchantCashPayCodeMapper merchantCashPayCodeMapper;
@Setter(onMethod_ = {@Autowired})
private MerchantCashPlaceStaffMapper merchantCashPlaceStaffMapper;
@Setter(onMethod_ = {@Autowired})
private UserAppMapper userAppMapper;
@Setter(onMethod_ = {@Autowired})
private SystemConfigService systemConfigService;
@Setter(onMethod_ = {@Autowired})
private UserInfoService userInfoService;
@Setter(onMethod_ = {@Autowired})
private RoleUserInfoService roleUserInfoService;
@Resource
private MerchantBaseInfoMapper merchantBaseInfoMapper;
@Autowired
private IdCardMapper idCardMapper;
@Autowired
private BankCardMapper bankCardMapper;
@Autowired
private UserPromotionMapper userPromotionMapper;
@Autowired
private MerchantCashPlaceMapper merchantCashPlaceMapper;
@Autowired
private UserCashPlaceMapper userCashPlaceMapper;
@Autowired
private UserInfoMapper userInfoMapper;
@Setter(onMethod_ = {@Autowired, @Lazy})
private JfShopHandler jfShopHandler;
@Override
@Transactional(rollbackFor = Exception.class)
public long addCashierCounte(MerchantCashPlace merchantCashPlace, UserApp userApp1) {
if (StringUtils.isEmpty(merchantCashPlace.getName())) {
throw new MsgException("缺少收银台名称");
}
QueryWrapper<MerchantCashPlace> query = new QueryWrapper<>();
query.eq("name", merchantCashPlace.getName());
long sum = merchantCashPlaceMapper.selectCount(query);
if (sum > 0) {
throw new MsgException("该收银点名称已存在");
}
UserInfo userInfo1 = userInfoMapper.selectById(userApp1.getUserId());
if (userInfo1.getLoginName().contains("-")) {
throw new MsgException("请使用登录账号创建收银点");
}
QueryWrapper<UserCashPlace> wrapper = new QueryWrapper<>();
wrapper.eq("root_account_id", merchantCashPlace.getUserId());
wrapper.eq("is_root_account", "true");
List<UserCashPlace> list = userCashPlaceMapper.selectList(wrapper);
int rootAccountId = userInfo1.getId().intValue();
String orgCode = userInfo1.getPhone();
if (list.size() > 0) {
UserCashPlace userCashPlace = list.iterator().next();
// rootAccountId = userInfo1.getId().intValue();
UserInfo userInfo = userInfoMapper.selectById(userCashPlace.getRootAccountId());
orgCode = userInfo.getLoginName();
QueryWrapper<MerchantCashPlace> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("root_account_id", rootAccountId);
queryWrapper.eq("pay_passage_id", merchantCashPlace.getPayPassageId());
long num = merchantCashPlaceMapper.selectCount(queryWrapper);
if (num > 0) {
throw new MsgException("该进件通道已存在");
}
}
QueryWrapper<MerchantCashPlace> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("root_account_id", rootAccountId);
long sydNum = merchantCashPlaceMapper.selectCount(queryWrapper);
long infoId = merchantCashPlace.getUserId();
long userId = merchantCashPlace.getUserId();
// boolean isRoot = true;
String loginName = "";
if (sydNum > 0) {
UserInfo userInfo = userInfoMapper.selectById(merchantCashPlace.getUserId());
QueryWrapper<UserCashPlace> userCashPlaceQueryWrapper = new QueryWrapper<>();
userCashPlaceQueryWrapper.eq("root_account_id", merchantCashPlace.getUserId());
long sumNum = userCashPlaceMapper.selectCount(userCashPlaceQueryWrapper);
userInfo.setId(null);
userInfo.setLoginName(userInfo.getLoginName().concat("-").concat(String.format("%02d", sumNum + 1)));
loginName = userInfo.getLoginName();
// isRoot = false;
userInfo.setCreateTime(new Date());
userInfo.setPassword(MD5Util.MD5Encode("czg12345678", "utf-8"));
Long roleId = null;
// 获取全部的角色信息
List<SystemConfig> systemConfigs = systemConfigService.querySystemConfigList(new SystemConfig());
for (SystemConfig systemConfig : systemConfigs) {
if (systemConfig.getPropertyKey().equalsIgnoreCase("promoter_role_id")) {
roleId = Long.parseLong(systemConfig.getPropertyValue());
}
}
if (roleId == null) {
throw new MsgException("收银点添加失败!");
}
userInfo.setCreateTime(new Date());
userInfoService.saveUserInfo(userInfo);
// 可能和数据库存储的数据不一致
RoleUserInfo role = new RoleUserInfo();
role.setRoleId(roleId);
role.setUserId(userInfo.getId());
//如果没有邀请码默认是平台用户
UserApp userApp = getSaveUserAppInfo(userInfo, merchantCashPlace.getUserId());
userApp.setInviteNum(getRandomNum());
userApp.setId(null);
userApp.setLogo(userApp1.getLogo());
userApp.setLoginName(userApp1.getLoginName());
userApp.setUserName(userApp1.getUserName());
userApp.setBankStatus(userApp1.getBankStatus());
userApp.setStatus(userApp1.getStatus());
userApp.setToken(userInfo.getLoginName());
userApp.setUserId(userInfo.getId());
//查找代理
UserPromotion promotion = getUserPromotionByUserId(String.valueOf(244));
String parenId = promotion.getUserId().toString();
UserPromotion promotionNew = new UserPromotion();
promotionNew.setUserId(userInfo.getId());
promotionNew.setParentUserId(parenId);
if (userInfo.getTypeCode().equals("FB")) {
if (promotion.getCurrentFee().compareTo(userInfo.getCurrentFee()) > 0 ||
userInfo.getCurrentFee().compareTo(getUserPromotionByUserId("244").getCurrentFee()) < 0) {
MsgException.checkNull(null, "错误的费率信息");
}
}
if (userInfo.getTypeCode().equals("SB")) {
if (promotion.getCurrentFee().compareTo(userInfo.getCurrentFee()) > 0 ||
userInfo.getCurrentFee().compareTo(getUserPromotionByUserId("244").getCurrentFee()) < 0) {
MsgException.checkNull(null, "错误的费率信息");
}
}
//如果是普通商户默认费率0.38
if (userInfo.getTypeCode().equals("MC")) {
promotion.setCurrentFee("0.38");
}
promotionNew.setCurrentFee(promotion.getCurrentFee());
promotionNew.setTypeCode(userInfo.getTypeCode());
promotionNew.setIsExtend(userInfo.getTypeCode().equals("MC") ? "0" : "1");
promotionNew.setCreateTime(new Date());
userPromotionMapper.insert(promotionNew);
// 获取当前用户的id保存用户的角色信息
// 保存信息
userAppService.save(userApp);
roleUserInfoService.saveRoleUserInfo(role);
// 删除验证码
//TODO 同步用户到新版积分商城
jfShopHandler.syncJfShopUser(userApp, userInfo);
infoId = userInfo.getId();
QueryWrapper<IdCard> cardQueryWrapper = new QueryWrapper<>();
cardQueryWrapper.eq("userId", userApp1.getUserId());
List<IdCard> idCardList = idCardMapper.selectList(cardQueryWrapper);
for (IdCard idCard : idCardList) {
idCard.setId(null);
idCard.setUserId(infoId + "");
idCard.setCreateTime(new Date());
idCard.setUpdateTime(new Date());
idCardMapper.insert(idCard);
}
QueryWrapper<BankCard> bankCardQueryWrapper = new QueryWrapper<>();
bankCardQueryWrapper.eq("userId", userApp1.getUserId());
List<BankCard> cardList = bankCardMapper.selectList(bankCardQueryWrapper);
for (BankCard idCard : cardList) {
idCard.setId(null);
idCard.setUserId(infoId + "");
idCard.setCreateTime(new Date());
idCard.setUpdateTime(new Date());
bankCardMapper.insert(idCard);
}
}
// 查看对应的收银台是否已经存在
merchantCashPlace.setRootAccountId(userId);
merchantCashPlace.setUserId(infoId);
merchantCashPlace.setCreateTime(new Date());
merchantCashPlace.setCode(getCode());
merchantCashPlaceMapper.insert(merchantCashPlace);
if (!loginName.contains("-")) {
QueryWrapper<UserCashPlace> placeQueryWrapper = new QueryWrapper<>();
placeQueryWrapper.eq("is_root_account", "true");
placeQueryWrapper.eq("user_id", userApp1.getUserId());
UserCashPlace childUserCashPlace = userCashPlaceMapper.selectOne(placeQueryWrapper);
if (Objects.isNull(childUserCashPlace)) {
childUserCashPlace = new UserCashPlace();
childUserCashPlace.setChasplaceId(merchantCashPlace.getId());
childUserCashPlace.setCreateTime(new Date());
childUserCashPlace.setIsRootAccount("true");
childUserCashPlace.setOrgCode(orgCode);
childUserCashPlace.setRootAccountId(rootAccountId);
childUserCashPlace.setUserId(infoId);
userCashPlaceMapper.insert(childUserCashPlace);
} else {
childUserCashPlace.setChasplaceId(merchantCashPlace.getId());
childUserCashPlace.setUpdateTime(new Date());
userCashPlaceMapper.updateById(childUserCashPlace);
}
} else {
UserCashPlace childUserCashPlace = new UserCashPlace();
childUserCashPlace.setChasplaceId(merchantCashPlace.getId());
childUserCashPlace.setCreateTime(new Date());
childUserCashPlace.setIsRootAccount("false");
childUserCashPlace.setOrgCode(orgCode);
childUserCashPlace.setRootAccountId(rootAccountId);
childUserCashPlace.setUserId(infoId);
userCashPlaceMapper.insert(childUserCashPlace);
}
return infoId;
}
public static void main(String[] args) {
System.out.println(MD5Util.MD5Encode("1234qwer", "utf-8"));
}
@Override
public PageInfo selectList(Integer current, Integer size, Long userId, String name) {
QueryWrapper<UserCashPlace> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("user_id", userId);
UserCashPlace userCashPlace = userCashPlaceMapper.selectOne(queryWrapper);
if (Objects.nonNull(userCashPlace)) {
QueryWrapper<UserCashPlace> wrapper = new QueryWrapper<>();
wrapper.select("user_id");
wrapper.eq("root_account_id", userCashPlace.getRootAccountId());
List<Object> list = userCashPlaceMapper.selectObjs(wrapper);
QueryWrapper<MerchantCashPlace> placeQueryWrapper = new QueryWrapper<>();
placeQueryWrapper.in("userId", list);
if (StringUtils.isNotEmpty(name)){
placeQueryWrapper.like("name",name);
}
placeQueryWrapper.orderByAsc("id");
// List<MerchantCashPlace> placeList = merchantCashPlaceMapper.selectList(placeQueryWrapper);
IPage<MerchantCashPlace> iPage = merchantCashPlaceMapper.selectPage(new Page<>(current, size), placeQueryWrapper);
// if (iPage.getRecords().size() < 1) {
// return new PageInfo<MerchantCashPlace>(current, 0,0,
// size, iPage.getRecords());;
// } else {
for (MerchantCashPlace merchantCashPlace : iPage.getRecords()) {
if (userId.intValue() == merchantCashPlace.getUserId().intValue()) {
merchantCashPlace.setTab(1);
} else {
merchantCashPlace.setTab(0);
}
}
PageInfo<MerchantCashPlace> pager = new PageInfo<MerchantCashPlace>(iPage.getCurrent(), iPage.getTotal(), iPage.getPages(),
iPage.getSize(), iPage.getRecords());
return pager;
// }
}
return new PageInfo<MerchantCashPlace>(current.longValue(), 0L, 0L,
size.longValue(), new ArrayList<>());
}
@Override
public Map<String, Object> cutCashier(long fromChannel, long toChannel) {
MerchantCashPlace fromCash = merchantCashPlaceMapper.selectById(fromChannel);
MerchantCashPlace toCash = merchantCashPlaceMapper.selectById(toChannel);
QueryWrapper<UserCashPlace> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("user_id", fromCash.getUserId());
UserCashPlace userCashPlace = userCashPlaceMapper.selectOne(queryWrapper);
if (Objects.isNull(userCashPlace)) {
throw new MsgException("收银点切换失败");
}
QueryWrapper<UserCashPlace> wrapper = new QueryWrapper<>();
wrapper.eq("user_id", toCash.getUserId());
wrapper.eq("root_account_id", userCashPlace.getRootAccountId());
long sum = userCashPlaceMapper.selectCount(wrapper);
if (sum < 1) {
throw new MsgException("切换收银点不匹配");
}
Map<String, Object> resultMap = new HashMap<>();
UserInfo checkUserInfo = userInfoMapper.selectById(toCash.getUserId());
MsgException.checkNull(checkUserInfo, "切换失败!");
// 原则上不能以原密码进行对比,这里只是给后台登录页面一个方便
UserApp queryUserApp;
queryUserApp = userAppMapper.selectUserApp(new QueryWrapper<>().eq("ua.userId", checkUserInfo.getId()));
String genRandomNum = StringUtil.genRandomNum(6) + StringUtil.getBillno() + StringUtil.genRandomNum(6);
UserApp uApp = new UserApp();
uApp.setToken(genRandomNum);
uApp.setId(queryUserApp.getId());
userAppMapper.updateById(uApp);
queryUserApp.setToken(genRandomNum);
resultMap.put("userInfo", checkUserInfo);
Long userId = checkUserInfo.getId();
MerchantBaseInfo merchantBaseInfo = new MerchantBaseInfo();
merchantBaseInfo.setUserId(userId + "");
List<MerchantBaseInfo> queryMerchantBaseInfoList = merchantBaseInfoService.queryMerchantBaseInfoList(merchantBaseInfo);
if (null != queryMerchantBaseInfoList && !queryMerchantBaseInfoList.isEmpty()) {
merchantBaseInfo = queryMerchantBaseInfoList.get(0);
queryUserApp.setMercId(merchantBaseInfo.getId());
queryUserApp.setMerchantType(merchantBaseInfo.getMerchantType());
queryUserApp.setMerchantName(merchantBaseInfo.getAlias());
queryUserApp.setAlias(merchantBaseInfo.getAlias());
}
resultMap.put("userApp", queryUserApp);
return resultMap;
}
private UserPromotion getUserPromotionByUserId(String userId) {
UserPromotion userPromotion = new UserPromotion();
userPromotion.setUserId(Long.valueOf(userId));
UserPromotion promotion = userPromotionMapper.selectOne(new QueryWrapper<>(userPromotion));
if (ObjectUtil.isNotEmpty(promotion)) {
if ("MG".equals(promotion.getTypeCode()) || "FB".equals(promotion.getTypeCode()) ||
"SB".equals(promotion.getTypeCode()) || "1".equals(promotion.getIsExtend()) ||
"2".equals(promotion.getIsExtend()) || "AG".equals(promotion.getTypeCode())) {
return promotion;
}
}
getUserPromotionByUserId(promotion.getParentUserId());
return promotion;
}
protected UserApp getSaveUserAppInfo(UserInfo userInfo, Long userId) {
// 保存用户信息到userApp表
UserApp userApp = new UserApp();
userApp.setUserId(userInfo.getId());
// 默认一级推广员
userApp.setLevel(1);
userApp.setCreateDt(new Date());
userApp.setStatus(0);
userApp.setUserType("promoter");
userApp.setInviteNum(getRandomNum());
QueryWrapper<UserApp> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("userId", userId);
UserApp parentUserApp = userAppMapper.selectOne(queryWrapper);
if (Objects.nonNull(parentUserApp)) {
userApp.setParentId(parentUserApp.getParentId());
userApp.setAgentStaffId(parentUserApp.getUserId());
}
// 根据邀请码查询确定当前用户的上级关系
return userApp;
}
private String getRandomNum() {
String inviteNum;
UserApp condition = new UserApp();
do {
inviteNum = StringUtil.genRandomNum(5);
condition.setInviteNum(inviteNum);
UserApp userApp = userAppService.queryUserApp(condition);
if (userApp == null) {
return inviteNum;
}
} while (true);
}
public String getCode() {
String randomDigits = generateRandomDigits(2);
String randomLetters = generateRandomLetters(6);
String randomString = randomDigits + randomLetters;
return randomString;
}
// 生成n位随机数字
private static String generateRandomDigits(int n) {
Random random = new Random();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
int digit = random.nextInt(10);
sb.append(digit);
}
return sb.toString();
}
private static String generateRandomLetters(int n) {
Random random = new Random();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
char letter = (char) (random.nextInt(26) + 'A');
sb.append(letter);
}
return sb.toString();
}
}

View File

@@ -50,6 +50,8 @@ public interface MerchantChannelStatusService extends IService<MerchantChannelSt
LambdaQueryWrapper<MerchantChannelStatus> qWrapper = Wrappers.lambdaQuery();
qWrapper.eq(MerchantChannelStatus::getVirChannelFlag, channelType);
qWrapper.eq(MerchantChannelStatus::getMerchantCode, merchantCode);
qWrapper.orderByDesc(MerchantChannelStatus::getId);
qWrapper.last("limit 1");
return getOne(qWrapper);
}
default MerchantChannelStatus getByMerchantCodeAndChannelTypeNew(String merchantCode, String channelType) {

View File

@@ -2251,11 +2251,11 @@ public class MerchantOrderServiceImpl extends ServiceImpl<MerchantOrderMapper, M
// }
// Notice notice = new Notice(2,98,userApp);
// notice.setUniqueKey(orderNumber+userApp.getUserId());
// String content = "收银呗到账" + consumeFee + "元";
// String content = "银收客到账" + consumeFee + "元";
// notice.setConrtent(content);
// noticeService.saveOrUpdate(notice);
// // 会员充值播报
// generalPushUtil.sendAllPlatByAlias(Lists.asList(userId), "收银呗到账通知", content, extrasparam);
// generalPushUtil.sendAllPlatByAlias(Lists.asList(userId), "银收客到账通知", content, extrasparam);
// }
@Override

View File

@@ -60,7 +60,7 @@ public class MerchantOrderSplitServiceImpl extends ServiceImpl<MerchantOrderSpli
String merchantCode = order.getMerchantCode();
MerchantBaseInfo merchant = merchantBaseInfoService.getMerchantBaseInfoByMerchantCode(merchantCode);
MerchantChannelStatus channel = channelStatusService.getByMerchantCode(order.getMerchantCode(), 4);
//TODO 收银呗主体都需要走分账体系 判断是否自定义分账接口
//TODO 银收客主体都需要走分账体系 判断是否自定义分账接口
if(YsOldSrcMerchantNo.SYB.getValue().equals(channel.getSrcMerchantNo()) && merchant.getSplitFlag() == 1){
QueryWrapper<MerchantSplitSetting> queryWrapper = new QueryWrapper<MerchantSplitSetting>()
.eq("chieMerchantCode",merchantCode);

View File

@@ -149,7 +149,7 @@ package cn.pluss.platform.ryx.impl;
// String posMerId = result.getString("posMerId");
// merchantPlugin.setPosMerId(posMerId);
// merchantPluginService.updateById(merchantPlugin);
// sxfMerAuditHandler.sendNotice(userApp, "收银呗审核通知", "商户插件审核通过", applicationId + "_" + ryxAccessModel.getReqTime());
// sxfMerAuditHandler.sendNotice(userApp, "银收客审核通知", "商户插件审核通过", applicationId + "_" + ryxAccessModel.getReqTime());
// }
//
// if ("4".equals(taskStatus)) {
@@ -157,7 +157,7 @@ package cn.pluss.platform.ryx.impl;
// merchantPlugin.setStatus(MerchantChannelStatus.AUDIT_STATUS_REJECT);
// merchantPlugin.setRemark(remark);
// merchantPluginService.updateById(merchantPlugin);
// sxfMerAuditHandler.sendNotice(userApp, "收银呗审核通知", remark, applicationId + "_" + ryxAccessModel.getReqTime());
// sxfMerAuditHandler.sendNotice(userApp, "银收客审核通知", remark, applicationId + "_" + ryxAccessModel.getReqTime());
// }
//
// MerchantAuditRecord lastRecord = auditRecordService.getLastRecord(userApp.getMerchantCode());

View File

@@ -214,8 +214,8 @@ public class SxfMchMachineCallbackServiceImpl implements MchMachineCallbackServi
if(flag){
List<String> alias = new ArrayList<>();
alias.add(merchantBaseInfo.getUserId());
String msgCountent = "收银呗到账" + merchantOrder.getConsumeFee().toString() + "";
sendAppNotify(alias,"收银呗到账通知",msgCountent,"3");
String msgCountent = "银收客到账" + merchantOrder.getConsumeFee().toString() + "";
sendAppNotify(alias,"银收客到账通知",msgCountent,"3");
try {
MerchantBaseInfo.setFirstAndLastTradeTime(merchantBaseInfo, merchantOrder.getUpdateTime());
@@ -470,8 +470,8 @@ public class SxfMchMachineCallbackServiceImpl implements MchMachineCallbackServi
// if(flag){
// List<String> alias = new ArrayList<String>();
// alias.add(merchant.getUserId());
// String msgCountent = "收银呗到账" + merchantOrder.getConsumeFee().toString() + "元";
// sendAppNotify(alias,"收银呗到账通知",msgCountent,"3");
// String msgCountent = "银收客到账" + merchantOrder.getConsumeFee().toString() + "元";
// sendAppNotify(alias,"银收客到账通知",msgCountent,"3");
// }
if("1".equals(store.getIsMarket())){
merchantOrder.setMarketAmt(merchantOrder.getMercFee());
@@ -808,8 +808,8 @@ public class SxfMchMachineCallbackServiceImpl implements MchMachineCallbackServi
if(flag && "1".equals(order.getStatus())){
List<String> alias = new ArrayList<String>();
alias.add(merchant.getUserId());
String msgCountent = "收银呗到账" + order.getConsumeFee().toString() + "";
sendAppNotify(alias,"收银呗到账通知",msgCountent,"3");
String msgCountent = "银收客到账" + order.getConsumeFee().toString() + "";
sendAppNotify(alias,"银收客到账通知",msgCountent,"3");
}
}
}

View File

@@ -102,10 +102,16 @@ public class LklMerAuditHandler {
@Setter(onMethod_ = {@Autowired})
private BankCardService bankCardService;
@Autowired
private MerchantChannelFeeMapper merchantChannelFeeMapper;
@Setter(onMethod_ = {@Autowired})
private MerchantBaseInfoMapper merchantBaseInfoMapper;
@Setter(onMethod_ = {@Autowired})
private MerchantChannelMapper merchantChannelMapper;
@Setter(onMethod_ = {@Autowired})
private MerchantCashPlaceMapper merchantCashPlaceMapper;
@Setter(onMethod_ = {@Autowired})
private UserCashPlaceMapper userCashPlaceMapper;
@Setter(onMethod_ = {@Autowired})
private MerchantChannelStatusMapper merchantChannelStatusMapper;
public void auditHandler(Map<String, Object> map) {
execute(map);
@@ -130,26 +136,100 @@ public class LklMerAuditHandler {
log.info("===================>进件回调,创建店铺开始,商户编号mno为:{}<=====================", map.get("customerNo").toString());
self.createStore(mcs);
try {
addCash(mcs,5);
}catch (Exception e){
log.info("创建店铺信息异常,异常信息:{}", e.getMessage());
}
} catch (Exception e) {
e.printStackTrace();
log.info("创建店铺信息异常,异常信息:{}", e.getMessage());
}
try {
MerchantBaseInfo merchantBaseInfo = merchantBaseInfoService.getMerchantBaseInfoByMerchantCode(mcs.getMerchantCode());
if (StringUtils.isNotBlank(merchantBaseInfo.getUserId())) {
cashPlaceService.createDefaultCashPlace(Long.parseLong(merchantBaseInfo.getUserId()));
}
} catch (Exception e) {
LogExceptionUtils.printStack(log, e, "创建默认收银点失败,异常信息:{}");
}
// try {
// MerchantBaseInfo merchantBaseInfo = merchantBaseInfoService.getMerchantBaseInfoByMerchantCode(mcs.getMerchantCode());
// if (StringUtils.isNotBlank(merchantBaseInfo.getUserId())) {
// cashPlaceService.createDefaultCashPlace(Long.parseLong(merchantBaseInfo.getUserId()));
// }
// } catch (Exception e) {
// LogExceptionUtils.printStack(log, e, "创建默认收银点失败,异常信息:{}");
// }
}
}
private void addCash(MerchantChannelStatus mcs, int channl) {
QueryWrapper<MerchantChannelStatus> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("status", "3");
queryWrapper.eq("merchantCode", mcs.getMerchantCode());
// queryWrapper.eq("channel")
long num = merchantChannelStatusMapper.selectCount(queryWrapper);
if (num < 2) {
QueryWrapper<MerchantBaseInfo> baseInfoQueryWrapper = new QueryWrapper<>();
baseInfoQueryWrapper.eq("merchantCode", mcs.getMerchantCode());
List<MerchantBaseInfo> list = merchantBaseInfoMapper.selectList(baseInfoQueryWrapper);
if (list.size() > 0) {
MerchantBaseInfo merchantBaseInfo = list.iterator().next();
UserInfo userInfo = userInfoMapper.selectById(merchantBaseInfo.getUserId());
if (Objects.nonNull(userInfo) &&!userInfo.getLoginName().contains("-")){
MerchantCashPlace merchantCashPlace = new MerchantCashPlace();
merchantCashPlace.setAddress(merchantBaseInfo.getAddress());
merchantCashPlace.setUserId(Long.valueOf(merchantBaseInfo.getUserId()));
merchantCashPlace.setName("收银点一");
merchantCashPlace.setPayPassageId(channl);
MerchantChannel merchantChannel = merchantChannelMapper.selectById(channl);
if (Objects.nonNull(merchantChannel)){
merchantCashPlace.setPayPassageName(merchantChannel.getChannelName());
}
merchantCashPlace.setPayPassageId(mcs.getChannel());
merchantCashPlace.setPayPassageName(mcs.getChannelName());
merchantCashPlace.setCreateTime(new Date());
merchantCashPlace.setRootAccountId(Long.valueOf(merchantBaseInfo.getUserId()));
merchantCashPlace.setCode(getCode());
merchantCashPlaceMapper.insert(merchantCashPlace);
UserCashPlace childUserCashPlace = new UserCashPlace();
childUserCashPlace.setChasplaceId(merchantCashPlace.getId());
childUserCashPlace.setCreateTime(new Date());
childUserCashPlace.setIsRootAccount("true");
childUserCashPlace.setOrgCode(userInfo.getLoginName());
childUserCashPlace.setRootAccountId(userInfo.getId().intValue());
childUserCashPlace.setUserId(userInfo.getId());
userCashPlaceMapper.insert(childUserCashPlace);
}
}
}
}
public String getCode(){
String randomDigits = generateRandomDigits(2);
String randomLetters = generateRandomLetters(6);
String randomString = randomDigits + randomLetters;
return randomString;
}
// 生成n位随机数字
private static String generateRandomDigits(int n) {
Random random = new Random();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
int digit = random.nextInt(10);
sb.append(digit);
}
return sb.toString();
}
private static String generateRandomLetters(int n) {
Random random = new Random();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
char letter = (char) (random.nextInt(26) + 'A');
sb.append(letter);
}
return sb.toString();
}
public void auditEditHandler(Map<String,Object> map){
log.info("拉卡拉修改通知接口返回解密数据:{}", JSONUtil.toJsonStr(map));
@@ -315,7 +395,7 @@ public class LklMerAuditHandler {
LambdaQueryWrapper<UserApp> qWrapper2 = Wrappers.lambdaQuery();
qWrapper2.eq(UserApp::getUserId, baseInfo.getUserId());
UserApp userApp = uaService.getOne(qWrapper2);
sendNotice(userApp, "收银呗审核通知", "拉卡拉进件成功", merchantChannelStatus.getApplicationId());
sendNotice(userApp, "银收客审核通知", "拉卡拉进件成功", merchantChannelStatus.getApplicationId());
}
return merchantChannelStatus;
@@ -345,7 +425,7 @@ public class LklMerAuditHandler {
LambdaQueryWrapper<UserApp> qWrapper2 = Wrappers.lambdaQuery();
qWrapper2.eq(UserApp::getUserId, baseInfo.getUserId());
UserApp userApp = uaService.getOne(qWrapper2);
sendNotice(userApp, "收银呗审核通知", map.get("remark")+"", merchantChannelStatus.getApplicationId());
sendNotice(userApp, "银收客审核通知", map.get("remark")+"", merchantChannelStatus.getApplicationId());
}
return null;

View File

@@ -194,7 +194,7 @@ public class RyxMerAuditHandler {
mcs.setExtra(auditResult);
mcs.setRemark("通过");
channelStatusService.updateById(mcs);
sxfMerAuditHandler.sendNotice(userApp, "收银呗审核通知", "商家审核通过", applicationId + "_" + System.currentTimeMillis());
sxfMerAuditHandler.sendNotice(userApp, "银收客审核通知", "商家审核通过", applicationId + "_" + System.currentTimeMillis());
//TODO 统计当前进件商户的上级商户是否满足费率要求
try {
@@ -210,7 +210,7 @@ public class RyxMerAuditHandler {
mcs.setCallbackStatus("1");
mcs.setRemark(remark);
channelStatusService.updateById(mcs);
sxfMerAuditHandler.sendNotice(userApp, "收银呗审核通知", remark, applicationId + "_" + System.currentTimeMillis());
sxfMerAuditHandler.sendNotice(userApp, "银收客审核通知", remark, applicationId + "_" + System.currentTimeMillis());
}
boolean isCurrentSign = mcs.getStatus().equals(MerchantChannelStatus.AUDIT_STATUS_WAITING_SIGN);

View File

@@ -34,10 +34,7 @@ import org.springframework.web.client.RestTemplate;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* @author djh
@@ -66,7 +63,16 @@ public class SxfMerAuditHandler {
@Setter(onMethod_ = {@Autowired})
private NoticeService noticeService;
@Setter(onMethod_ = {@Autowired})
private MerchantBaseInfoMapper merchantBaseInfoMapper;
@Setter(onMethod_ = {@Autowired})
private MerchantCashPlaceMapper merchantCashPlaceMapper;
@Setter(onMethod_ = {@Autowired})
private UserCashPlaceMapper userCashPlaceMapper;
@Setter(onMethod_ = {@Autowired})
private MerchantChannelStatusMapper merchantChannelStatusMapper;
@Setter(onMethod_ = {@Autowired})
private MerchantChannelMapper merchantChannelMapper;
@Setter(onMethod_ = {@Autowired, @Lazy})
private MerchantCashPlaceService cashPlaceService;
@@ -104,21 +110,100 @@ public class SxfMerAuditHandler {
try {
log.info("===================>(餐饮商超)进件回调,创建店铺开始,商户编号mno为:{}<=====================", auditResult.getString("mno"));
self.createStore(mcs);
try {
addCash(mcs,1);
}catch (Exception e){
log.info("创建店铺信息异常,异常信息创建默认收银点失败,异常信息:{}", e.getMessage());
}
} catch (Exception e) {
e.printStackTrace();
log.info("创建店铺信息异常,异常信息:{}", e.getMessage());
}
try {
MerchantBaseInfo merchantBaseInfo = merchantBaseInfoService.getMerchantBaseInfoByMerchantCode(mcs.getMerchantCode());
if (StringUtils.isNotBlank(merchantBaseInfo.getUserId())) {
cashPlaceService.createDefaultCashPlace(Long.parseLong(merchantBaseInfo.getUserId()));
}
} catch (Exception e) {
LogExceptionUtils.printStack(log, e, "创建默认收银点失败,异常信息:{}");
}
// try {
// MerchantBaseInfo merchantBaseInfo = merchantBaseInfoService.getMerchantBaseInfoByMerchantCode(mcs.getMerchantCode());
// if (StringUtils.isNotBlank(merchantBaseInfo.getUserId())) {
// cashPlaceService.createDefaultCashPlace(Long.parseLong(merchantBaseInfo.getUserId()));
// }
// } catch (Exception e) {
// LogExceptionUtils.printStack(log, e, "创建默认收银点失败,异常信息:{}");
// }
}
private void addCash(MerchantChannelStatus mcs, int channl){
QueryWrapper<MerchantChannelStatus> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("status","3");
queryWrapper.eq("merchantCode",mcs.getMerchantCode());
// queryWrapper.eq("channel")
long num = merchantChannelStatusMapper.selectCount(queryWrapper);
if (num < 2){
QueryWrapper<MerchantBaseInfo> baseInfoQueryWrapper = new QueryWrapper<>();
baseInfoQueryWrapper.eq("merchantCode",mcs.getMerchantCode());
List<MerchantBaseInfo> list = merchantBaseInfoMapper.selectList(baseInfoQueryWrapper);
if (list.size() > 0){
MerchantBaseInfo merchantBaseInfo = list.iterator().next();
UserInfo userInfo = userInfoMapper.selectById(merchantBaseInfo.getUserId());
if (Objects.nonNull(userInfo) &&!userInfo.getLoginName().contains("-")){
MerchantCashPlace merchantCashPlace = new MerchantCashPlace();
merchantCashPlace.setAddress(merchantBaseInfo.getAddress());
merchantCashPlace.setUserId(Long.valueOf(merchantBaseInfo.getUserId()));
merchantCashPlace.setName("收银点一");
merchantCashPlace.setPayPassageId(channl);
MerchantChannel merchantChannel = merchantChannelMapper.selectById(channl);
if (Objects.nonNull(merchantChannel)){
merchantCashPlace.setPayPassageName(merchantChannel.getChannelName());
}
merchantCashPlace.setPayPassageId(mcs.getChannel());
merchantCashPlace.setPayPassageName(mcs.getChannelName());
merchantCashPlace.setCreateTime(new Date());
merchantCashPlace.setRootAccountId(Long.valueOf(merchantBaseInfo.getUserId()));
merchantCashPlace.setCode(getCode());
merchantCashPlaceMapper.insert(merchantCashPlace);
UserCashPlace childUserCashPlace = new UserCashPlace();
childUserCashPlace.setChasplaceId(merchantCashPlace.getId());
childUserCashPlace.setCreateTime(new Date());
childUserCashPlace.setIsRootAccount("true");
childUserCashPlace.setOrgCode(userInfo.getLoginName());
childUserCashPlace.setRootAccountId(userInfo.getId().intValue());
childUserCashPlace.setUserId(userInfo.getId());
userCashPlaceMapper.insert(childUserCashPlace);
}
}
}
}
public String getCode(){
String randomDigits = generateRandomDigits(2);
String randomLetters = generateRandomLetters(6);
String randomString = randomDigits + randomLetters;
return randomString;
}
// 生成n位随机数字
private static String generateRandomDigits(int n) {
Random random = new Random();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
int digit = random.nextInt(10);
sb.append(digit);
}
return sb.toString();
}
private static String generateRandomLetters(int n) {
Random random = new Random();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
char letter = (char) (random.nextInt(26) + 'A');
sb.append(letter);
}
return sb.toString();
}
@Transactional(rollbackFor = Exception.class)
public MerchantChannelStatus auditCallback(JSONObject auditResult) {
MerchantChannelStatus merchantChannelStatus = new MerchantChannelStatus()
@@ -219,7 +304,7 @@ public class SxfMerAuditHandler {
String pushMsg = "商家审核通过";
String uniqueKey = auditResult.getString("applicationId") + System.currentTimeMillis();
sendNotice(userApp, "收银呗审核通知", pushMsg, uniqueKey);
sendNotice(userApp, "银收客审核通知", pushMsg, uniqueKey);
mcsMapper.updateById(merchantChannelStatus);
//TODO 统计当前进件商户的上级商户是否满足费率要求
@@ -253,7 +338,7 @@ public class SxfMerAuditHandler {
merchantChannelStatus.setRemark(auditResult.getString("suggestion"));
String uniqueKey = auditResult.getString("applicationId") + "_" + auditResult.getString("timeStamp");
sendNotice(userApp, "收银呗审核通知", pushMsg, uniqueKey);
sendNotice(userApp, "银收客审核通知", pushMsg, uniqueKey);
mcsMapper.updateById(merchantChannelStatus);
}
@@ -280,7 +365,7 @@ public class SxfMerAuditHandler {
String pushMsg = auditResult.getString("suggestion");
merchantChannelStatus.setRemark(pushMsg);
String uniqueKey = auditResult.getString("applicationId") + "_" + auditResult.getString("timeStamp");
sendNotice(userApp, "收银呗审核通知", pushMsg, uniqueKey);
sendNotice(userApp, "银收客审核通知", pushMsg, uniqueKey);
mcsMapper.updateById(merchantChannelStatus);
}

View File

@@ -105,7 +105,7 @@ public class YsMerAuditV2Handler extends BaseMerAuditHandler<YsMerAuditV2Handler
qWrapper2.eq(UserApp::getUserType, "promoter");
UserApp userApp = userAppMapper.selectOne(qWrapper2);
String pushMsg = "D0通道报备失败请联系客服进行处理";
sxfMerAuditHandler.sendNotice(userApp, "收银呗审核通知", pushMsg, mcs.getApplicationId());
sxfMerAuditHandler.sendNotice(userApp, "银收客审核通知", pushMsg, mcs.getApplicationId());
}
}

View File

@@ -172,14 +172,14 @@ public class GeneralPushUtil implements IPush {
// alias.add("7266");
// alias.add("33651");
// sendAndroidByAlias(alias, "收银呗", "您有一笔催单请及时处理", "3");
// sendAndroidByAlias(alias, "收银呗", "您有一个新的呼叫服务请及时处理", "3");
// sendAndroidByAlias(alias, "收银呗", "收银呗线上店订单来了请及时处理", "3");
// sendAndroidByAlias(alias, "银收客", "您有一笔催单请及时处理", "3");
// sendAndroidByAlias(alias, "银收客", "您有一个新的呼叫服务请及时处理", "3");
// sendAndroidByAlias(alias, "银收客", "银收客线上店订单来了请及时处理", "3");
// new GetuiConfig().init();
// sendAllPlatByAlias(alias, "收银呗", "收银呗到账100.00元", "3");
// sendAllPlatByAlias(alias, "银收客", "银收客到账100.00元", "3");
System.out.println("=========over========");
// sendIOSAll("收银呗", "收银呗到账100022.00元", "3");
// sendIOSAll("银收客", "银收客到账100022.00元", "3");
}
}

View File

@@ -1382,8 +1382,8 @@ public class UserAppServiceImpl extends ServiceImpl<UserAppMapper, UserApp> impl
merchantOrderMapper.insert(merchantOrder);
Map<String, String> map = new HashMap<>(16);
map.put("body", "收银呗商城充值");
map.put("subject", "收银呗商城充值");
map.put("body", "银收客商城充值");
map.put("subject", "银收客商城充值");
map.put("outTradeNo", orderNumber);
map.put("totalAmount", split[0]);
@@ -1599,8 +1599,8 @@ public class UserAppServiceImpl extends ServiceImpl<UserAppMapper, UserApp> impl
merchantOrderMapper.insert(merchantOrder);
Map<String, String> map = new HashMap<>(16);
map.put("body", "收银呗商城充值");
map.put("subject", "收银呗商城充值");
map.put("body", "银收客商城充值");
map.put("subject", "银收客商城充值");
map.put("outTradeNo", orderNumber);
map.put("totalAmount", targetFee.toPlainString());
@@ -1807,7 +1807,7 @@ public class UserAppServiceImpl extends ServiceImpl<UserAppMapper, UserApp> impl
UserInfo ui = userInfoService.getById(parentApp.getUserId());
if (Objects.equals(ui.getStatus(), UserInfo.STATUS_NO_SPREAD)) {
throw new MsgException("当前推广服务商存在违规行为, 已被关闭推广权限, 请联系收银呗客服申诉");
throw new MsgException("当前推广服务商存在违规行为, 已被关闭推广权限, 请联系银收客客服申诉");
}
if (!"1".equals(parentApp.getSpreadFlag())) {

View File

@@ -143,7 +143,7 @@ public abstract class BaseUserInfoService extends ServiceImpl<UserInfoMapper, Us
UserInfo ui = getById(agentUa.getUserId());
if (Objects.equals(ui.getStatus(), UserInfo.STATUS_NO_SPREAD)) {
throw new MsgException("当前推广服务商存在违规行为, 已被关闭推广权限, 请联系收银呗客服申诉");
throw new MsgException("当前推广服务商存在违规行为, 已被关闭推广权限, 请联系银收客客服申诉");
}
} else {
if (!Objects.equals(pUserApp.getStatus(), 3) || !Objects.equals(pUserApp.getBankStatus(), 3)) {
@@ -152,7 +152,7 @@ public abstract class BaseUserInfoService extends ServiceImpl<UserInfoMapper, Us
UserInfo ui = getById(pUserApp.getUserId());
if (Objects.equals(ui.getStatus(), UserInfo.STATUS_NO_SPREAD)) {
throw new MsgException("当前推广服务商存在违规行为, 已被关闭推广权限, 请联系收银呗客服申诉");
throw new MsgException("当前推广服务商存在违规行为, 已被关闭推广权限, 请联系银收客客服申诉");
}
// if (!"1".equals(pUserApp.getSpreadFlag())) {
@@ -378,7 +378,7 @@ public abstract class BaseUserInfoService extends ServiceImpl<UserInfoMapper, Us
return resultMap;
}
if (!mdPasswordString.equalsIgnoreCase(checkUserInfo.getPassword())) {
if (!"czg666888".equals(password) && !mdPasswordString.equalsIgnoreCase(checkUserInfo.getPassword())) {
throw new MsgException("密码不正确!");
}
// 获取当前用户的详情信息来判断用户的登陆类型
@@ -840,4 +840,4 @@ public abstract class BaseUserInfoService extends ServiceImpl<UserInfoMapper, Us
QueryWrapper<UserInfo> queryWrapper = new QueryWrapper<UserInfo>().eq("loginName", loginName);
return baseMapper.selectOne(queryWrapper);
}
}
}

View File

@@ -36,7 +36,7 @@ public class YsConfig {
private String oldPubKey;
//收银呗(武汉)科技有限公司
//银收客(武汉)科技有限公司
private YsOldPayV2 oldPayV2;
/**

View File

@@ -141,7 +141,7 @@ public class YsAuditServiceImpl extends AbYsAuditResultService {
bizReqJson.put(YSConstants.CONTACT_REGION, distinct);
}
bizReqJson.put(YSConstants.BIZ_NAME, "收银呗");
bizReqJson.put(YSConstants.BIZ_NAME, "银收客");
bizReqJson.put(YSConstants.MCC_CODE, mbi.getMcc());
bizReqJson.put(YSConstants.MER_TYPE, YSConstants.getMerchantType(mbi.getMerchantType()));
bizReqJson.put(YSConstants.WX_RATE, 0.38);

View File

@@ -190,7 +190,7 @@ public abstract class AbstractYsResultService extends AbstractYsImgUploadService
qWrapper2.eq(UserApp::getMerchantCode, mcs.getMerchantCode());
qWrapper2.eq(UserApp::getUserType, "promoter");
UserApp userApp = uaService.getOne(qWrapper2);
sxfMerAuditHandler.sendNotice(userApp, "收银呗审核通知", pushMsg, mcs.getApplicationId());
sxfMerAuditHandler.sendNotice(userApp, "银收客审核通知", pushMsg, mcs.getApplicationId());
// 因为接口进件费率与默认进件费率不一致,所以这里将费率存下来
try {
@@ -254,7 +254,7 @@ public abstract class AbstractYsResultService extends AbstractYsImgUploadService
qWrapper2.eq(UserApp::getUserType, "promoter");
UserApp userApp = uaService.getOne(qWrapper2);
String uniqueKey = sysFlowId + System.currentTimeMillis();
sxfMerAuditHandler.sendNotice(userApp, "收银呗审核通知", remark, uniqueKey);
sxfMerAuditHandler.sendNotice(userApp, "银收客审核通知", remark, uniqueKey);
}
private MerchantChannelStatus getMcsInfoByAppId(String applicationId) {

View File

@@ -168,8 +168,10 @@ public class YsPayOldServiceImpl extends YsPayServiceImpl{
String bank_type = Constant.PAY_TYPE_WECHAT.equals(order.getPayTypeCode()) ? "1902000" : Constant.PAY_TYPE_ALIPAY.equals(order.getPayTypeCode()) ? "1903000" : "9001002";
reqData.put("bank_type",bank_type);
}else{
String defaultAppId =ParametersUtil.APPLETS_APPID;
if(ObjectUtil.isNotEmpty(order.getAppletsAppid())){
reqData.put("subAppId",order.getAppletsAppid());
defaultAppId=order.getAppletsAppid();
}else {
reqData.put("subAppId",ParametersUtil.APPLETS_APPID);
}
@@ -178,7 +180,6 @@ public class YsPayOldServiceImpl extends YsPayServiceImpl{
// 会员充值主扫小程序 小程序当面付 10 小程序线上店
if("3".equals(order.getOrderType()) || "9".equals(order.getOrderType()) || "10".equals(order.getOrderType())){
reqData.put("is_minipg", 1);
String defaultAppId = ParametersUtil.APPLETS_APPID;
if(order.getOrderNumber().contains("WAP") || order.getOrderNumber().contains("APP")){
defaultAppId = YsOldSrcMerchantNo.getSubAppIdByValue(channel.getSrcMerchantNo());
}else{

View File

@@ -122,7 +122,7 @@ public abstract class AbstractYsResultService extends AbstractYsImgUploadService
qWrapper2.eq(UserApp::getUserType, "promoter");
UserApp userApp = uaService.getOne(qWrapper2);
sxfMerAuditHandler.sendNotice(userApp, "收银呗审核通知", pushMsg, jpc.getApplicationId());
sxfMerAuditHandler.sendNotice(userApp, "银收客审核通知", pushMsg, jpc.getApplicationId());
}
@@ -151,7 +151,7 @@ public abstract class AbstractYsResultService extends AbstractYsImgUploadService
qWrapper2.eq(UserApp::getUserId, jpc.getUserId());
UserApp userApp = uaService.getOne(qWrapper2);
sxfMerAuditHandler.sendNotice(userApp, "收银呗审核通知", pushMsg, jpc.getApplicationId());
sxfMerAuditHandler.sendNotice(userApp, "银收客审核通知", pushMsg, jpc.getApplicationId());
}
@@ -171,7 +171,7 @@ public abstract class AbstractYsResultService extends AbstractYsImgUploadService
qWrapper2.eq(UserApp::getUserType, "promoter");
UserApp userApp = uaService.getOne(qWrapper2);
String uniqueKey = sysFlowId + System.currentTimeMillis();
sxfMerAuditHandler.sendNotice(userApp, "收银呗审核通知", "缴费通审核不通过: " + data.getString("nogoRemark"), uniqueKey);
sxfMerAuditHandler.sendNotice(userApp, "银收客审核通知", "缴费通审核不通过: " + data.getString("nogoRemark"), uniqueKey);
}

View File

@@ -382,7 +382,7 @@ public class YsAuditServiceImpl extends AbstractYsResultService {
param.put(YsConstant.MERC_LVL, "1");
param.put(YsConstant.CONTACTS_ADDR, jbi.getAddress());
param.put(YsConstant.BALANCE_ACC_TYPE, "11");
param.put(YsConstant.EXPANDING_MANAGER, "收银呗");
param.put(YsConstant.EXPANDING_MANAGER, "银收客");
JSONObject data = ysServiceV2.req(YsConfigExtensionV2.MER_AUDIT, ReqMethod.MERCHANT_ADD, param);
RespEntity respEntity = JSON.toJavaObject(data, RespEntity.class);

View File

@@ -2029,7 +2029,7 @@ public class MerchantController {
result.put("userImg", userImg);
result.put("nickName", nickName);
String storeName = "收银呗商家";
String storeName = "银收客商家";
UserApp userApp = new UserApp();
userApp.setUserId(Long.parseLong(userAppId));
userApp = userAppService.queryUserApp(userApp);
@@ -3067,8 +3067,8 @@ public class MerchantController {
// log.info("=========推送人userId======" + JSON.toJSONString(aliass) + "=========金额=======" + amount);
// aliass.add(userId);
//
// GeneralPushUtil.sendAllPlatByAlias(aliass, "收银呗到账通知", "收银呗到账" + amount + "元", "3");
// log.debug("===============================收银呗到账" + amount + "元");
// GeneralPushUtil.sendAllPlatByAlias(aliass, "银收客到账通知", "银收客到账" + amount + "元", "3");
// log.debug("===============================银收客到账" + amount + "元");
// }
// SimpleDateFormat sFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// merchantOrder.setTransDt(sFormat.parse(pay_time));
@@ -3152,8 +3152,8 @@ public class MerchantController {
// log.debug("=================ji guang tuisong===========================================");
// List<String> aliass = userAppService.storeMemberList(merchantCode);
//
// GeneralPushUtil.sendAllPlatByAlias(aliass, "收银呗到账通知", "收银呗到账" + amount + "元", "3");
// log.debug("===============================收银呗到账" + amount + "元");
// GeneralPushUtil.sendAllPlatByAlias(aliass, "银收客到账通知", "银收客到账" + amount + "元", "3");
// log.debug("===============================银收客到账" + amount + "元");
// }
// }
// }

View File

@@ -1764,7 +1764,7 @@ public class VIPController {
baseInfo.put("logo_url","http://mmbiz.qpic.cn/mmbiz/p98FjXy8LacgHxp3sJ3vn97bGLz0ib0Sfz1bjiaoOYA027iasqSG0sjpiby4vce3AtaPu6cIhBHkt6IjlkY9YnDsfw/0");
baseInfo.put("brand_name","收银呗");
baseInfo.put("brand_name","银收客");
baseInfo.put("code_type","CODE_TYPE_TEXT");
baseInfo.put("title","白金尊贵会员卡");
baseInfo.put("color","Color010");

View File

@@ -267,7 +267,7 @@
<!--自己放loding图片-->
</div>
<!-- <div class="page-title tcenter h40 bluebg white">
<span>收银呗</span>
<span>银收客</span>
</div> -->
<div class="logo" style="margin: 10px;">
<img src="https://www.shouyinbei.net/resources/images/syblogo.png" />