小程序机构启动充电

This commit is contained in:
yuyang 2021-12-31 09:23:41 +08:00
parent f6e9fb371a
commit 666ff5ad5a
14 changed files with 203 additions and 153 deletions

View File

@ -112,5 +112,8 @@ public class HttpStatus
*/
public static final Integer ERROR_STATUS = 1010;
/**
* 该账号已被绑定
*/
public static final Integer ACCOUNT_BINDING = 1999;
}

View File

@ -20,5 +20,5 @@ public interface UserTypeService {
* @return
*/
@GetMapping("/common/getUser")
R getUser(@RequestParam(value = "phone")String phone,@RequestParam(value = "userId")Long userId,@RequestParam(value = "userType")Integer userType);
R getUser(@RequestParam(value = "phone")String phone,@RequestParam(value = "userId")Long userId,@RequestParam(value = "userType")Integer userType,@RequestParam(value = "serialNumber")String serialNumber);
}

View File

@ -20,7 +20,7 @@ public class UserTypeFallbackFactory implements FallbackFactory<UserTypeService>
logger.error("用户服务调用失败:{} //fallback", cause.getMessage());
return new UserTypeService() {
@Override
public R getUser(String phone, Long userId, Integer userType) {
public R getUser(String phone, Long userId, Integer userType,String serialNumber) {
return R.fail("用户信息获取失败:" + cause.getMessage());
}
};

View File

@ -23,4 +23,7 @@ public class UserTypeUtil {
//B端大客户
public static final Integer CUSTOMERS_TYPE = 3;
//重新登录
public static final Integer LOGIN_TYPE = 1999;
}

View File

@ -42,7 +42,7 @@ public class XhpcSmsController extends BaseController {
//C端用户
return xhpcSmsService.getLogonPhoneCode(phone, signatureName, templateId,null);
}else if (UserTypeUtil.COMMUNIT.equals(phone.substring(0,2)) || UserTypeUtil.CUSTOMERS.equals(phone.substring(0,2))){
R user = userTypeService.getUser(phone, null, null);
R user = userTypeService.getUser(phone, null, null, null);
if(user !=null && user.getData() !=null){
Map<String, Object> map = (Map<String, Object>)user.getData();
return xhpcSmsService.getLogonPhoneCode(map.get("phone").toString(), signatureName, templateId,map.get("account").toString());

View File

@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.Calendar;
import java.util.HashMap;
@ -71,10 +72,10 @@ public class XhpcChargeOrderController extends BaseController {
* @return
*/
@GetMapping("/startUp")
public AjaxResult startUp(@RequestParam Long userId,@RequestParam String serialNumber,@RequestParam Integer type){
public AjaxResult startUp(HttpServletRequest request, @RequestParam Long userId, @RequestParam String serialNumber, @RequestParam Integer type){
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<启动充电>>>>>>>>>>>>>>>>>");
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<启动充电>>>>>>>>>>>>>>>>>");
return iXhpcChargeOrderService.startUp(userId, serialNumber, type);
return iXhpcChargeOrderService.startUp(request,userId, serialNumber, type);
}

View File

@ -7,6 +7,7 @@ import com.xhpc.order.domain.XhpcChargeOrder;
import com.xhpc.order.domain.XhpcOrderRedisRecord;
import org.apache.ibatis.annotations.Param;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@ -47,7 +48,7 @@ public interface IXhpcChargeOrderService {
* @param serialNumber 终端编码
* @return
*/
AjaxResult startUp(Long userId,String serialNumber,Integer type);
AjaxResult startUp(HttpServletRequest request, Long userId, String serialNumber, Integer type);
/**
* 停止充电

View File

@ -2,7 +2,9 @@ package com.xhpc.order.service.impl;
import cn.hutool.core.date.DateUtil;
import com.xhpc.common.api.PowerPileService;
import com.xhpc.common.api.UserTypeService;
import com.xhpc.common.core.domain.R;
import com.xhpc.common.core.utils.StringUtils;
import com.xhpc.common.core.web.domain.AjaxResult;
import com.xhpc.common.data.down.StartChargingData;
import com.xhpc.common.data.redis.CacheRealtimeData;
@ -10,11 +12,14 @@ import com.xhpc.common.data.redis.StaticBeanUtil;
import com.xhpc.common.domain.XhpcRate;
import com.xhpc.common.domain.XhpcTerminal;
import com.xhpc.common.redis.service.RedisService;
import com.xhpc.common.security.service.TokenService;
import com.xhpc.common.util.UserTypeUtil;
import com.xhpc.order.domain.XhpcChargeOrder;
import com.xhpc.order.domain.XhpcOrderRedisRecord;
import com.xhpc.order.mapper.XhpcChargeOrderMapper;
import com.xhpc.order.mapper.XhpcInternetUserMapper;
import com.xhpc.order.service.IXhpcChargeOrderService;
import com.xhpc.system.api.model.LoginUser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -22,6 +27,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.PostConstruct;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.*;
import java.util.regex.Matcher;
@ -46,6 +52,10 @@ public class XhpcChargeOrderServiceImpl implements IXhpcChargeOrderService {
private RedisService redisService;
@Autowired
private XhpcInternetUserMapper xhpcInternetUserMapper;
@Autowired
private TokenService tokenService;
@Autowired
private UserTypeService userTypeService;
private static final Logger logger = LoggerFactory.getLogger(XhpcChargeOrderServiceImpl.class);
//队列名称
@ -80,159 +90,181 @@ public class XhpcChargeOrderServiceImpl implements IXhpcChargeOrderService {
@Override
@Transactional
public AjaxResult startUp(Long userId, String terminalSerialNumber, Integer type) {
public AjaxResult startUp(HttpServletRequest request, Long userId, String terminalSerialNumber, Integer type) {
String pattern = "^([0-9]{16})";
Pattern compile = Pattern.compile(pattern);
Matcher m = compile.matcher(terminalSerialNumber);
if (terminalSerialNumber.length() != 16 || !m.matches()) {
return AjaxResult.error(1104, "无效的终端编号");
}
//查看充电用户金额是否大于5元
Map<String, Object> userMessage = xhpcChargeOrderMapper.getUserMessage(userId);
BigDecimal a = new BigDecimal(5);
if (userMessage == null || userMessage.get("balance") == null || a.compareTo(new BigDecimal(userMessage.get("balance").toString())) == 1) {
return AjaxResult.error(1100, "金额小于5元,不能充电,请充值后再进行充电");
}
//充电用户是否存在异常的订单
int j = xhpcChargeOrderMapper.countXhpcChargeOrder(userId);
if (j > 0) {
return AjaxResult.error(1103, "你有异常订单未解决,请拨打客服电话进行解决");
}
//查看充电用户是否有申请退款的订单还未处理
if (Integer.parseInt(userMessage.get("isRefundApplication").toString()) != 0) {
return AjaxResult.error(1101, "你有申请退款订单在审核中,需要充电请取消申请退款");
}
//充电用户是否在充电中
String i = xhpcChargeOrderMapper.countXhpcRealTimeOrder(userId);
if (!"".equals(i) && i!=null) {
return AjaxResult.error(1102, "车辆正在充电,请查询车辆充电信息");
}
//终端状态是否空闲
//是否插枪
Map<String, Object> cacheMap = REDIS.getCacheMap("gun:" + terminalSerialNumber);
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<cacheMap>>>>>>>>>>>>>>>>>");
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<cacheMap>>>>>>>>>>>>>>>>>" + terminalSerialNumber);
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<cacheMap>>>>>>>>>>>>>>>>>" + cacheMap.toString());
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<cacheMap>>>>>>>>>>>>>>>>>");
if(cacheMap==null){
return AjaxResult.error(1105, "未注册的终端,请选择其他终端充电");
}else{
if(cacheMap.get("status") ==null){
return AjaxResult.error(1106, "未知的终端状态,请选择其他终端充电");
}else{
String status = cacheMap.get("status").toString();
//不同的状态
if("离线".equals(status)||"故障".equals(status) ||"充电".equals(status)){
return AjaxResult.error(1107, "此终端"+status+"中,请选择其他终端充电");
LoginUser loginUser = tokenService.getLoginUser(request);
if (StringUtils.isNotNull(loginUser)) {
String username = loginUser.getUsername();
Integer userType = loginUser.getUserType();
Long userid = loginUser.getUserid();
String openId = loginUser.getOpenId();
R user = userTypeService.getUser(null, userid, userType, terminalSerialNumber);
if(userId !=userid || user ==null || user.getData() ==null){
return AjaxResult.error(UserTypeUtil.LOGIN_TYPE, "请重新登录");
}
Map<String, Object> userMessage = (Map<String, Object>)user.getData();
if(UserTypeUtil.USER_TYPE !=userType){
if(Integer.valueOf(userMessage.get("number").toString())==0){
return AjaxResult.error(UserTypeUtil.LOGIN_TYPE, "此账号不能在该场站充电,请使用手机号登录");
}
}
if(cacheMap.get("vehicleGunStatus") ==null){
return AjaxResult.error(1108, "未知的枪状态,请选择其他终端充电");
String pattern = "^([0-9]{16})";
Pattern compile = Pattern.compile(pattern);
Matcher m = compile.matcher(terminalSerialNumber);
if (terminalSerialNumber.length() != 16 || !m.matches()) {
return AjaxResult.error(1104, "无效的终端编号");
}
//查看充电用户金额是否大于5元
//Map<String, Object> userMessage = xhpcChargeOrderMapper.getUserMessage(userId);
BigDecimal a = new BigDecimal(5);
if (userMessage == null || userMessage.get("balance") == null || a.compareTo(new BigDecimal(userMessage.get("balance").toString())) == 1) {
return AjaxResult.error(1100, "金额小于5元,不能充电,请充值后再进行充电");
}
//充电用户是否存在异常的订单
int j = xhpcChargeOrderMapper.countXhpcChargeOrder(userId);
if (j > 0) {
return AjaxResult.error(1103, "你有异常订单未解决,请拨打客服电话进行解决");
}
//查看充电用户是否有申请退款的订单还未处理
if (Integer.parseInt(userMessage.get("isRefundApplication").toString()) != 0) {
return AjaxResult.error(1101, "你有申请退款订单在审核中,需要充电请取消申请退款");
}
//充电用户是否在充电中
String i = xhpcChargeOrderMapper.countXhpcRealTimeOrder(userId);
if (!"".equals(i) && i!=null) {
return AjaxResult.error(1102, "车辆正在充电,请查询车辆充电信息");
}
//终端状态是否空闲
//是否插枪
Map<String, Object> cacheMap = REDIS.getCacheMap("gun:" + terminalSerialNumber);
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<cacheMap>>>>>>>>>>>>>>>>>");
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<cacheMap>>>>>>>>>>>>>>>>>" + terminalSerialNumber);
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<cacheMap>>>>>>>>>>>>>>>>>" + cacheMap.toString());
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<cacheMap>>>>>>>>>>>>>>>>>");
if(cacheMap==null){
return AjaxResult.error(1105, "未注册的终端,请选择其他终端充电");
}else{
String vehicleGunStatus = cacheMap.get("vehicleGunStatus").toString();
if(!"".equals(vehicleGunStatus)){
return AjaxResult.error(1109, "请插好充电枪");
if(cacheMap.get("status") ==null){
return AjaxResult.error(1106, "未知的终端状态,请选择其他终端充电");
}else{
String status = cacheMap.get("status").toString();
//不同的状态
if("离线".equals(status)||"故障".equals(status) ||"充电".equals(status)){
return AjaxResult.error(1107, "此终端"+status+"中,请选择其他终端充电");
}
}
if(cacheMap.get("vehicleGunStatus") ==null){
return AjaxResult.error(1108, "未知的枪状态,请选择其他终端充电");
}else{
String vehicleGunStatus = cacheMap.get("vehicleGunStatus").toString();
if(!"".equals(vehicleGunStatus)){
return AjaxResult.error(1109, "请插好充电枪");
}
}
}
}
//终端信息
XhpcTerminal xhpcTerminal = xhpcChargeOrderMapper.getXhpcTerminalSerialNumber(terminalSerialNumber);
if (xhpcTerminal == null || xhpcTerminal.getTerminalId() == null || xhpcTerminal.getChargingPileId() == null || xhpcTerminal.getPileSerialNumber() == null) {
return AjaxResult.error(1104, "无效的终端编号");
}
//余额
String balance = new BigDecimal(userMessage.get("balance").toString()).multiply(new BigDecimal(100)).toString();
//终端信息
XhpcTerminal xhpcTerminal = xhpcChargeOrderMapper.getXhpcTerminalSerialNumber(terminalSerialNumber);
if (xhpcTerminal == null || xhpcTerminal.getTerminalId() == null || xhpcTerminal.getChargingPileId() == null || xhpcTerminal.getPileSerialNumber() == null) {
return AjaxResult.error(1104, "无效的终端编号");
}
//余额
String balance = new BigDecimal(userMessage.get("balance").toString()).multiply(new BigDecimal(100)).toString();
//获取桩信息
Map<String, Object> xhpcChargingPileById =xhpcChargeOrderMapper.getXhpcChargingPileById(xhpcTerminal.getChargingPileId());
//获取桩信息
Map<String, Object> xhpcChargingPileById =xhpcChargeOrderMapper.getXhpcChargingPileById(xhpcTerminal.getChargingPileId());
//启动充电
StartChargingData startChargingData = new StartChargingData();
//订单流水号 终端号+年月日时分秒+自增4位 共32位
String orderNo = genOrder(terminalSerialNumber);
//启动充电
StartChargingData startChargingData = new StartChargingData();
//订单流水号 终端号+年月日时分秒+自增4位 共32位
String orderNo = genOrder(terminalSerialNumber);
startChargingData.setOrderNo(orderNo);
if(userMessage.get("phone") !=null){
startChargingData.setTel(userMessage.get("phone").toString());
}
startChargingData.setPileNo(xhpcTerminal.getPileSerialNumber());
startChargingData.setGunId(xhpcTerminal.getSerialNumber().substring(14));
startChargingData.setBalance(Double.valueOf(balance).intValue());
if(xhpcChargingPileById.get("communicationProtocolVersion")!=null && !"".equals(xhpcChargingPileById.get("communicationProtocolVersion").toString())){
startChargingData.setVersion(xhpcChargingPileById.get("communicationProtocolVersion").toString());
}else{
startChargingData.setVersion("0A");
}
startChargingData.setOrderNo(orderNo);
if(userMessage.get("phone") !=null){
startChargingData.setTel(userMessage.get("phone").toString());
}
startChargingData.setPileNo(xhpcTerminal.getPileSerialNumber());
startChargingData.setGunId(xhpcTerminal.getSerialNumber().substring(14));
startChargingData.setBalance(Double.valueOf(balance).intValue());
if(xhpcChargingPileById.get("communicationProtocolVersion")!=null && !"".equals(xhpcChargingPileById.get("communicationProtocolVersion").toString())){
startChargingData.setVersion(xhpcChargingPileById.get("communicationProtocolVersion").toString());
}else{
startChargingData.setVersion("0A");
}
//用户平台最小的
int number =0;
if(!"".equals(userMessage.get("soc")) && userMessage.get("soc") !=null && !"".equals(userMessage.get("soc"))){
number =Integer.parseInt(userMessage.get("soc").toString());
}
//平台
String soc = redisService.getCacheObject("global:SOC");
if(!"".equals(soc) && soc!=null){
if(number!=0){
if(Integer.parseInt(soc)-number<0){
//用户平台最小的
int number =0;
if(!"".equals(userMessage.get("soc")) && userMessage.get("soc") !=null && !"".equals(userMessage.get("soc"))){
number =Integer.parseInt(userMessage.get("soc").toString());
}
//平台
String soc = redisService.getCacheObject("global:SOC");
if(!"".equals(soc) && soc!=null){
if(number!=0){
if(Integer.parseInt(soc)-number<0){
number=Integer.parseInt(soc);
}
}else{
number=Integer.parseInt(soc);
}
}else{
number=Integer.parseInt(soc);
}
}
Map<String, Object> operatorMessage = xhpcChargeOrderMapper.getOperatorMessage(xhpcTerminal.getChargingStationId());
if(operatorMessage !=null && operatorMessage.get("soc") !=null && !"".equals(operatorMessage.get("soc"))){
if(number!=0){
if(Integer.parseInt(operatorMessage.get("soc").toString())-number<0){
Map<String, Object> operatorMessage = xhpcChargeOrderMapper.getOperatorMessage(xhpcTerminal.getChargingStationId());
if(operatorMessage !=null && operatorMessage.get("soc") !=null && !"".equals(operatorMessage.get("soc"))){
if(number!=0){
if(Integer.parseInt(operatorMessage.get("soc").toString())-number<0){
number=Integer.parseInt(operatorMessage.get("soc").toString());
}
}else{
number=Integer.parseInt(operatorMessage.get("soc").toString());
}
}else{
number=Integer.parseInt(operatorMessage.get("soc").toString());
}
if(number !=0){
startChargingData.setSoc(number);
}
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<number>>>>>>>>>>>>>>>>>:"+number);
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<Soc>>>>>>>>>>>>>>>>>:"+startChargingData.getSoc());
R r1 = powerPileService.startCharging(startChargingData);
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<充电返回>>>>>>>>>>>>>>>>>");
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getCode() + ">>>>>>>>>>>>>>>>>");
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getMsg() + ">>>>>>>>>>>>>>>>>");
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getData() + ">>>>>>>>>>>>>>>>>");
if (r1.getCode() != 200) {
return AjaxResult.error(r1.getMsg());
}
}
if(number !=0){
startChargingData.setSoc(number);
}
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<number>>>>>>>>>>>>>>>>>:"+number);
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<Soc>>>>>>>>>>>>>>>>>:"+startChargingData.getSoc());
R r1 = powerPileService.startCharging(startChargingData);
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<充电返回>>>>>>>>>>>>>>>>>");
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getCode() + ">>>>>>>>>>>>>>>>>");
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getMsg() + ">>>>>>>>>>>>>>>>>");
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getData() + ">>>>>>>>>>>>>>>>>");
if (r1.getCode() != 200) {
return AjaxResult.error(r1.getMsg());
}
//创建充电订单(充电启动soc初始值结束是获取,并修改状态)
XhpcChargeOrder xhpcChargeOrder = new XhpcChargeOrder();
xhpcChargeOrder.setChargingStationId(xhpcTerminal.getChargingStationId());
xhpcChargeOrder.setUserId(userId);
xhpcChargeOrder.setTerminalId(xhpcTerminal.getTerminalId());
xhpcChargeOrder.setGunId(xhpcTerminal.getSerialNumber());
xhpcChargeOrder.setSerialNumber(orderNo);
xhpcChargeOrder.setSource(0);
xhpcChargeOrder.setStatus(-1);
if (xhpcChargingPileById != null && xhpcChargingPileById.get("power") != null) {
xhpcChargeOrder.setPower(xhpcChargingPileById.get("power").toString());
}
xhpcChargeOrder.setRateModelId(Long.valueOf(r1.getData().toString()));
if (type == 1) {
xhpcChargeOrder.setChargingMode("微信");
} else {
xhpcChargeOrder.setChargingMode("支付宝");
}
xhpcChargeOrder.setCreateTime(Calendar.getInstance().getTime());
xhpcChargeOrder.setType(40);
xhpcChargeOrderMapper.addXhpcChargeOrder(xhpcChargeOrder);
return AjaxResult.success();
//创建充电订单(充电启动soc初始值结束是获取,并修改状态)
XhpcChargeOrder xhpcChargeOrder = new XhpcChargeOrder();
xhpcChargeOrder.setChargingStationId(xhpcTerminal.getChargingStationId());
xhpcChargeOrder.setUserId(userId);
xhpcChargeOrder.setTerminalId(xhpcTerminal.getTerminalId());
xhpcChargeOrder.setGunId(xhpcTerminal.getSerialNumber());
xhpcChargeOrder.setSerialNumber(orderNo);
xhpcChargeOrder.setSource(0);
xhpcChargeOrder.setStatus(-1);
if (xhpcChargingPileById != null && xhpcChargingPileById.get("power") != null) {
xhpcChargeOrder.setPower(xhpcChargingPileById.get("power").toString());
}else{
return AjaxResult.error(UserTypeUtil.LOGIN_TYPE, "请重新登录");
}
xhpcChargeOrder.setRateModelId(Long.valueOf(r1.getData().toString()));
if (type == 1) {
xhpcChargeOrder.setChargingMode("微信");
} else {
xhpcChargeOrder.setChargingMode("支付宝");
}
xhpcChargeOrder.setCreateTime(Calendar.getInstance().getTime());
xhpcChargeOrder.setType(40);
xhpcChargeOrderMapper.addXhpcChargeOrder(xhpcChargeOrder);
return AjaxResult.success();
}
@Override

View File

@ -27,25 +27,28 @@ public class XhpcCommonController extends BaseController {
/**
* 根据手机号账号用户id和类型 获取用户信息
* @param
* @param phone
* @param userId
* @param userType
* @param SerialNumber 桩号
* @return
*/
@GetMapping(value = "/getUser")
public AjaxResult getMechanism(String phone,Long userId,Integer userType) {
public AjaxResult getMechanism(String phone,Long userId,Integer userType,String serialNumber) {
if(phone !=null || "".equals(phone)){
if(!UserTypeUtil.COMMUNIT.equals(phone.substring(0,2)) && !UserTypeUtil.CUSTOMERS.equals(phone.substring(0,2))){
//C端用户
return AjaxResult.success(xhpcCommonService.getLandUser(phone,null,0));
return AjaxResult.success(xhpcCommonService.getLandUser(phone,null,0,serialNumber));
}else if (UserTypeUtil.COMMUNIT.equals(phone.substring(0,2))){
//社区用户
return AjaxResult.success(xhpcCommonService.getLandUser(phone,null,2));
return AjaxResult.success(xhpcCommonService.getLandUser(phone,null,2,serialNumber));
}else if (UserTypeUtil.CUSTOMERS.equals(phone.substring(0,2))){
//大客户用户
return AjaxResult.success(xhpcCommonService.getLandUser(phone,null,3));
return AjaxResult.success(xhpcCommonService.getLandUser(phone,null,3,serialNumber));
}
}else{
return AjaxResult.success(xhpcCommonService.getLandUser(null,userId,userType));
return AjaxResult.success(xhpcCommonService.getLandUser(null,userId,userType,serialNumber));
}
return AjaxResult.error();
}

View File

@ -19,10 +19,10 @@ public interface XhpcCommonMapper {
/**
* 社区端用户信息
*/
Map<String, Object> getCommunityUser(@Param("phone") String phone,@Param("userId")Long userId);
Map<String, Object> getCommunityUser(@Param("phone") String phone,@Param("userId")Long userId,@Param("serialNumber")String serialNumber);
/**
* B端用户信息
*/
Map<String, Object> getCustomersUser(@Param("phone") String phone,@Param("userId")Long userId);
Map<String, Object> getCustomersUser(@Param("phone") String phone,@Param("userId")Long userId,@Param("serialNumber")String serialNumber);
}

View File

@ -11,5 +11,5 @@ public interface IXhpcCommonService {
/**
* 根据用户手机号获取用户信息
*/
Map<String, Object> getLandUser(String phone,Long userId,Integer type);
Map<String, Object> getLandUser(String phone,Long userId,Integer type,String serialNumber);
}

View File

@ -219,7 +219,7 @@ public class XhpcAppUserServiceImpl implements IXhpcAppUserUserService {
//判断账号
String sub = username.substring(0, 2);
if (UserTypeUtil.COMMUNIT.equals(sub) || UserTypeUtil.CUSTOMERS.equals(sub)){
R user = userTypeService.getUser(username, null, null);
R user = userTypeService.getUser(username, null, null, null);
if(user !=null && user.getData() !=null){
Map<String, Object> map = (Map<String, Object>)user.getData();
LoginUser userInfo = new LoginUser();
@ -330,7 +330,7 @@ public class XhpcAppUserServiceImpl implements IXhpcAppUserUserService {
Integer userType = loginUser.getUserType();
Long userid = loginUser.getUserid();
String openId = loginUser.getOpenId();
R user = userTypeService.getUser(null, userid, userType);
R user = userTypeService.getUser(null, userid, userType, null);
if(user !=null && user.getData() !=null){
if(UserTypeUtil.USER_TYPE==userType){
XhpcAppUser appUser = xhpcAppUserMapper.getAppUserByPhone(username);
@ -401,7 +401,7 @@ public class XhpcAppUserServiceImpl implements IXhpcAppUserUserService {
//根据不同的用户类型查询不同的信息
Long userid = loginUser.getUserid();
Integer userType = loginUser.getUserType();
R user = userTypeService.getUser(null, loginUser.getUserid(), loginUser.getUserType());
R user = userTypeService.getUser(null, loginUser.getUserid(), loginUser.getUserType(), null);
if(user !=null && user.getData() !=null){
Map<String, Object> map = (Map<String, Object>)user.getData();
//发票留言板版本客服电话

View File

@ -20,13 +20,13 @@ public class XhpcCommonServiceImpl implements IXhpcCommonService {
private XhpcCommonMapper xhpcCommonMapper;
@Override
public Map<String, Object> getLandUser(String phone,Long userId, Integer type) {
public Map<String, Object> getLandUser(String phone,Long userId, Integer type,String serialNumber) {
if(type==0){
return xhpcCommonMapper.getAppUser(phone,userId);
}else if(type==2){
return xhpcCommonMapper.getCommunityUser(phone,userId);
return xhpcCommonMapper.getCommunityUser(phone,userId,serialNumber);
}else if(type==3){
return xhpcCommonMapper.getCustomersUser(phone,userId);
return xhpcCommonMapper.getCustomersUser(phone,userId,serialNumber);
}
return new HashMap<>();
}

View File

@ -2,6 +2,7 @@
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--suppress ALL -->
<mapper namespace="com.xhpc.user.mapper.XhpcCommonMapper">
@ -49,6 +50,9 @@
alipay_login as alipayLogin,
del_flag delFlag,
concat(2) as userType,
<if test="serialNumber !=null and serialNumber !=''">
(select count(charging_station_id) from xhpc_mechanism where community_id=mechanism_id and source=0 and charging_station_id in (select charging_station_id from xhpc_terminal where 1=1 and del_flag=0 and serial_number=#{serialNumber})) as number,
</if>
create_time as createTime
from xhpc_community_personnel
where del_flag=0
@ -77,6 +81,9 @@
alipay_login as alipayLogin,
del_flag delFlag,
concat(3) as userType,
<if test="serialNumber !=null and serialNumber !=''">
(select count(charging_station_id) from xhpc_mechanism where customers_id=mechanism_id and source=1 and charging_station_id in (select charging_station_id from xhpc_terminal where 1=1 and del_flag=0 and serial_number=#{serialNumber})) as number,
</if>
create_time as createTime
from xhpc_customers_personnel
where del_flag=0