Commit a46fb2ba authored by shiyu's avatar shiyu

Merge branch 'quanku_v2.3' into quanku_v2.4

parents 95a14510 df033588
package com.wwdz.ch.admin.controller; package com.wwdz.ch.admin.controller;
import com.alibaba.fastjson.JSON;
import com.wwdz.ch.admin.annotation.RequiresPermissionsDesc; import com.wwdz.ch.admin.annotation.RequiresPermissionsDesc;
import com.wwdz.ch.admin.service.ItemService; import com.wwdz.ch.admin.service.ItemService;
import com.wwdz.ch.admin.service.SysDistributionOrderService; import com.wwdz.ch.admin.service.SysDistributionOrderService;
import com.wwdz.ch.admin.util.AuthSupport; import com.wwdz.ch.admin.util.AuthSupport;
import com.wwdz.ch.core.consts.LogisticsEnum;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.CoinRequestDto; import com.wwdz.ch.db.dto.request.CoinRequestDto;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto; import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
import com.xxdxxs.service.FormHandler;
import com.xxdxxs.utils.JsonUtils; import com.xxdxxs.utils.JsonUtils;
import com.xxdxxs.validation.Validator;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -16,6 +21,8 @@ import org.springframework.web.bind.annotation.RequestBody; ...@@ -16,6 +21,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.*;
@RestController @RestController
@RequestMapping("/admin/sysDistributionOrder") @RequestMapping("/admin/sysDistributionOrder")
public class SysDistributionOrderController { public class SysDistributionOrderController {
...@@ -32,4 +39,38 @@ public class SysDistributionOrderController { ...@@ -32,4 +39,38 @@ public class SysDistributionOrderController {
Result result = sysDistributionOrderService.findList(dto); Result result = sysDistributionOrderService.findList(dto);
return result; return result;
} }
@ApiOperation(value = "发货")
@PostMapping("/delivery")
public Result delivery(@RequestBody DistributionOrderRequestDto dto) {
logger.info("发货,请求参数:{}", JSON.toJSONString(dto));
Validator validator = new Validator(FormHandler.ofEntity(dto));
validator.set("distributionOrderId", "分销订单号").must().string()
.set("logisticsCode", "快递公司编码").must().string()
.end();
if (!validator.isValid()) {
return Result.failed(validator.getErrorInfo());
}
return sysDistributionOrderService.delivery(dto);
}
@ApiOperation(value = "获取快递公司列表")
@PostMapping("/getLogisticsList")
public Result getLogisticsList() {
try {
LogisticsEnum[] logisticsEnums = LogisticsEnum.values();
List<Map<String, String>> mapList = new ArrayList<>();
Arrays.stream(logisticsEnums).forEach(logisticsEnum -> {
HashMap map = new HashMap<>();
map.put("code", logisticsEnum.getCode());
map.put("name", logisticsEnum.getName());
mapList.add(map);
});
return Result.success(mapList);
} catch (Exception e) {
return Result.failed();
}
}
} }
...@@ -114,6 +114,8 @@ public class SysDistributionOrderVo implements Entity { ...@@ -114,6 +114,8 @@ public class SysDistributionOrderVo implements Entity {
*/ */
private String logisticsCode; private String logisticsCode;
private String logisticsName;
/** /**
* 运单号 * 运单号
*/ */
...@@ -185,5 +187,10 @@ public class SysDistributionOrderVo implements Entity { ...@@ -185,5 +187,10 @@ public class SysDistributionOrderVo implements Entity {
* 介绍佣金 * 介绍佣金
*/ */
private String introduceAmount; private String introduceAmount;
/**
* 介绍人
*/
private String introducerName;
} }
...@@ -196,10 +196,11 @@ public class AdminUserServiceImpl implements AdminUserService { ...@@ -196,10 +196,11 @@ public class AdminUserServiceImpl implements AdminUserService {
userVo.setId(user.getId()); userVo.setId(user.getId());
userVo.setNickname(user.getNickname()); userVo.setNickname(user.getNickname());
userVo.setPhone(user.getMobile()); userVo.setPhone(user.getMobile());
userVo.setMobile(user.getMobile());
userVo.setCreateTime(user.getAddTime()); userVo.setCreateTime(user.getAddTime());
userVoList.add(userVo); userVoList.add(userVo);
return Result.success(PageSearchResult.of(pageInfo, userVoList));
} }
return Result.success(PageSearchResult.of(pageInfo, userVoList));
} else if (dto.getListType() == 3) { } else if (dto.getListType() == 3) {
List<ShareRecordVo> shareRecordVoList = new ArrayList<>(); List<ShareRecordVo> shareRecordVoList = new ArrayList<>();
//分享列表 //分享列表
......
...@@ -5,6 +5,9 @@ import com.wwdz.ch.admin.entity.vo.SysDistributionOrderVo; ...@@ -5,6 +5,9 @@ import com.wwdz.ch.admin.entity.vo.SysDistributionOrderVo;
import com.wwdz.ch.admin.service.SysDistributionOrderService; import com.wwdz.ch.admin.service.SysDistributionOrderService;
import com.wwdz.ch.core.consts.CommConsts; import com.wwdz.ch.core.consts.CommConsts;
import com.wwdz.ch.core.consts.DistributionEnum; import com.wwdz.ch.core.consts.DistributionEnum;
import com.wwdz.ch.core.consts.LogisticsEnum;
import com.wwdz.ch.core.entity.DeliveryNoticeMsg;
import com.wwdz.ch.core.service.SendMsgService;
import com.wwdz.ch.core.type.PageSearchResult; import com.wwdz.ch.core.type.PageSearchResult;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.core.util.CacheUtil; import com.wwdz.ch.core.util.CacheUtil;
...@@ -53,6 +56,9 @@ public class SysDistributionOrderServiceImpl implements SysDistributionOrderServ ...@@ -53,6 +56,9 @@ public class SysDistributionOrderServiceImpl implements SysDistributionOrderServ
@Autowired @Autowired
UserDao userDao; UserDao userDao;
@Autowired
SendMsgService sendMsgService;
@Override @Override
public Result findList(DistributionOrderRequestDto dto) { public Result findList(DistributionOrderRequestDto dto) {
try { try {
...@@ -98,7 +104,11 @@ public class SysDistributionOrderServiceImpl implements SysDistributionOrderServ ...@@ -98,7 +104,11 @@ public class SysDistributionOrderServiceImpl implements SysDistributionOrderServ
distributionOrderVo.setStateName(DistributionEnum.DistributionOrderStateEnum.getNameByCode(distributionOrder.getState())); distributionOrderVo.setStateName(DistributionEnum.DistributionOrderStateEnum.getNameByCode(distributionOrder.getState()));
distributionOrderVo.setTypeName(DistributionEnum.DistributionTypeEnum.getNameByCode(distributionOrder.getType())); distributionOrderVo.setTypeName(DistributionEnum.DistributionTypeEnum.getNameByCode(distributionOrder.getType()));
distributionOrderVo.setHomePageImage(MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos())); distributionOrderVo.setHomePageImage(MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos()));
distributionOrderVo.setLogisticsName(LogisticsEnum.getNameByCode(distributionOrder.getLogisticsCode()));
distributionOrderVo.setBuyerName(cacheUtil.getAppletUserNameById(distributionOrder.getBuyerId())); distributionOrderVo.setBuyerName(cacheUtil.getAppletUserNameById(distributionOrder.getBuyerId()));
if (distributionOrder.getType() == DistributionEnum.DistributionTypeEnum.COLLECT.getCode()) {
distributionOrderVo.setIntroducerName(cacheUtil.getAppletUserNameById(Long.valueOf(distributionOrder.getShareRecordId())));
}
distributionOrderVo.setSellerName(distributionOrder.getSellerId() == CommConsts.SYSTEM_ACCOUNT.longValue()? "系统账号" : cacheUtil.getAppletUserNameById(distributionOrder.getSellerId())); distributionOrderVo.setSellerName(distributionOrder.getSellerId() == CommConsts.SYSTEM_ACCOUNT.longValue()? "系统账号" : cacheUtil.getAppletUserNameById(distributionOrder.getSellerId()));
//支付截止时间,下单后半小时内 //支付截止时间,下单后半小时内
Date date = distributionOrder.getCreateTime(); Date date = distributionOrder.getCreateTime();
...@@ -114,4 +124,64 @@ public class SysDistributionOrderServiceImpl implements SysDistributionOrderServ ...@@ -114,4 +124,64 @@ public class SysDistributionOrderServiceImpl implements SysDistributionOrderServ
} }
return Result.failed(); return Result.failed();
} }
@Override
public Result delivery(DistributionOrderRequestDto dto) {
try {
String distributionOrderId = dto.getDistributionOrderId();
DistributionOrder distributionOrder = distributionOrderDao.findById(distributionOrderId);
if (distributionOrder.getState() != DistributionEnum.DistributionOrderStateEnum.PRE_SEND.getCode()) {
return Result.failed("订单状态错误,不能发货");
}
Date now = new Date();
DistributionOrder orderUpdateDto = new DistributionOrder();
orderUpdateDto.setDistributionOrderId(distributionOrderId);
orderUpdateDto.setLogisticsCode(dto.getLogisticsCode());
orderUpdateDto.setWaybill(dto.getWaybill());
orderUpdateDto.setDeliveryTime(now);
orderUpdateDto.setState(DistributionEnum.DistributionOrderStateEnum.PRE_SIGNED.getCode());
distributionOrderDao.update(orderUpdateDto);
//发货成功,发送模板信息通知分销商和用户
try {
DeliveryNoticeMsg deliveryNoticeMsg = new DeliveryNoticeMsg();
deliveryNoticeMsg.setDistributionOrderId(distributionOrderId);
deliveryNoticeMsg.setWaybill(dto.getWaybill());
deliveryNoticeMsg.setAddress(distributionOrder.getReceiverName() + " " + distributionOrder.getReceiverPhone() + " " + distributionOrder.getReceiverAddress());
SupplierItem supplierItem = supplierItemDao.findById(distributionOrder.getItemId());
deliveryNoticeMsg.setItemName(supplierItem.getName());
deliveryNoticeMsg.setDeliveryTime(now);
//发送给卖家
if (dto.getUserId() == null || distributionOrder.getSellerId().longValue() != dto.getUserId()) {
String sellerOpenId = sendMsgService.getOpenIdByUserId(distributionOrder.getSellerId());
if (com.xxdxxs.utils.StringUtils.hasLength(sellerOpenId)) {
if (distributionOrder.getType().intValue() == DistributionEnum.DistributionTypeEnum.COLLECT.getCode()) {
deliveryNoticeMsg.setShopState(2);
} else {
deliveryNoticeMsg.setShopState(1);
}
sendMsgService.sendDeliveryTempletMsg(sellerOpenId, deliveryNoticeMsg);
} else {
logger.info(">>>>> 卖家id :{}, 获取openid失败 <<<<<", distributionOrder.getSellerId());
}
}
//发送给买家
String buyerOpenId = sendMsgService.getOpenIdByUserId(distributionOrder.getBuyerId());
if (com.xxdxxs.utils.StringUtils.hasLength(buyerOpenId)) {
deliveryNoticeMsg.setShopState(0);
sendMsgService.sendDeliveryTempletMsg(buyerOpenId, deliveryNoticeMsg);
} else {
logger.info(">>>>> 买家openid为空, 发送消息失败 <<<<<");
}
} catch (Exception e) {
logger.info("分销订单发货通知模板信息发送失败:{}", e);
}
return Result.success();
} catch (Exception e) {
logger.info("发货失败 error: {}", e);
}
return Result.failed();
}
} }
...@@ -116,7 +116,9 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService { ...@@ -116,7 +116,9 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
supplierItem.setCreateTime(now); supplierItem.setCreateTime(now);
supplierItem.setUpdateTime(now); supplierItem.setUpdateTime(now);
supplierItem.setIsOnSale(true); supplierItem.setIsOnSale(true);
supplierItem.setIsAbleSale(true);
supplierItem.setIsDeleted(false); supplierItem.setIsDeleted(false);
supplierItem.setStatus(SupplierItemEnum.StatusEnum.COMMON.getCode());
if (dto.getStock() == null) { if (dto.getStock() == null) {
supplierItem.setStock(1); supplierItem.setStock(1);
} }
...@@ -150,7 +152,6 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService { ...@@ -150,7 +152,6 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
public Result findList(SupplierItemRequestDto dto) { public Result findList(SupplierItemRequestDto dto) {
try { try {
List<SupplierItemVo> supplierItemVos = new ArrayList<>(); List<SupplierItemVo> supplierItemVos = new ArrayList<>();
dto.setIsDeleted(false);
if (dto.getType() == null) { if (dto.getType() == null) {
dto.setTypeList(Arrays.asList(DistributionEnum.DistributionTypeEnum.FIXED_PRICE.getCode(), DistributionEnum.DistributionTypeEnum.AUCTION.getCode())); dto.setTypeList(Arrays.asList(DistributionEnum.DistributionTypeEnum.FIXED_PRICE.getCode(), DistributionEnum.DistributionTypeEnum.AUCTION.getCode()));
} }
...@@ -178,22 +179,6 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService { ...@@ -178,22 +179,6 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
//售出数量 //售出数量
Long selledNum = distributionOrderDao.countSelledNum(supplierItem.getId()); Long selledNum = distributionOrderDao.countSelledNum(supplierItem.getId());
supplierItemVo.setSelledNum(selledNum == null ? 0 : selledNum); supplierItemVo.setSelledNum(selledNum == null ? 0 : selledNum);
if (dto.getType() != null && dto.getType() == 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);
}
} else {
if (supplierItem.getIsOnSale()) {
supplierItemVo.setIsAbleSale(true);
} else {
supplierItemVo.setIsAbleSale(false);
}
}
}); });
return Result.success(PageSearchResult.of(pageInfo, supplierItemVos)); return Result.success(PageSearchResult.of(pageInfo, supplierItemVos));
} catch (Exception e) { } catch (Exception e) {
...@@ -226,11 +211,6 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService { ...@@ -226,11 +211,6 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
supplierItemVo.setStartPrice(PriceUtil.convertPriceFenToYuan(auctionConfig.getStartPrice())); supplierItemVo.setStartPrice(PriceUtil.convertPriceFenToYuan(auctionConfig.getStartPrice()));
supplierItemVo.setAddExtent(PriceUtil.convertPriceFenToYuan(auctionConfig.getAddExtent())); supplierItemVo.setAddExtent(PriceUtil.convertPriceFenToYuan(auctionConfig.getAddExtent()));
} }
if (supplierItem.getStock() == 0 || supplierItem.getIsOnSale()) {
supplierItemVo.setIsAbleSale(true);
} else {
supplierItemVo.setIsAbleSale(false);
}
return Result.success(supplierItemVo); return Result.success(supplierItemVo);
} catch (Exception e) { } catch (Exception e) {
logger.error("商品详情查询失败 error : {}", e); logger.error("商品详情查询失败 error : {}", e);
...@@ -280,7 +260,9 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService { ...@@ -280,7 +260,9 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
supplierItem.setSupplyPrice(PriceUtil.convertPriceFromStr(dto.getSupplyPrice())); supplierItem.setSupplyPrice(PriceUtil.convertPriceFromStr(dto.getSupplyPrice()));
} }
supplierItem.setImages(dto.getImages()); supplierItem.setImages(dto.getImages());
supplierItem.setVideos(dto.getVideos()); if (StringUtils.hasLength(dto.getVideos())) {
supplierItem.setVideos(getVideosImage(dto.getVideos()));
}
supplierItemDao.update(supplierItem); supplierItemDao.update(supplierItem);
return Result.success(); return Result.success();
} catch (Exception e) { } catch (Exception e) {
...@@ -313,11 +295,12 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService { ...@@ -313,11 +295,12 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
SupplierItem supplierItem = new SupplierItem(); SupplierItem supplierItem = new SupplierItem();
supplierItem.setId(dto.getId()); supplierItem.setId(dto.getId());
supplierItem.setIsOnSale(dto.getIsOnSale()); supplierItem.setIsOnSale(dto.getIsOnSale());
supplierItem.setIsAbleSale(dto.getIsOnSale());
supplierItemDao.update(supplierItem); supplierItemDao.update(supplierItem);
if (!dto.getIsOnSale() && oldItem.getType().intValue() == DistributionEnum.DistributionTypeEnum.COLLECT.getCode()) { if (!dto.getIsOnSale() && oldItem.getType().intValue() == DistributionEnum.DistributionTypeEnum.COLLECT.getCode()) {
//下架用户商品,短信通知,跳转到藏品详情页 //下架用户商品,短信通知,跳转到藏品详情页
String url = wxAppletApi.getUrlLink("/pages/detail/index","itemId=" + dto.getId() + "&shareRecordId="); String url = wxAppletApi.getUrlLink("/pages/detail/index","itemId=" + dto.getId() + "&shareRecordId=");
String msg = "您正在出售的藏品名称藏品…藏品名称,根据平台规定不得售卖该类藏品,平台已为您关闭出售,请前往"+ url + "查看"; String msg = "您正在出售的" + oldItem.getName() + ",根据平台规定不得售卖该类藏品,平台已为您关闭出售,请前往"+ url + "查看";
aliSmsSender.sendSms(oldItem.getCreatorId(), msg); aliSmsSender.sendSms(oldItem.getCreatorId(), msg);
} }
return Result.success(); return Result.success();
...@@ -358,7 +341,7 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService { ...@@ -358,7 +341,7 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
supplierItemDao.update(supplierItem); supplierItemDao.update(supplierItem);
//发送短息通知用户商品违规被下架,跳转到个人藏馆 //发送短息通知用户商品违规被下架,跳转到个人藏馆
String url = wxAppletApi.getUrlLink("/pages/saleSelf/index","userId=" + oldItem.getCreatorId() + "&shareRecordId="); String url = wxAppletApi.getUrlLink("/pages/saleSelf/index","userId=" + oldItem.getCreatorId() + "&shareRecordId=");
String msg = "您发布的藏品名称藏品…藏品名称内容涉嫌违反平台规定,已被平台下架,请前往"+ url + "查看"; String msg = "您发布的" + oldItem.getName() + ",内容涉嫌违反平台规定,已被平台下架,请前往"+ url + "查看";
aliSmsSender.sendSms(oldItem.getCreatorId(), msg); aliSmsSender.sendSms(oldItem.getCreatorId(), msg);
return Result.success(); return Result.success();
} catch (Exception e) { } catch (Exception e) {
......
...@@ -6,4 +6,12 @@ import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto; ...@@ -6,4 +6,12 @@ import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
public interface SysDistributionOrderService { public interface SysDistributionOrderService {
Result findList(DistributionOrderRequestDto dto); Result findList(DistributionOrderRequestDto dto);
/**
* 订单发货
* @param dto
* @return
*/
Result delivery(DistributionOrderRequestDto dto);
} }
package com.wwdz.ch.wx.entity; package com.wwdz.ch.core.entity;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
import lombok.Data; import lombok.Data;
......
package com.wwdz.ch.wx.entity; package com.wwdz.ch.core.entity;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
import lombok.Data; import lombok.Data;
......
package com.wwdz.ch.wx.entity; package com.wwdz.ch.core.entity;
import com.wwdz.ch.core.entity.AbstractSubscribeMsg; import com.wwdz.ch.core.entity.AbstractSubscribeMsg;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
......
package com.wwdz.ch.wx.entity; package com.wwdz.ch.core.entity;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
import lombok.Data; import lombok.Data;
......
package com.wwdz.ch.wx.entity; package com.wwdz.ch.core.entity;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
import lombok.Data; import lombok.Data;
......
package com.wwdz.ch.wx.entity; package com.wwdz.ch.core.entity;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
import lombok.Data; import lombok.Data;
......
package com.wwdz.ch.wx.entity; package com.wwdz.ch.core.entity;
import com.wwdz.ch.core.entity.AbstractSubscribeMsg; import com.wwdz.ch.core.entity.AbstractSubscribeMsg;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
......
package com.wwdz.ch.wx.entity; package com.wwdz.ch.core.entity;
import com.wwdz.ch.core.entity.AbstractSubscribeMsg; import com.wwdz.ch.core.entity.AbstractSubscribeMsg;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
......
package com.wwdz.ch.core.entity; package com.wwdz.ch.core.entity;
import com.wwdz.ch.db.domain.distribution.CollectionBook;
import com.wwdz.ch.db.domain.distribution.CollectionItemsRelation;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
...@@ -268,4 +266,5 @@ public class SupplierItemVo implements Entity { ...@@ -268,4 +266,5 @@ public class SupplierItemVo implements Entity {
private Integer status; private Integer status;
private String statusName; private String statusName;
} }
package com.wwdz.ch.wx.impl.distribution; package com.wwdz.ch.core.impl;
import com.wwdz.ch.core.api.OfficialAccountApi; import com.wwdz.ch.core.api.OfficialAccountApi;
import com.wwdz.ch.core.entity.ConsignSaleSubscribeMsg; import com.wwdz.ch.core.entity.*;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.core.util.OkHttpUtil; import com.wwdz.ch.core.util.OkHttpUtil;
import com.wwdz.ch.db.dao.OfficialAccountSubscribeRecordDao; import com.wwdz.ch.db.dao.OfficialAccountSubscribeRecordDao;
import com.wwdz.ch.db.dao.UserDao; import com.wwdz.ch.db.dao.UserDao;
import com.wwdz.ch.db.domain.OfficialAccountSubscribeRecord; import com.wwdz.ch.db.domain.OfficialAccountSubscribeRecord;
import com.wwdz.ch.db.domain.User; import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.wx.entity.*; import com.wwdz.ch.core.service.SendMsgService;
import com.wwdz.ch.wx.service.distribution.SendMsgService;
import com.xxdxxs.utils.DateUtils; import com.xxdxxs.utils.DateUtils;
import com.xxdxxs.utils.JsonUtils; import com.xxdxxs.utils.JsonUtils;
import com.xxdxxs.utils.StringUtils; import com.xxdxxs.utils.StringUtils;
...@@ -18,11 +17,8 @@ import org.slf4j.LoggerFactory; ...@@ -18,11 +17,8 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Locale;
import java.util.Map; import java.util.Map;
/** /**
......
package com.wwdz.ch.wx.service.distribution; package com.wwdz.ch.core.service;
import com.wwdz.ch.core.entity.AbstractSubscribeMsg; import com.wwdz.ch.core.entity.*;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.wx.entity.*;
public interface SendMsgService { public interface SendMsgService {
......
...@@ -198,8 +198,9 @@ public class MediaUtil { ...@@ -198,8 +198,9 @@ public class MediaUtil {
} }
public static void main(String[] args) { public static void main(String[] args) {
String vedioUrl = "https://cdn.wanwudezhi.com/static/web-static/video/53596700878a572ca4fae35243aaa819.mp4"; String vedioUrl = "https://cdn.wanwudezhi.com/quanku/video/12d8a09d5ff14ec1af6604c3814c614a.mp4";
String url = getImageByCutVedio(vedioUrl); String url = getImageByCutVedio(vedioUrl);
System.out.println(url);
ImageInfo imageInfo = getImageSize(url); ImageInfo imageInfo = getImageSize(url);
System.out.println(imageInfo.formartString()); System.out.println(imageInfo.formartString());
} }
......
...@@ -11,7 +11,7 @@ import lombok.Data; ...@@ -11,7 +11,7 @@ import lombok.Data;
/** /**
* @author shiyu * @author shiyu
* @date 2024/04/26 * @date 2024/04/29
*/ */
@Data @Data
public class SupplierItem implements Entity { public class SupplierItem implements Entity {
...@@ -97,6 +97,11 @@ public class SupplierItem implements Entity { ...@@ -97,6 +97,11 @@ public class SupplierItem implements Entity {
*/ */
private Integer status; private Integer status;
/**
* 是否可以售卖
*/
private Boolean isAbleSale;
/** /**
* 商品图片,分号分隔 * 商品图片,分号分隔
*/ */
...@@ -137,6 +142,7 @@ public class SupplierItem implements Entity { ...@@ -137,6 +142,7 @@ public class SupplierItem implements Entity {
sb.append(", rebate=").append(rebate); sb.append(", rebate=").append(rebate);
sb.append(", creatorId=").append(creatorId); sb.append(", creatorId=").append(creatorId);
sb.append(", status=").append(status); sb.append(", status=").append(status);
sb.append(", isAbleSale=").append(isAbleSale);
sb.append(", images=").append(images); sb.append(", images=").append(images);
sb.append(", videos=").append(videos); sb.append(", videos=").append(videos);
sb.append(", description=").append(description); sb.append(", description=").append(description);
...@@ -174,6 +180,7 @@ public class SupplierItem implements Entity { ...@@ -174,6 +180,7 @@ public class SupplierItem implements Entity {
&& (this.getRebate() == null ? other.getRebate() == null : this.getRebate().equals(other.getRebate())) && (this.getRebate() == null ? other.getRebate() == null : this.getRebate().equals(other.getRebate()))
&& (this.getCreatorId() == null ? other.getCreatorId() == null : this.getCreatorId().equals(other.getCreatorId())) && (this.getCreatorId() == null ? other.getCreatorId() == null : this.getCreatorId().equals(other.getCreatorId()))
&& (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus())) && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
&& (this.getIsAbleSale() == null ? other.getIsAbleSale() == null : this.getIsAbleSale().equals(other.getIsAbleSale()))
&& (this.getImages() == null ? other.getImages() == null : this.getImages().equals(other.getImages())) && (this.getImages() == null ? other.getImages() == null : this.getImages().equals(other.getImages()))
&& (this.getVideos() == null ? other.getVideos() == null : this.getVideos().equals(other.getVideos())) && (this.getVideos() == null ? other.getVideos() == null : this.getVideos().equals(other.getVideos()))
&& (this.getDescription() == null ? other.getDescription() == null : this.getDescription().equals(other.getDescription())); && (this.getDescription() == null ? other.getDescription() == null : this.getDescription().equals(other.getDescription()));
...@@ -200,6 +207,7 @@ public class SupplierItem implements Entity { ...@@ -200,6 +207,7 @@ public class SupplierItem implements Entity {
result = prime * result + ((getRebate() == null) ? 0 : getRebate().hashCode()); result = prime * result + ((getRebate() == null) ? 0 : getRebate().hashCode());
result = prime * result + ((getCreatorId() == null) ? 0 : getCreatorId().hashCode()); result = prime * result + ((getCreatorId() == null) ? 0 : getCreatorId().hashCode());
result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode()); result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
result = prime * result + ((getIsAbleSale() == null) ? 0 : getIsAbleSale().hashCode());
result = prime * result + ((getImages() == null) ? 0 : getImages().hashCode()); result = prime * result + ((getImages() == null) ? 0 : getImages().hashCode());
result = prime * result + ((getVideos() == null) ? 0 : getVideos().hashCode()); result = prime * result + ((getVideos() == null) ? 0 : getVideos().hashCode());
result = prime * result + ((getDescription() == null) ? 0 : getDescription().hashCode()); result = prime * result + ((getDescription() == null) ? 0 : getDescription().hashCode());
...@@ -231,6 +239,7 @@ public class SupplierItem implements Entity { ...@@ -231,6 +239,7 @@ public class SupplierItem implements Entity {
rebate("rebate", "rebate", "DECIMAL", false), rebate("rebate", "rebate", "DECIMAL", false),
creatorId("creator_id", "creatorId", "BIGINT", false), creatorId("creator_id", "creatorId", "BIGINT", false),
status("status", "status", "INTEGER", true), status("status", "status", "INTEGER", true),
isAbleSale("is_able_sale", "isAbleSale", "BIT", false),
images("images", "images", "LONGVARCHAR", false), images("images", "images", "LONGVARCHAR", false),
videos("videos", "videos", "LONGVARCHAR", false), videos("videos", "videos", "LONGVARCHAR", false),
description("description", "description", "LONGVARCHAR", false); description("description", "description", "LONGVARCHAR", false);
......
...@@ -2412,6 +2412,138 @@ public class SupplierItemExample { ...@@ -2412,6 +2412,138 @@ public class SupplierItemExample {
addCriterion("`status` not between", value1, value2, "status"); addCriterion("`status` not between", value1, value2, "status");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIsAbleSaleIsNull() {
addCriterion("is_able_sale is null");
return (Criteria) this;
}
public Criteria andIsAbleSaleIsNotNull() {
addCriterion("is_able_sale is not null");
return (Criteria) this;
}
public Criteria andIsAbleSaleEqualTo(Boolean value) {
addCriterion("is_able_sale =", value, "isAbleSale");
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 andIsAbleSaleEqualToColumn(SupplierItem.Column column) {
addCriterion(new StringBuilder("is_able_sale = ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andIsAbleSaleNotEqualTo(Boolean value) {
addCriterion("is_able_sale <>", value, "isAbleSale");
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 andIsAbleSaleNotEqualToColumn(SupplierItem.Column column) {
addCriterion(new StringBuilder("is_able_sale <> ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andIsAbleSaleGreaterThan(Boolean value) {
addCriterion("is_able_sale >", value, "isAbleSale");
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 andIsAbleSaleGreaterThanColumn(SupplierItem.Column column) {
addCriterion(new StringBuilder("is_able_sale > ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andIsAbleSaleGreaterThanOrEqualTo(Boolean value) {
addCriterion("is_able_sale >=", value, "isAbleSale");
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 andIsAbleSaleGreaterThanOrEqualToColumn(SupplierItem.Column column) {
addCriterion(new StringBuilder("is_able_sale >= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andIsAbleSaleLessThan(Boolean value) {
addCriterion("is_able_sale <", value, "isAbleSale");
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 andIsAbleSaleLessThanColumn(SupplierItem.Column column) {
addCriterion(new StringBuilder("is_able_sale < ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andIsAbleSaleLessThanOrEqualTo(Boolean value) {
addCriterion("is_able_sale <=", value, "isAbleSale");
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 andIsAbleSaleLessThanOrEqualToColumn(SupplierItem.Column column) {
addCriterion(new StringBuilder("is_able_sale <= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andIsAbleSaleIn(List<Boolean> values) {
addCriterion("is_able_sale in", values, "isAbleSale");
return (Criteria) this;
}
public Criteria andIsAbleSaleNotIn(List<Boolean> values) {
addCriterion("is_able_sale not in", values, "isAbleSale");
return (Criteria) this;
}
public Criteria andIsAbleSaleBetween(Boolean value1, Boolean value2) {
addCriterion("is_able_sale between", value1, value2, "isAbleSale");
return (Criteria) this;
}
public Criteria andIsAbleSaleNotBetween(Boolean value1, Boolean value2) {
addCriterion("is_able_sale not between", value1, value2, "isAbleSale");
return (Criteria) this;
}
} }
public static class Criteria extends GeneratedCriteria { public static class Criteria extends GeneratedCriteria {
......
...@@ -51,6 +51,11 @@ public class SupplierItemRequestDto extends BaseRequestDto implements Entity { ...@@ -51,6 +51,11 @@ public class SupplierItemRequestDto extends BaseRequestDto implements Entity {
*/ */
private Integer status; private Integer status;
/**
* 是否可以售卖
*/
private Boolean isAbleSale;
/** /**
* 置顶图片 * 置顶图片
*/ */
......
...@@ -34,8 +34,9 @@ public class UserDaoImpl implements UserDao { ...@@ -34,8 +34,9 @@ public class UserDaoImpl implements UserDao {
long count = userMapper.countByExample(example); long count = userMapper.countByExample(example);
if (count == 0) { if (count == 0) {
return userMapper.insertBySelfId(user); return userMapper.insertBySelfId(user);
} else {
return userMapper.updateByPrimaryKeySelective(user);
} }
return 0;
} }
......
...@@ -41,6 +41,7 @@ public class SupplierItemDaoImpl implements SupplierItemDao { ...@@ -41,6 +41,7 @@ public class SupplierItemDaoImpl implements SupplierItemDao {
JdbcHelper.ifPresent(dto.getStatus(), criteria::andStatusEqualTo); JdbcHelper.ifPresent(dto.getStatus(), criteria::andStatusEqualTo);
JdbcHelper.ifPresent(dto.getStock(), criteria::andStockGreaterThan); JdbcHelper.ifPresent(dto.getStock(), criteria::andStockGreaterThan);
JdbcHelper.ifPresent(dto.getIsOnSale(), criteria::andIsOnSaleEqualTo); JdbcHelper.ifPresent(dto.getIsOnSale(), criteria::andIsOnSaleEqualTo);
JdbcHelper.ifPresent(dto.getIsAbleSale(), criteria::andIsAbleSaleEqualTo);
JdbcHelper.ifPresent(dto.getIsDeleted(), criteria::andIsDeletedEqualTo); JdbcHelper.ifPresent(dto.getIsDeleted(), criteria::andIsDeletedEqualTo);
JdbcHelper.ifPresent(dto.getCreatorId(), criteria::andCreatorIdEqualTo); JdbcHelper.ifPresent(dto.getCreatorId(), criteria::andCreatorIdEqualTo);
supplierItemExample.setOrderByClause(" create_time desc"); supplierItemExample.setOrderByClause(" create_time desc");
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
<result column="rebate" jdbcType="DECIMAL" property="rebate" /> <result column="rebate" jdbcType="DECIMAL" property="rebate" />
<result column="creator_id" jdbcType="BIGINT" property="creatorId" /> <result column="creator_id" jdbcType="BIGINT" property="creatorId" />
<result column="status" jdbcType="INTEGER" property="status" /> <result column="status" jdbcType="INTEGER" property="status" />
<result column="is_able_sale" jdbcType="BIT" property="isAbleSale" />
</resultMap> </resultMap>
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.wwdz.ch.db.domain.distribution.SupplierItem"> <resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.wwdz.ch.db.domain.distribution.SupplierItem">
<result column="images" jdbcType="LONGVARCHAR" property="images" /> <result column="images" jdbcType="LONGVARCHAR" property="images" />
...@@ -86,7 +87,7 @@ ...@@ -86,7 +87,7 @@
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, `name`, supplier_id, is_on_sale, sort, top_image, distribution_price, supply_price, 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,
`status` `status`, is_able_sale
</sql> </sql>
<sql id="Blob_Column_List"> <sql id="Blob_Column_List">
images, videos, description images, videos, description
...@@ -143,7 +144,7 @@ ...@@ -143,7 +144,7 @@
<otherwise> <otherwise>
id, `name`, supplier_id, is_on_sale, sort, top_image, distribution_price, supply_price, 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,
`status`, images, videos, description `status`, is_able_sale, images, videos, description
</otherwise> </otherwise>
</choose> </choose>
from supplier_item from supplier_item
...@@ -178,7 +179,7 @@ ...@@ -178,7 +179,7 @@
<otherwise> <otherwise>
id, `name`, supplier_id, is_on_sale, sort, top_image, distribution_price, supply_price, 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,
`status`, images, videos, description `status`, is_able_sale, images, videos, description
</otherwise> </otherwise>
</choose> </choose>
from supplier_item from supplier_item
...@@ -203,15 +204,15 @@ ...@@ -203,15 +204,15 @@
supply_price, stock, create_time, supply_price, stock, create_time,
update_time, is_deleted, buy_limit_num, update_time, is_deleted, buy_limit_num,
`type`, rebate, creator_id, `type`, rebate, creator_id,
`status`, images, videos, `status`, is_able_sale, images,
description) videos, description)
values (#{name,jdbcType=VARCHAR}, #{supplierId,jdbcType=BIGINT}, #{isOnSale,jdbcType=BIT}, values (#{name,jdbcType=VARCHAR}, #{supplierId,jdbcType=BIGINT}, #{isOnSale,jdbcType=BIT},
#{sort,jdbcType=INTEGER}, #{topImage,jdbcType=VARCHAR}, #{distributionPrice,jdbcType=BIGINT}, #{sort,jdbcType=INTEGER}, #{topImage,jdbcType=VARCHAR}, #{distributionPrice,jdbcType=BIGINT},
#{supplyPrice,jdbcType=BIGINT}, #{stock,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{supplyPrice,jdbcType=BIGINT}, #{stock,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP}, #{isDeleted,jdbcType=BIT}, #{buyLimitNum,jdbcType=INTEGER}, #{updateTime,jdbcType=TIMESTAMP}, #{isDeleted,jdbcType=BIT}, #{buyLimitNum,jdbcType=INTEGER},
#{type,jdbcType=INTEGER}, #{rebate,jdbcType=DECIMAL}, #{creatorId,jdbcType=BIGINT}, #{type,jdbcType=INTEGER}, #{rebate,jdbcType=DECIMAL}, #{creatorId,jdbcType=BIGINT},
#{status,jdbcType=INTEGER}, #{images,jdbcType=LONGVARCHAR}, #{videos,jdbcType=LONGVARCHAR}, #{status,jdbcType=INTEGER}, #{isAbleSale,jdbcType=BIT}, #{images,jdbcType=LONGVARCHAR},
#{description,jdbcType=LONGVARCHAR}) #{videos,jdbcType=LONGVARCHAR}, #{description,jdbcType=LONGVARCHAR})
</insert> </insert>
<insert id="insertSelective" parameterType="com.wwdz.ch.db.domain.distribution.SupplierItem"> <insert id="insertSelective" parameterType="com.wwdz.ch.db.domain.distribution.SupplierItem">
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long"> <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
...@@ -267,6 +268,9 @@ ...@@ -267,6 +268,9 @@
<if test="status != null"> <if test="status != null">
`status`, `status`,
</if> </if>
<if test="isAbleSale != null">
is_able_sale,
</if>
<if test="images != null"> <if test="images != null">
images, images,
</if> </if>
...@@ -326,6 +330,9 @@ ...@@ -326,6 +330,9 @@
<if test="status != null"> <if test="status != null">
#{status,jdbcType=INTEGER}, #{status,jdbcType=INTEGER},
</if> </if>
<if test="isAbleSale != null">
#{isAbleSale,jdbcType=BIT},
</if>
<if test="images != null"> <if test="images != null">
#{images,jdbcType=LONGVARCHAR}, #{images,jdbcType=LONGVARCHAR},
</if> </if>
...@@ -397,6 +404,9 @@ ...@@ -397,6 +404,9 @@
<if test="record.status != null"> <if test="record.status != null">
`status` = #{record.status,jdbcType=INTEGER}, `status` = #{record.status,jdbcType=INTEGER},
</if> </if>
<if test="record.isAbleSale != null">
is_able_sale = #{record.isAbleSale,jdbcType=BIT},
</if>
<if test="record.images != null"> <if test="record.images != null">
images = #{record.images,jdbcType=LONGVARCHAR}, images = #{record.images,jdbcType=LONGVARCHAR},
</if> </if>
...@@ -430,6 +440,7 @@ ...@@ -430,6 +440,7 @@
rebate = #{record.rebate,jdbcType=DECIMAL}, rebate = #{record.rebate,jdbcType=DECIMAL},
creator_id = #{record.creatorId,jdbcType=BIGINT}, creator_id = #{record.creatorId,jdbcType=BIGINT},
`status` = #{record.status,jdbcType=INTEGER}, `status` = #{record.status,jdbcType=INTEGER},
is_able_sale = #{record.isAbleSale,jdbcType=BIT},
images = #{record.images,jdbcType=LONGVARCHAR}, images = #{record.images,jdbcType=LONGVARCHAR},
videos = #{record.videos,jdbcType=LONGVARCHAR}, videos = #{record.videos,jdbcType=LONGVARCHAR},
description = #{record.description,jdbcType=LONGVARCHAR} description = #{record.description,jdbcType=LONGVARCHAR}
...@@ -455,7 +466,8 @@ ...@@ -455,7 +466,8 @@
`type` = #{record.type,jdbcType=INTEGER}, `type` = #{record.type,jdbcType=INTEGER},
rebate = #{record.rebate,jdbcType=DECIMAL}, rebate = #{record.rebate,jdbcType=DECIMAL},
creator_id = #{record.creatorId,jdbcType=BIGINT}, creator_id = #{record.creatorId,jdbcType=BIGINT},
`status` = #{record.status,jdbcType=INTEGER} `status` = #{record.status,jdbcType=INTEGER},
is_able_sale = #{record.isAbleSale,jdbcType=BIT}
<if test="_parameter != null"> <if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" /> <include refid="Update_By_Example_Where_Clause" />
</if> </if>
...@@ -511,6 +523,9 @@ ...@@ -511,6 +523,9 @@
<if test="status != null"> <if test="status != null">
`status` = #{status,jdbcType=INTEGER}, `status` = #{status,jdbcType=INTEGER},
</if> </if>
<if test="isAbleSale != null">
is_able_sale = #{isAbleSale,jdbcType=BIT},
</if>
<if test="images != null"> <if test="images != null">
images = #{images,jdbcType=LONGVARCHAR}, images = #{images,jdbcType=LONGVARCHAR},
</if> </if>
...@@ -541,6 +556,7 @@ ...@@ -541,6 +556,7 @@
rebate = #{rebate,jdbcType=DECIMAL}, rebate = #{rebate,jdbcType=DECIMAL},
creator_id = #{creatorId,jdbcType=BIGINT}, creator_id = #{creatorId,jdbcType=BIGINT},
`status` = #{status,jdbcType=INTEGER}, `status` = #{status,jdbcType=INTEGER},
is_able_sale = #{isAbleSale,jdbcType=BIT},
images = #{images,jdbcType=LONGVARCHAR}, images = #{images,jdbcType=LONGVARCHAR},
videos = #{videos,jdbcType=LONGVARCHAR}, videos = #{videos,jdbcType=LONGVARCHAR},
description = #{description,jdbcType=LONGVARCHAR} description = #{description,jdbcType=LONGVARCHAR}
...@@ -563,7 +579,8 @@ ...@@ -563,7 +579,8 @@
`type` = #{type,jdbcType=INTEGER}, `type` = #{type,jdbcType=INTEGER},
rebate = #{rebate,jdbcType=DECIMAL}, rebate = #{rebate,jdbcType=DECIMAL},
creator_id = #{creatorId,jdbcType=BIGINT}, creator_id = #{creatorId,jdbcType=BIGINT},
`status` = #{status,jdbcType=INTEGER} `status` = #{status,jdbcType=INTEGER},
is_able_sale = #{isAbleSale,jdbcType=BIT}
where id = #{id,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT}
</update> </update>
<select id="selectOneByExample" parameterType="com.wwdz.ch.db.domain.distribution.SupplierItemExample" resultMap="BaseResultMap"> <select id="selectOneByExample" parameterType="com.wwdz.ch.db.domain.distribution.SupplierItemExample" resultMap="BaseResultMap">
...@@ -621,7 +638,7 @@ ...@@ -621,7 +638,7 @@
<otherwise> <otherwise>
id, `name`, supplier_id, is_on_sale, sort, top_image, distribution_price, supply_price, 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,
`status`, images, videos, description `status`, is_able_sale, images, videos, description
</otherwise> </otherwise>
</choose> </choose>
from supplier_item from supplier_item
......
...@@ -17,9 +17,9 @@ import com.wwdz.ch.core.util.TimeUtil; ...@@ -17,9 +17,9 @@ import com.wwdz.ch.core.util.TimeUtil;
import com.wwdz.ch.db.dao.distribution.*; import com.wwdz.ch.db.dao.distribution.*;
import com.wwdz.ch.db.domain.distribution.*; import com.wwdz.ch.db.domain.distribution.*;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto; import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
import com.wwdz.ch.wx.entity.DistributionOrderNoticeMsg; import com.wwdz.ch.core.entity.DistributionOrderNoticeMsg;
import com.wwdz.ch.wx.entity.PayNoticeMsg; import com.wwdz.ch.core.entity.PayNoticeMsg;
import com.wwdz.ch.wx.service.distribution.SendMsgService; import com.wwdz.ch.core.service.SendMsgService;
import com.wwdz.ch.wx.service.distribution.SupplierItemService; import com.wwdz.ch.wx.service.distribution.SupplierItemService;
import com.xxdxxs.utils.JsonUtils; import com.xxdxxs.utils.JsonUtils;
import com.xxdxxs.utils.StringUtils; import com.xxdxxs.utils.StringUtils;
......
...@@ -19,12 +19,12 @@ import com.wwdz.ch.db.domain.distribution.SupplierItem; ...@@ -19,12 +19,12 @@ import com.wwdz.ch.db.domain.distribution.SupplierItem;
import com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto; 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.DistributionOrderRequestDto;
import com.wwdz.ch.core.api.WxAppletApi; import com.wwdz.ch.core.api.WxAppletApi;
import com.wwdz.ch.wx.entity.FollowFansMsg; import com.wwdz.ch.core.entity.FollowFansMsg;
import com.wwdz.ch.wx.entity.vo.FollowFansRecordVo; import com.wwdz.ch.wx.entity.vo.FollowFansRecordVo;
import com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderVo; import com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderVo;
import com.wwdz.ch.wx.service.FollowFansRecordService; import com.wwdz.ch.wx.service.FollowFansRecordService;
import com.wwdz.ch.wx.service.MessageService; import com.wwdz.ch.wx.service.MessageService;
import com.wwdz.ch.wx.service.distribution.SendMsgService; import com.wwdz.ch.core.service.SendMsgService;
import com.xxdxxs.utils.EntityMapper; import com.xxdxxs.utils.EntityMapper;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
......
...@@ -22,7 +22,7 @@ import com.wwdz.ch.core.api.OfficialAccountApi; ...@@ -22,7 +22,7 @@ import com.wwdz.ch.core.api.OfficialAccountApi;
import com.wwdz.ch.core.api.WxAppletApi; import com.wwdz.ch.core.api.WxAppletApi;
import com.wwdz.ch.wx.constant.CacheCodeConstants; import com.wwdz.ch.wx.constant.CacheCodeConstants;
import com.wwdz.ch.wx.constant.LoginTypeEnum; import com.wwdz.ch.wx.constant.LoginTypeEnum;
import com.wwdz.ch.wx.entity.MessageContentText; import com.wwdz.ch.core.entity.MessageContentText;
import com.wwdz.ch.wx.entity.request.ItemRequestDto; import com.wwdz.ch.wx.entity.request.ItemRequestDto;
import com.wwdz.ch.wx.entity.request.MessageRequestDto; import com.wwdz.ch.wx.entity.request.MessageRequestDto;
import com.wwdz.ch.core.entity.WxCheckMediaRequestDto; import com.wwdz.ch.core.entity.WxCheckMediaRequestDto;
......
...@@ -17,18 +17,15 @@ import com.wwdz.ch.db.domain.MessageContent; ...@@ -17,18 +17,15 @@ import com.wwdz.ch.db.domain.MessageContent;
import com.wwdz.ch.db.domain.MessageRecord; import com.wwdz.ch.db.domain.MessageRecord;
import com.wwdz.ch.db.dto.MessageRecordRequestDto; import com.wwdz.ch.db.dto.MessageRecordRequestDto;
import com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto; import com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto;
import com.wwdz.ch.wx.entity.MessageContentText; import com.wwdz.ch.core.entity.MessageContentText;
import com.wwdz.ch.wx.entity.request.MessageRequestDto; import com.wwdz.ch.wx.entity.request.MessageRequestDto;
import com.wwdz.ch.wx.entity.vo.FollowFansRecordVo;
import com.wwdz.ch.wx.entity.vo.MessageVo; import com.wwdz.ch.wx.entity.vo.MessageVo;
import com.wwdz.ch.wx.service.FavoritesService; import com.wwdz.ch.wx.service.FavoritesService;
import com.wwdz.ch.wx.service.MessageService; import com.wwdz.ch.wx.service.MessageService;
import com.xxdxxs.entity.Entity;
import com.xxdxxs.service.FormHandler; import com.xxdxxs.service.FormHandler;
import com.xxdxxs.utils.EntityMapper; import com.xxdxxs.utils.EntityMapper;
import com.xxdxxs.utils.JsonUtils; import com.xxdxxs.utils.JsonUtils;
import com.xxdxxs.validation.Validator; import com.xxdxxs.validation.Validator;
import org.apache.logging.log4j.spi.ObjectThreadContextMap;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -37,7 +34,6 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -37,7 +34,6 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.awt.*;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.List; import java.util.List;
......
...@@ -175,6 +175,8 @@ public class UserServiceImpl implements UserService { ...@@ -175,6 +175,8 @@ public class UserServiceImpl implements UserService {
} }
com.wwdz.user.api.model.user.User wUser = userCloudServerResponse.getResult(); com.wwdz.user.api.model.user.User wUser = userCloudServerResponse.getResult();
User user = User.of(wUser); User user = User.of(wUser);
user.setId(dto.getUserId());
user.setStatus(UserEnum.StatusEnum.COMMON.getCode());
logger.info(">>>>>>> 登录用户的信息:{}", JsonUtils.from(user)); logger.info(">>>>>>> 登录用户的信息:{}", JsonUtils.from(user));
String phone = user.getMobile(); String phone = user.getMobile();
...@@ -248,6 +250,7 @@ public class UserServiceImpl implements UserService { ...@@ -248,6 +250,7 @@ public class UserServiceImpl implements UserService {
result.put("isShop", false); result.put("isShop", false);
} }
} }
user.setLastLoginTime(new Date());
user.setUserLevel(userLevel); user.setUserLevel(userLevel);
//更新或插入登录的用户信息 //更新或插入登录的用户信息
userDao.insertByMapper(user); userDao.insertByMapper(user);
......
...@@ -16,11 +16,11 @@ import com.wwdz.ch.db.dao.distribution.*; ...@@ -16,11 +16,11 @@ import com.wwdz.ch.db.dao.distribution.*;
import com.wwdz.ch.db.domain.distribution.*; import com.wwdz.ch.db.domain.distribution.*;
import com.wwdz.ch.db.dto.request.distribution.AuctionRecordRequestDto; import com.wwdz.ch.db.dto.request.distribution.AuctionRecordRequestDto;
import com.wwdz.ch.core.api.WxAppletApi; import com.wwdz.ch.core.api.WxAppletApi;
import com.wwdz.ch.wx.entity.AuctionOfferNoticeMsg; import com.wwdz.ch.core.entity.AuctionOfferNoticeMsg;
import com.wwdz.ch.wx.entity.vo.distribution.AuctionRecordRowVo; import com.wwdz.ch.wx.entity.vo.distribution.AuctionRecordRowVo;
import com.wwdz.ch.wx.entity.vo.distribution.AuctionRecordVo; import com.wwdz.ch.wx.entity.vo.distribution.AuctionRecordVo;
import com.wwdz.ch.wx.service.distribution.AuctionRecordService; import com.wwdz.ch.wx.service.distribution.AuctionRecordService;
import com.wwdz.ch.wx.service.distribution.SendMsgService; import com.wwdz.ch.core.service.SendMsgService;
import com.xxdxxs.utils.DateUtils; import com.xxdxxs.utils.DateUtils;
import com.xxdxxs.utils.EntityMapper; import com.xxdxxs.utils.EntityMapper;
import org.redisson.api.RLock; import org.redisson.api.RLock;
......
...@@ -21,14 +21,14 @@ import com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto; ...@@ -21,14 +21,14 @@ 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.DistributionOrderRequestDto;
import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto; import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto;
import com.wwdz.ch.core.api.WxAppletApi; import com.wwdz.ch.core.api.WxAppletApi;
import com.wwdz.ch.wx.entity.AuctionOfferNoticeMsg; import com.wwdz.ch.core.entity.AuctionOfferNoticeMsg;
import com.wwdz.ch.wx.entity.DeliveryNoticeMsg; import com.wwdz.ch.core.entity.DeliveryNoticeMsg;
import com.wwdz.ch.wx.entity.SignedNoticeMsg; import com.wwdz.ch.core.entity.SignedNoticeMsg;
import com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderDetailVo; import com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderDetailVo;
import com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderVo; import com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderVo;
import com.wwdz.ch.wx.service.distribution.DistributionOrderService; import com.wwdz.ch.wx.service.distribution.DistributionOrderService;
import com.wwdz.ch.wx.service.distribution.DistributorProfitService; import com.wwdz.ch.wx.service.distribution.DistributorProfitService;
import com.wwdz.ch.wx.service.distribution.SendMsgService; import com.wwdz.ch.core.service.SendMsgService;
import com.xxdxxs.utils.DateUtils; import com.xxdxxs.utils.DateUtils;
import com.xxdxxs.utils.EntityMapper; import com.xxdxxs.utils.EntityMapper;
import org.redisson.api.RLock; import org.redisson.api.RLock;
......
package com.wwdz.ch.wx.impl.distribution; package com.wwdz.ch.wx.impl.distribution;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.wwdz.ch.core.consts.CommConsts; import com.wwdz.ch.core.consts.*;
import com.wwdz.ch.core.consts.DistributionEnum;
import com.wwdz.ch.core.consts.MediaTypeEnum;
import com.wwdz.ch.core.consts.ResultCode;
import com.wwdz.ch.core.storage.QiniuStorage; import com.wwdz.ch.core.storage.QiniuStorage;
import com.wwdz.ch.core.type.PageSearchResult; import com.wwdz.ch.core.type.PageSearchResult;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
...@@ -575,18 +572,20 @@ public class SupplierItemServiceImpl implements SupplierItemService { ...@@ -575,18 +572,20 @@ public class SupplierItemServiceImpl implements SupplierItemService {
} }
supplierItem.setSort(1); supplierItem.setSort(1);
supplierItem.setBuyLimitNum(-1); supplierItem.setBuyLimitNum(-1);
if (dto.getIsOnSale()) { if (dto.getIsAbleSale()) {
supplierItem.setIsOnSale(true);
supplierItem.setStock(dto.getStock()); supplierItem.setStock(dto.getStock());
} else { } else {
supplierItem.setStock(1); supplierItem.setStock(1);
supplierItem.setIsOnSale(false);
} }
supplierItem.setIsOnSale(dto.getIsOnSale());
Date now = new Date(); Date now = new Date();
supplierItem.setCreateTime(now); supplierItem.setCreateTime(now);
supplierItem.setUpdateTime(now); supplierItem.setUpdateTime(now);
supplierItem.setIsDeleted(false); supplierItem.setIsDeleted(false);
supplierItem.setCreatorId(dto.getUserId()); supplierItem.setCreatorId(dto.getUserId());
supplierItem.setType(DistributionEnum.DistributionTypeEnum.COLLECT.getCode()); supplierItem.setType(DistributionEnum.DistributionTypeEnum.COLLECT.getCode());
supplierItem.setStatus(SupplierItemEnum.StatusEnum.COMMON.getCode());
long itemId = supplierItemDao.insert(supplierItem); long itemId = supplierItemDao.insert(supplierItem);
//商品对应收藏册关联 //商品对应收藏册关联
if (StringUtils.hasLength(dto.getCollectionBookId())) { if (StringUtils.hasLength(dto.getCollectionBookId())) {
...@@ -611,14 +610,17 @@ public class SupplierItemServiceImpl implements SupplierItemService { ...@@ -611,14 +610,17 @@ public class SupplierItemServiceImpl implements SupplierItemService {
EntityMapper.copyAttribute(dto, supplierItem); EntityMapper.copyAttribute(dto, supplierItem);
supplierItem.setDistributionPrice(PriceUtil.convertPriceFromStr(StringUtils.isEmpty(dto.getDistributionPrice())?"0":dto.getDistributionPrice())); supplierItem.setDistributionPrice(PriceUtil.convertPriceFromStr(StringUtils.isEmpty(dto.getDistributionPrice())?"0":dto.getDistributionPrice()));
supplierItem.setImages(dto.getImages()); supplierItem.setImages(dto.getImages());
supplierItem.setVideos(dto.getVideos()); if (StringUtils.hasLength(dto.getVideos())) {
if (dto.getIsOnSale()) { supplierItem.setVideos(getVideosImage(dto.getVideos()));
}
if (dto.getIsAbleSale()) {
supplierItem.setIsOnSale(true);
supplierItem.setStock(dto.getStock()); supplierItem.setStock(dto.getStock());
} else { } else {
supplierItem.setStock(1); supplierItem.setStock(1);
supplierItem.setIsOnSale(false);
} }
supplierItemDao.update(supplierItem); supplierItemDao.update(supplierItem);
//更新相关的收藏册 //更新相关的收藏册
if (StringUtils.hasLength(dto.getCollectionBookId())) { if (StringUtils.hasLength(dto.getCollectionBookId())) {
CollectionItemsRelationRequestDto collectionItemsRelationRequestDto = new CollectionItemsRelationRequestDto(); CollectionItemsRelationRequestDto collectionItemsRelationRequestDto = new CollectionItemsRelationRequestDto();
...@@ -943,12 +945,13 @@ public class SupplierItemServiceImpl implements SupplierItemService { ...@@ -943,12 +945,13 @@ public class SupplierItemServiceImpl implements SupplierItemService {
String video = ""; String video = "";
String[] images = vedios.split(";"); String[] images = vedios.split(";");
StringBuffer stringBuffer = new StringBuffer(); StringBuffer stringBuffer = new StringBuffer();
Arrays.stream(images).parallel().forEach(image -> { Arrays.stream(images).forEach(image -> {
if (stringBuffer.length() != 0) { if (stringBuffer.length() != 0) {
stringBuffer.append(";"); stringBuffer.append(";");
} }
try { try {
String cutImage = MediaUtil.getImageByCutVedio(image); String cutImage = MediaUtil.getImageByCutVedio(image);
logger.info(">>>>>> 截取视频第一帧图片url = {} <<<<<<<", cutImage);
URL url = new URL(cutImage); URL url = new URL(cutImage);
InputStream inputStream = url.openStream(); InputStream inputStream = url.openStream();
BufferedImage bufferedImage = ImageIO.read(inputStream); BufferedImage bufferedImage = ImageIO.read(inputStream);
......
...@@ -14,9 +14,9 @@ import com.wwdz.ch.db.domain.distribution.AuctionRecord; ...@@ -14,9 +14,9 @@ import com.wwdz.ch.db.domain.distribution.AuctionRecord;
import com.wwdz.ch.db.domain.distribution.DistributionOrder; import com.wwdz.ch.db.domain.distribution.DistributionOrder;
import com.wwdz.ch.db.domain.distribution.SupplierItem; import com.wwdz.ch.db.domain.distribution.SupplierItem;
import com.wwdz.ch.core.api.WxAppletApi; import com.wwdz.ch.core.api.WxAppletApi;
import com.wwdz.ch.wx.entity.AuctionOfferNoticeMsg; import com.wwdz.ch.core.entity.AuctionOfferNoticeMsg;
import com.wwdz.ch.wx.service.distribution.DistributionOrderService; import com.wwdz.ch.wx.service.distribution.DistributionOrderService;
import com.wwdz.ch.wx.service.distribution.SendMsgService; import com.wwdz.ch.core.service.SendMsgService;
import com.xxdxxs.utils.DateUtils; import com.xxdxxs.utils.DateUtils;
import org.redisson.api.RLock; import org.redisson.api.RLock;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
......
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