Browse Source

Merge remote-tracking branch 'origin/dev' into dev

纪新园 2 years ago
parent
commit
a1c60535e8

+ 2 - 0
blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/entity/BidingItems.java

@@ -212,6 +212,8 @@ public class BidingItems implements Serializable {
 	 * 船期
 	 */
 	@ApiModelProperty(value = "船期")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date shippingDate;
 
 }

+ 10 - 0
blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/entity/Order.java

@@ -1179,6 +1179,16 @@ public class Order implements Serializable {
 	@TableField(exist = false)
 	private String special;
 
+	/**
+	 * 采购状态
+	 */
+	@ApiModelProperty("采购状态")
+	private String purchaseStatus;
 
+	/**
+	 * 收货状态
+	 */
+	@ApiModelProperty("收货状态")
+	private String receivingStatus;
 
 }

+ 3 - 11
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/BidingItemsServiceImpl.java

@@ -160,7 +160,6 @@ public class BidingItemsServiceImpl extends ServiceImpl<BidingItemsMapper, Bidin
 	 * @param bidingItems
 	 */
 	@Override
-
 	public void updateItems(BidingItems bidingItems){
 		BidingItems items = baseMapper.selectById(bidingItems.getId());
 		//明细不存在
@@ -237,8 +236,6 @@ public class BidingItemsServiceImpl extends ServiceImpl<BidingItemsMapper, Bidin
 		lambdaQueryWrapper.in(BidingAgent::getAgentId, items.getCorpsAttnId());
 		BidingAgent bidingAgent = bidingAgentMapper.selectOne(lambdaQueryWrapper);
 
-		//获得所有关注用户
-		List<Map<String, String >> unionIdMapList = wechatClient.getAllUnionIds();
 		if (ObjectUtil.isNotEmpty(bidingAgent)){
 			//根据代理客户的客户联系人进行消息推送
 			//获得所有代理客户
@@ -248,14 +245,9 @@ public class BidingItemsServiceImpl extends ServiceImpl<BidingItemsMapper, Bidin
 			attnList.forEach(corpsAttn -> {
 				//获得用户信息
 				R<User> user = userClient.userInfoById(corpsAttn.getUserId());
-				if (ObjectUtil.isNotEmpty(user)){
-					if (ObjectUtil.isNotEmpty(user.getData().getUnionId())){
-						unionIdMapList.forEach(union -> {
-							if (union.get("unionid").equals(user.getData().getUnionId())){
-								wechatClient.bidWinningPush(user.getData().getUnionId(),
-									biding.getContractNo(), departureHarbor, objectiveHarbor, boxTypeQuantity, offer);
-							}
-						});
+				if (ObjectUtil.isNotEmpty(user.getData())){
+					if (ObjectUtil.isNotEmpty(user.getData().getOaOpenId())){
+						wechatClient.bidWinningPush(user.getData().getUnionId(),biding.getContractNo(), departureHarbor, objectiveHarbor, boxTypeQuantity, offer);
 					}
 				}
 			});

+ 0 - 205
blade-service/blade-school/src/main/java/org/springblade/school/controller/WxTest.java

@@ -1,205 +0,0 @@
-package org.springblade.school.controller;
-
-import cn.hutool.http.HttpUtil;
-import com.alibaba.fastjson.JSONObject;
-import lombok.AllArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springblade.system.user.entity.WxUnionIdOpenId;
-import org.springblade.system.user.feign.IWxUnionIdOpenIdClient;
-import org.springblade.core.tool.utils.ObjectUtil;
-import org.springblade.school.util.WXPayXmlUtil;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.xml.parsers.DocumentBuilder;
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.util.*;
-
-/**
- * 与微信产生交换的控制器
- *
- * @author BladeX
- */
-@Slf4j
-@RestController
-@RequestMapping("/wechatTest")
-@AllArgsConstructor
-public class WxTest {
-
-	private final IWxUnionIdOpenIdClient wxUnionIdOpenIdClient;
-
-	//公众号的appId以及secret
-	private static final String appId = "wxf077390a6ec17f23";
-	private static final String appSecret = "50e84930675a0c06057d45a6d64ec548";
-
-	@PostMapping("/scanCodeCallback")
-	public void scanCodeCallback(HttpServletRequest request, HttpServletResponse response){
-		log.info("======关注回调======");
-
-		Map<String, String> dataMap = analysis(request);
-		log.info("返回数据======》" + dataMap);
-		log.info("返回数据======》" + dataMap.toString());
-		String openId = dataMap.get("FromUserName");//openId
-		String Event = dataMap.get("Event");//关注或取消关注
-
-		if ("subscribe".equals(Event)) {//关注
-			//获得公众号token
-			Map<String,String> tokenMap = this.getToken();
-			log.info("token======>"+tokenMap.get("accessToken"));
-			//根据公众号openid获得unionId
-			Map<String, String > userMap = this.getUserInfo(tokenMap.get("accessToken"),openId);
-			String unionId = userMap.get("unionid");
-			log.info("unionId======>"+userMap.get("unionid"));
-
-			if (ObjectUtil.isNotEmpty(unionId)){
-				//根据unionId查询数据库是否存在
-				WxUnionIdOpenId wxUnionIdOpenId = wxUnionIdOpenIdClient.getWxUnionId(unionId);
-				if (ObjectUtil.isEmpty(wxUnionIdOpenId)){//不存在 新增
-					WxUnionIdOpenId item = new WxUnionIdOpenId();
-					item.setOpenId(openId);
-					item.setUnionId(unionId);
-					wxUnionIdOpenIdClient.insertWxUO(item);
-				}else {//存在 则更新
-					wxUnionIdOpenId.setOpenId(openId);
-					wxUnionIdOpenIdClient.updateWxUO(wxUnionIdOpenId);
-				}
-			}
-
-		}
-
-	}
-
-	/**
-	 * 获得公众号token
-	 */
-	public Map<String, String> getToken() {
-
-		Map<String,String> tokenMap = new HashMap<>();
-		String requestUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+appId+"&secret="+appSecret;
-		try {
-			String response = HttpUtil.get(requestUrl);
-			JSONObject jsonObject = JSONObject.parseObject(response);
-			if (ObjectUtil.isEmpty(jsonObject.get("errcode"))){
-				String accessToken = String.valueOf(jsonObject.get("access_token"));
-				if (ObjectUtil.isEmpty(accessToken)){
-					throw new RuntimeException("获取token出现异常");
-				}else {
-					tokenMap.put("accessToken", accessToken);
-				}
-			}else if (jsonObject.getString("errcode").equals("-1")) {
-				throw new RuntimeException("系统繁忙,此时请开发者稍候再试");
-			} else {
-				throw new RuntimeException("不合法的telCode(telCode不存在、已过期或者使用过)");
-			}
-
-		} catch (Exception e) {
-			log.info("获取token出现异常");
-			e.printStackTrace();
-		}
-
-		return tokenMap;
-	}
-
-	/**
-	 * 获得用户信息
-	 */
-	public Map<String, String > getUserInfo(String accessToken,String openId){
-		Map<String,String> userMap = new HashMap<>();
-		String requestUrl = "https://api.weixin.qq.com/cgi-bin/user/info?access_token="+accessToken+"&openid="+openId+"&lang=zh_CN";
-		try {
-			String response = HttpUtil.get(requestUrl);
-			JSONObject jsonObject = JSONObject.parseObject(response);
-			if (ObjectUtil.isEmpty(jsonObject.get("errcode"))){
-				String unionid = String.valueOf(jsonObject.get("unionid"));
-				if (ObjectUtil.isEmpty(unionid)){
-					throw new RuntimeException("获取unionid出现异常");
-				}else {
-					userMap.put("openid", openId);
-					userMap.put("unionid", unionid);
-				}
-			}else {
-				throw new RuntimeException("用户获取失败"+jsonObject.get("errmsg"));
-			}
-
-		} catch (Exception e) {
-			log.info("获取unionid出现异常");
-			e.printStackTrace();
-		}
-
-		return userMap;
-	}
-
-	public Map<String, String> analysis(HttpServletRequest request) {
-		try {
-			BufferedReader reader = null;
-			String line = "";
-			String xmlString = null;
-			reader = request.getReader();
-			StringBuffer inputString = new StringBuffer();
-
-			while ((line = reader.readLine()) != null) {
-				inputString.append(line);
-			}
-			xmlString = inputString.toString();
-			Map<String, String> dataMap = xmlToMap(xmlString);
-			return dataMap;
-		} catch (Exception e) {
-			return null;
-		}
-
-	}
-
-	/**
-	 * XML格式字符串转换为Map
-	 *
-	 * @param strXML XML字符串
-	 * @return XML数据转换后的Map
-	 * @throws Exception
-	 */
-	public static Map<String, String> xmlToMap(String strXML) throws Exception {
-		try {
-			Map<String, String> data = new HashMap<String, String>();
-			DocumentBuilder documentBuilder = WXPayXmlUtil.newDocumentBuilder();
-			InputStream stream = new ByteArrayInputStream(strXML.getBytes("UTF-8"));
-			org.w3c.dom.Document doc = documentBuilder.parse(stream);
-			doc.getDocumentElement().normalize();
-			NodeList nodeList = doc.getDocumentElement().getChildNodes();
-			for (int idx = 0; idx < nodeList.getLength(); ++idx) {
-				Node node = nodeList.item(idx);
-				if (node.getNodeType() == Node.ELEMENT_NODE) {
-					org.w3c.dom.Element element = (org.w3c.dom.Element) node;
-					data.put(element.getNodeName(), element.getTextContent());
-				}
-			}
-			try {
-				stream.close();
-			} catch (Exception ex) {
-				// do nothing
-			}
-			return data;
-		} catch (Exception ex) {
-			getLogger().warn("Invalid XML, can not convert to map. Error message: {}. XML content: {}", ex.getMessage(), strXML);
-			throw ex;
-		}
-
-	}
-
-	/**
-	 * 日志
-	 * @return
-	 */
-	public static Logger getLogger() {
-		Logger logger = LoggerFactory.getLogger("wxpay java sdk");
-		return logger;
-	}
-
-}

+ 6 - 10
blade-service/blade-school/src/main/java/org/springblade/school/controller/WxUnionIdOpenIdController.java

@@ -2,18 +2,17 @@ package org.springblade.school.controller;
 
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springblade.school.util.WXPayXmlUtil;
 import org.springblade.school.util.WxUtil;
-import org.springblade.system.user.feign.IWxUnionIdOpenIdClient;
 import org.springblade.system.user.entity.WxUnionIdOpenId;
+import org.springblade.system.user.feign.IWxUnionIdOpenIdClient;
 import org.springblade.core.tool.utils.ObjectUtil;
+import org.springblade.school.util.WXPayXmlUtil;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
-
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.util.Map;
+import java.util.*;
 
 /**
  * 与微信公众号产生交换的控制器
@@ -22,11 +21,11 @@ import java.util.Map;
  */
 @Slf4j
 @RestController
-@RequestMapping("/wxOfficial")
+@RequestMapping("/wechatTest")
 @AllArgsConstructor
 public class WxUnionIdOpenIdController {
 
-	 private final IWxUnionIdOpenIdClient wxUnionIdOpenIdClient;
+	private final IWxUnionIdOpenIdClient wxUnionIdOpenIdClient;
 
 	//公众号的appId以及secret
 	private static final String appId = "wxf077390a6ec17f23";
@@ -37,20 +36,17 @@ public class WxUnionIdOpenIdController {
 		log.info("======关注回调======");
 
 		Map<String, String> dataMap = WXPayXmlUtil.analysis(request);
-		log.info("返回数据======》" + dataMap.toString());
+		log.info("返回数据======>>" + dataMap);
 		String openId = dataMap.get("FromUserName");//openId
 		String Event = dataMap.get("Event");//关注或取消关注
 
 		if ("subscribe".equals(Event)) {//关注
-
 			//获得公众号token
 			Map<String,String> tokenMap = WxUtil.getToken(appId, appSecret);
-			log.info("token======>"+tokenMap.get("accessToken"));
 
 			//根据公众号openid获得unionId
 			Map<String, String > userMap = WxUtil.getUserInfo(tokenMap.get("accessToken"),openId);
 			String unionId = userMap.get("unionid");
-			log.info("unionId======>"+userMap.get("unionid"));
 
 			if (ObjectUtil.isNotEmpty(unionId)){
 				//根据unionId查询数据库是否存在