feat(tenant):团长租户增加修改查询接口
This commit is contained in:
parent
5c0907bfb9
commit
f7000dc1fd
@ -2,6 +2,7 @@ package com.wzj.soopin.member.controller;
|
||||
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.wzj.soopin.member.convert.MemberConvert;
|
||||
import com.wzj.soopin.member.domain.bo.MemberBO;
|
||||
@ -10,6 +11,7 @@ import com.wzj.soopin.member.domain.vo.MemberDataStatisticsVO;
|
||||
import com.wzj.soopin.member.domain.vo.MemberVO;
|
||||
import com.wzj.soopin.member.service.IMemberService;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
@ -19,10 +21,9 @@ import org.dromara.common.web.core.BaseController;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* 会员信息Controller
|
||||
@ -44,13 +45,13 @@ public class MemberController extends BaseController {
|
||||
@Tag(name = "查询会员信息列表")
|
||||
@SaCheckPermission("ums:member:list")
|
||||
@PostMapping("list")
|
||||
public R<Page<MemberVO>> list(@RequestBody MemberBO bo,@RequestBody Page<Member> page) {
|
||||
Page<Member> memberPage = service.page(page,bo.toWapper());
|
||||
public R<Page<MemberVO>> list(@RequestBody MemberBO bo, @RequestBody Page<Member> page) {
|
||||
Page<Member> memberPage = service.page(page, bo.toWapper());
|
||||
TableDataInfo.build(memberPage);
|
||||
return R.ok(convert.toVO(memberPage));
|
||||
}
|
||||
|
||||
@Tag(name ="导出会员信息列表")
|
||||
@Tag(name = "导出会员信息列表")
|
||||
@Log(title = "会员信息", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("export")
|
||||
public R<String> export(MemberBO query) {
|
||||
@ -59,13 +60,13 @@ public class MemberController extends BaseController {
|
||||
return R.ok(util.writeExcel(convert.toVO(list), "会员信息数据"));
|
||||
}
|
||||
|
||||
@Tag(name ="获取会员信息详细信息")
|
||||
@Tag(name = "获取会员信息详细信息")
|
||||
@GetMapping(value = "{id}")
|
||||
public R<MemberVO> getInfo(@PathVariable("id") Long id) {
|
||||
return R.ok(service.getMemberInfo(id));
|
||||
}
|
||||
|
||||
@Tag(name ="新增会员信息")
|
||||
@Tag(name = "新增会员信息")
|
||||
@SaCheckPermission("'ums:member:add")
|
||||
@Log(title = "会员信息", businessType = BusinessType.INSERT)
|
||||
@PostMapping("add")
|
||||
@ -73,14 +74,14 @@ public class MemberController extends BaseController {
|
||||
return R.ok(service.save(convert.toPo(member)));
|
||||
}
|
||||
|
||||
@Tag(name ="修改会员信息")
|
||||
@Tag(name = "修改会员信息")
|
||||
@SaCheckPermission("ums:member:edit")
|
||||
@Log(title = "会员信息", businessType = BusinessType.UPDATE)
|
||||
@PostMapping("update")
|
||||
public Object edit(@RequestBody(required = false) Map<String, Object> callbackData,
|
||||
@RequestParam(required = false) Long id,
|
||||
@RequestParam(required = false) String nickname,
|
||||
@RequestParam(required = false) Integer gender) {
|
||||
@RequestParam(required = false) Long id,
|
||||
@RequestParam(required = false) String nickname,
|
||||
@RequestParam(required = false) Integer gender) {
|
||||
// 1. IM回调格式 - 用户资料更新回调
|
||||
if (callbackData != null && callbackData.containsKey("CallbackCommand")) {
|
||||
log.info("收到IM用户资料更新回调: {}", callbackData);
|
||||
@ -193,7 +194,7 @@ public class MemberController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
@Tag(name ="修改会员备注信息")
|
||||
@Tag(name = "修改会员备注信息")
|
||||
@SaCheckPermission("ums:member:edit")
|
||||
@Log(title = "会员备注信息", businessType = BusinessType.UPDATE)
|
||||
@PostMapping("mark/update")
|
||||
@ -201,47 +202,61 @@ public class MemberController extends BaseController {
|
||||
return R.ok(service.updateMark(member));
|
||||
}
|
||||
|
||||
@Tag(name ="删除会员信息")
|
||||
@Tag(name = "删除会员信息")
|
||||
@SaCheckPermission("ums:member:remove")
|
||||
@Log(title = "会员信息", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("{id}")
|
||||
public R remove(@PathVariable Long id) {
|
||||
@DeleteMapping("{id}")
|
||||
public R remove(@PathVariable Long id) {
|
||||
return R.ok(service.removeById(id));
|
||||
}
|
||||
|
||||
@Tag(name =("修改会员账户状态"))
|
||||
@Tag(name = ("修改会员账户状态"))
|
||||
@Log(title = "会员信息", businessType = BusinessType.UPDATE)
|
||||
@PostMapping("status/change")
|
||||
public R<Integer> changeStatus(@RequestBody MemberBO memberBO){
|
||||
public R<Integer> changeStatus(@RequestBody MemberBO memberBO) {
|
||||
return R.ok(service.changeStatus(memberBO));
|
||||
}
|
||||
|
||||
@Tag(name ="会员手机号解密")
|
||||
@Tag(name = "会员手机号解密")
|
||||
@GetMapping("phone/decrypt/{phoneEncrypted}")
|
||||
public R<String> getPhoneDecrypted(@PathVariable String phoneEncrypted){
|
||||
public R<String> getPhoneDecrypted(@PathVariable String phoneEncrypted) {
|
||||
return R.ok(service.getPhoneDecrypted(phoneEncrypted));
|
||||
}
|
||||
|
||||
@Tag(name ="查看会员统计数据")
|
||||
@Tag(name = "查看会员统计数据")
|
||||
@GetMapping("view/statistics/{memberId}")
|
||||
public R<MemberDataStatisticsVO> viewStatistics(@PathVariable Long memberId){
|
||||
public R<MemberDataStatisticsVO> viewStatistics(@PathVariable Long memberId) {
|
||||
// return ResponseEntity.ok(service.viewStatistics(memberId));
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@Tag(name ="获取登录会员的信息")
|
||||
@Tag(name = "获取登录会员的信息")
|
||||
@GetMapping(value = "/login/info")
|
||||
public R<MemberVO> getLoinInfo() {
|
||||
return R.ok(service.getLoginMemberInfo());
|
||||
}
|
||||
|
||||
|
||||
@Tag(name ="同步会员的信息")
|
||||
@Tag(name = "同步会员的信息")
|
||||
@GetMapping(value = "/sync")
|
||||
public R<MemberVO> syncInfo() {
|
||||
service.syncInfo();
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询团长租户绑定的会员账户信息
|
||||
*
|
||||
* @param bo 查询条件
|
||||
*/
|
||||
// @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) 团长
|
||||
@GetMapping(value = "/getByReference")
|
||||
public R<IPage<MemberVO>> getByReference(MemberBO bo) {
|
||||
Page<Member> memberPage = service.getByReference(bo);
|
||||
TableDataInfo.build(memberPage);
|
||||
return R.ok(convert.toVO(memberPage));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -73,10 +73,13 @@ public class MemberBO extends BaseBO {
|
||||
@Schema(description = "用户剩余积分 精确匹配")
|
||||
private BigDecimal integral;
|
||||
|
||||
@Schema(description = "团长租户id")
|
||||
private String tenantId;
|
||||
|
||||
/**
|
||||
* 视频点赞数
|
||||
*/
|
||||
@Schema(description ="视频点赞数")
|
||||
@Schema(description = "视频点赞数")
|
||||
private Integer vlogLikeCount;
|
||||
|
||||
public QueryWrapper<Member> toWapper() {
|
||||
@ -85,6 +88,7 @@ public class MemberBO extends BaseBO {
|
||||
.like(StringUtils.isNotEmpty(this.getNickname()), Member::getNickname, this.getNickname())
|
||||
.eq(getId() != null, Member::getId, this.getId())
|
||||
.eq(status != null, Member::getStatus, status)
|
||||
.eq(spreadUid != null, Member::getSpreadUid, spreadUid)
|
||||
.eq(StringUtils.isNotEmpty(this.getPhone()), Member::getPhoneHidden, phone);
|
||||
qw.ge(getBeginTime() != null, "create_time", this.getBeginTime());
|
||||
qw.lt(getEndTime() != null, "create_time", this.getEndTime());
|
||||
@ -100,6 +104,7 @@ public class MemberBO extends BaseBO {
|
||||
break;
|
||||
}
|
||||
}
|
||||
qw.orderByDesc("create_time");
|
||||
return qw;
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.wzj.soopin.member.domain.bo.MemberBO;
|
||||
import com.wzj.soopin.member.domain.form.ChangeMemberStatusForm;
|
||||
import com.wzj.soopin.member.domain.po.Member;
|
||||
import com.wzj.soopin.member.domain.vo.MemberVO;
|
||||
import org.dromara.common.core.constant.ResultCode;
|
||||
@ -86,4 +85,11 @@ public interface IMemberService extends IService<Member> {
|
||||
|
||||
|
||||
void syncInfo();
|
||||
|
||||
/**
|
||||
* 通过团长ID获取会员信息
|
||||
* @param bo
|
||||
* @return
|
||||
*/
|
||||
Page<Member> getByReference(MemberBO bo);
|
||||
}
|
||||
|
@ -1,6 +1,8 @@
|
||||
package com.wzj.soopin.member.service.impl;
|
||||
|
||||
import cn.dev33.satoken.secure.BCrypt;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
@ -10,8 +12,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.wzj.soopin.member.convert.MemberConvert;
|
||||
import com.wzj.soopin.member.domain.bo.MemberBO;
|
||||
import com.wzj.soopin.member.domain.form.ChangeMemberStatusForm;
|
||||
import com.wzj.soopin.member.domain.po.Fans;
|
||||
import com.wzj.soopin.member.domain.po.Member;
|
||||
import com.wzj.soopin.member.domain.po.MemberAccount;
|
||||
import com.wzj.soopin.member.domain.vo.MemberVO;
|
||||
@ -22,20 +22,16 @@ import com.wzj.soopin.member.service.IFansService;
|
||||
import com.wzj.soopin.member.service.IMemberService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.common.core.constant.CacheConstants;
|
||||
import org.dromara.common.core.constant.CachePrefix;
|
||||
import org.dromara.common.core.constant.GlobalConstants;
|
||||
import org.dromara.common.core.constant.ResultCode;
|
||||
import org.dromara.common.core.domain.model.LoginUser;
|
||||
import org.dromara.common.core.enums.YesOrNo;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.redis.redis.RedisCache;
|
||||
import org.dromara.common.redis.utils.RedisUtils;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.common.tenant.helper.TenantHelper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.dromara.system.domain.SysUser;
|
||||
import org.dromara.system.mapper.SysUserMapper;
|
||||
import org.springframework.cache.annotation.CacheEvict;
|
||||
import org.springframework.cache.annotation.CachePut;
|
||||
import org.springframework.cache.annotation.Cacheable;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -45,8 +41,6 @@ import java.time.LocalDateTime;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* 会员信息Service业务层处理
|
||||
@ -70,6 +64,8 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper,Member> implemen
|
||||
private final MemberMapper memberMapper;
|
||||
private final IFansService fansService;
|
||||
|
||||
private final SysUserMapper sysUserMapper;
|
||||
|
||||
@Override
|
||||
public boolean usernameExists(String username) {
|
||||
return baseMapper.countByUsername(username) > 0; // 确保实现
|
||||
@ -323,4 +319,16 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper,Member> implemen
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<Member> getByReference(MemberBO bo) {
|
||||
Assert.notNull(bo.getCurrent(), "分页参数不能为空");
|
||||
Assert.notNull(bo.getSize(), "分页参数不能为空");
|
||||
String tenantId = StrUtil.isBlank(bo.getTenantId()) ? TenantHelper.getTenantId() : bo.getTenantId();
|
||||
SysUser sysUser = sysUserMapper.selectReferneceByTenantId(tenantId);
|
||||
Member member = memberMapper.selectOne(Wrappers.lambdaQuery(Member.class).eq(Member::getUserId, sysUser.getUserId()).last("LIMIT 1"));
|
||||
Assert.notNull(member, () -> new ServiceException("团长未绑定会员账户"));
|
||||
bo.setSpreadUid(member.getId());
|
||||
return this.page(Page.of(bo.getCurrent(), bo.getSize()), bo.toWapper());
|
||||
}
|
||||
}
|
||||
|
@ -3,18 +3,25 @@ package com.wzj.soopin.order.domain.entity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.dromara.common.core.domain.model.BaseAudit;
|
||||
import org.dromara.common.excel.annotation.Excel;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 订单发货记录对象 oms_order_delivery_history
|
||||
*
|
||||
* @author zcc
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Schema(description = "订单发货记录对象")
|
||||
@Data
|
||||
@TableName("oms_order_delivery_history")
|
||||
public class OrderDeliveryHistory extends BaseAudit {
|
||||
public class OrderDeliveryHistory extends BaseAudit implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "ID")
|
||||
|
@ -35,7 +35,7 @@ public interface OrderMapper extends BaseMapper<Order> {
|
||||
List<ManagerOrderVO> selectManagerOrderPage(ManagerOrderQueryForm request);
|
||||
|
||||
|
||||
IPage<OrderVO> getlist(@Param("page") Page<Order> page,@Param("query") OrderBo query,@Param("tenantId") Long tenantId);
|
||||
IPage<OrderVO> getlist(@Param("page") Page<Order> page,@Param("query") OrderBo query,@Param("tenantId") String tenantId);
|
||||
|
||||
@Select("SELECT " +
|
||||
"COUNT(*) AS count1, " +
|
||||
|
@ -1,13 +1,11 @@
|
||||
package com.wzj.soopin.order.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.text.StrBuilder;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
@ -21,30 +19,25 @@ import com.wzj.soopin.goods.mapper.ProductMapper;
|
||||
import com.wzj.soopin.goods.mapper.SkuMapper;
|
||||
import com.wzj.soopin.member.domain.po.Member;
|
||||
import com.wzj.soopin.member.mapper.MemberMapper;
|
||||
import com.wzj.soopin.member.mapper.MemberWechatMapper;
|
||||
import com.wzj.soopin.order.domain.bo.OrderBo;
|
||||
import com.wzj.soopin.order.domain.bo.RefundBO;
|
||||
import com.wzj.soopin.order.domain.bo.SaveOrderBO;
|
||||
import com.wzj.soopin.order.domain.bo.SaveOrderSkuItemBO;
|
||||
import com.wzj.soopin.order.domain.entity.*;
|
||||
import com.wzj.soopin.order.domain.form.DeliverProductForm;
|
||||
import com.wzj.soopin.order.domain.form.ManagerOrderQueryForm;
|
||||
import com.wzj.soopin.order.domain.query.OrderH5Query;
|
||||
import com.wzj.soopin.order.domain.vo.*;
|
||||
import com.wzj.soopin.order.emum.AftersaleStatus;
|
||||
import com.wzj.soopin.order.emum.OrderStatusEnum;
|
||||
import com.wzj.soopin.order.mapper.*;
|
||||
import com.wzj.soopin.order.service.OrderService;
|
||||
import com.wzj.soopin.order.service.VerificationCodeService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.domain.event.Constants;
|
||||
import org.dromara.common.core.domain.model.LoginUser;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.core.utils.SecurityUtils;
|
||||
import org.dromara.common.redis.redis.RedisService;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.common.tenant.helper.TenantHelper;
|
||||
import org.dromara.system.domain.SysTenant;
|
||||
import org.dromara.system.mapper.SysTenantMapper;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
@ -415,8 +408,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
@Override
|
||||
public IPage<OrderVO> getlist(Page<Order> page, OrderBo query) {
|
||||
|
||||
Long tenantId = Long.valueOf(LoginHelper.getTenantId());
|
||||
IPage<OrderVO> resultPage = orderMapper.getlist(page, query, tenantId);
|
||||
IPage<OrderVO> resultPage = orderMapper.getlist(page, query, TenantHelper.getTenantId());
|
||||
List<OrderVO> orderVOList = resultPage.getRecords();
|
||||
if (orderVOList.isEmpty()) {
|
||||
return resultPage;
|
||||
|
@ -259,7 +259,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
<select id="getlist" resultType="com.wzj.soopin.order.domain.vo.OrderVO">
|
||||
SELECT
|
||||
o.*,
|
||||
o.id,
|
||||
o.member_id,
|
||||
o.order_sn,
|
||||
o.total_amount,
|
||||
o.pay_amount,
|
||||
o.status,
|
||||
o.aftersale,
|
||||
o.create_time,
|
||||
o.payment_time,
|
||||
o.delivery_time,
|
||||
o.receive_time,
|
||||
o.receiver_name,
|
||||
o.receiver_phone,
|
||||
o.receiver_province,
|
||||
o.receiver_city,
|
||||
o.receiver_district,
|
||||
o.receiver_detail_address,
|
||||
um.nickname AS memberNickname,
|
||||
um.phone_encrypted AS memberPhoneEncrypted,
|
||||
st.contact_user_name AS tenantContactName,
|
||||
@ -271,49 +287,42 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
pp.price AS productPrice
|
||||
FROM
|
||||
oms_order o
|
||||
LEFT JOIN
|
||||
ums_member um ON o.member_id = um.id
|
||||
LEFT JOIN
|
||||
sys_tenant st ON o.tenant_id = st.tenant_id
|
||||
LEFT JOIN
|
||||
oms_order_item oi ON o.id = oi.order_id
|
||||
LEFT JOIN
|
||||
pms_product pp ON oi.product_id = pp.id AND pp.publish_status = 1
|
||||
WHERE 1=1
|
||||
<choose>
|
||||
<when test="tenantId == '000000'">
|
||||
</when>
|
||||
<otherwise>
|
||||
AND o.tenant_id = #{tenantId}
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="query.orderSn != null and query.orderSn != ''">
|
||||
AND o.order_sn LIKE CONCAT('%', #{query.orderSn}, '%')
|
||||
</if>
|
||||
<if test="query.memberId != null and query.memberId != ''">
|
||||
AND o.member_id LIKE CONCAT('%', #{query.memberId}, '%')
|
||||
</if>
|
||||
<if test="query.memberPhoneEncrypted != null and query.memberPhoneEncrypted != ''">
|
||||
AND um.phone_encrypted LIKE CONCAT('%', #{query.memberPhoneEncrypted}, '%')
|
||||
</if>
|
||||
<if test="query.status != null">
|
||||
AND o.status = #{query.status}
|
||||
</if>
|
||||
<if test="query.type != null">
|
||||
AND o.type = #{query.type}
|
||||
</if>
|
||||
<if test="query.withdrawStatus != null and query.withdrawStatus != ''">
|
||||
AND o.withdraw_status LIKE CONCAT('%', #{query.withdrawStatus}, '%')
|
||||
</if>
|
||||
<if test="query.aftersale != null and query.aftersale != ''">
|
||||
AND o.aftersale LIKE CONCAT('%', #{query.aftersale}, '%')
|
||||
</if>
|
||||
<if test="query.startTime != null">
|
||||
AND o.create_time >= #{query.startTime, jdbcType=TIMESTAMP}
|
||||
</if>
|
||||
<if test="query.endTime != null">
|
||||
AND o.create_time <= #{query.endTime, jdbcType=TIMESTAMP}
|
||||
</if>
|
||||
LEFT JOIN ums_member um ON o.member_id = um.id
|
||||
LEFT JOIN sys_tenant st ON o.tenant_id = st.tenant_id
|
||||
LEFT JOIN oms_order_item oi ON o.id = oi.order_id
|
||||
LEFT JOIN pms_product pp ON oi.product_id = pp.id AND pp.publish_status = 1
|
||||
<where>
|
||||
<if test="tenantId != null and tenantId != ''">
|
||||
AND o.tenant_id LIKE CONCAT('%', #{tenantId}, '%')
|
||||
</if>
|
||||
<if test="query.orderSn != null and query.orderSn != ''">
|
||||
AND o.order_sn LIKE CONCAT('%', #{query.orderSn}, '%')
|
||||
</if>
|
||||
<if test="query.memberId != null and query.memberId != ''">
|
||||
AND o.member_id LIKE CONCAT('%', #{query.memberId}, '%')
|
||||
</if>
|
||||
<if test="query.memberPhoneEncrypted != null and query.memberPhoneEncrypted != ''">
|
||||
AND um.phone_encrypted LIKE CONCAT('%', #{query.memberPhoneEncrypted}, '%')
|
||||
</if>
|
||||
<if test="query.status != null">
|
||||
AND o.status = #{query.status}
|
||||
</if>
|
||||
<if test="query.type != null">
|
||||
AND o.type = #{query.type}
|
||||
</if>
|
||||
<if test="query.withdrawStatus != null and query.withdrawStatus != ''">
|
||||
AND o.withdraw_status LIKE CONCAT('%', #{query.withdrawStatus}, '%')
|
||||
</if>
|
||||
<if test="query.aftersale != null and query.aftersale != ''">
|
||||
AND o.aftersale LIKE CONCAT('%', #{query.aftersale}, '%')
|
||||
</if>
|
||||
<if test="query.startTime != null">
|
||||
AND o.create_time >= #{query.startTime, jdbcType=TIMESTAMP}
|
||||
</if>
|
||||
<if test="query.endTime != null">
|
||||
AND o.create_time <= #{query.endTime, jdbcType=TIMESTAMP}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
@ -0,0 +1,92 @@
|
||||
package org.dromara.system.controller;
|
||||
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import com.baomidou.lock.annotation.Lock4j;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.tenant.helper.TenantHelper;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.system.domain.bo.SysReferenceBo;
|
||||
import org.dromara.system.domain.query.SysReferenceQuery;
|
||||
import org.dromara.system.domain.vo.SysReferenceVO;
|
||||
import org.dromara.system.service.ISysTenantService;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
|
||||
/**
|
||||
* 团长管理
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/system/reference")
|
||||
@ConditionalOnProperty(value = "tenant.enable", havingValue = "true")
|
||||
public class SysReferenceController extends BaseController {
|
||||
|
||||
private final ISysTenantService tenantService;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 新增团长租户
|
||||
*/
|
||||
// @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY)
|
||||
// @SaCheckPermission("system:reference:add")
|
||||
@Log(title = "新增团长", businessType = BusinessType.INSERT)
|
||||
@Lock4j
|
||||
@RepeatSubmit()
|
||||
@PostMapping("/add")
|
||||
public R<Void> add(@Validated @RequestBody SysReferenceBo bo) {
|
||||
if (!tenantService.checkCompanyNameUnique(null,bo.getPersonName())) {
|
||||
return R.fail("新增团长'" + bo.getPersonName() + "'失败,团长名称已存在");
|
||||
}
|
||||
return toAjax(TenantHelper.ignore(() -> tenantService.insertByBo(tenantService.convert(bo))));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改团长租户
|
||||
*/
|
||||
// @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY)
|
||||
// @SaCheckPermission("system:reference:edit")
|
||||
@Log(title = "修改团长", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PostMapping("/update")
|
||||
public R<Void> edit(@Validated @RequestBody SysReferenceBo bo) {
|
||||
Assert.notNull(bo.getId(), () -> new ServiceException("id不可为空"));
|
||||
Assert.notNull(bo.getId(), () -> new ServiceException("tenantId不可为空"));
|
||||
tenantService.checkTenantAllowed(bo.getTenantId());
|
||||
if (!tenantService.checkCompanyNameUnique(bo.getTenantId(), bo.getPersonName())) {
|
||||
return R.fail("修改团长'" + bo.getPersonName() + "'失败,团长名称已存在");
|
||||
}
|
||||
return toAjax(tenantService.updateByBo(tenantService.convert(bo)));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询团长列表
|
||||
* @param query
|
||||
* @return
|
||||
*/
|
||||
// @SaCheckRole(value = {
|
||||
// TenantConstants.SUPER_ADMIN_ROLE_KEY,
|
||||
// TenantConstants.TENANT_ADMIN_ROLE_KEY
|
||||
// }, mode = SaMode.OR)
|
||||
// @SaCheckPermission("system:tenant:list")
|
||||
@GetMapping("/list")
|
||||
public R<IPage<SysReferenceVO>> list(@RequestBody SysReferenceQuery query){
|
||||
return R.ok(tenantService.getReferenceList(query));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
@ -80,7 +80,7 @@ public class SysTenantController extends BaseController {
|
||||
* @param id 主键
|
||||
*/
|
||||
@Tag(name ="获取租户表详细信息")
|
||||
// @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY)
|
||||
// @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) 团长
|
||||
@SaCheckPermission("system:tenant:query")
|
||||
@GetMapping(value = "/{id}")
|
||||
public R<TenantDTO> getInfo(@PathVariable("id") Long id) {
|
||||
@ -99,7 +99,7 @@ public class SysTenantController extends BaseController {
|
||||
@RepeatSubmit()
|
||||
@PostMapping("/add")
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysTenantExtendBo bo) {
|
||||
if (!tenantService.checkCompanyNameUnique(bo)) {
|
||||
if (!tenantService.checkCompanyNameUnique(null, bo.getCompanyName())) {
|
||||
return R.fail("新增租户'" + bo.getCompanyName() + "'失败,企业名称已存在");
|
||||
}
|
||||
return toAjax(TenantHelper.ignore(() -> tenantService.insertByBo(bo)));
|
||||
@ -115,7 +115,7 @@ public class SysTenantController extends BaseController {
|
||||
@PostMapping("/update")
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysTenantExtendBo bo) {
|
||||
tenantService.checkTenantAllowed(bo.getTenantId());
|
||||
if (!tenantService.checkCompanyNameUnique(bo)) {
|
||||
if (!tenantService.checkCompanyNameUnique(bo.getTenantId(), bo.getCompanyName())) {
|
||||
return R.fail("修改租户'" + bo.getCompanyName() + "'失败,公司名称已存在");
|
||||
}
|
||||
return toAjax(tenantService.updateByBo(bo));
|
||||
|
@ -1,12 +1,10 @@
|
||||
package org.dromara.system.domain;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import org.dromara.common.core.domain.model.BaseAudit;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@Schema(description = "租户账户实体")
|
||||
@ -25,6 +23,6 @@ public class SysTenantAccount extends BaseAudit {
|
||||
private Long createBy;
|
||||
@Schema(description = "更新人")
|
||||
private Long updateBy;
|
||||
@Schema(description = "账户类型(0.店铺 1.代理 2.推广人)")
|
||||
@Schema(description = "账户类型(2->商家,3->代理,4->平台,5->达人)")
|
||||
private Integer type;
|
||||
}
|
||||
|
@ -0,0 +1,82 @@
|
||||
package org.dromara.system.domain.bo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 达人类型租户接口请求对象
|
||||
*/
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public class SysReferenceBo {
|
||||
|
||||
@Schema(description = "主键, 修改必填")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "租户编号, 修改必填")
|
||||
private String tenantId;
|
||||
|
||||
@Schema(description = "团长姓名")
|
||||
@NotBlank(message = "团长姓名不能为空")
|
||||
private String personName;
|
||||
|
||||
@Schema(description = "团长手机号")
|
||||
@NotBlank(message = "团长手机号不能为空")
|
||||
private String personPhone;
|
||||
|
||||
@NotBlank(message = "地址不能为空")
|
||||
@Schema(description = "地址")
|
||||
private String address;
|
||||
|
||||
@NotBlank(message = "用户名不能为空")
|
||||
@Schema(description = "用户名")
|
||||
private String username;
|
||||
|
||||
@NotBlank(message = "用户密码不能为空")
|
||||
@Schema(description = "用户密码")
|
||||
private String password;
|
||||
|
||||
|
||||
@Schema(description = "租户状态(0正常 1停用)", hidden = true)
|
||||
@Builder.Default
|
||||
private String status = "0";
|
||||
|
||||
@Schema(description = "任聘时间")
|
||||
private LocalDateTime joinTime;
|
||||
|
||||
@NotBlank(message = "证件类型不能为空")
|
||||
@Schema(description = "证件类型,数据字典")
|
||||
private String idCardType;
|
||||
|
||||
@NotBlank(message = "证件信息不能为空")
|
||||
@Schema(description = "证件信息")
|
||||
private String idCard;
|
||||
|
||||
@Schema(description = "其它附件路径")
|
||||
private String otherAttachment;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
|
||||
@NotBlank(message = "合同年限不能为空")
|
||||
@Schema(description = "合同年限")
|
||||
private String contractYear;
|
||||
|
||||
@NotNull(message = "租户套餐不能为空")
|
||||
@Schema(description = "套餐")
|
||||
private Long packageId;
|
||||
|
||||
@Schema(description = "易生分配的商户编码")
|
||||
private String mchtCode;
|
||||
|
||||
|
||||
}
|
@ -162,7 +162,7 @@ public class SysTenantExtendBo {
|
||||
@Schema(description = "代理人资质")
|
||||
private String qualification;
|
||||
|
||||
@Schema(description = "类型(0.店铺 1.代理 2.推广人)")
|
||||
@Schema(description = "类型(2->商家,3->代理,4->平台,5->达人)")
|
||||
@NotNull(message = "租户类型不能为空")
|
||||
private Integer type;
|
||||
|
||||
|
@ -0,0 +1,41 @@
|
||||
package org.dromara.system.domain.query;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.dromara.common.core.domain.BaseBO;
|
||||
import org.dromara.system.domain.SysTenant;
|
||||
|
||||
/**
|
||||
* 达人类型租户接口请求对象
|
||||
*/
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public class SysReferenceQuery extends BaseBO<SysTenant> {
|
||||
|
||||
/**
|
||||
* 所属代理商
|
||||
*/
|
||||
@Schema(description = "所属代理商id", hidden = true)
|
||||
private Long oneParentId;
|
||||
|
||||
/**
|
||||
* 团长姓名
|
||||
*/
|
||||
private String personName;
|
||||
|
||||
/**
|
||||
* 团长手机号
|
||||
*/
|
||||
private String personPhone;
|
||||
|
||||
/**
|
||||
* 租户状态(0正常 1停用)
|
||||
*/
|
||||
private String status;
|
||||
}
|
||||
|
@ -0,0 +1,75 @@
|
||||
package org.dromara.system.domain.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 团长类型租户VO
|
||||
*/
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public class SysReferenceVO {
|
||||
|
||||
@Schema(description = "主键")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "团长租户编号")
|
||||
private String tenantId;
|
||||
|
||||
@Schema(description = "所属代理商id")
|
||||
private String agencyTenantId;
|
||||
|
||||
@Schema(description = "所属代理商名称")
|
||||
private String agencyTenantName;
|
||||
|
||||
@Schema(description = "团长姓名")
|
||||
private String personName;
|
||||
|
||||
@Schema(description = "团长手机号")
|
||||
private String personPhone;
|
||||
|
||||
@Schema(description = "地址")
|
||||
private String address;
|
||||
|
||||
@Schema(description = "用户名")
|
||||
private String username;
|
||||
|
||||
@Schema(description = "用户密码")
|
||||
private String password;
|
||||
|
||||
@Schema(description = "租户状态(0正常 1停用)")
|
||||
private String status = "0";
|
||||
|
||||
@Schema(description = "任聘时间")
|
||||
private LocalDateTime joinTime;
|
||||
|
||||
@Schema(description = "证件类型,数据字典")
|
||||
private String idCardType;
|
||||
|
||||
@Schema(description = "证件信息")
|
||||
private String idCard;
|
||||
|
||||
@Schema(description = "其它附件路径")
|
||||
private String otherAttachment;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
|
||||
@Schema(description = "合同年限")
|
||||
private String contractYear;
|
||||
|
||||
@Schema(description = "套餐")
|
||||
private Long packageId;
|
||||
|
||||
@Schema(description = "易生分配的商户编码")
|
||||
private String mchtCode;
|
||||
|
||||
|
||||
}
|
@ -9,6 +9,8 @@ import org.dromara.system.domain.SysTenant;
|
||||
import org.dromara.system.domain.bo.SysTenantBo;
|
||||
import org.dromara.system.domain.bo.SysTenantExtendBo;
|
||||
import org.dromara.system.domain.dto.TenantDTO;
|
||||
import org.dromara.system.domain.query.SysReferenceQuery;
|
||||
import org.dromara.system.domain.vo.SysReferenceVO;
|
||||
import org.dromara.system.domain.vo.SysTenantVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
@ -108,4 +110,6 @@ public interface SysTenantMapper extends BaseMapperPlus<SysTenant, SysTenantVo>
|
||||
" AND sys_tenant.del_flag = '0' " +
|
||||
" AND sys_dept.del_flag = '0'")
|
||||
SysTenant queryByDeptId(@Param("deptId") Long deptId);
|
||||
|
||||
IPage<SysReferenceVO> getReferenceList(@Param("page")Page<Object> page, @Param("query")SysReferenceQuery query);
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
import org.dromara.common.mybatis.annotation.DataColumn;
|
||||
@ -13,7 +13,6 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
import org.dromara.system.domain.SysUser;
|
||||
import org.dromara.system.domain.vo.SysUserExportVo;
|
||||
import org.dromara.system.domain.vo.SysUserVo;
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -22,6 +21,7 @@ import java.util.List;
|
||||
*
|
||||
* @author Lion Li
|
||||
*/
|
||||
@Mapper
|
||||
public interface SysUserMapper extends BaseMapperPlus<SysUser, SysUserVo> {
|
||||
|
||||
/**
|
||||
@ -150,4 +150,8 @@ public interface SysUserMapper extends BaseMapperPlus<SysUser, SysUserVo> {
|
||||
@InterceptorIgnore(tenantLine = "true")
|
||||
@Select("SELECT tenant_id FROM sys_user WHERE phonenumber = #{phonenumber} and del_flag = '0'")
|
||||
String selectTenantIdByPhonenumber(@Param("phonenumber")String phonenumber);
|
||||
|
||||
@InterceptorIgnore(tenantLine = "true")
|
||||
@Select("SELECT * FROM sys_user WHERE tenant_id = #{tenantId} order by create_time limit 1")
|
||||
SysUser selectReferneceByTenantId(@Param("tenantId") String tenantId);
|
||||
}
|
||||
|
@ -2,14 +2,17 @@ package org.dromara.system.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.system.domain.SysTenant;
|
||||
import org.dromara.system.domain.bo.SysReferenceBo;
|
||||
import org.dromara.system.domain.bo.SysTenantBo;
|
||||
import org.dromara.system.domain.bo.SysTenantExtendBo;
|
||||
import org.dromara.system.domain.bo.SysTenantReviewBo;
|
||||
import org.dromara.system.domain.dto.TenantDTO;
|
||||
import org.dromara.system.domain.query.SysReferenceQuery;
|
||||
import org.dromara.system.domain.vo.SysReferenceVO;
|
||||
import org.dromara.system.domain.vo.SysTenantVo;
|
||||
import org.dromara.system.domain.bo.SysTenantBo;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@ -69,7 +72,7 @@ public interface ISysTenantService {
|
||||
/**
|
||||
* 校验企业名称是否唯一
|
||||
*/
|
||||
boolean checkCompanyNameUnique(SysTenantExtendBo bo);
|
||||
boolean checkCompanyNameUnique(String tenantId, String companyName);
|
||||
|
||||
/**
|
||||
* 校验账号余额
|
||||
@ -128,4 +131,20 @@ public interface ISysTenantService {
|
||||
* @return
|
||||
*/
|
||||
List<SysTenantVo> getByParentId(Long id);
|
||||
|
||||
/**
|
||||
* 将团长BO转换为租户BO
|
||||
*
|
||||
* @param sysReferenceBo
|
||||
* @return
|
||||
*/
|
||||
SysTenantExtendBo convert(SysReferenceBo sysReferenceBo);
|
||||
|
||||
/**
|
||||
* 查询团长列表
|
||||
*
|
||||
* @param query
|
||||
* @return
|
||||
*/
|
||||
IPage<SysReferenceVO> getReferenceList(SysReferenceQuery query);
|
||||
}
|
||||
|
@ -34,10 +34,13 @@ import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.common.tenant.core.TenantEntity;
|
||||
import org.dromara.common.tenant.helper.TenantHelper;
|
||||
import org.dromara.system.domain.*;
|
||||
import org.dromara.system.domain.bo.SysReferenceBo;
|
||||
import org.dromara.system.domain.bo.SysTenantBo;
|
||||
import org.dromara.system.domain.bo.SysTenantExtendBo;
|
||||
import org.dromara.system.domain.bo.SysTenantReviewBo;
|
||||
import org.dromara.system.domain.dto.TenantDTO;
|
||||
import org.dromara.system.domain.query.SysReferenceQuery;
|
||||
import org.dromara.system.domain.vo.SysReferenceVO;
|
||||
import org.dromara.system.domain.vo.SysTenantVo;
|
||||
import org.dromara.system.mapper.*;
|
||||
import org.dromara.system.service.ISysTenantService;
|
||||
@ -125,6 +128,7 @@ public class SysTenantServiceImpl implements ISysTenantService {
|
||||
lqw.eq(bo.getAccountCount() != null, SysTenant::getAccountCount, bo.getAccountCount());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getStatus()), SysTenant::getStatus, bo.getStatus());
|
||||
lqw.orderByAsc(SysTenant::getType);
|
||||
lqw.orderByDesc(SysTenant::getCreateTime);
|
||||
return lqw;
|
||||
}
|
||||
|
||||
@ -148,13 +152,22 @@ public class SysTenantServiceImpl implements ISysTenantService {
|
||||
);
|
||||
String tenantId = generateTenantId(tenantIds);
|
||||
|
||||
String tenantName = bo.getAgencyName();
|
||||
if (bo.getType() == TenantType.REFERENCE.getType()){
|
||||
tenant.setAgencyTenantId(currentTenantId);
|
||||
}
|
||||
if (bo.getType() == TenantType.MERCHANT.getType()){
|
||||
tenant.setPromoterTenantId(currentTenantId);
|
||||
String tenantName = bo.getCompanyName();
|
||||
String nickName = bo.getEmergencyContact();
|
||||
String phoneNumber = bo.getEmergencyContactPhone();
|
||||
tenant.setAgencyTenantId(currentTenantId);
|
||||
if (bo.getType() == TenantType.AGENT.getType()) {
|
||||
tenantName = bo.getAgencyName();
|
||||
} else if (bo.getType() == TenantType.MERCHANT.getType()){
|
||||
tenant.setPromoterTenantId(LoginHelper.getUserIdStr());
|
||||
tenantName = bo.getStoreName();
|
||||
nickName = bo.getContactUserName();
|
||||
phoneNumber = bo.getContactPhone();
|
||||
} else if (bo.getType() == TenantType.REFERENCE.getType()){
|
||||
tenant.setPromoterTenantId(LoginHelper.getUserIdStr());
|
||||
tenantName = bo.getPersonName();
|
||||
nickName = bo.getPersonName();
|
||||
phoneNumber = bo.getPersonPhone();
|
||||
}
|
||||
// 设置sys_tenant表字段
|
||||
tenant.setTenantId(tenantId);
|
||||
@ -166,9 +179,9 @@ public class SysTenantServiceImpl implements ISysTenantService {
|
||||
tenant.setDomain(bo.getDomain());
|
||||
tenant.setIntro(bo.getIntro());
|
||||
tenant.setPackageId(bo.getPackageId());
|
||||
tenant.setAccountCount(10l);
|
||||
tenant.setAccountCount(10L);
|
||||
tenant.setStatus(bo.getStatus());
|
||||
tenant.setDelFlag(bo.getDelFlag());
|
||||
tenant.setDelFlag("0");
|
||||
tenant.setBusinessLicense(bo.getBusinessLicense());
|
||||
tenant.setJoinTime(LocalDateTime.now());
|
||||
tenant.setAttachment(bo.getAttachment());
|
||||
@ -241,7 +254,7 @@ public class SysTenantServiceImpl implements ISysTenantService {
|
||||
tenantExtend.setEntryTime(bo.getEntryTime());
|
||||
tenantExtend.setExpiryDate(bo.getExpiryDate());
|
||||
tenantExtend.setPromoterStatus(bo.getPromoterStatus());
|
||||
|
||||
tenantExtend.setMchtCode(bo.getMchtCode());
|
||||
|
||||
|
||||
boolean extendInserted = tenantExtendMapper.insert(tenantExtend) > 0;
|
||||
@ -281,10 +294,10 @@ public class SysTenantServiceImpl implements ISysTenantService {
|
||||
SysUser user = new SysUser();
|
||||
user.setTenantId(tenantId);
|
||||
user.setUserName(bo.getUsername());
|
||||
user.setNickName(bo.getContactUserName());
|
||||
user.setNickName(nickName);
|
||||
user.setPassword(BCrypt.hashpw(bo.getPassword()));
|
||||
user.setDeptId(deptId);
|
||||
user.setPhonenumber(bo.getContactPhone());
|
||||
user.setPhonenumber(phoneNumber);
|
||||
userMapper.insert(user);
|
||||
|
||||
// 设置部门负责人
|
||||
@ -429,10 +442,7 @@ public class SysTenantServiceImpl implements ISysTenantService {
|
||||
existingTenant.setIntro(bo.getIntro());
|
||||
existingTenant.setPackageId(bo.getPackageId());
|
||||
existingTenant.setAccountCount(bo.getAccountCount());
|
||||
existingTenant.setStatus(bo.getStatus());
|
||||
existingTenant.setDelFlag(bo.getDelFlag());
|
||||
existingTenant.setBusinessLicense(bo.getBusinessLicense());
|
||||
existingTenant.setJoinTime(LocalDateTime.now());
|
||||
existingTenant.setAttachment(bo.getAttachment());
|
||||
existingTenant.setPromoteList(bo.getPromoteList());
|
||||
existingTenant.setExpireTime(bo.getExpireTime());
|
||||
@ -446,7 +456,6 @@ public class SysTenantServiceImpl implements ISysTenantService {
|
||||
existingTenant.setCounty(bo.getCounty());
|
||||
existingTenant.setBirthday(bo.getBirthday());
|
||||
existingTenant.setQualification(bo.getQualification());
|
||||
existingTenant.setType(bo.getType());
|
||||
|
||||
// 4. 查询扩展表现有数据
|
||||
LambdaQueryWrapper<SysTenantExtend> extendQuery = new LambdaQueryWrapper<>();
|
||||
@ -506,6 +515,7 @@ public class SysTenantServiceImpl implements ISysTenantService {
|
||||
existingExtend.setEntryTime(bo.getEntryTime());
|
||||
existingExtend.setExpiryDate(bo.getExpiryDate());
|
||||
existingExtend.setPromoterStatus(bo.getPromoterStatus());
|
||||
existingExtend.setMchtCode(bo.getMchtCode());
|
||||
|
||||
// 执行更新
|
||||
boolean success = baseMapper.updateById(existingTenant) > 0
|
||||
@ -563,10 +573,10 @@ public class SysTenantServiceImpl implements ISysTenantService {
|
||||
* 校验企业名称是否唯一
|
||||
*/
|
||||
@Override
|
||||
public boolean checkCompanyNameUnique(SysTenantExtendBo bo) {
|
||||
public boolean checkCompanyNameUnique(String tenantId, String companyName) {
|
||||
boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysTenant>()
|
||||
.eq(SysTenant::getCompanyName, bo.getCompanyName())
|
||||
.ne(ObjectUtil.isNotNull(bo.getTenantId()), SysTenant::getTenantId, bo.getTenantId()));
|
||||
.eq(SysTenant::getCompanyName, companyName)
|
||||
.ne(ObjectUtil.isNotNull(tenantId), SysTenant::getTenantId, tenantId));
|
||||
return !exist;
|
||||
}
|
||||
|
||||
@ -824,5 +834,19 @@ public class SysTenantServiceImpl implements ISysTenantService {
|
||||
return this.queryList(SysTenantBo.builder().oneParentId(id).status("0").build());
|
||||
}
|
||||
|
||||
@Override
|
||||
public SysTenantExtendBo convert(SysReferenceBo sysReferenceBo) {
|
||||
SysTenantExtendBo sysTenantExtendBo = BeanUtil.copyProperties(sysReferenceBo, SysTenantExtendBo.class);
|
||||
sysTenantExtendBo.setType(TenantType.REFERENCE.getType());
|
||||
return sysTenantExtendBo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<SysReferenceVO> getReferenceList(SysReferenceQuery query) {
|
||||
SysTenantVo sysTenantVo = queryByTenantId(TenantHelper.getTenantId());
|
||||
query.setOneParentId(sysTenantVo.getId());
|
||||
IPage<SysReferenceVO> resultPage = baseMapper.getReferenceList(Page.of(query.getCurrent(), query.getSize()),query);
|
||||
return resultPage;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -93,5 +93,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
|
||||
<select id="getReferenceList" resultType="org.dromara.system.domain.vo.SysReferenceVO">
|
||||
SELECT
|
||||
st.* ,
|
||||
ste.*,
|
||||
st1.agency_name AS agencyTenantName
|
||||
FROM
|
||||
sys_tenant st
|
||||
LEFT JOIN sys_tenant_extend ste ON st.tenant_id = ste.tenant_id
|
||||
LEFT JOIN sys_tenant st1 ON st.agency_tenant_id = st1.tenant_id
|
||||
WHERE
|
||||
st.type = 5
|
||||
AND st.del_flag = 0
|
||||
AND st.parent_ids LIKE CONCAT( '%',#{query.oneParentId}, '%' )
|
||||
<if test="query.personName != null and query.personName != ''">
|
||||
AND ste.person_name LIKE CONCAT('%', #{query.personName}, '%')
|
||||
</if>
|
||||
<if test="query.personPhone != null and query.personPhone != ''">
|
||||
AND ste.person_phone LIKE CONCAT('%', #{query.personPhone}, '%')
|
||||
</if>
|
||||
<if test="query.status != null and query.status != ''">
|
||||
AND st.status = #{query.status}
|
||||
</if>
|
||||
order by st.agency_tenant_id, st.create_time
|
||||
</select>
|
||||
</mapper>
|
||||
|
@ -19,16 +19,16 @@ public class EasypayConfig {
|
||||
*/
|
||||
private String reqId;
|
||||
|
||||
/**
|
||||
* 易生分配的证书Id
|
||||
*/
|
||||
private String certificateId;
|
||||
|
||||
/**
|
||||
* 易生分配的商户号
|
||||
*/
|
||||
private String mchtCode;
|
||||
|
||||
/**
|
||||
* 微信子商户号
|
||||
*/
|
||||
private String wechatMchid;
|
||||
|
||||
/**
|
||||
* 易生公钥
|
||||
*/
|
||||
|
@ -122,6 +122,7 @@ public class EasypayServiceImpl implements IEasypayService {
|
||||
return EasyPayRequestHeader.builder()
|
||||
.reqType(REQ_TYPE)
|
||||
.reqId(easypayConfig.getReqId())
|
||||
.certificateId(easypayConfig.getCertificateId())
|
||||
.transTime(DateUtils.parseDateToStr(FormatsType.YYYYMMDDHHMMSS, new Date()))
|
||||
.build();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user