Browse Source

Merge branch 'master' of http://git.iamberry.com/hexiugang/iamberry-common-parent

# Conflicts:
#	watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/sales_order_list.ftl
wangxiaoming 6 years ago
parent
commit
00ffac45d0

+ 9 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/approval/ApprovalProduction.java

@@ -32,6 +32,7 @@ public class ApprovalProduction implements Serializable {
     private String productionRemark;//备注信息
     private Date productionCreateTime;
     private Date productionUpdateTime;
+    private String contractName;
     private List<ApprovalProductionItem> listProductionItem;//产品项
 
     public Integer getProductionId() {
@@ -177,4 +178,12 @@ public class ApprovalProduction implements Serializable {
     public void setListProductionItem(List<ApprovalProductionItem> listProductionItem) {
         this.listProductionItem = listProductionItem;
     }
+
+    public String getContractName() {
+        return contractName;
+    }
+
+    public void setContractName(String contractName) {
+        this.contractName = contractName;
+    }
 }

+ 9 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/approval/ApprovalProductionContract.java

@@ -13,6 +13,7 @@ public class ApprovalProductionContract implements Serializable {
     private Integer approvalId;//审批id
     private String contractUrl;//url
     private String contractName;//合同名称
+    private String contractType;//文件类型 1.合同 2附件
     private Date contractCreateTime;
 
     public Integer getContractId() {
@@ -55,4 +56,12 @@ public class ApprovalProductionContract implements Serializable {
     public void setContractName(String contractName) {
         this.contractName = contractName;
     }
+
+    public String getContractType() {
+        return contractType;
+    }
+
+    public void setContractType(String contractType) {
+        this.contractType = contractType;
+    }
 }

+ 22 - 4
watero-rst-service/src/main/java/com/iamberry/rst/service/approval/mapper/approvalOrderMapper.xml

@@ -37,6 +37,7 @@
     <result column="production_remark" property="productionRemark" jdbcType="VARCHAR" />
     <result column="production_create_time" property="productionCreateTime" jdbcType="TIMESTAMP" />
     <result column="production_update_time" property="productionUpdateTime" jdbcType="TIMESTAMP" />
+    <result column="contract_name" property="contractName" jdbcType="INTEGER" />
     <collection property="listProductionItem" column="production_id" ofType="ApprovalProductionItem" select="listProductionItem"/>
   </resultMap>
 
@@ -132,13 +133,14 @@
           production_state,
           production_packing_way,
           production_remark,
-          production_create_time
+          production_create_time,
+          contract_name
           )
     VALUES
     (#{approvalId},#{approvalId},#{applicantOrderNo},#{applicantName},#{applicantId}
     ,#{orderName},#{companyName},#{contactName},#{contactTel},#{productionDeliveryDate}
     ,#{productionDeliveryWay},#{productionDeliveryDesc},#{productionState},#{productionPackingWay}
-    ,#{productionRemark},NOW())
+    ,#{productionRemark},NOW(),#{contractName})
   </insert>
 
   <!-- 批量添加订单项数据-->
@@ -175,10 +177,12 @@
     contract_id,
     approval_id,
     contract_url,
+    contract_name,
+    contract_type,
     contract_create_time
     )
     VALUES
-    (#{contractId},#{approvalId},#{contractUrl},NOW())
+    (#{contractId},#{approvalId},#{contractUrl},#{contractName},#{contractType},NOW())
   </insert>
 
   <insert id="insertProcessInfo" parameterType="ProcessInfo">
@@ -304,6 +308,18 @@
       <if test="selectType != null and selectType != '' and selectType == 3">
         AND ai.approval_status in (5,6,7,8)
       </if>
+      <if test="approvalName != null and approvalName != ''">
+        AND ai.approval_name LIKE CONCAT('%',#{approvalName},'%')
+      </if>
+      <if test="approvalApplicant != null and approvalApplicant != ''">
+        AND ai.approval_applicant LIKE CONCAT('%',#{approvalApplicant},'%')
+      </if>
+      <if test="approvalRemark != null and approvalRemark != ''">
+        AND ai.approval_remark LIKE CONCAT('%',#{approvalRemark},'%')
+      </if>
+      <if test="approvalCreateTime != null and approvalCreateTime != ''">
+        to_days(#{approvalCreateTime}) = to_days(ai.approval_create_time);
+      </if>
     </where>
   </select>
 
@@ -326,7 +342,8 @@
     ap.production_packing_way,
     ap.production_remark,
     ap.production_create_time,
-    ap.production_update_time
+    ap.production_update_time,
+    ap.contract_name
     from tb_rst_approval_production ap
     where
         ap.approval_id = #{approvalId}
@@ -403,6 +420,7 @@
     apc.approval_id approvalId,
     apc.contract_url contractUrl,
     apc.contract_name contractName,
+    apc.contract_type contractType,
     apc.contract_create_time contractCreateTime
     from tb_rst_approval_production_contract apc
     where

+ 6 - 3
watero-rst-web/src/main/java/com/iamberry/rst/controllers/approval/ApprovalController.java

@@ -58,8 +58,8 @@ public class ApprovalController {
             return  ResponseJson.getFAILURE();
         }
         //获取openid,根据openid查询当前登录人信息
-        /*String openId = WechatUtils.getUserBySession(request).getUserOpenid();*/
-        String openId = "oaH_GwObiozJFBypUg0wKJjQpBiU";
+        String openId = WechatUtils.getUserBySession(request).getUserOpenid();
+        /*String openId = "oaH_GwObiozJFBypUg0wKJjQpBiU";*/
 
         //获取审批任务id
         Map<String, Object> taskinfo = approvalTaskService.salesmanSubmitApply(1);
@@ -85,6 +85,9 @@ public class ApprovalController {
             approvalProductionItem.setItemProductModel(orderItem.getString("itemProductModel"));
             approvalProductionItem.setItemProductUnit(orderItem.getString("itemProductUnit"));
             approvalProductionItem.setItemProductBoxNumber(orderItem.getInt("itemProductBoxNumber"));
+            approvalProductionItem.setItemShouldStorage(orderItem.getInt("itemProductNum"));
+            approvalProductionItem.setItemActualStorage(0);
+            approvalProductionItem.setItemLackNumber(orderItem.getInt("itemProductNum"));
             listApprovalProductionItem.add(approvalProductionItem);
         }
         //封装生产审批合同
@@ -220,7 +223,7 @@ public class ApprovalController {
         ProcessInfo processInfo = new ProcessInfo();
         processInfo.setAdminId(admin.getAdminId());
         processInfo.setApprovalId(approvalInfo.getApprovalId());
-        processInfo.setProcessDesc(approvalInfo.getApprovalDetails());
+        processInfo.setProcessDesc(approvalInfo.getApprovalDetails());//后期在后台添加
         //审批信息封装
         ApprovalInfo info = new ApprovalInfo();
         info.setApprovalId(approvalInfo.getApprovalId());

+ 215 - 0
watero-rst-web/src/main/java/com/iamberry/rst/utils/SendMessageUtil.java

@@ -0,0 +1,215 @@
+package com.iamberry.rst.utils;
+
+import com.iamberry.wechat.tools.NameUtils;
+import com.iamberry.wechat.tools.ResultInfo;
+import com.iamberry.wechat.tools.WeixinUtil;
+import org.springframework.stereotype.Component;
+
+import java.util.HashMap;
+
+@Component
+public class SendMessageUtil {
+		
+		//快递公司列表
+		public static HashMap<String, String> hashmap = new HashMap<String, String>();
+		//正式环境
+		{
+			hashmap.put("sto", "申通快递");
+			hashmap.put("yto", "圆通快递");
+			hashmap.put("sf", "顺丰快递");
+			hashmap.put("longbanwuliu", "龙邦快递");
+			hashmap.put("ems", "邮政EMS");
+			hashmap.put("zto", "中通快递");
+			hashmap.put("zjs", "宅急送");
+			hashmap.put("yunda", "韵达快递");
+			hashmap.put("cces", "cces快递");
+			hashmap.put("pick", "上门提货");
+			hashmap.put("htky", "汇通快递");
+			hashmap.put("ttkdex", "天天快递");
+			hashmap.put("stars", "邮政EMS");
+			hashmap.put("jd", "星晨急便");
+			hashmap.put("01", "其他");
+			hashmap.put("02", "上门送货");
+		}
+		
+		/**
+		 * 发送模板通知给用户
+		 * @param date data 日期
+		 * @param openId 接受的用户id
+		 * @param url  点击打开的url
+		 * @param type 发送类型 1,收益成功通知 2,发货提醒通知 3、收入提醒通知,4、订单未支付通知 5、试用进度提醒
+		 * @return
+		 */
+		public boolean sendTemplateMessageToOpenid(String date,String openId, String url,Integer type) {
+			boolean result = false;
+			switch (type) {
+			case 1:  //1,收益成功通知
+				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId,ResultInfo.rewards_template_id, date, url);
+				break;
+			case 2:  // 2,发货提醒通知 
+				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.Shipment_template_id, date, url);
+				break;
+			case 3:  //3、收入提醒通知
+				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.Income_template_id, date, url);
+				break;
+			case 4:  //4、订单未支付通知
+				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.Order_template_id, date, url);
+				break;
+			case 5:  //5、试用进度提醒
+				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.trial_progress_remind, date, url);
+				break;
+			case 6:  //6、试用申请通知
+				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.probation_apply_notice, date, url);
+				break;
+			case 7:  //7、试用申请成功通知
+				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.probation_apply_success, date, url);
+				break;
+			case 8:  //8、订单支付成功
+				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.probation_pay_success, date, url);
+				break;
+			case 9:  //9、订单关闭成功
+				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.probation_shut_down, date, url);
+				break;
+			case 10:  //10、奖品领取通知 
+				WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.prize_receive_push, date, url);
+				break;
+			default: 
+				break;
+			}
+			result = true;
+			return  result;
+		}
+		
+		public static void main(String[] args) {
+			String date = "{'first':{'color':'#173177', 'value':'尊敬的客户您好~您的订单已发货~'}, 'order_id':{'color':'#173177','value':'1009145345B11792L'}, 'package_id':{'color':'#173177','value':'yuantong:34234234'}, 'remark':{'color':'#173177', 'value':'点击进入商城查看-->>'}}";
+			String openId = "o-icas0dRzE7WYAEAmcX4BQCUyFo";
+			String appId = "wxd995fb95b97ece1b";// 应用ID
+			String appSecret = "34922854462fba23cf54ce859349fcf4";// 应用密钥
+			
+			WeixinUtil.sendTemplateMessage(appId, appSecret, openId, "744KA1PdB1I5PzRcjtxqbEz5t2bp8vdsi4I2ytW1rbE", date, "xx");
+			System.out.println("发送成功");
+		}
+		
+		/**
+		 * 试用进度提醒推送
+		 * @param first  标题
+		 * @param keyword1	商品名称
+		 * @param keyword2	订单编号
+		 * @param keyword3	申请时间
+		 * @param keyword4	截止时间
+		 * @param remark	全部内容
+		 * @param openId	用户openid
+		 * @param url	地址
+		 */
+		public void probationPush(String first,String keyword1,String keyword2,String keyword3,String keyword4,String remark,String openId,String url){
+			String temp = ResultInfo.PROBATIONPUSH;
+			temp = temp.replaceFirst("firstValueIamberry", first)
+					.replaceFirst("keyword1Value",keyword1)
+					.replaceFirst("keyword2Value",keyword2)
+					.replaceFirst("keyword3Value",keyword3)
+					.replaceFirst("keyword4Value",keyword4)
+					.replaceFirst("remarkValue",remark);
+				sendTemplateMessageToOpenid(temp, openId, url,5);
+				temp = ResultInfo.PROBATIONPUSH;
+		}
+		
+		/**
+		 * 试用开始通知
+		 * @param first 标题
+		 * @param keyword1	商品信息
+		 * @param keyword2	申请时间
+		 * @param remark	全部内容
+		 * @param openId	用户openid
+		 * @param url	地址
+		 */
+		public void probationApplyNotice(String first,String keyword1,String keyword2,String remark,String openId,String url){
+			String temp = ResultInfo.PROBATIONAPPLYNOTICE;
+			temp = temp.replaceFirst("firstValueIamberry", first)
+					.replaceFirst("keyword1Value",keyword1)
+					.replaceFirst("keyword2Value",keyword2)
+					.replaceFirst("remarkValue",remark);
+				sendTemplateMessageToOpenid(temp, openId, url,6);
+		}
+		/**
+		 * 派送成功通知
+		 * @param first  标题
+		 * @param keyword1	申请单号
+		 * @param keyword2	申请时间
+		 * @param keyword3	应付金额
+		 * @param keyword4	应付积分
+		 * @param keyword5	支付方式
+		 * @param remark	全部内容
+		 * @param openId	用户openid
+		 * @param url	地址
+		 */
+		public void probationApplySuccess(String first,String keyword1,String keyword2,String keyword3,String keyword4,String keyword5,String remark,String openId,String url){
+			String temp = ResultInfo.PROBATIONAPPLYSUCCESS;
+			temp = temp.replaceFirst("firstValueIamberry", first)
+					.replaceFirst("keyword1Value",keyword1)
+					.replaceFirst("keyword2Value",keyword2)
+					.replaceFirst("keyword3Value",keyword3)
+					.replaceFirst("keyword4Value",keyword4)
+					.replaceFirst("keyword5Value",keyword5)
+					.replaceFirst("remarkValue",remark);
+				sendTemplateMessageToOpenid(temp, openId, url,7);
+		}
+		/**
+		 * 试用订单支付成功
+		 * @param first  标题
+		 * @param keyword1	支付金额
+		 * @param keyword2	商品信息
+		 * @param remark	全部内容
+		 * @param openId	用户openid
+		 * @param url	地址
+		 */
+		public void probationPaySuccess(String first,String keyword1,String keyword2,String remark,String openId,String url){
+			String temp = ResultInfo.PROBATIONPAYSUCCESS;
+			temp = temp.replaceFirst("firstValueIamberry", first)
+					.replaceFirst("orderMoneySumValue",keyword1)
+					.replaceFirst("orderProductNameValue",keyword2)
+					.replaceFirst("remarkValue",remark);
+			sendTemplateMessageToOpenid(temp, openId, url,8);
+		}
+		/**
+		 * 试用订单关闭成功
+		 * @param first  标题
+		 * @param keyword1	支付金额
+		 * @param keyword2	商品信息
+		 * @param remark	全部内容
+		 * @param openId	用户openid
+		 * @param url	地址
+		 */
+		public void probationShutDown(String first,String transid,String fee,String pay_time,String remark,String openId,String url){
+			String temp = ResultInfo.PROBATIONSHUTDOWN;
+			temp = temp.replaceFirst("firstValueIamberry", first)
+					.replaceFirst("transidValue",transid)
+					.replaceFirst("feeValue",fee)
+					.replaceFirst("pay_timeValue",pay_time)
+					.replaceFirst("remarkValue",remark);
+			sendTemplateMessageToOpenid(temp, openId, url,9);
+		}
+		
+		/**
+		 * 推荐人领取通知
+		 * @param first  标题
+		 * @param keyword1	被推荐人
+		 * @param keyword2	消费商家
+		 * @param keyword3	消费金额
+		 * @param keyword4	消费时间
+		 * @param keyword4	推荐奖励
+		 * @param remark	全部内容
+		 * @param openId	用户openid
+		 * @param url	跳转地址
+		 */
+		public void prizeReceivePush(String first,String keyword1,String keyword2,String keyword3,String keyword4,String keyword5,String remark,String openId,String url){
+			String temp = ResultInfo.PRIZERECEIVEPUSH;
+			temp = temp.replaceFirst("firstValueIamberry", first)
+					.replaceFirst("keyword1Value",keyword1)
+					.replaceFirst("keyword2Value",keyword2)
+					.replaceFirst("keyword3Value",keyword3)
+					.replaceFirst("keyword4Value",keyword4)
+					.replaceFirst("keyword5Value",keyword5)
+					.replaceFirst("remarkValue",remark);
+				sendTemplateMessageToOpenid(temp, openId, url,10);
+		}
+}