联调
分账明细
This commit is contained in:
parent
c6f3393772
commit
589537fc78
|
@ -17,6 +17,7 @@ import com.ruoyi.common.enums.BusinessType;
|
|||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.ServiceUtil;
|
||||
import com.ruoyi.common.utils.verify.vo.IDResponse;
|
||||
import com.ruoyi.common.utils.wx.vo.PrepayResponseVO;
|
||||
import com.ruoyi.framework.web.service.TokenService;
|
||||
|
@ -826,22 +827,30 @@ public class AppVerifyController extends BaseController
|
|||
}
|
||||
|
||||
/**
|
||||
* 根据token查询车辆列表
|
||||
* 根据token查询车辆列表(个人)
|
||||
*/
|
||||
@GetMapping("/getDeviceListByToken")
|
||||
public AjaxResult getDeviceListByToken()
|
||||
{
|
||||
logger.info("【根据token查询车辆列表】");
|
||||
// todo 如果是用户有订单,则返回所有订单中的车辆 获取到用户类型,如果是普通用户,则查询订单来判断
|
||||
if(ServiceConstants.USER_TYPE_NORMAL.equals(getUserType())){
|
||||
List<EDevice> devices = deviceService.getInProgressOrder(getUserId());
|
||||
return success(devices);
|
||||
}else{
|
||||
EDeviceQuery deviceQuery = new EDeviceQuery();
|
||||
deviceQuery.setUserId(getUserId());
|
||||
List<EDevice> list = deviceService.selectEDeviceListWithIsolate(deviceQuery);
|
||||
return success(list);
|
||||
}
|
||||
logger.info("【根据token查询车辆列表(个人)】");
|
||||
ServiceUtil.assertion(!getUserType().equals(ServiceConstants.USER_TYPE_NORMAL), "您没有权限访问");
|
||||
List<EDevice> devices = deviceService.getInProgressOrder(getUserId());
|
||||
return success(devices);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据token查询车辆列表(商家)
|
||||
*/
|
||||
@GetMapping("/getDeviceListByMerchantToken")
|
||||
public AjaxResult getDeviceListByMerchantToken(String keywords)
|
||||
{
|
||||
logger.info("【根据token查询车辆列表(商家)】:keywords= {}", keywords);
|
||||
ServiceUtil.assertion(!getUserType().equals(ServiceConstants.USER_TYPE_MERCHANT), "您没有权限访问");
|
||||
EDeviceQuery deviceQuery = new EDeviceQuery();
|
||||
deviceQuery.setUserId(getUserId());
|
||||
deviceQuery.setKeywords(keywords);
|
||||
List<EDeviceVO> list = deviceService.selectEDeviceListWithIsolate(deviceQuery);
|
||||
return success(list);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -877,10 +886,13 @@ public class AppVerifyController extends BaseController
|
|||
* 根据token获取提现渠道的列表
|
||||
*/
|
||||
@GetMapping("/getUserWithdrawChannelList")
|
||||
public AjaxResult getUserWithdrawChannelList()
|
||||
public AjaxResult getUserWithdrawChannelList(Long userId)
|
||||
{
|
||||
logger.info("根据token获取提现渠道列表:【userId="+getUserId()+"】");
|
||||
return AjaxResult.success(userWithdrawService.selectRlUserWithdrawListByUserId(getUserId()));
|
||||
if (userId == null) {
|
||||
userId = getUserId();
|
||||
}
|
||||
logger.info("根据token获取提现渠道列表:【userId={}】", userId);
|
||||
return AjaxResult.success(userWithdrawService.selectRlUserWithdrawListByUserId(userId));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -937,6 +949,16 @@ public class AppVerifyController extends BaseController
|
|||
return toAjax(feeRuleService.updateRlFeeRule(rlFeeRule));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取收费模板详细信息
|
||||
*/
|
||||
@GetMapping(value = "/rule/{ruleId}")
|
||||
public AjaxResult getInfo(@PathVariable("ruleId") Long ruleId)
|
||||
{
|
||||
logger.info("获取收费模板详细信息:【ruleId={}】", ruleId);
|
||||
return success(feeRuleService.selectRlFeeRuleByRuleId(ruleId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除收费模板(逻辑删除)
|
||||
*/
|
||||
|
|
|
@ -141,8 +141,12 @@ public class CaptchaController
|
|||
sendSmsVo.setSignName(signName);
|
||||
SendSmsResponse response = null;
|
||||
log.info("向阿里云发送短信,请求,----------【{}】", JSON.toJSONString(sendSmsVo));
|
||||
// response = SendAliSmsUtil.sendVerifyCode(accessKeyId,accessKeySecret,sendSmsVo);
|
||||
// log.info("发送阿里云短信成功,返回----------【{}】",JSON.toJSONString(response));
|
||||
try {
|
||||
response = SendAliSmsUtil.sendVerifyCode(accessKeyId,accessKeySecret,sendSmsVo);
|
||||
} catch (ClientException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
log.info("发送阿里云短信成功,返回----------【{}】",JSON.toJSONString(response));
|
||||
//把验证码答应存入缓存,10分钟的时间
|
||||
redisCache.setCacheObject(verifyKey, code, Constants.CODE_EXPIRATION, TimeUnit.MINUTES);
|
||||
//把信息封装返回
|
||||
|
|
|
@ -8,6 +8,7 @@ import com.ruoyi.common.enums.BusinessType;
|
|||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.system.domain.device.EDevice;
|
||||
import com.ruoyi.system.domain.device.EDeviceQuery;
|
||||
import com.ruoyi.system.domain.device.EDeviceVO;
|
||||
import com.ruoyi.system.service.IEDeviceService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
|
@ -37,7 +38,7 @@ public class EDeviceController extends BaseController
|
|||
public TableDataInfo list(EDeviceQuery eDevice)
|
||||
{
|
||||
startPage();
|
||||
List<EDevice> list = eDeviceService.selectEDeviceListWithIsolate(eDevice);
|
||||
List<EDeviceVO> list = eDeviceService.selectEDeviceListWithIsolate(eDevice);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,100 @@
|
|||
package com.ruoyi.web.controller.system;
|
||||
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.system.domain.dividendDetail.RlDividendDetail;
|
||||
import com.ruoyi.system.domain.dividendDetail.RlDividendDetailQuery;
|
||||
import com.ruoyi.system.domain.dividendDetail.RlDividendDetailVO;
|
||||
import com.ruoyi.system.service.IRlDividendDetailService;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 分账明细Controller
|
||||
*
|
||||
* @author qzz
|
||||
* @date 2024-10-10
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/system/detail")
|
||||
public class RlDividendDetailController extends BaseController
|
||||
{
|
||||
@Resource
|
||||
private IRlDividendDetailService rlDividendDetailService;
|
||||
|
||||
/**
|
||||
* 查询分账明细列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:detail:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(RlDividendDetailQuery rlDividendDetail)
|
||||
{
|
||||
startPage();
|
||||
List<RlDividendDetailVO> list = rlDividendDetailService.selectRlDividendDetailList(rlDividendDetail);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出分账明细列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:detail:export')")
|
||||
@Log(title = "分账明细", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, RlDividendDetailQuery rlDividendDetail)
|
||||
{
|
||||
List<RlDividendDetailVO> list = rlDividendDetailService.selectRlDividendDetailList(rlDividendDetail);
|
||||
ExcelUtil<RlDividendDetailVO> util = new ExcelUtil<RlDividendDetailVO>(RlDividendDetailVO.class);
|
||||
util.exportExcel(response, list, "分账明细数据");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取分账明细详细信息
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:detail:query')")
|
||||
@GetMapping(value = "/{id}")
|
||||
public AjaxResult getInfo(@PathVariable("id") Long id)
|
||||
{
|
||||
return success(rlDividendDetailService.selectRlDividendDetailById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增分账明细
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:detail:add')")
|
||||
@Log(title = "分账明细", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody RlDividendDetail rlDividendDetail)
|
||||
{
|
||||
return toAjax(rlDividendDetailService.insertRlDividendDetail(rlDividendDetail));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改分账明细
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:detail:edit')")
|
||||
@Log(title = "分账明细", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody RlDividendDetail rlDividendDetail)
|
||||
{
|
||||
return toAjax(rlDividendDetailService.updateRlDividendDetail(rlDividendDetail));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除分账明细
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:detail:remove')")
|
||||
@Log(title = "分账明细", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public AjaxResult remove(@PathVariable Long[] ids)
|
||||
{
|
||||
return toAjax(rlDividendDetailService.deleteRlDividendDetailByIds(ids));
|
||||
}
|
||||
}
|
|
@ -28,6 +28,7 @@ public class SysRegisterController extends BaseController
|
|||
@PostMapping("/register")
|
||||
public AjaxResult register(@RequestBody RegisterBody user)
|
||||
{
|
||||
logger.info("【注册用户】请求参数register user:{}", user);
|
||||
if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser"))))
|
||||
{
|
||||
return error("当前系统没有开启注册功能!");
|
||||
|
|
|
@ -64,7 +64,7 @@ spring:
|
|||
devtools:
|
||||
restart:
|
||||
# 热部署开关
|
||||
enabled: true
|
||||
enabled: false
|
||||
# redis 配置
|
||||
redis:
|
||||
# 地址
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
package com.ruoyi.common.core.domain;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 业务校验结果
|
||||
* @author wjh
|
||||
* 2024/4/16
|
||||
*/
|
||||
@Data
|
||||
public class ValidateResult {
|
||||
|
||||
private int code;
|
||||
private String msg;
|
||||
|
||||
public boolean isSuccess() {
|
||||
return this.code == 200;
|
||||
}
|
||||
|
||||
public boolean isError() {
|
||||
return !isSuccess();
|
||||
}
|
||||
|
||||
private ValidateResult(int code, String msg) {
|
||||
this.code = code;
|
||||
this.msg = msg;
|
||||
}
|
||||
|
||||
public static ValidateResult success() {
|
||||
return new ValidateResult(200, "success");
|
||||
}
|
||||
|
||||
public static ValidateResult error(String msg) {
|
||||
return new ValidateResult(500, msg);
|
||||
}
|
||||
|
||||
public static ValidateResult error(int code, String msg) {
|
||||
return new ValidateResult(code, msg);
|
||||
}
|
||||
|
||||
}
|
|
@ -17,7 +17,7 @@ public class EUserVO extends EUser
|
|||
private BigDecimal totalWithdrawAmount = new BigDecimal("0.00");
|
||||
|
||||
/** 可提现金额 */
|
||||
private BigDecimal withdrawalAmount;
|
||||
private BigDecimal withdrawalAmount = new BigDecimal("0.00");
|
||||
|
||||
/** 最后账变描述 */
|
||||
private String lastChangeBalanceDesc;
|
||||
|
|
|
@ -45,6 +45,11 @@ public class LoginBody
|
|||
*/
|
||||
private String newPassword;
|
||||
|
||||
/**
|
||||
* openid
|
||||
*/
|
||||
private String openid;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
package com.ruoyi.common.utils;
|
||||
|
||||
import com.ruoyi.common.core.domain.ValidateResult;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
|
||||
/**
|
||||
* @author 辉
|
||||
* 2024/3/4
|
||||
*/
|
||||
public class ServiceUtil {
|
||||
|
||||
/**
|
||||
* 判断是否满足条件,满足则抛出异常
|
||||
* @param flag 条件
|
||||
* @param msg 异常说明
|
||||
*/
|
||||
public static void assertion(boolean flag, String msg) {
|
||||
assertion(flag, msg, 500);
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是否满足条件,满足则抛出异常
|
||||
* @param flag 条件
|
||||
* @param msg 异常说明
|
||||
* @param code 业务代码
|
||||
*/
|
||||
public static void assertion(boolean flag, String msg, int code) {
|
||||
if (flag) {
|
||||
throw new ServiceException(msg, code);
|
||||
}
|
||||
}
|
||||
|
||||
public static void assertion(ValidateResult result) {
|
||||
if (result.isError()) {
|
||||
throw new ServiceException(result.getMsg(), result.getCode());
|
||||
}
|
||||
}
|
||||
public static void assertion(boolean flag, String format, Object ...args) {
|
||||
if (flag) {
|
||||
throw new ServiceException(String.format(format, args), 500);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -14,7 +14,11 @@ import com.ruoyi.common.utils.http.HttpUtils;
|
|||
import com.ruoyi.common.utils.wx.AccessTokenUtil;
|
||||
import com.ruoyi.common.utils.wx.vo.WeChatMiniAuthorizeVo;
|
||||
import com.ruoyi.common.core.domain.entity.EUser;
|
||||
import com.ruoyi.system.domain.channelWithdraw.ChannelWithdrawVO;
|
||||
import com.ruoyi.system.domain.userWithdraw.EUserWithdraw;
|
||||
import com.ruoyi.system.service.EChannelWithdrawService;
|
||||
import com.ruoyi.system.service.IEUserService;
|
||||
import com.ruoyi.system.service.IEUserWithdrawService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -44,6 +48,8 @@ import com.ruoyi.framework.manager.factory.AsyncFactory;
|
|||
import com.ruoyi.framework.security.context.AuthenticationContextHolder;
|
||||
import com.ruoyi.system.service.ISysConfigService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 登录校验方法
|
||||
*
|
||||
|
@ -68,6 +74,12 @@ public class SysLoginService
|
|||
@Resource
|
||||
private IEUserService eUserService;
|
||||
|
||||
@Autowired
|
||||
private EChannelWithdrawService channelWithdrawService;
|
||||
|
||||
@Autowired
|
||||
private IEUserWithdrawService userWithdrawService;
|
||||
|
||||
@Value("${wx.appid}")
|
||||
private String appId;
|
||||
|
||||
|
@ -285,6 +297,9 @@ public class SysLoginService
|
|||
asUser.setWxopenid(openId);
|
||||
log.info("【微信登录/wxlogin】用户不存在,自动注册用户:【{}】", JSON.toJSON(asUser));
|
||||
int i = eUserService.insertUser(asUser);
|
||||
if(i>0){
|
||||
userWithdrawalChannel(asUser.getUserId());
|
||||
}
|
||||
user = asUser;
|
||||
}else{
|
||||
int i = eUserService.updateUser(user);
|
||||
|
@ -313,6 +328,27 @@ public class SysLoginService
|
|||
return tokenService.createToken(loginUser);
|
||||
}
|
||||
|
||||
private void userWithdrawalChannel(Long userId) {
|
||||
List<ChannelWithdrawVO> channelWithdrawVOS = channelWithdrawService.selectAllChannelWithdrawList();
|
||||
for (ChannelWithdrawVO channelWithdrawVO : channelWithdrawVOS) {
|
||||
EUserWithdraw rlUserWithdraw = new EUserWithdraw();
|
||||
rlUserWithdraw.setHandlingChargeType(channelWithdrawVO.getHandlingChargeType());
|
||||
rlUserWithdraw.setWithdrawHandlingCharge(channelWithdrawVO.getWithdrawHandlingCharge());
|
||||
rlUserWithdraw.setUserId(userId);
|
||||
rlUserWithdraw.setChannelId(channelWithdrawVO.getChannelId());
|
||||
rlUserWithdraw.setIsOpen(true);
|
||||
rlUserWithdraw.setMaxAmount(channelWithdrawVO.getMaxAmount());
|
||||
rlUserWithdraw.setMinAmount(channelWithdrawVO.getMinAmount());
|
||||
rlUserWithdraw.setName(channelWithdrawVO.getName());
|
||||
rlUserWithdraw.setPicture(channelWithdrawVO.getPicture());
|
||||
rlUserWithdraw.setIsNeedCode(channelWithdrawVO.getIsNeedCode());
|
||||
int i = userWithdrawService.insertRlUserWithdraw(rlUserWithdraw);
|
||||
if(i>0){
|
||||
log.info("【微信登录/wxlogin】用户【{}】创建用户提现渠道【{}】", userId, JSON.toJSON(rlUserWithdraw));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 记录app登录信息
|
||||
*
|
||||
|
@ -389,10 +425,11 @@ public class SysLoginService
|
|||
asUser.setLoginIp(IpUtils.getIpAddr());
|
||||
asUser.setLoginDate(DateUtils.getNowDate());
|
||||
asUser.setCreateTime(DateUtils.getNowDate());
|
||||
log.info("【微信登录/wxlogin】用户不存在,自动注册用户:【{}】", JSON.toJSON(asUser));
|
||||
log.info("【验证码登录/appCodeLogin】用户不存在,自动注册用户:【{}】", JSON.toJSON(asUser));
|
||||
int i = eUserService.insertUser(asUser);
|
||||
if(i>0){
|
||||
log.info("【微信登录/wxlogin】用户注册成功:【{}】", JSON.toJSON(asUser));
|
||||
log.info("【验证码登录/appCodeLogin】用户注册成功:【{}】", JSON.toJSON(asUser));
|
||||
userWithdrawalChannel(asUser.getUserId());
|
||||
}
|
||||
user = asUser;
|
||||
}else{
|
||||
|
|
|
@ -5,4 +5,7 @@ import lombok.Data;
|
|||
@Data
|
||||
public class EDeviceQuery extends EDevice{
|
||||
|
||||
/** 关键字: 车牌号或sn */
|
||||
private String keywords;
|
||||
|
||||
}
|
||||
|
|
|
@ -32,4 +32,7 @@ public class EDeviceVO extends EDevice{
|
|||
@Excel(name = "功能列表")
|
||||
private List<EFunction> functionList;
|
||||
|
||||
@Excel(name = "正在进行中的订单号")
|
||||
private String inProgressOrderNo;
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,67 @@
|
|||
package com.ruoyi.system.domain.dividendDetail;
|
||||
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 分账明细对象 rl_dividend_detail
|
||||
*
|
||||
* @author qzz
|
||||
* @date 2024-10-10
|
||||
*/
|
||||
@Data
|
||||
public class RlDividendDetail extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 主键 */
|
||||
private Long id;
|
||||
|
||||
/** 代理商 */
|
||||
@Excel(name = "代理商")
|
||||
private Long agentId;
|
||||
|
||||
/** 合伙人 */
|
||||
@Excel(name = "合伙人")
|
||||
private Long partnerId;
|
||||
|
||||
/** 合伙名称 */
|
||||
@Excel(name = "合伙人名称")
|
||||
private String partnerName;
|
||||
|
||||
/** 合伙名称 */
|
||||
@Excel(name = "合伙人名称")
|
||||
private String partnerPhone;
|
||||
|
||||
/** 合伙人类型 00系统用户,01普通用户,02代理商,03商户,04调度员) */
|
||||
@Excel(name = "合伙人类型 00系统用户,01普通用户,02代理商,03商户,04调度员)")
|
||||
private String partnerType;
|
||||
|
||||
/** 订单号 */
|
||||
@Excel(name = "订单号")
|
||||
private String orderNo;
|
||||
|
||||
/** 订单总金额 */
|
||||
@Excel(name = "订单总金额")
|
||||
private BigDecimal totalAmount;
|
||||
|
||||
/** 分账金额 */
|
||||
@Excel(name = "分账金额")
|
||||
private BigDecimal dividendAmount;
|
||||
|
||||
/** 分红比例 */
|
||||
@Excel(name = "分红比例")
|
||||
private BigDecimal dividendProportion;
|
||||
|
||||
/** 退款金额 */
|
||||
@Excel(name = "退款金额")
|
||||
private BigDecimal refundAmount;
|
||||
|
||||
/** 状态 */
|
||||
@Excel(name = "状态")
|
||||
private String status;
|
||||
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
package com.ruoyi.system.domain.dividendDetail;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class RlDividendDetailQuery extends RlDividendDetail{
|
||||
|
||||
/** 代理商名称 */
|
||||
private String agentName;
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
package com.ruoyi.system.domain.dividendDetail;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class RlDividendDetailVO extends RlDividendDetail{
|
||||
|
||||
/** 代理名称 */
|
||||
private String agentName;
|
||||
|
||||
}
|
|
@ -46,4 +46,7 @@ public class EFeeRule extends BaseEntity
|
|||
|
||||
/** 删除标志(0代表存在 2代表删除) */
|
||||
private String delFlag;
|
||||
|
||||
/** 商户id */
|
||||
private Long merchantId;
|
||||
}
|
||||
|
|
|
@ -55,7 +55,7 @@ public interface EDeviceMapper extends BaseMapper<EDevice>
|
|||
* @param EDevice 设备
|
||||
* @return 设备集合
|
||||
*/
|
||||
public List<EDevice> selectEDeviceListWithIsolate(EDevice EDevice);
|
||||
public List<EDeviceVO> selectEDeviceListWithIsolate(EDevice EDevice);
|
||||
|
||||
/**
|
||||
* 新增设备
|
||||
|
@ -175,4 +175,12 @@ public interface EDeviceMapper extends BaseMapper<EDevice>
|
|||
* @return 结果
|
||||
*/
|
||||
List<EDevice> getInProgressOrder(Long userId);
|
||||
|
||||
/**
|
||||
* 根据sn查询正在进行的车辆列表
|
||||
*
|
||||
* @param sn sn
|
||||
* @return 结果
|
||||
*/
|
||||
String getInProgressOrderBySn(String sn);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,71 @@
|
|||
package com.ruoyi.system.mapper;
|
||||
|
||||
import com.ruoyi.system.domain.dividendDetail.RlDividendDetail;
|
||||
import com.ruoyi.system.domain.dividendDetail.RlDividendDetailQuery;
|
||||
import com.ruoyi.system.domain.dividendDetail.RlDividendDetailVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 分账明细Mapper接口
|
||||
*
|
||||
* @author qzz
|
||||
* @date 2024-10-10
|
||||
*/
|
||||
public interface RlDividendDetailMapper
|
||||
{
|
||||
/**
|
||||
* 查询分账明细
|
||||
*
|
||||
* @param id 分账明细主键
|
||||
* @return 分账明细
|
||||
*/
|
||||
public RlDividendDetail selectRlDividendDetailById(Long id);
|
||||
|
||||
/**
|
||||
* 查询分账明细列表
|
||||
*
|
||||
* @param rlDividendDetail 分账明细
|
||||
* @return 分账明细集合
|
||||
*/
|
||||
public List<RlDividendDetailVO> selectRlDividendDetailList(RlDividendDetailQuery rlDividendDetail);
|
||||
|
||||
/**
|
||||
* 新增分账明细
|
||||
*
|
||||
* @param rlDividendDetail 分账明细
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertRlDividendDetail(RlDividendDetail rlDividendDetail);
|
||||
|
||||
/**
|
||||
* 修改分账明细
|
||||
*
|
||||
* @param rlDividendDetail 分账明细
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateRlDividendDetail(RlDividendDetail rlDividendDetail);
|
||||
|
||||
/**
|
||||
* 删除分账明细
|
||||
*
|
||||
* @param id 分账明细主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteRlDividendDetailById(Long id);
|
||||
|
||||
/**
|
||||
* 批量删除分账明细
|
||||
*
|
||||
* @param ids 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteRlDividendDetailByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 根据订单号查询分账明细列表
|
||||
* @param orderNo
|
||||
* @return
|
||||
*/
|
||||
List<RlDividendDetailVO> selectRlDividendDetailListByOrderNo(String orderNo);
|
||||
}
|
|
@ -68,7 +68,7 @@ public interface IEDeviceService extends IService<EDevice>
|
|||
* @param device 设备
|
||||
* @return 设备集合
|
||||
*/
|
||||
public List<EDevice> selectEDeviceListWithIsolate(EDeviceQuery device);
|
||||
public List<EDeviceVO> selectEDeviceListWithIsolate(EDeviceQuery device);
|
||||
|
||||
/**
|
||||
* 新增设备
|
||||
|
|
|
@ -0,0 +1,99 @@
|
|||
package com.ruoyi.system.service;
|
||||
|
||||
import com.ruoyi.system.domain.dividendDetail.RlDividendDetail;
|
||||
import com.ruoyi.system.domain.dividendDetail.RlDividendDetailQuery;
|
||||
import com.ruoyi.system.domain.dividendDetail.RlDividendDetailVO;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 分账明细Service接口
|
||||
*
|
||||
* @author qzz
|
||||
* @date 2024-10-10
|
||||
*/
|
||||
public interface IRlDividendDetailService
|
||||
{
|
||||
/**
|
||||
* 查询分账明细
|
||||
*
|
||||
* @param id 分账明细主键
|
||||
* @return 分账明细
|
||||
*/
|
||||
public RlDividendDetail selectRlDividendDetailById(Long id);
|
||||
|
||||
/**
|
||||
* 查询分账明细列表
|
||||
*
|
||||
* @param rlDividendDetail 分账明细
|
||||
* @return 分账明细集合
|
||||
*/
|
||||
public List<RlDividendDetailVO> selectRlDividendDetailList(RlDividendDetailQuery rlDividendDetail);
|
||||
|
||||
/**
|
||||
* 根据订单号查询分账明细列表
|
||||
* @param orderNo 订单号
|
||||
* @return 分账明细集合
|
||||
*/
|
||||
public List<RlDividendDetailVO> selectRlDividendDetailListByOrderNo(String orderNo);
|
||||
|
||||
/**
|
||||
* 新增分账明细
|
||||
*
|
||||
* @param rlDividendDetail 分账明细
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertRlDividendDetail(RlDividendDetail rlDividendDetail);
|
||||
|
||||
/**
|
||||
* 修改分账明细
|
||||
*
|
||||
* @param rlDividendDetail 分账明细
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateRlDividendDetail(RlDividendDetail rlDividendDetail);
|
||||
|
||||
/**
|
||||
* 批量删除分账明细
|
||||
*
|
||||
* @param ids 需要删除的分账明细主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteRlDividendDetailByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 删除分账明细信息
|
||||
*
|
||||
* @param id 分账明细主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteRlDividendDetailById(Long id);
|
||||
|
||||
/**
|
||||
* 记录分成比例
|
||||
*
|
||||
* @param originalOrder 原始订单对象
|
||||
* @param userType 用户类型:商户,代理商
|
||||
* @return 结果
|
||||
*/
|
||||
// public int calculationDividend(RlOrder originalOrder,String userType);
|
||||
|
||||
// /**
|
||||
// * 计算分成金额
|
||||
// *
|
||||
// * @param rlDividendDetails 分成明细列表
|
||||
// * @param totalDividendAmount 分账总金额
|
||||
// * @return 结果
|
||||
// */
|
||||
// public int calculationAmount(List<RlDividendDetailVO> rlDividendDetails, BigDecimal totalDividendAmount);
|
||||
|
||||
/**
|
||||
* 更新退款金额
|
||||
*
|
||||
* @param id 分成明细id
|
||||
* @param userRefundAmount 用户退款金额
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateRefundAmount(Long id, BigDecimal userRefundAmount);
|
||||
}
|
|
@ -72,6 +72,8 @@ public class EDeviceServiceImpl extends ServiceImpl<EDeviceMapper, EDevice> impl
|
|||
|
||||
@Autowired
|
||||
private IEOrderOperService orderOperService;
|
||||
|
||||
|
||||
//
|
||||
// @Autowired
|
||||
// private IEtFeeRuleService etFeeRuleService;
|
||||
|
@ -247,48 +249,17 @@ public class EDeviceServiceImpl extends ServiceImpl<EDeviceMapper, EDevice> impl
|
|||
*/
|
||||
@Override
|
||||
@DataScope(merchantAlias = "m", userAlias = "u")
|
||||
public List<EDevice> selectEDeviceListWithIsolate(EDeviceQuery asDevice)
|
||||
public List<EDeviceVO> selectEDeviceListWithIsolate(EDeviceQuery asDevice)
|
||||
{
|
||||
if(ServiceConstants.VEHICLE_STATUS_NOT_BAND.equals(asDevice.getStatus())){
|
||||
asDevice.setUnBand("1");
|
||||
asDevice.setStatus(null);
|
||||
}
|
||||
List<EDevice> asDevices = deviceMapper.selectEDeviceListWithIsolate(asDevice);
|
||||
// for (EDevice asDevice1:asDevices){
|
||||
// Long areaId = asDevice1.getAreaId();
|
||||
// if (ObjectUtil.isNotNull(areaId) && areaId!=0){
|
||||
// EtOperatingArea etOperatingArea = etOperatingAreaService.selectEtOperatingAreaByAreaId(areaId);
|
||||
// asDevice1.setAreaName(etOperatingArea.getAreaName());
|
||||
// }
|
||||
// Long modelId = asDevice1.getModelId();
|
||||
// if (ObjectUtil.isNotNull(modelId)){
|
||||
// EtModel model = etModelService.selectEtModelByModelId(modelId);
|
||||
// if(ObjectUtil.isNotNull(model)){
|
||||
// asDevice1.setModel(model.getModel());
|
||||
// }
|
||||
// }
|
||||
// String status = asDevice1.getStatus();
|
||||
// if(ObjectUtil.isNotNull(status)){
|
||||
// String typeName = sysDictDataService.selectDictLabel("as_device_status", status);
|
||||
// asDevice1.setStatusStr(typeName);
|
||||
// if(status.equals(ServiceConstants.VEHICLE_STATUS_NOT_BAND) && ObjectUtil.isNotNull(asDevice1.getAreaId())){
|
||||
// asDevice1.setStatus(ServiceConstants.VEHICLE_STATUS_NOT_LISTING);
|
||||
// int i = deviceMapper.updateAsDevice(asDevice1);
|
||||
// }
|
||||
// }
|
||||
// if(ObjectUtil.isNull(asDevice1.getAreaId())){
|
||||
// asDevice1.setStatus(ServiceConstants.VEHICLE_STATUS_NOT_BAND);
|
||||
// int i = deviceMapper.updateAsDevice(asDevice1);
|
||||
// }
|
||||
// if(ObjectUtil.isNotNull(areaId) && areaId!=0){
|
||||
// SysDept sysDept = wxPayService.getDeptObjByAreaId(areaId);
|
||||
// //https://dianche.chuantewulian.cn?sn=https://dche.ccttiot.com?sn=3000900
|
||||
// asDevice1.setQrText(sysDept.getDomain()+"?sn="+asDevice1.getSn());
|
||||
// asDevice1.setDeptName(sysDept.getDeptName());
|
||||
// }else{
|
||||
// asDevice1.setQrText("");
|
||||
// }
|
||||
// }
|
||||
List<EDeviceVO> asDevices = deviceMapper.selectEDeviceListWithIsolate(asDevice);
|
||||
for (EDeviceVO asDevice1:asDevices){
|
||||
String orderNo = deviceMapper.getInProgressOrderBySn(asDevice1.getSn());
|
||||
asDevice1.setInProgressOrderNo(orderNo);
|
||||
}
|
||||
return asDevices;
|
||||
}
|
||||
|
||||
|
|
|
@ -356,8 +356,7 @@ public class EOrderServiceImpl implements IEOrderService
|
|||
@Override
|
||||
public PrepayResponseVO createOrder(EOrderQuery order, Long userId) {
|
||||
String orderNo = IdUtils.getOrderNo("zl");
|
||||
PrepayResponseVO responseVO = getPrepayResponseVO(order,orderNo,ServiceConstants.ORDER_TYPE_LEASE,userId);
|
||||
return responseVO;
|
||||
return getPrepayResponseVO(order,orderNo,ServiceConstants.ORDER_TYPE_LEASE,userId);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -386,7 +385,6 @@ public class EOrderServiceImpl implements IEOrderService
|
|||
EFeeRule feeRule = feeRuleService.selectRlFeeRuleByRuleId(order.getRuleId());
|
||||
setFeeRule(type,order, feeRule);
|
||||
/** 解析地址 analyzeAddress */
|
||||
// analyzeAddress(order);
|
||||
order.setCreateTime(DateUtils.getNowDate());
|
||||
order.setOrderNo(orderNo);
|
||||
order.setPaid(ServiceConstants.ORDER_PAY_STATUS_NON_PAYMENT);
|
||||
|
|
|
@ -9,6 +9,7 @@ import com.ruoyi.common.core.domain.entity.EUserVO;
|
|||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.ServiceUtil;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.utils.spring.SpringUtils;
|
||||
import com.ruoyi.common.utils.uuid.IdUtils;
|
||||
|
@ -858,6 +859,8 @@ public class EUserServiceImpl implements IEUserService{
|
|||
String orderNo = IdUtils.getOrderNo("tx");
|
||||
/** 1. 获取当前用户*/
|
||||
EUser user = userMapper.selectUserById(SecurityUtils.getUserId());
|
||||
ServiceUtil.assertion(user.getBalance().subtract(withdraw.getAmount()).compareTo(BigDecimal.ZERO)< 0, "用户余额不足,不能提现");
|
||||
log.info("【管理员提现】查询用户对象:{}", user);
|
||||
Boolean execute = transactionTemplate.execute(e -> {
|
||||
/** 2. 记录提现记录*/
|
||||
withdrawalRecord(withdraw, orderNo, user);
|
||||
|
|
|
@ -0,0 +1,206 @@
|
|||
package com.ruoyi.system.service.impl;
|
||||
|
||||
import com.ruoyi.common.annotation.DataScope;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.ruoyi.system.domain.dividendDetail.RlDividendDetail;
|
||||
import com.ruoyi.system.domain.dividendDetail.RlDividendDetailQuery;
|
||||
import com.ruoyi.system.domain.dividendDetail.RlDividendDetailVO;
|
||||
import com.ruoyi.system.mapper.RlDividendDetailMapper;
|
||||
import com.ruoyi.system.service.IRlDividendDetailService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 分账明细Service业务层处理
|
||||
*
|
||||
* @author qzz
|
||||
* @date 2024-10-10
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class RlDividendDetailServiceImpl implements IRlDividendDetailService
|
||||
{
|
||||
@Resource
|
||||
private RlDividendDetailMapper rlDividendDetailMapper;
|
||||
|
||||
// @Resource
|
||||
// private IRlUserExtService userExtService;
|
||||
//
|
||||
// @Autowired
|
||||
// private IRlUserService userService;
|
||||
//
|
||||
// @Autowired
|
||||
// private IRlAgentService agentService;
|
||||
//
|
||||
// @Autowired
|
||||
// private IRlChangeBalanceService changeBalanceService;
|
||||
|
||||
/**
|
||||
* 查询分账明细
|
||||
*
|
||||
* @param id 分账明细主键
|
||||
* @return 分账明细
|
||||
*/
|
||||
@Override
|
||||
public RlDividendDetail selectRlDividendDetailById(Long id)
|
||||
{
|
||||
return rlDividendDetailMapper.selectRlDividendDetailById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询分账明细列表
|
||||
*
|
||||
* @param rlDividendDetail 分账明细
|
||||
* @return 分账明细
|
||||
*/
|
||||
@Override
|
||||
// @DataScope(agentAlias = "a",userAlias = "u")
|
||||
public List<RlDividendDetailVO> selectRlDividendDetailList(RlDividendDetailQuery rlDividendDetail)
|
||||
{
|
||||
return rlDividendDetailMapper.selectRlDividendDetailList(rlDividendDetail);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据订单号查询分账明细列表
|
||||
* @param orderNo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<RlDividendDetailVO> selectRlDividendDetailListByOrderNo(String orderNo) {
|
||||
return rlDividendDetailMapper.selectRlDividendDetailListByOrderNo(orderNo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增分账明细
|
||||
*
|
||||
* @param rlDividendDetail 分账明细
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertRlDividendDetail(RlDividendDetail rlDividendDetail)
|
||||
{
|
||||
rlDividendDetail.setCreateTime(DateUtils.getNowDate());
|
||||
return rlDividendDetailMapper.insertRlDividendDetail(rlDividendDetail);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改分账明细
|
||||
*
|
||||
* @param rlDividendDetail 分账明细
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateRlDividendDetail(RlDividendDetail rlDividendDetail)
|
||||
{
|
||||
return rlDividendDetailMapper.updateRlDividendDetail(rlDividendDetail);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除分账明细
|
||||
*
|
||||
* @param ids 需要删除的分账明细主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteRlDividendDetailByIds(Long[] ids)
|
||||
{
|
||||
return rlDividendDetailMapper.deleteRlDividendDetailByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除分账明细信息
|
||||
*
|
||||
* @param id 分账明细主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteRlDividendDetailById(Long id)
|
||||
{
|
||||
return rlDividendDetailMapper.deleteRlDividendDetailById(id);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 计算分账金额
|
||||
// * @param originalOrder
|
||||
// * @return
|
||||
// */
|
||||
// @Override
|
||||
// public int calculationDividend(RlOrder originalOrder,String userType) {
|
||||
// RlUserExt rlUserExt;
|
||||
// RlUser rlUser ;
|
||||
// RlDividendDetail rlDividendDetail = new RlDividendDetail();
|
||||
// if(userType.equals(ServiceConstants.USER_TYPE_MERCHANT)){
|
||||
// rlUserExt = userExtService.selectRlUserExtByUserId(originalOrder.getMerchantId());
|
||||
// rlUser = userService.selectUserById(rlUserExt.getUserId());
|
||||
// }else if(userType.equals(ServiceConstants.USER_TYPE_AGENT)){
|
||||
// RlAgentVO rlAgentVO = agentService.selectRlAgentByAgentId(originalOrder.getAgentId());
|
||||
// rlUserExt = userExtService.selectRlUserExtByUserId(rlAgentVO.getUserid());
|
||||
// rlUser = userService.selectUserById(rlUserExt.getUserId());
|
||||
// rlDividendDetail.setDividendProportion(rlAgentVO.getDividendProportion());
|
||||
// }else{
|
||||
// throw new ServiceException("用户类型有误");
|
||||
// }
|
||||
// rlDividendDetail.setAgentId(originalOrder.getAgentId());
|
||||
// rlDividendDetail.setPartnerId(rlUserExt.getUserId());
|
||||
// rlDividendDetail.setOrderNo(originalOrder.getOrderNo());
|
||||
// rlDividendDetail.setTotalAmount(originalOrder.getPayFee());
|
||||
// rlDividendDetail.setCreateTime(DateUtils.getNowDate());
|
||||
// rlDividendDetail.setPartnerName(rlUser.getUserName());
|
||||
// rlDividendDetail.setPartnerPhone(rlUser.getPhonenumber());
|
||||
// rlDividendDetail.setPartnerType(rlUser.getUserType());
|
||||
// rlDividendDetail.setStatus(ServiceConstants.DIVIDEND_STATUS_NOT_SETTLED);
|
||||
// int i = insertRlDividendDetail(rlDividendDetail);
|
||||
// if(i>0){
|
||||
// log.info("=================【微信支付回调】计算合作人分成成功==================");
|
||||
// }
|
||||
// return i;
|
||||
// }
|
||||
|
||||
// /**
|
||||
// * 计算分账金额
|
||||
// * @param rlDividendDetails 分账明细
|
||||
// * @return
|
||||
// */
|
||||
// @Override
|
||||
// public int calculationAmount(List<RlDividendDetailVO> rlDividendDetails,BigDecimal totalDividendAmount) {
|
||||
// log.info("【计算分账金额】计算分账金额开始============");
|
||||
// for(RlDividendDetailVO dividendDetail:rlDividendDetails){
|
||||
// log.info("【计算分账金额】租赁费和逾期费进行分成============"+totalDividendAmount);
|
||||
// RlUserExt rlUserExt = userExtService.selectRlUserExtByUserId(dividendDetail.getPartnerId());
|
||||
// if(ObjectUtil.isNull(rlUserExt)){
|
||||
// throw new ServiceException("用户【"+dividendDetail.getPartnerName()+"】不存在");
|
||||
// }
|
||||
// if(rlUserExt.getDividendProportion().compareTo(BigDecimal.ZERO)==0 || ObjectUtil.isNull(rlUserExt.getDividendProportion())){
|
||||
// throw new ServiceException("用户【"+dividendDetail.getPartnerName()+"】分账比例不能为空");
|
||||
// }
|
||||
// // 保留两位小数点
|
||||
// BigDecimal dividendAmount = rlUserExt.getDividendProportion().multiply(totalDividendAmount)
|
||||
// .setScale(2, RoundingMode.HALF_UP);
|
||||
// dividendDetail.setDividendAmount(dividendAmount);
|
||||
// dividendDetail.setStatus(ServiceConstants.DIVIDEND_STATUS_SETTLED);
|
||||
// updateRlDividendDetail(dividendDetail);
|
||||
// }
|
||||
// return 1;
|
||||
// }
|
||||
|
||||
/**
|
||||
* 更新退款金额
|
||||
*
|
||||
* @param id 分成明细id
|
||||
* @param userRefundAmount 用户退款金额
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateRefundAmount(Long id, BigDecimal userRefundAmount) {
|
||||
RlDividendDetail rlDividendDetail = new RlDividendDetail();
|
||||
rlDividendDetail.setRefundAmount(userRefundAmount);
|
||||
rlDividendDetail.setId(id);
|
||||
return rlDividendDetailMapper.updateRlDividendDetail(rlDividendDetail);
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -34,12 +34,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
|
||||
<select id="selectEDeviceListWithIsolate" parameterType="EDevice" resultMap="EDeviceResult">
|
||||
select de.device_id, de.picture, de.device_name, de.mac, de.sn, de.model_id, de.hardware_version_id, de.vehicle_num,
|
||||
de.activation_time, de.online_status, de.create_by, de.create_time, de.update_by,de.user_id,de.is_default,
|
||||
de.activation_time, de.online_status, de.create_by, de.create_time, de.update_by,de.user_id,de.is_default,mo.model,
|
||||
de.update_time, de.last_time, de.last_location_time, de.gps, de.remark, de.status, de.lock_status, de.location,
|
||||
de.remaining_power, de.voltage, de.version, de.qrcode, de.longitude, de.latitude, de.signal_strength, de.satellites, de.quality from e_device de
|
||||
left join e_hardware_version hv on hv.id = de.hardware_version_id
|
||||
left join e_user u on u.user_id = de.user_id
|
||||
left join e_user m on m.user_id = de.user_id
|
||||
left join e_model mo on mo.model_id = de.model_id
|
||||
where 1 = 1
|
||||
<if test="deviceName != null and deviceName != ''"> and de.device_name like concat('%', #{deviceName}, '%')</if>
|
||||
<if test="mac != null and mac != ''"> and de.mac like concat('%', #{mac}, '%')</if>
|
||||
|
@ -50,6 +51,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="modelId != null and modelId != ''"> and de.model_id = #{modelId}</if>
|
||||
<if test="onlineStatus != null and onlineStatus != ''"> and de.online_status = #{onlineStatus}</if>
|
||||
<if test="version != null and version != ''"> and de.version = #{version}</if>
|
||||
<if test="keywords != null and keywords != ''">
|
||||
AND (de.sn LIKE CONCAT('%', #{keywords}, '%') OR de.vehicle_num LIKE CONCAT('%', #{keywords}, '%'))
|
||||
</if>
|
||||
<if test="hardwareVersion != null and hardwareVersion != ''"> and hv.version like concat('%', #{hardwareVersion}, '%') </if>
|
||||
<choose>
|
||||
<when test="status == '34'">
|
||||
|
@ -408,4 +412,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</if>
|
||||
order by create_time desc
|
||||
</select>
|
||||
|
||||
<select id="getInProgressOrderBySn" resultType="String">
|
||||
select
|
||||
o.order_no from e_order o
|
||||
where o.status = 4
|
||||
<if test="sn != null and sn != ''">
|
||||
and o.sn = #{sn}
|
||||
</if>
|
||||
order by create_time desc
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
@ -37,8 +37,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</select>
|
||||
|
||||
<select id="selectRlFeeRuleLongListByModelId" resultType="java.lang.Long">
|
||||
select r.rule_id from e_fee_rule r
|
||||
left join e_model_rule mr on mr.rule_id = r.rule_id
|
||||
select mr.rule_id from e_model_rule mr
|
||||
where mr.model_id = #{modelId}
|
||||
</select>
|
||||
|
||||
|
|
|
@ -194,7 +194,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</select>
|
||||
|
||||
<select id="selectUserBalanceById" resultType="java.math.BigDecimal">
|
||||
select balance from e_user_ext
|
||||
select balance from e_user
|
||||
where user_id = #{userId}
|
||||
</select>
|
||||
|
||||
|
@ -293,7 +293,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</update>
|
||||
|
||||
<update id="changeBalance">
|
||||
update e_user_ext set balance = balance + #{changeAmount} where user_id = #{userId}
|
||||
update e_user set balance = balance + #{changeAmount} where user_id = #{userId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteUserById" parameterType="Long">
|
||||
|
|
|
@ -0,0 +1,103 @@
|
|||
<?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="com.ruoyi.system.mapper.RlDividendDetailMapper">
|
||||
|
||||
<resultMap type="RlDividendDetailVO" id="RlDividendDetailResult" autoMapping="true" />
|
||||
|
||||
<sql id="selectRlDividendDetailVo">
|
||||
select dd.id, dd.agent_id, a.name agentName, dd.partner_id, dd.partner_name, dd.partner_phone, dd.partner_type, dd.order_no,dd.status,dd.refund_amount,
|
||||
dd.total_amount, dd.dividend_amount, dd.dividend_proportion, dd.create_time from rl_dividend_detail dd
|
||||
left join rl_agent a on a.agent_id = dd.agent_id
|
||||
left join rl_user u on u.user_id = dd.partner_id
|
||||
</sql>
|
||||
|
||||
<select id="selectRlDividendDetailList" parameterType="RlDividendDetailQuery" resultMap="RlDividendDetailResult">
|
||||
<include refid="selectRlDividendDetailVo"/>
|
||||
where 1=1
|
||||
<if test="agentId != null "> and dd.agent_id = #{agentId}</if>
|
||||
<if test="agentName != null "> and a.name like concat('%', #{agentName}, '%')</if>
|
||||
<if test="partnerId != null "> and dd.partner_id = #{partnerId}</if>
|
||||
<if test="partnerName != null "> and dd.partner_name like concat('%', #{partnerName}, '%')</if>
|
||||
<if test="partnerPhone != null "> and dd.partner_phone like concat('%', #{partnerPhone}, '%')</if>
|
||||
<if test="partnerType != null "> and dd.partner_type = #{partnerType}</if>
|
||||
<if test="orderNo != null and orderNo != ''"> and dd.order_no like concat('%', #{orderNo}, '%')</if>
|
||||
<if test="totalAmount != null "> and dd.total_amount = #{totalAmount}</if>
|
||||
<if test="dividendAmount != null "> and dd.dividend_amount = #{dividendAmount}</if>
|
||||
<if test="dividendProportion != null "> and dd.dividend_proportion = #{dividendProportion}</if>
|
||||
${params.dataScope}
|
||||
order by dd.create_time desc
|
||||
</select>
|
||||
|
||||
<select id="selectRlDividendDetailById" parameterType="Long" resultMap="RlDividendDetailResult">
|
||||
<include refid="selectRlDividendDetailVo"/>
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="selectRlDividendDetailListByOrderNo" parameterType="String"
|
||||
resultMap="RlDividendDetailResult">
|
||||
<include refid="selectRlDividendDetailVo"/>
|
||||
where dd.order_no = #{orderNo}
|
||||
</select>
|
||||
|
||||
<insert id="insertRlDividendDetail" parameterType="RlDividendDetail" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into rl_dividend_detail
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="agentId != null">agent_id,</if>
|
||||
<if test="partnerId != null">partner_id,</if>
|
||||
<if test="partnerName != null">partner_name,</if>
|
||||
<if test="partnerPhone != null">partner_phone,</if>
|
||||
<if test="partnerType != null">partner_type,</if>
|
||||
<if test="orderNo != null and orderNo != ''">order_no,</if>
|
||||
<if test="totalAmount != null">total_amount,</if>
|
||||
<if test="dividendAmount != null">dividend_amount,</if>
|
||||
<if test="dividendProportion != null">dividend_proportion,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="status != null">status,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="agentId != null">#{agentId},</if>
|
||||
<if test="partnerId != null">#{partnerId},</if>
|
||||
<if test="partnerName != null">#{partnerName},</if>
|
||||
<if test="partnerPhone != null">#{partnerPhone},</if>
|
||||
<if test="partnerType != null">#{partnerType},</if>
|
||||
<if test="orderNo != null and orderNo != ''">#{orderNo},</if>
|
||||
<if test="totalAmount != null">#{totalAmount},</if>
|
||||
<if test="dividendAmount != null">#{dividendAmount},</if>
|
||||
<if test="dividendProportion != null">#{dividendProportion},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="status != null">#{status},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateRlDividendDetail" parameterType="RlDividendDetail">
|
||||
update rl_dividend_detail
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="agentId != null">agent_id = #{agentId},</if>
|
||||
<if test="partnerId != null">partner_id = #{partnerId},</if>
|
||||
<if test="partnerName != null">partner_name = #{partnerName},</if>
|
||||
<if test="partnerPhone != null">partner_phone = #{partnerPhone},</if>
|
||||
<if test="partnerType != null">partner_type = #{partnerType},</if>
|
||||
<if test="orderNo != null and orderNo != ''">order_no = #{orderNo},</if>
|
||||
<if test="totalAmount != null">total_amount = #{totalAmount},</if>
|
||||
<if test="dividendAmount != null">dividend_amount = #{dividendAmount},</if>
|
||||
<if test="dividendProportion != null">dividend_proportion = #{dividendProportion},</if>
|
||||
<if test="refundAmount != null">refund_amount = #{refundAmount},</if>
|
||||
<if test="createTime != null">create_time = #{createTime},</if>
|
||||
<if test="status != null">status = #{status},</if>
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<delete id="deleteRlDividendDetailById" parameterType="Long">
|
||||
delete from rl_dividend_detail where id = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteRlDividendDetailByIds" parameterType="String">
|
||||
delete from rl_dividend_detail where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
Loading…
Reference in New Issue
Block a user