Commit c9510909 by songyinghui

feat: 库存计算调整

parent a8c7e5ef
package com.gic.haoban.manage.service.util;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
/**
* @Author MUSI
* @Date 2023/3/15 9:48 PM
* @Description
* @Version
**/
public class DrawImageUtils {
public static void drawImage() throws IOException {
// ImageIcon imageIcon = new ImageIcon("");
//
// URL url = new URL("http://res.mail.qq.com/node/ww/wwopenmng/images/independent/doc/test_pic_msg1.png");
long startTime = System.currentTimeMillis();
InputStream inputStream = DrawImageUtils.class.getClassLoader().getResourceAsStream("template/base_pic.png");
if (inputStream == null){
return;
}
BufferedImage image = ImageIO.read(inputStream);;
System.out.println("图片宽度:" + image.getWidth() + " px");
System.out.println("图片高度:" + image.getHeight() + " px");
Graphics2D pen = image.createGraphics();
pen.setColor(Color.BLACK);
//pen.setColor(new Color(179, 250, 233, 100));
//Font.PLAIN(正常),Font.BOLD(粗体),Font.ITALIC(斜体)
pen.setFont(new Font("微软雅黑", Font.ITALIC, 20));
pen.drawString("我是图片水印", image.getWidth()/2, image.getHeight()/ 2);
pen.dispose();
File file = new File("test2.png");
FileOutputStream fos = new FileOutputStream(file);
ImageIO.write(image, "png", fos);
long endTime = System.currentTimeMillis();
System.out.println(endTime - startTime);
}
public static void main(String[] args) throws IOException {
DrawImageUtils.drawImage();
}
}
import com.alibaba.fastjson.JSONObject;
import com.gic.haoban.manage.api.dto.AlertMessageDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO;
import com.gic.haoban.manage.api.dto.notify.qdto.NoticeMessageQDTO;
import com.gic.haoban.manage.api.dto.notify.qdto.NotifyMessageBatchQDTO;
import com.gic.haoban.manage.api.enums.AlertTypeEnum;
......@@ -7,6 +8,12 @@ import com.gic.haoban.manage.api.enums.NoticeMessageTypeEnum;
import com.gic.haoban.manage.api.service.CheckQywxSettingApiService;
import com.gic.haoban.manage.api.service.QywxTagApiService;
import com.gic.haoban.manage.api.service.notify.NoticeMessageApiService;
import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.wechat.api.dto.qywx.QywxNewsArticleMessageDTO;
import com.gic.wechat.api.dto.qywx.QywxNewsSendMessageDTO;
import com.gic.wechat.api.dto.qywx.QywxXcxSendMessageDTO;
import com.gic.wechat.api.service.qywx.QywxSuiteApiService;
import com.google.common.collect.Lists;
import org.junit.Test;
import org.junit.runner.RunWith;
......@@ -16,6 +23,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
......@@ -30,7 +39,14 @@ public class NotityTest {
@Autowired
private NoticeMessageApiService noticeMessageApiService;
@Autowired
private QywxSuiteApiService qywxSuiteApiService;
@Autowired
private Config config;
@Autowired
private WxEnterpriseService wxEnterpriseService;
@Test
public void test() {
......@@ -48,8 +64,7 @@ public class NotityTest {
noticeMessageQDTO.setOptTargetId("testtatget");
noticeMessageQDTO.setExtendContent(extMap);
String str = "{\"clerkId\":\"28974631cc7a47398ec592d9f61ca210\",\"enterpriseId\":\"ff8080815dacd3a2015dacd3ef5c0000\",\"extendContent\":{\"taskName\":\"上传12-26日报\",\"storeId\":\"ff8080817a578567017a75b014d900be\",\"taskId\":\"01bafd19b050421ba72e4d130508a24f\"},\"messageType\":3031}";
String str = "{\"clerkId\":\"fbc508e395f846ef9005852c420e1c4f\",\"enterpriseId\":\"ff8080815dacd3a2015dacd3ef5c0000\",\"contentMap\":{\"activityName\":\"活动名称测试\",\"rank\":\"1\"},\"messageType\":1007}";
noticeMessageApiService.noticeMessageMq(str);
}
......@@ -83,4 +98,24 @@ public class NotityTest {
noticeMessageApiService.batchSendMessage(batchQDTO);
}
@Test
public void sendNewsMessageTest(){
String wxEnterpriseId = "ca66a01b79474c40b3e7c7f93daf1a3b";
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId) ;
String corpid = qwDTO.getThirdCorpid() ;
QywxNewsSendMessageDTO messageDTO = new QywxNewsSendMessageDTO();
messageDTO.setAgentId(Integer.parseInt(qwDTO.getAgentId()));
messageDTO.setUserIds(Collections.singletonList("wo59NLDQAA2fEL1xL51lJIy9y2N2aulA"));
QywxNewsArticleMessageDTO articleInfo = new QywxNewsArticleMessageDTO();
articleInfo.setAppid(config.getAppid());
articleInfo.setTitle("测试图文标题");
articleInfo.setDescription("这是一个图文描述");
articleInfo.setPagepath("/monthList");
articleInfo.setPicurl("https://platform-1251519181.cos.ap-shanghai.myqcloud.com/image/jhdm/enterprise_common-9292fc686bbf4da2a168d4428363e630.jpeg");
messageDTO.setArticleMessages(Collections.singletonList(articleInfo));
boolean b = qywxSuiteApiService.sendMessage(corpid, config.getWxSuiteid(), messageDTO);
System.out.println(b);
}
}
......@@ -46,7 +46,6 @@ import java.util.List;
import java.util.stream.Collectors;
/**
*
* @author MUSI
*/
@RestController
......@@ -68,21 +67,22 @@ public class ContentMaterialController {
/**
* 获取栏目筛选条件
*
* @param enterpriseId
* @return
*/
@RequestMapping(path = "/column-list")
public RestResponse<List<ContentColumnInfoVO>> queryContentColumn(String enterpriseId,String storeId,String wxEnterpriseId,String clerkId){
public RestResponse<List<ContentColumnInfoVO>> queryContentColumn(String enterpriseId, String storeId, String wxEnterpriseId, String clerkId) {
List<String> storeIdList = new ArrayList<>();
if (StringUtils.isBlank(storeId)){
if (StringUtils.isBlank(storeId)) {
// 区经 获取管辖的权限
List<String> storeIds = this.queryClerkStoreIds(clerkId, wxEnterpriseId);
storeIdList.addAll(storeIds);
}else {
} else {
storeIdList.add(storeId);
}
ServiceResponse<List<ContentColumnListDTO>> serviceResponse = contentColumnApiService.listColumnFront(enterpriseId, ColumnEnum.MATERIAL.value, storeIdList,clerkId);
if (!serviceResponse.isSuccess() || CollectionUtils.isEmpty(serviceResponse.getResult())){
ServiceResponse<List<ContentColumnListDTO>> serviceResponse = contentColumnApiService.listColumnFront(enterpriseId, ColumnEnum.MATERIAL.value, storeIdList, clerkId);
if (!serviceResponse.isSuccess() || CollectionUtils.isEmpty(serviceResponse.getResult())) {
return RestResponse.successResult(Collections.emptyList());
}
List<ContentColumnInfoVO> contentColumnInfos = EntityUtil.changeEntityListByJSON(ContentColumnInfoVO.class, serviceResponse.getResult());
......@@ -91,15 +91,14 @@ public class ContentMaterialController {
/**
*
* 素材列表
*
* @return
*/
@RequestMapping(path = "/content-material-list")
public RestResponse<Page<ContentMaterialInfoVO>> queryContentMaterialList(@RequestBody ContentMaterialQO contentMaterialQO){
public RestResponse<Page<ContentMaterialInfoVO>> queryContentMaterialList(@RequestBody ContentMaterialQO contentMaterialQO) {
if (StringUtils.isBlank(contentMaterialQO.getEnterpriseId())){
if (StringUtils.isBlank(contentMaterialQO.getEnterpriseId())) {
log.info("企业id未传 {}", JSON.toJSONString(contentMaterialQO));
return RestResponse.failure("-777", "参数异常");
}
......@@ -109,23 +108,24 @@ public class ContentMaterialController {
contentMaterialPageFrontQDTO.setKeyWord(contentMaterialQO.getSearch());
contentMaterialPageFrontQDTO.setContentColumnId(contentMaterialQO.getContentColumnId());
contentMaterialPageFrontQDTO.setMaterialType(contentMaterialQO.getMaterialType());
if (contentMaterialQO.getSortType() != null){
if (contentMaterialQO.getSortType() == 2){
if (contentMaterialQO.getSortType() != null) {
if (contentMaterialQO.getSortType() == 2) {
contentMaterialPageFrontQDTO.setHotFlag(1);
}
}
if (StringUtils.isBlank(contentMaterialQO.getStoreId())){
if (StringUtils.isBlank(contentMaterialQO.getStoreId())) {
// 区经 获取管辖的权限
List<String> storeIds = this.queryClerkStoreIds(contentMaterialQO.getClerkId(), contentMaterialQO.getWxEnterpriseId());
contentMaterialPageFrontQDTO.setStoreIdList(storeIds);
}else {
} else {
contentMaterialPageFrontQDTO.setStoreIdList(Collections.singletonList(contentMaterialQO.getStoreId()));
}
BasePageInfo pageInfo = new BasePageInfo();
pageInfo.setPageNum(contentMaterialQO.getPageNum());
pageInfo.setPageSize(contentMaterialQO.getPageSize());
ServiceResponse<Page<ContentMaterialFrontDTO>> serviceResponse = contentMaterialApiService.pageMaterialFront(contentMaterialPageFrontQDTO, pageInfo);
if (!serviceResponse.isSuccess() || CollectionUtils.isEmpty(serviceResponse.getResult().getResult())){
if (!serviceResponse.isSuccess() || CollectionUtils.isEmpty(serviceResponse.getResult().getResult())) {
return RestResponse.successResult(new Page<>());
}
Page<ContentMaterialFrontDTO> responseResult = serviceResponse.getResult();
......@@ -135,7 +135,7 @@ public class ContentMaterialController {
.map(item -> {
ContentMaterialInfoVO contentMaterialInfoVO = new ContentMaterialInfoVO();
BeanUtils.copyProperties(item, contentMaterialInfoVO);
if (CollectionUtils.isNotEmpty(item.getContentGoodsList())){
if (CollectionUtils.isNotEmpty(item.getContentGoodsList())) {
List<SimpleGoodsInfoVO> goodsInfoVOS = item.getContentGoodsList()
.stream()
.filter(temp -> goodsShowStatus.contains(temp.getStatus()))
......@@ -171,7 +171,7 @@ public class ContentMaterialController {
private List<Integer> getGoodsShowStatus(ContentMaterialQO contentMaterialQO) {
GoodsSettingDTO goodsSettingDTO = settingApiService.getSetting(contentMaterialQO.getEnterpriseId());
List<Integer> showStatus = new ArrayList<>();
if (goodsSettingDTO != null){
if (goodsSettingDTO != null) {
int salesGoodsFlag = goodsSettingDTO.getSalesGoodsFlag();
int notSalesGoodsFlag = goodsSettingDTO.getNotSalesGoodsFlag();
if (salesGoodsFlag == 1 && notSalesGoodsFlag == 1) {
......@@ -188,7 +188,7 @@ public class ContentMaterialController {
//啥都未打开
showStatus.add(-99);
}
}else {
} else {
// 默认展示已上架和未上架的数据
showStatus.add(1);
showStatus.add(2);
......@@ -198,17 +198,18 @@ public class ContentMaterialController {
/**
* 分享商品素材
*
* @param contentMaterialShareQO
* @return
*/
@RequestMapping(path = "/share-content-material")
public RestResponse<ContentMaterialShareInfoVO> shareContentMaterial(ContentMaterialShareQO contentMaterialShareQO){
public RestResponse<ContentMaterialShareInfoVO> shareContentMaterial(ContentMaterialShareQO contentMaterialShareQO) {
if (StringUtils.isBlank(contentMaterialShareQO.getEnterpriseId())){
if (StringUtils.isBlank(contentMaterialShareQO.getEnterpriseId())) {
return RestResponse.failure("-777", "企业参数异常");
}
if (StringUtils.isBlank(contentMaterialShareQO.getGoodsId())){
if (StringUtils.isBlank(contentMaterialShareQO.getGoodsId())) {
// 无商品id 不生成参数
return RestResponse.successResult();
}
......@@ -219,7 +220,7 @@ public class ContentMaterialController {
contentMaterialShareQDTO.setClerkId(contentMaterialShareQO.getClerkId());
contentMaterialShareQDTO.setStoreId(contentMaterialShareQO.getStoreId());
ServiceResponse<ContentMaterialShareInfoDTO> serviceResponse = contentMaterialShareApiService.shareContentMaterial(contentMaterialShareQDTO);
if (!serviceResponse.isSuccess()){
if (!serviceResponse.isSuccess()) {
return RestResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage());
}
ContentMaterialShareInfoVO shareInfoVO = new ContentMaterialShareInfoVO();
......@@ -229,17 +230,18 @@ public class ContentMaterialController {
/**
* 导购栏目最后访问记录
*
* @param contentColumnClerkViewQO qo
* @return
*/
@RequestMapping(path = "/column-clerk")
public RestResponse<Void> viewColumnClerk(@RequestBody ContentColumnClerkViewQO contentColumnClerkViewQO) {
if (StringUtils.isBlank(contentColumnClerkViewQO.getEnterpriseId())){
if (StringUtils.isBlank(contentColumnClerkViewQO.getEnterpriseId())) {
return RestResponse.failure("-777", "企业参数异常");
}
ContentColumnClerkQDTO columnClerkQDTO = EntityUtil.changeEntityByJSON(ContentColumnClerkQDTO.class, contentColumnClerkViewQO);
ServiceResponse<Void> serviceResponse = contentColumnApiService.saveOrUpdateColumnClerk(columnClerkQDTO);
if (!serviceResponse.isSuccess()){
if (!serviceResponse.isSuccess()) {
return RestResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage());
}
return RestResponse.successResult();
......@@ -247,17 +249,18 @@ public class ContentMaterialController {
/**
* 查询区经角色下管辖的门店权限
*
* @param clerkId
* @param wxEnterpriseId
* @return
*/
public List<String> queryClerkStoreIds(String clerkId, String wxEnterpriseId){
public List<String> queryClerkStoreIds(String clerkId, String wxEnterpriseId) {
List<String> storeIds = staffApiService.getHaoBanStoreIdsRolesByClerkId(clerkId, wxEnterpriseId);
if (CollectionUtils.isEmpty(storeIds)){
if (CollectionUtils.isEmpty(storeIds)) {
log.info("根据区经id查询管辖的门店为空 {} {}", clerkId, wxEnterpriseId);
return Collections.singletonList("-100");
}
if (storeIds.size() == 1 && StringUtils.equals(storeIds.get(0), "-1")){
if (storeIds.size() == 1 && StringUtils.equals(storeIds.get(0), "-1")) {
// 全部门店权限
log.info("区经有全部门店权限 {}", clerkId);
return Collections.emptyList();
......@@ -268,21 +271,26 @@ public class ContentMaterialController {
/**
* 获取素材首页数据
*
* @param contentMaterialBaseQO
* @return
*/
@RequestMapping(path = "/content/material/index/data")
public RestResponse<MaterialIndexDataVO> queryMaterialIndexData(@RequestBody ContentMaterialBaseQO contentMaterialBaseQO){
public RestResponse<MaterialIndexDataVO> queryMaterialIndexData(@RequestBody ContentMaterialBaseQO contentMaterialBaseQO) {
return RestResponse.successResult();
}
/**
* 查询商品数据
*
* @param goodsSimpleSearchQO
* @return
*/
@RequestMapping(path = "/goods/list")
public RestResponse<List<SimpleGoodsInfoVO>> querySimpleGoodsList(@RequestBody GoodsSimpleSearchQO goodsSimpleSearchQO){
public RestResponse<List<SimpleGoodsInfoVO>> querySimpleGoodsList(@RequestBody GoodsSimpleSearchQO goodsSimpleSearchQO) {
return RestResponse.successResult();
}
}
......@@ -28,7 +28,7 @@ public class MaterialIndexDataVO implements Serializable {
private String conversionAmount;
/**
*
* 当天素材发布数量
*/
private Integer newMaterialNum;
......@@ -55,4 +55,12 @@ public class MaterialIndexDataVO implements Serializable {
public void setConversionAmount(String conversionAmount) {
this.conversionAmount = conversionAmount;
}
public Integer getNewMaterialNum() {
return newMaterialNum;
}
public void setNewMaterialNum(Integer newMaterialNum) {
this.newMaterialNum = newMaterialNum;
}
}
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