Commit c197ea72 authored by shiyu's avatar shiyu

后台违规下架

parent 10fbf595
......@@ -120,6 +120,8 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/admin/consignSaleManage/**", "anon");
filterChainDefinitionMap.put("/admin/returnOrderManage/**", "anon");
filterChainDefinitionMap.put("/admin/supplierItem/**", "anon");
filterChainDefinitionMap.put("/admin/user/**", "anon");
filterChainDefinitionMap.put("/admin/sysDistributionOrder/**", "anon");
filterChainDefinitionMap.put("/admin/invitationCode/**", "anon");
// filterChainDefinitionMap.put("/admin/**", "anon");
......
......@@ -8,10 +8,9 @@ import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.core.util.ResponseUtil;
import com.wwdz.ch.core.validator.Order;
import com.wwdz.ch.core.validator.Sort;
import com.wwdz.ch.db.domain.Admin;
import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.db.dto.request.UserSearchRequestDto;
import org.apache.commons.collections.map.AbstractMapDecorator;
import com.wwdz.ch.db.dto.request.SysUserRequestDto;
import com.xxdxxs.utils.JsonUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -23,7 +22,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@RestController
@RequestMapping("/admin/user")
......@@ -35,7 +33,7 @@ public class AdminUserController {
private AdminUserService adminUserService;
@RequiresPermissions("admin:user:list")
// @RequiresPermissions("admin:user:list")
@RequiresPermissionsDesc(menu = { "用户管理", "会员管理" }, button = "查询")
@GetMapping("/list")
public Object list(String username, String mobile, @RequestParam(defaultValue = "1") Integer page,
......@@ -54,10 +52,40 @@ public class AdminUserController {
}
@RequiresPermissions("admin:user:findList")
// @RequiresPermissions("admin:user:updateCollectorPermission")
@RequiresPermissionsDesc(menu = { "用户管理", "修改藏家权限" }, button = "修改")
@PostMapping("/updateCollectorPermission")
public Result updateCollectorPermission(@RequestBody SysUserRequestDto dto) {
logger.info("【请求开始】操作人:[" + AuthSupport.userName()+ "] 用户管理->开通藏家权限,请求参数: {} ", JsonUtils.from(dto));
try {
return adminUserService.updateCollectorPermission(dto);
} catch (Exception e) {
logger.error("用户管理->开通藏家权限->修改 error:{]",e);
}
return Result.failed();
}
// @RequiresPermissions("admin:user:updateAccountState")
@RequiresPermissionsDesc(menu = { "用户管理", "修改用户账号状态" }, button = "修改")
@PostMapping("/updateAccountState")
public Result updateAccountState(@RequestBody SysUserRequestDto dto) {
logger.info("【请求开始】操作人:[" + AuthSupport.userName()+ "] 用户管理->修改用户账号状态,请求参数: {} ", JsonUtils.from(dto));
try {
return adminUserService.updateAccountState(dto);
} catch (Exception e) {
logger.error("用户管理->修改用户账号状态->修改 error:{]",e);
}
return Result.failed();
}
// @RequiresPermissions("admin:user:findList")
@RequiresPermissionsDesc(menu = { "邀请码管理", "下拉框会员列表" }, button = "查询")
@PostMapping("/findList")
public Result findList(@RequestBody UserSearchRequestDto dto) {
public Result findList(@RequestBody SysUserRequestDto dto) {
try {
List<Map<String, Object>> mapList = new ArrayList<>();
List<User> list = adminUserService.findList(dto);
......
package com.wwdz.ch.admin.controller;
import com.wwdz.ch.admin.annotation.RequiresPermissionsDesc;
import com.wwdz.ch.admin.service.ItemService;
import com.wwdz.ch.admin.service.SysDistributionOrderService;
import com.wwdz.ch.admin.util.AuthSupport;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.CoinRequestDto;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
import com.xxdxxs.utils.JsonUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/admin/sysDistributionOrder")
public class SysDistributionOrderController {
private static final Logger logger = LoggerFactory.getLogger(SysDistributionOrderController.class);
@Autowired
private SysDistributionOrderService sysDistributionOrderService;
@RequiresPermissionsDesc(menu = { "订单管理", "订单查询" }, button = "查询")
@PostMapping("/findList")
public Result findList(@RequestBody DistributionOrderRequestDto dto) {
logger.info("【请求开始】操作人:[" + AuthSupport.userName()+ "] 订单管理->订单查询->查询,请求参数:parma:{}", dto);
Result result = sysDistributionOrderService.findList(dto);
return result;
}
}
......@@ -91,4 +91,15 @@ public class SysSupplierItemController {
}
return sysSupplierItemService.delete(dto);
}
@ApiOperation(value = "违规下架商品")
@PostMapping("/irregularOff")
public Result irregularOff(@RequestBody SupplierItemRequestDto dto) {
logger.info("违规下架商品,请求参数:{}", JSON.toJSONString(dto));
if (dto.getId() == null) {
return Result.failed(ResultCode.PARAM_ERROR);
}
return sysSupplierItemService.irregularOff(dto);
}
}
package com.wwdz.ch.admin.entity.vo;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.Date;
import java.util.Map;
@Data
public class SysDistributionOrderVo implements Entity {
/**
* 分销订单号
*/
private String distributionOrderId;
/**
* 预支付id
*/
private String prepayId;
/**
* 微信支付订单号
*/
private String transactionId;
/**
* 商品id
*/
private Long itemId;
/**
* 用于列表展示的图片对象
*/
private Map<String, Object> homePageImage;
/**
* 商品名称
*/
private String itemName;
/**
* 商品购买数量
*/
private Integer itemNum;
/**
* 买方id
*/
private Long buyerId;
/**
* 买家名称
*/
private String buyerName;
/**
* 买家名称
*/
private String buyerAvatar;
/**
* 店铺id
*/
private Long shopId;
/**
* 店铺名称
*/
private String shopName;
/**
* 卖方id
*/
private Long sellerId;
/**
* 卖家名称
*/
private String sellerName;
/**
* 订单金额,要除以100
*/
private String amount;
/**
* 买家收货地址id
*/
private Long addressId;
/**
* 买家收货地址
*/
private String address;
/**
* 快递公司编码
*/
private String logisticsCode;
/**
* 运单号
*/
private String waybill;
/**
* 创建时间
*/
private Date createTime;
/**
* 支付时间
*/
private Date payTime;
/**
* 发货时间
*/
private Date deliveryTime;
/**
* 完成时间
*/
private Date finishTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 分享记录id
*/
private String shareRecordId;
/**
* 分销订单状态
*/
private Integer state;
/**
* 订单状态
*/
private String stateName;
/**
* 商品单价
*/
private String itemPrice;
/**
* 支付截止时间
*/
private Date payEndTime;
/**
* 商品类型1一口价2竞拍
*/
private Integer type;
private String typeName;
/**
* 利润
*/
private String profit;
/**
* 介绍佣金
*/
private String introduceAmount;
}
......@@ -2,19 +2,24 @@ package com.wwdz.ch.admin.impl;
import com.alibaba.dubbo.config.annotation.Reference;
import com.github.pagehelper.PageInfo;
import com.wwdz.ch.admin.controller.AdminUserController;
import com.wwdz.ch.admin.service.AdminUserService;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.core.util.ConvertUtil;
import com.wwdz.ch.db.dao.CollectorWhiteListDao;
import com.wwdz.ch.db.dao.FollowFansRecordDao;
import com.wwdz.ch.db.dao.UserDao;
import com.wwdz.ch.db.dao.dts.DtsUserDao;
import com.wwdz.ch.db.domain.CollectorWhiteList;
import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.db.dto.request.UserSearchRequestDto;
import com.wwdz.ch.db.domain.UserVo;
import com.wwdz.ch.db.dto.request.SysUserRequestDto;
import com.wwdz.mall.common.vo.response.CloudServerResponse;
import com.wwdz.user.api.service.user.UserReadService;
import com.xxdxxs.utils.EntityMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.*;
......@@ -29,18 +34,37 @@ public class AdminUserServiceImpl implements AdminUserService {
@Reference
UserReadService userReadService;
@Autowired
CollectorWhiteListDao collectorWhiteListDao;
@Autowired
UserDao userDao;
@Autowired
FollowFansRecordDao followFansRecordDao;
@Override
public Object findList(String username, String mobile, Integer page, Integer size, String sort, String order) {
List<User> userList = dtsUserDao.querySelective(username, mobile, page, size, sort, order);
long total = PageInfo.of(userList).getTotal();
List<UserVo> list = new ArrayList<>();
userList.forEach(user -> {
UserVo userVo = new UserVo();
EntityMapper.copyAttribute(user, userVo);
long fansNum = followFansRecordDao.countFans(user.getId());
long followerNum = followFansRecordDao.countFollowers(user.getId());
userVo.setFansNum(fansNum);
userVo.setFollowerNum(followerNum);
list.add(userVo);
});
Map<String, Object> data = new HashMap<>();
data.put("total", total);
data.put("items", userList);
data.put("items", list);
return data;
}
@Override
public List<User> findList(UserSearchRequestDto dto) {
public List<User> findList(SysUserRequestDto dto) {
CloudServerResponse<List<com.wwdz.user.api.model.user.User>> cloudServerResponse = userReadService.getUsersByUnick(dto.getNickname());
if (cloudServerResponse.getCode() != 1001) {
return new ArrayList<>();
......@@ -50,4 +74,33 @@ public class AdminUserServiceImpl implements AdminUserService {
return userList;
}
@Override
public Result updateCollectorPermission(SysUserRequestDto dto) {
try {
CollectorWhiteList collectorWhiteList = new CollectorWhiteList();
collectorWhiteList.setCreateTime(new Date());
collectorWhiteList.setCollectorId(dto.getId());
collectorWhiteList.setIsValid(dto.getFlag() == 1);
collectorWhiteListDao.upsert(collectorWhiteList);
return Result.success();
} catch (Exception e) {
logger.info("修改藏家权限失败error:{}", e);
}
return Result.failed();
}
@Override
public Result updateAccountState(SysUserRequestDto dto) {
try {
User user = new User();
user.setId(dto.getId());
user.setUpdateTime(new Date());
user.setStatus(dto.getStatus());
userDao.updateById(user);
return Result.success();
} catch (Exception e) {
logger.info("修改用户账号状态error:{}", e);
}
return Result.failed();
}
}
package com.wwdz.ch.admin.impl;
import com.github.pagehelper.PageInfo;
import com.wwdz.ch.admin.entity.vo.SysDistributionOrderVo;
import com.wwdz.ch.admin.service.SysDistributionOrderService;
import com.wwdz.ch.core.consts.DistributionEnum;
import com.wwdz.ch.core.type.PageSearchResult;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.core.util.CacheUtil;
import com.wwdz.ch.core.util.MediaUtil;
import com.wwdz.ch.core.util.PriceUtil;
import com.wwdz.ch.core.util.RegexUtil;
import com.wwdz.ch.db.dao.UserDao;
import com.wwdz.ch.db.dao.distribution.DistributionOrderDao;
import com.wwdz.ch.db.dao.distribution.SupplierItemDao;
import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.db.domain.distribution.DistributionOrder;
import com.wwdz.ch.db.domain.distribution.SupplierItem;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto;
import com.xxdxxs.utils.EntityMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.time.Duration;
import java.time.Instant;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class SysDistributionOrderServiceImpl implements SysDistributionOrderService {
private static final Logger logger = LoggerFactory.getLogger(SysDistributionOrderServiceImpl.class);
@Autowired
DistributionOrderDao distributionOrderDao;
@Autowired
CacheUtil cacheUtil;
@Autowired
SupplierItemDao supplierItemDao;
@Autowired
UserDao userDao;
@Override
public Result findList(DistributionOrderRequestDto dto) {
try {
List<SysDistributionOrderVo> distributionOrderVoList = new ArrayList<>();
if (StringUtils.hasLength(dto.getItemName())) {
//根据商品名称模糊查询
SupplierItemRequestDto supplierItemRequestDto = new SupplierItemRequestDto();
supplierItemRequestDto.setName(dto.getSearchParam());
List<SupplierItem> supplierItemList = supplierItemDao.findList(supplierItemRequestDto);
List<Long> itemIds = supplierItemList.stream().map(SupplierItem::getId).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(itemIds)) {
dto.setItemIdList(itemIds);
} else {
//没有对应名称的商品则直接返回空数据
return Result.success();
}
} else if (StringUtils.hasLength(dto.getSellerName())) {
//获取用户id
List<User> userList = userDao.findByNickName(dto.getSellerName());
List<Long> userIds = userList.stream().map(User::getId).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(userIds)) {
dto.setSellerIdList(userIds);
} else {
//没有对应的卖家返回空数据
return Result.success();
}
}
if (dto.getType() == DistributionEnum.DistributionTypeEnum.COLLECT.getCode()) {
dto.setType(DistributionEnum.DistributionTypeEnum.COLLECT.getCode());
} else {
dto.setTypeList(Arrays.asList(DistributionEnum.DistributionTypeEnum.FIXED_PRICE.getCode(), DistributionEnum.DistributionTypeEnum.AUCTION.getCode()));
}
List<DistributionOrder> distributionOrderList = distributionOrderDao.findByPage(dto);
PageInfo pageInfo = new PageInfo<>(distributionOrderList);
distributionOrderList.forEach(distributionOrder -> {
SysDistributionOrderVo distributionOrderVo = new SysDistributionOrderVo();
EntityMapper.copyAttribute(distributionOrder, distributionOrderVo);
SupplierItem supplierItem = supplierItemDao.findById(distributionOrder.getItemId());
distributionOrderVo.setItemName(supplierItem.getName());
long itemPrice = distributionOrder.getAmount() / distributionOrder.getItemNum();
distributionOrderVo.setAmount(PriceUtil.convertPriceFenToYuan(distributionOrder.getAmount()));
distributionOrderVo.setItemPrice(PriceUtil.convertPriceFenToYuan(itemPrice));
distributionOrderVo.setStateName(DistributionEnum.DistributionOrderStateEnum.getNameByCode(distributionOrder.getState()));
distributionOrderVo.setTypeName(DistributionEnum.DistributionTypeEnum.getNameByCode(distributionOrder.getType()));
distributionOrderVo.setHomePageImage(MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos()));
distributionOrderVo.setBuyerName(cacheUtil.getAppletUserNameById(distributionOrder.getBuyerId()));
distributionOrderVo.setSellerName(cacheUtil.getAppletUserNameById(distributionOrder.getSellerId()));
//支付截止时间,下单后半小时内
Date date = distributionOrder.getCreateTime();
Instant instant = date.toInstant().plus(Duration.ofMinutes(30));
Date time = Date.from(instant);
distributionOrderVo.setPayEndTime(time);
distributionOrderVoList.add(distributionOrderVo);
});
return Result.success(PageSearchResult.of(pageInfo, distributionOrderVoList));
} catch (Exception e) {
logger.error("查询订单列表失败 error : {}", e);
}
return Result.failed();
}
}
......@@ -2,13 +2,17 @@ package com.wwdz.ch.admin.impl;
import com.github.pagehelper.PageInfo;
import com.wwdz.ch.admin.service.SysSupplierItemService;
import com.wwdz.ch.core.api.WxAppletApi;
import com.wwdz.ch.core.consts.CommConsts;
import com.wwdz.ch.core.consts.DistributionEnum;
import com.wwdz.ch.core.consts.MediaTypeEnum;
import com.wwdz.ch.core.consts.SupplierItemEnum;
import com.wwdz.ch.core.entity.SupplierItemVo;
import com.wwdz.ch.core.notify.AliSmsSender;
import com.wwdz.ch.core.storage.QiniuStorage;
import com.wwdz.ch.core.type.PageSearchResult;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.core.util.CacheUtil;
import com.wwdz.ch.core.util.MediaUtil;
import com.wwdz.ch.core.util.PriceUtil;
import com.wwdz.ch.db.dao.SwitchDao;
......@@ -77,6 +81,14 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
@Autowired
QiniuStorage qiniuStorage;
@Autowired
CacheUtil cacheUtil;
@Autowired
AliSmsSender aliSmsSender;
@Autowired
WxAppletApi wxAppletApi;
@Override
@Transactional
......@@ -140,6 +152,9 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
try {
List<SupplierItemVo> supplierItemVos = new ArrayList<>();
dto.setIsDeleted(false);
if (dto.getType() == null) {
dto.setTypeList(Arrays.asList(DistributionEnum.DistributionTypeEnum.FIXED_PRICE.getCode(), DistributionEnum.DistributionTypeEnum.AUCTION.getCode()));
}
List<SupplierItem> supplierItemList = supplierItemDao.findList(dto);
PageInfo<SupplierItem> pageInfo = new PageInfo(supplierItemList);
supplierItemList.forEach(supplierItem -> {
......@@ -148,6 +163,8 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
supplierItemVo.setSupplyPrice(PriceUtil.convertPriceFenToYuan(supplierItem.getSupplyPrice()));
supplierItemVo.setDistributionPrice(PriceUtil.convertPriceFenToYuan(supplierItem.getDistributionPrice()));
supplierItemVo.setHomePageImage(MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos()));
supplierItemVo.setTypeName(DistributionEnum.DistributionTypeEnum.getNameByCode(supplierItem.getType()));
supplierItemVo.setCreatorName(cacheUtil.getAppletUserById(supplierItem.getCreatorId()).getNickname());
if (supplierItem.getBuyLimitNum() == -1) {
supplierItemVo.setIsLimitBuy(false);
}
......@@ -161,6 +178,16 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
//售出数量
Long selledNum = distributionOrderDao.countSelledNum(supplierItem.getId());
supplierItemVo.setSelledNum(selledNum == null ? 0 : selledNum);
if (dto.getType().intValue() == DistributionEnum.DistributionTypeEnum.COLLECT.getCode()) {
if (supplierItem.getStock() == 0) {
//库存为0,标识是可售的商品售罄了
supplierItemVo.setIsAbleSale(true);
} else if (supplierItem.getIsOnSale() && supplierItem.getStock() > 0) {
supplierItemVo.setIsAbleSale(true);
} else {
supplierItemVo.setIsAbleSale(false);
}
}
});
return Result.success(PageSearchResult.of(pageInfo, supplierItemVos));
} catch (Exception e) {
......@@ -275,6 +302,12 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
supplierItem.setId(dto.getId());
supplierItem.setIsOnSale(dto.getIsOnSale());
supplierItemDao.update(supplierItem);
if (!dto.getIsOnSale() && oldItem.getType().intValue() == DistributionEnum.DistributionTypeEnum.COLLECT.getCode()) {
//下架用户商品,短信通知,跳转到藏品详情页
String url = wxAppletApi.getUrlLink("/pages/detail/index","itemId=" + dto.getId() + "&shareRecordId=");
String msg = "您正在出售的藏品名称藏品…藏品名称,根据平台规定不得售卖该类藏品,平台已为您关闭出售,请前往"+ url + "查看";
aliSmsSender.sendSms(oldItem.getCreatorId(), msg);
}
return Result.success();
} catch (Exception e) {
logger.error("商品上下架失败 error : {}", e);
......@@ -301,6 +334,29 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
}
@Override
public Result irregularOff(SupplierItemRequestDto dto) {
try {
SupplierItem oldItem = supplierItemDao.findById(dto.getId());
if (oldItem.getIsOnSale()) {
return Result.failed("先下架商品");
}
SupplierItem supplierItem = new SupplierItem();
supplierItem.setId(dto.getId());
supplierItem.setIsDeleted(true);
supplierItem.setState(SupplierItemEnum.StateEnum.IRREGULAR.getCode());
supplierItemDao.update(supplierItem);
//发送短息通知用户商品违规被下架,跳转到个人藏馆
String url = wxAppletApi.getUrlLink("/pages/saleSelf/index","userId=" + oldItem.getCreatorId() + "&shareRecordId=");
String msg = "您发布的藏品名称藏品…藏品名称内容涉嫌违反平台规定,已被平台下架,请前往"+ url + "查看";
aliSmsSender.sendSms(oldItem.getCreatorId(), msg);
return Result.success();
} catch (Exception e) {
logger.error("违规下架失败 error : {}", e);
}
return Result.failed();
}
private String getVideosImage(String vedios) {
String video = "";
String[] images = vedios.split(";");
......
package com.wwdz.ch.admin.service;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.db.dto.request.UserSearchRequestDto;
import com.wwdz.ch.db.dto.request.SysUserRequestDto;
import java.util.List;
......@@ -11,5 +12,21 @@ public interface AdminUserService {
Object findList(String username, String mobile, Integer page, Integer size, String sort, String order);
List<User> findList(UserSearchRequestDto dto);
List<User> findList(SysUserRequestDto dto);
/**
* 开通关闭藏家权限
* @param dto
* @return
*/
Result updateCollectorPermission(SysUserRequestDto dto);
/**
* 冻结或解封账号
* @param dto
* @return
*/
Result updateAccountState(SysUserRequestDto dto);
}
package com.wwdz.ch.admin.service;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
public interface SysDistributionOrderService {
Result findList(DistributionOrderRequestDto dto);
}
......@@ -52,5 +52,13 @@ public interface SysSupplierItemService {
Result delete(SupplierItemRequestDto dto);
/**
* 违规下架
* @param dto
* @return
*/
Result irregularOff(SupplierItemRequestDto dto);
}
package com.wwdz.ch.wx.api;
package com.wwdz.ch.core.api;
import com.wwdz.ch.core.entity.WxCheckMediaRequestDto;
import com.wwdz.ch.core.util.OkHttpUtil;
import com.wwdz.ch.wx.entity.request.WxCheckMediaRequestDto;
import com.wwdz.ch.wx.manager.WxLoginManager;
import com.wwdz.mall.api.notify.server.ItemShortUrlServer;
import com.wwdz.mall.common.vo.response.CloudServerResponse;
import com.xxdxxs.utils.JsonUtils;
import com.alibaba.dubbo.config.annotation.Reference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import javax.xml.ws.soap.Addressing;
import java.util.HashMap;
import java.util.Map;
......
package com.wwdz.ch.wx.manager;
package com.wwdz.ch.core.api;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
......
package com.wwdz.ch.core.consts;
public class SupplierItemEnum {
/**
* 商品状态
*/
public enum StateEnum {
COMMON(0, "正常"),
IRREGULAR(1, "违规"),
;
private int code;
private String des;
StateEnum(int code, String des) {
this.code = code;
this.des = des;
}
public static String getNameByCode(int code) {
for (SupplierItemEnum.StateEnum levelEnum : SupplierItemEnum.StateEnum.values()) {
if (code == levelEnum.getCode()) {
return levelEnum.getDes();
}
}
return null;
}
public int getCode() {
return code;
}
public String getDes() {
return des;
}
}
}
package com.wwdz.ch.core.consts;
public class UserEnum {
/**
* 账号状态
*/
public enum StatusEnum {
COMMON(0, "正常"),
DISABLED(1, "禁用"),
;
private int code;
private String des;
StatusEnum(int code, String des) {
this.code = code;
this.des = des;
}
public static String getNameByCode(int code) {
for (UserEnum.StatusEnum statusEnum : UserEnum.StatusEnum.values()) {
if (code == statusEnum.getCode()) {
return statusEnum.getDes();
}
}
return null;
}
public int getCode() {
return code;
}
public String getDes() {
return des;
}
}
/**
* 账号状态
*/
public enum LevelEnum {
COMMON(0, "普通用户"),
DISTRIBUTOR(1, "分销商"),
COLLECTOR(2, "藏家"),
MULTIPLE_ROLE(3, "多身份"),
;
private int code;
private String des;
LevelEnum(int code, String des) {
this.code = code;
this.des = des;
}
public static String getNameByCode(int code) {
for (UserEnum.LevelEnum levelEnum : UserEnum.LevelEnum.values()) {
if (code == levelEnum.getCode()) {
return levelEnum.getDes();
}
}
return null;
}
public int getCode() {
return code;
}
public String getDes() {
return des;
}
}
}
......@@ -124,10 +124,15 @@ public class SupplierItemVo implements Entity {
/**
* 商品类型1一口价2竞拍
* 商品类型1一口价2竞拍3藏品
*/
private Integer type;
/**
* 商品类型名称
*/
private String typeName;
/**
* 分销商是否购买过
*/
......@@ -251,4 +256,9 @@ public class SupplierItemVo implements Entity {
* 0普通帖子,1售卖帖子
*/
private Integer postType;
/**
* 是否可以出售
*/
private Boolean isAbleSale;
}
package com.wwdz.ch.wx.entity.request;
package com.wwdz.ch.core.entity;
import com.xxdxxs.entity.Entity;
import lombok.Data;
......
package com.wwdz.ch.db.dao;
import com.wwdz.ch.db.domain.CollectorWhiteList;
public interface CollectorWhiteListDao {
boolean isExisted(long collectorId);
void upsert(CollectorWhiteList collectorWhiteList);
}
......@@ -3,7 +3,6 @@ package com.wwdz.ch.db.dao.dts;
import com.wwdz.ch.db.bean.DayStatis;
import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.db.domain.UserVo;
import com.wwdz.ch.db.dto.request.UserSearchRequestDto;
import java.util.List;
......
......@@ -66,7 +66,7 @@ public class User implements Entity {
private String lastLoginIp;
/**
* 用户层级 0 普通用户,1 VIP用户,2 区域代理用户
* 用户层级 0 普通用户,1 分销商,2 藏家,3 分销商和藏家
*/
private Integer userLevel;
......
......@@ -3,11 +3,124 @@ package com.wwdz.ch.db.domain;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.Date;
@Data
public class UserVo implements Entity {
private String nickname;
private String avatar;
private String phone;
private String address;
private Long id;
/**
* 用户名称
*/
private String username;
/**
* 用户密码
*/
private String password;
/**
* 性别:0 未知, 1男, 1 女
*/
private Integer gender;
/**
* 生日
*/
private Date birthday;
/**
* 最近一次登录时间
*/
private Date lastLoginTime;
/**
* 最近一次登录IP地址
*/
private String lastLoginIp;
/**
* 用户层级 0 普通用户,1 分销商,2 藏家,3 分销商和藏家
*/
private Integer userLevel;
/**
* 用户昵称或网络名称
*/
private String nickname;
/**
* 用户手机号码
*/
private String mobile;
/**
* 用户头像图片
*/
private String avatar;
/**
* 用户简介
*/
private String profile;
/**
* 用户背景图片
*/
private String background;
/**
* 微信登录openid
*/
private String weixinOpenid;
/**
* 微信登录unionid
*/
private String weixinUnionid;
/**
* 支付宝user_id
*/
private String alipayUserId;
/**
* 微信号
*/
private String wechatId;
/**
* 0 可用, 1 禁用, 2 注销
*/
private Integer status;
/**
* 创建时间
*/
private Date addTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 逻辑删除
*/
private Boolean deleted;
private Long shareUserId;
/**
* 备注
*/
private String remark;
private Long fansNum;
private Long followerNum;
}
......@@ -11,7 +11,7 @@ import lombok.Data;
/**
* @author shiyu
* @date 2024/03/21
* @date 2024/04/26
*/
@Data
public class SupplierItem implements Entity {
......@@ -92,6 +92,11 @@ public class SupplierItem implements Entity {
*/
private Long creatorId;
/**
* 状态0正常1违规
*/
private Integer state;
/**
* 商品图片,分号分隔
*/
......@@ -131,6 +136,7 @@ public class SupplierItem implements Entity {
sb.append(", type=").append(type);
sb.append(", rebate=").append(rebate);
sb.append(", creatorId=").append(creatorId);
sb.append(", state=").append(state);
sb.append(", images=").append(images);
sb.append(", videos=").append(videos);
sb.append(", description=").append(description);
......@@ -167,6 +173,7 @@ public class SupplierItem implements Entity {
&& (this.getType() == null ? other.getType() == null : this.getType().equals(other.getType()))
&& (this.getRebate() == null ? other.getRebate() == null : this.getRebate().equals(other.getRebate()))
&& (this.getCreatorId() == null ? other.getCreatorId() == null : this.getCreatorId().equals(other.getCreatorId()))
&& (this.getState() == null ? other.getState() == null : this.getState().equals(other.getState()))
&& (this.getImages() == null ? other.getImages() == null : this.getImages().equals(other.getImages()))
&& (this.getVideos() == null ? other.getVideos() == null : this.getVideos().equals(other.getVideos()))
&& (this.getDescription() == null ? other.getDescription() == null : this.getDescription().equals(other.getDescription()));
......@@ -192,6 +199,7 @@ public class SupplierItem implements Entity {
result = prime * result + ((getType() == null) ? 0 : getType().hashCode());
result = prime * result + ((getRebate() == null) ? 0 : getRebate().hashCode());
result = prime * result + ((getCreatorId() == null) ? 0 : getCreatorId().hashCode());
result = prime * result + ((getState() == null) ? 0 : getState().hashCode());
result = prime * result + ((getImages() == null) ? 0 : getImages().hashCode());
result = prime * result + ((getVideos() == null) ? 0 : getVideos().hashCode());
result = prime * result + ((getDescription() == null) ? 0 : getDescription().hashCode());
......@@ -222,6 +230,7 @@ public class SupplierItem implements Entity {
type("type", "type", "INTEGER", true),
rebate("rebate", "rebate", "DECIMAL", false),
creatorId("creator_id", "creatorId", "BIGINT", false),
state("state", "state", "INTEGER", true),
images("images", "images", "LONGVARCHAR", false),
videos("videos", "videos", "LONGVARCHAR", false),
description("description", "description", "LONGVARCHAR", false);
......
......@@ -2280,6 +2280,138 @@ public class SupplierItemExample {
addCriterion("creator_id not between", value1, value2, "creatorId");
return (Criteria) this;
}
public Criteria andStateIsNull() {
addCriterion("`state` is null");
return (Criteria) this;
}
public Criteria andStateIsNotNull() {
addCriterion("`state` is not null");
return (Criteria) this;
}
public Criteria andStateEqualTo(Integer value) {
addCriterion("`state` =", value, "state");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table supplier_item
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andStateEqualToColumn(SupplierItem.Column column) {
addCriterion(new StringBuilder("`state` = ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andStateNotEqualTo(Integer value) {
addCriterion("`state` <>", value, "state");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table supplier_item
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andStateNotEqualToColumn(SupplierItem.Column column) {
addCriterion(new StringBuilder("`state` <> ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andStateGreaterThan(Integer value) {
addCriterion("`state` >", value, "state");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table supplier_item
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andStateGreaterThanColumn(SupplierItem.Column column) {
addCriterion(new StringBuilder("`state` > ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andStateGreaterThanOrEqualTo(Integer value) {
addCriterion("`state` >=", value, "state");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table supplier_item
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andStateGreaterThanOrEqualToColumn(SupplierItem.Column column) {
addCriterion(new StringBuilder("`state` >= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andStateLessThan(Integer value) {
addCriterion("`state` <", value, "state");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table supplier_item
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andStateLessThanColumn(SupplierItem.Column column) {
addCriterion(new StringBuilder("`state` < ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andStateLessThanOrEqualTo(Integer value) {
addCriterion("`state` <=", value, "state");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table supplier_item
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andStateLessThanOrEqualToColumn(SupplierItem.Column column) {
addCriterion(new StringBuilder("`state` <= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andStateIn(List<Integer> values) {
addCriterion("`state` in", values, "state");
return (Criteria) this;
}
public Criteria andStateNotIn(List<Integer> values) {
addCriterion("`state` not in", values, "state");
return (Criteria) this;
}
public Criteria andStateBetween(Integer value1, Integer value2) {
addCriterion("`state` between", value1, value2, "state");
return (Criteria) this;
}
public Criteria andStateNotBetween(Integer value1, Integer value2) {
addCriterion("`state` not between", value1, value2, "state");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
......
......@@ -4,8 +4,20 @@ import com.xxdxxs.entity.Entity;
import lombok.Data;
@Data
public class UserSearchRequestDto implements Entity {
public class SysUserRequestDto implements Entity {
private Long id;
private String mobile;
private String nickname;
/**
* 0关闭
* 1开通
*/
private Integer flag;
/**
* 状态
* 0正常,1禁用
*/
private Integer status;
}
......@@ -21,6 +21,8 @@ public class DistributionOrderRequestDto extends BaseRequestDto implements Entit
private Long userId;
private String userName;
/**
* 分销分享记录id
*/
......@@ -55,6 +57,8 @@ public class DistributionOrderRequestDto extends BaseRequestDto implements Entit
*/
private Long buyerId;
private String buyerName;
/**
* 买方的微信openid
*/
......@@ -70,6 +74,10 @@ public class DistributionOrderRequestDto extends BaseRequestDto implements Entit
*/
private Long sellerId;
private List<Long> sellerIdList;
private String sellerName;
/**
* 收件人收货地址
*/
......@@ -143,6 +151,9 @@ public class DistributionOrderRequestDto extends BaseRequestDto implements Entit
* 订单类型
* 1 一口价
* 2 竞价
* 3 藏品
*/
private Integer type;
private List<Integer> typeList;
}
package com.wwdz.ch.db.impl;
import com.wwdz.ch.db.dao.CollectorWhiteListDao;
import com.wwdz.ch.db.domain.CollectorWhiteList;
import com.wwdz.ch.db.domain.CollectorWhiteListExample;
import com.wwdz.ch.db.mapper.CollectorWhiteListMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.Date;
@Repository
public class CollectorWhiteListDaoImpl implements CollectorWhiteListDao {
......@@ -20,4 +23,18 @@ public class CollectorWhiteListDaoImpl implements CollectorWhiteListDao {
criteria.andIsValidEqualTo(true);
return collectorWhiteListMapper.countByExample(example) > 0;
}
@Override
public void upsert(CollectorWhiteList collectorWhiteList) {
CollectorWhiteListExample example = new CollectorWhiteListExample();
CollectorWhiteListExample.Criteria criteria = example.createCriteria();
criteria.andCollectorIdEqualTo(collectorWhiteList.getCollectorId());
long count = collectorWhiteListMapper.countByExample(example);
if (count > 0) {
collectorWhiteListMapper.updateByExampleSelective(collectorWhiteList, example);
} else {
collectorWhiteListMapper.insert(collectorWhiteList);
}
}
}
......@@ -98,8 +98,10 @@ public class DistributionOrderDaoImpl implements DistributionOrderDao {
JdbcHelper.ifPresent(dto.getShopId(), criteria::andShopIdEqualTo);
JdbcHelper.ifPresent(dto.getBuyerId(), criteria::andBuyerIdEqualTo);
JdbcHelper.ifPresent(dto.getSellerId(), criteria::andSellerIdEqualTo);
JdbcHelper.ifPresent(dto.getSellerIdList(), criteria::andSellerIdIn);
JdbcHelper.ifPresent(dto.getState(), criteria::andStateEqualTo);
JdbcHelper.ifPresent(dto.getType(), criteria::andTypeEqualTo);
JdbcHelper.ifPresent(dto.getTypeList(), criteria::andTypeIn);
example.setOrderByClause("create_time desc");
PageHelper.startPage(dto.getPage(), dto.getLimit());
return distributionOrderMapper.selectByExample(example);
......
......@@ -37,6 +37,7 @@ public class SupplierItemDaoImpl implements SupplierItemDao {
if (StringUtils.hasLength(dto.getName())) {
criteria.andNameLike("%" + dto.getName() + "%");
}
JdbcHelper.ifPresent(dto.getTypeList(), criteria::andTypeIn);
JdbcHelper.ifPresent(dto.getType(), criteria::andTypeEqualTo);
JdbcHelper.ifPresent(dto.getStock(), criteria::andStockGreaterThan);
JdbcHelper.ifPresent(dto.getIsOnSale(), criteria::andIsOnSaleEqualTo);
......
......@@ -98,7 +98,7 @@ public class DtsUserDaoImpl implements DtsUserDao {
if (!StringUtils.isEmpty(mobile)) {
criteria.andMobileEqualTo(mobile);
}
criteria.andDeletedEqualTo(false);
// criteria.andDeletedEqualTo(false);
if (!StringUtils.isEmpty(sort) && !StringUtils.isEmpty(order)) {
example.setOrderByClause(sort + " " + order);
......
......@@ -18,6 +18,7 @@
<result column="type" jdbcType="INTEGER" property="type" />
<result column="rebate" jdbcType="DECIMAL" property="rebate" />
<result column="creator_id" jdbcType="BIGINT" property="creatorId" />
<result column="state" jdbcType="INTEGER" property="state" />
</resultMap>
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.wwdz.ch.db.domain.distribution.SupplierItem">
<result column="images" jdbcType="LONGVARCHAR" property="images" />
......@@ -84,7 +85,8 @@
</sql>
<sql id="Base_Column_List">
id, `name`, supplier_id, is_on_sale, sort, top_image, distribution_price, supply_price,
stock, create_time, update_time, is_deleted, buy_limit_num, `type`, rebate, creator_id
stock, create_time, update_time, is_deleted, buy_limit_num, `type`, rebate, creator_id,
`state`
</sql>
<sql id="Blob_Column_List">
images, videos, description
......@@ -128,7 +130,7 @@
@project https://github.com/itfsw/mybatis-generator-plugin
-->
select
'true' as QUERYID,
<if test="example.distinct">
distinct
</if>
......@@ -141,7 +143,7 @@
<otherwise>
id, `name`, supplier_id, is_on_sale, sort, top_image, distribution_price, supply_price,
stock, create_time, update_time, is_deleted, buy_limit_num, `type`, rebate, creator_id,
images, videos, description
`state`, images, videos, description
</otherwise>
</choose>
from supplier_item
......@@ -176,7 +178,7 @@
<otherwise>
id, `name`, supplier_id, is_on_sale, sort, top_image, distribution_price, supply_price,
stock, create_time, update_time, is_deleted, buy_limit_num, `type`, rebate, creator_id,
images, videos, description
`state`, images, videos, description
</otherwise>
</choose>
from supplier_item
......@@ -201,15 +203,15 @@
supply_price, stock, create_time,
update_time, is_deleted, buy_limit_num,
`type`, rebate, creator_id,
images, videos, description
)
`state`, images, videos,
description)
values (#{name,jdbcType=VARCHAR}, #{supplierId,jdbcType=BIGINT}, #{isOnSale,jdbcType=BIT},
#{sort,jdbcType=INTEGER}, #{topImage,jdbcType=VARCHAR}, #{distributionPrice,jdbcType=BIGINT},
#{supplyPrice,jdbcType=BIGINT}, #{stock,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP}, #{isDeleted,jdbcType=BIT}, #{buyLimitNum,jdbcType=INTEGER},
#{type,jdbcType=INTEGER}, #{rebate,jdbcType=DECIMAL}, #{creatorId,jdbcType=BIGINT},
#{images,jdbcType=LONGVARCHAR}, #{videos,jdbcType=LONGVARCHAR}, #{description,jdbcType=LONGVARCHAR}
)
#{state,jdbcType=INTEGER}, #{images,jdbcType=LONGVARCHAR}, #{videos,jdbcType=LONGVARCHAR},
#{description,jdbcType=LONGVARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.wwdz.ch.db.domain.distribution.SupplierItem">
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
......@@ -262,6 +264,9 @@
<if test="creatorId != null">
creator_id,
</if>
<if test="state != null">
`state`,
</if>
<if test="images != null">
images,
</if>
......@@ -318,6 +323,9 @@
<if test="creatorId != null">
#{creatorId,jdbcType=BIGINT},
</if>
<if test="state != null">
#{state,jdbcType=INTEGER},
</if>
<if test="images != null">
#{images,jdbcType=LONGVARCHAR},
</if>
......@@ -386,6 +394,9 @@
<if test="record.creatorId != null">
creator_id = #{record.creatorId,jdbcType=BIGINT},
</if>
<if test="record.state != null">
`state` = #{record.state,jdbcType=INTEGER},
</if>
<if test="record.images != null">
images = #{record.images,jdbcType=LONGVARCHAR},
</if>
......@@ -418,6 +429,7 @@
`type` = #{record.type,jdbcType=INTEGER},
rebate = #{record.rebate,jdbcType=DECIMAL},
creator_id = #{record.creatorId,jdbcType=BIGINT},
`state` = #{record.state,jdbcType=INTEGER},
images = #{record.images,jdbcType=LONGVARCHAR},
videos = #{record.videos,jdbcType=LONGVARCHAR},
description = #{record.description,jdbcType=LONGVARCHAR}
......@@ -442,7 +454,8 @@
buy_limit_num = #{record.buyLimitNum,jdbcType=INTEGER},
`type` = #{record.type,jdbcType=INTEGER},
rebate = #{record.rebate,jdbcType=DECIMAL},
creator_id = #{record.creatorId,jdbcType=BIGINT}
creator_id = #{record.creatorId,jdbcType=BIGINT},
`state` = #{record.state,jdbcType=INTEGER}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
......@@ -495,6 +508,9 @@
<if test="creatorId != null">
creator_id = #{creatorId,jdbcType=BIGINT},
</if>
<if test="state != null">
`state` = #{state,jdbcType=INTEGER},
</if>
<if test="images != null">
images = #{images,jdbcType=LONGVARCHAR},
</if>
......@@ -524,6 +540,7 @@
`type` = #{type,jdbcType=INTEGER},
rebate = #{rebate,jdbcType=DECIMAL},
creator_id = #{creatorId,jdbcType=BIGINT},
`state` = #{state,jdbcType=INTEGER},
images = #{images,jdbcType=LONGVARCHAR},
videos = #{videos,jdbcType=LONGVARCHAR},
description = #{description,jdbcType=LONGVARCHAR}
......@@ -545,7 +562,8 @@
buy_limit_num = #{buyLimitNum,jdbcType=INTEGER},
`type` = #{type,jdbcType=INTEGER},
rebate = #{rebate,jdbcType=DECIMAL},
creator_id = #{creatorId,jdbcType=BIGINT}
creator_id = #{creatorId,jdbcType=BIGINT},
`state` = #{state,jdbcType=INTEGER}
where id = #{id,jdbcType=BIGINT}
</update>
<select id="selectOneByExample" parameterType="com.wwdz.ch.db.domain.distribution.SupplierItemExample" resultMap="BaseResultMap">
......@@ -603,7 +621,7 @@
<otherwise>
id, `name`, supplier_id, is_on_sale, sort, top_image, distribution_price, supply_price,
stock, create_time, update_time, is_deleted, buy_limit_num, `type`, rebate, creator_id,
images, videos, description
`state`, images, videos, description
</otherwise>
</choose>
from supplier_item
......
......@@ -72,7 +72,7 @@
<javaClientGenerator type="XMLMAPPER" targetPackage="com.wwdz.ch.db.mapper.distribution"
targetProject="ch-dao/src/main/java"/>
<table tableName="user_recent_browse" enableCountByExample="true" enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true">
<table tableName="supplier_item" enableCountByExample="true" enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true">
<generatedKey column="id" sqlStatement="Mysql" identity="true" />
</table>
......
......@@ -6,6 +6,7 @@ import com.wechat.pay.java.core.notification.RequestParam;
import com.wechat.pay.java.service.payments.model.Transaction;
import com.wechat.pay.java.service.refund.model.RefundNotification;
import com.wwdz.ch.core.api.OfficialAccountApi;
import com.wwdz.ch.core.api.WxAppletApi;
import com.wwdz.ch.core.api.wxpay.WxPayServiceApi;
import com.wwdz.ch.core.consts.DistributionEnum;
import com.wwdz.ch.core.notify.AliSmsSender;
......
......@@ -18,7 +18,7 @@ import com.wwdz.ch.db.domain.distribution.DistributionOrder;
import com.wwdz.ch.db.domain.distribution.SupplierItem;
import com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
import com.wwdz.ch.wx.api.WxAppletApi;
import com.wwdz.ch.core.api.WxAppletApi;
import com.wwdz.ch.wx.entity.FollowFansMsg;
import com.wwdz.ch.wx.entity.vo.FollowFansRecordVo;
import com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderVo;
......
......@@ -19,19 +19,19 @@ import com.wwdz.ch.db.dto.request.EsSearchRequestDto;
import com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto;
import com.wwdz.ch.db.es.ItemEsDao;
import com.wwdz.ch.core.api.OfficialAccountApi;
import com.wwdz.ch.wx.api.WxAppletApi;
import com.wwdz.ch.core.api.WxAppletApi;
import com.wwdz.ch.wx.constant.CacheCodeConstants;
import com.wwdz.ch.wx.constant.LoginTypeEnum;
import com.wwdz.ch.wx.entity.MessageContentText;
import com.wwdz.ch.wx.entity.request.ItemRequestDto;
import com.wwdz.ch.wx.entity.request.MessageRequestDto;
import com.wwdz.ch.wx.entity.request.WxCheckMediaRequestDto;
import com.wwdz.ch.core.entity.WxCheckMediaRequestDto;
import com.wwdz.ch.wx.entity.vo.AgentTranceResponseVo;
import com.wwdz.ch.wx.entity.vo.ItemResponseVo;
import com.wwdz.ch.wx.manager.AlipayLoginManager;
import com.wwdz.ch.wx.manager.TikTokLoginManager;
import com.wwdz.ch.wx.manager.UserTokenManager;
import com.wwdz.ch.wx.manager.WxLoginManager;
import com.wwdz.ch.core.api.WxLoginManager;
import com.wwdz.ch.wx.service.*;
import com.wwdz.ch.wx.util.RedisUtil;
import com.wwdz.ch.wx.util.StringUtil;
......
......@@ -31,7 +31,7 @@ import com.wwdz.ch.db.dto.request.UserRequestDto;
import com.wwdz.ch.wx.manager.AlipayLoginManager;
import com.wwdz.ch.wx.manager.TikTokLoginManager;
import com.wwdz.ch.wx.manager.UserTokenManager;
import com.wwdz.ch.wx.manager.WxLoginManager;
import com.wwdz.ch.core.api.WxLoginManager;
import com.wwdz.ch.wx.service.*;
import com.wwdz.ch.wx.util.IpUtil;
import com.wwdz.ch.wx.util.RedisUtil;
......
......@@ -15,7 +15,7 @@ import com.wwdz.ch.db.dao.UserDao;
import com.wwdz.ch.db.dao.distribution.*;
import com.wwdz.ch.db.domain.distribution.*;
import com.wwdz.ch.db.dto.request.distribution.AuctionRecordRequestDto;
import com.wwdz.ch.wx.api.WxAppletApi;
import com.wwdz.ch.core.api.WxAppletApi;
import com.wwdz.ch.wx.entity.AuctionOfferNoticeMsg;
import com.wwdz.ch.wx.entity.vo.distribution.AuctionRecordRowVo;
import com.wwdz.ch.wx.entity.vo.distribution.AuctionRecordVo;
......
......@@ -20,10 +20,9 @@ import com.wwdz.ch.db.domain.distribution.*;
import com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto;
import com.wwdz.ch.wx.api.WxAppletApi;
import com.wwdz.ch.core.api.WxAppletApi;
import com.wwdz.ch.wx.entity.AuctionOfferNoticeMsg;
import com.wwdz.ch.wx.entity.DeliveryNoticeMsg;
import com.wwdz.ch.wx.entity.DistributionOrderNoticeMsg;
import com.wwdz.ch.wx.entity.SignedNoticeMsg;
import com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderDetailVo;
import com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderVo;
......
......@@ -13,7 +13,7 @@ import com.wwdz.ch.db.domain.distribution.AuctionConfig;
import com.wwdz.ch.db.domain.distribution.AuctionRecord;
import com.wwdz.ch.db.domain.distribution.DistributionOrder;
import com.wwdz.ch.db.domain.distribution.SupplierItem;
import com.wwdz.ch.wx.api.WxAppletApi;
import com.wwdz.ch.core.api.WxAppletApi;
import com.wwdz.ch.wx.entity.AuctionOfferNoticeMsg;
import com.wwdz.ch.wx.service.distribution.DistributionOrderService;
import com.wwdz.ch.wx.service.distribution.SendMsgService;
......
......@@ -4,26 +4,20 @@ import com.github.pagehelper.PageInfo;
import com.wwdz.ch.core.consts.CommConsts;
import com.wwdz.ch.core.consts.DistributionEnum;
import com.wwdz.ch.core.notify.AliSmsSender;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.core.util.PriceUtil;
import com.wwdz.ch.db.dao.FollowFansRecordDao;
import com.wwdz.ch.db.dao.distribution.*;
import com.wwdz.ch.db.domain.FollowFansRecord;
import com.wwdz.ch.db.domain.distribution.*;
import com.wwdz.ch.db.dto.request.BaseRequestDto;
import com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto;
import com.wwdz.ch.wx.api.WxAppletApi;
import com.wwdz.ch.wx.service.distribution.DistributionOrderService;
import com.wwdz.ch.core.api.WxAppletApi;
import com.xxdxxs.utils.DateUtils;
import com.xxdxxs.utils.StringUtils;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
......
......@@ -13,7 +13,7 @@ import com.wwdz.ch.db.dao.UserDao;
import com.wwdz.ch.db.domain.AiAssistant;
import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.db.dto.request.AiAssistantRequestDto;
import com.wwdz.ch.wx.manager.WxLoginManager;
import com.wwdz.ch.core.api.WxLoginManager;
import com.wwdz.ch.wx.service.IMService;
import org.junit.Test;
import org.junit.runner.RunWith;
......
package com.wwdz.ch.wx.manager;
import com.wwdz.ch.core.api.WxLoginManager;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import static org.junit.Assert.*;
@SpringBootTest
@RunWith(SpringJUnit4ClassRunner.class)
public class WxLoginManagerTest {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment