Commit f038a8e5 authored by 周健威's avatar 周健威

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

parents 31158925 7a4d4c0e
...@@ -7,9 +7,9 @@ import lombok.Data; ...@@ -7,9 +7,9 @@ import lombok.Data;
@Data @Data
public class PageParam { public class PageParam {
@ApiModelProperty("当前页码") @ApiModelProperty("当前页码")
Integer page; Integer page = 1;
@ApiModelProperty("每页限制") @ApiModelProperty("每页限制")
Integer limit; Integer limit = 10;
public Query initQuery() { public Query initQuery() {
return new Query(this); return new Query(this);
......
...@@ -22,9 +22,9 @@ ACCESSKEYSECRET=OCKDEiwKGjePCZgPeWMEUFGwGbKYLA ...@@ -22,9 +22,9 @@ ACCESSKEYSECRET=OCKDEiwKGjePCZgPeWMEUFGwGbKYLA
TEMPLATECODE=SMS_170070101 TEMPLATECODE=SMS_170070101
SIGNNAME=\u6EF4\u623F\u8F66 SIGNNAME=\u6EF4\u623F\u8F66
#\u5FAE\u4FE1\u652F\u4ED8\u914D\u7F6E #\u5FAE\u4FE1\u652F\u4ED8\u914D\u7F6E
WINXIN_AppID=wx425608b69a34736f WINXIN_AppID=wx2e6ea283e99db7bf
WINXIN_PARTNER_KEY=xxfcXXDfangche74upyuns3AD4334533 WINXIN_PARTNER_KEY=fas4d6f54as4d6f4a5s6df45asd4f6as
WINXIN_PARTNER=1539689201 WINXIN_PARTNER=1604632763
#邮件配置 #邮件配置
mail.fromMail.addr=1367272022@qq.com mail.fromMail.addr=1367272022@qq.com
...@@ -50,12 +50,12 @@ weixinHost=chwtest.upyuns.com ...@@ -50,12 +50,12 @@ weixinHost=chwtest.upyuns.com
APICLIENT_CERT=D:\\cert\\1514583081_20181017_cert.p12 APICLIENT_CERT=D:\\cert\\1514583081_20181017_cert.p12
#\u652F\u4ED8\u5B9D\u914D\u7F6E #\u652F\u4ED8\u5B9D\u914D\u7F6E
ALIPAY_APPID=2021002117657130 ALIPAY_APPID=2021002105612008
ALIPAY_PID=9339653044 ALIPAY_PID=2088231782582000
#\u652F\u4ED8\u5B9D\u516C\u94A5 #\u652F\u4ED8\u5B9D\u516C\u94A5
ALIPAY_PUBLIC_KEY=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjpxnKpGrzPGAo4re3ijxKLJoajMGI6ywCHoiKvADGZnuPlbYdZ4bV/qIYTiMSnjMfHKnRtfdeFBWvEpAdV0bMFZi9d/5eCsvLF/GCzgvAzLrjiJltc/fRA4xXXELjmUhQc14x7s80hbXZ0Ta+zEZOnWj32VEJ92XAHR6rNSG3cdbqphJvcyBv43jozaSKFf59IsfbhxouRL4T0VMYn7kijXpPgz2/wivIh5zffw4rlHtlYLYZNSLtXEjG1onoS6QmH/i1QuqbeMVUFPCyN7snCN6FXJ4PzQ4E9x5JfOiUlqde9PYaLSCZ9KEJodk9fW+sqwetJYfDCQKtjtmr3aTCwIDAQAB ALIPAY_PUBLIC_KEY=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsNKvomBS4ZfJXY/cO03z7ocy86/L3dR7YMftKOiVlQXZQc3gBLVCYtcI6T3+haom+xx1UMEz1p3FtFZiZuq+wxbok9XsYPpjoMH+R4QHe8wjyIbR5m73veJWtSe+WGTWrIkOnbuOc+n+ZD8Fv4A5XDRvnTLV1dm+Ax2d7pkAUyNc3lvAs8pkYMszQ3pqxacL66x1EjG7AM0lNW2QuRPPoJKUwrCCgdBQA3Gpyp1led4WYpy4RGnJAtSyzKU1elPXeGqGtwAfS+DnetOKOMVndWfSqZuEwzEP0ZdT8FgEcLqn+1xgMVIPMJ2GuLEekOuPQeq2wAsuYC5DpQ8CJqRXKQIDAQAB
ALIPAY_ACOUNT=843295884@qq.com ALIPAY_ACOUNT=hjingyou@upyuns.com
ALIPAY_PRIVATE_KEY=MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCFVL6YIDBFIoEgCyJ+41yoMj/lIVrnhaugunvoLM4oXhUG4ZZbXexJS12dOzUerXHa+edEfCRUj6rbGh341UjQ7OJHSn7jG7OUYO70/1RH8GDboaNxQuuct9PvicQ/cv2X0NRkVo2q2lzt+XA7wYG5uEm1dwPlavDtfLzg/YWRjbIvgHcSF8NIYh7yYBRQ3vUITnCDoQl4hiVU712VYDuAcHt7LEM6o6BWwO14iV8p3C00XDDxpTv3p2CSi8KaSNgQQd9w1Zi2ma8YQ/L+Liek0FujeI16O/ixZdDMgX1dL65/afuRTikNAQ3fiVrvJ3thKBIVbFPwAXrRliNzWiABAgMBAAECggEALhNzKi81fy7FYMV4TlFUG+wBmLVGLOxMu2a2my2gsOKScaZTx49VsJ6S41sqqEdYKUxjV49vHqnnaYBFC1DpsQmryOc9ok5YaNZ2vcPe5F11m3DogqOVuLruSsFZSHP8nxJT07j1jC2aH8MrvfrJUd0V29gdSJMEX43T2AzEs9+7CFiR96pRoUi49c7F9Ot/I0WjEFav7CphElVPhSLNT8WPlBHbCKFe3ptEDKDs3n/HcPrURrHHGA++caCbjJzAPqIlVUWQyFtKj1W5RKyU+6CT9yqxCE+n6bq+r07qWqsSxkiSiF6G/6umlIHnvpR8txDmLFUfSzvmP1t3V8uAAQKBgQDSSzzaAYw3N3eoor9GxbOVwmNwVg8fl0cdtCvcHQjt8C89S98x/rF1O06ZV0dsWnSZWMKz7TuXhZhgfZ+IX8vBiq1BF7zbEqS8uRFCLBgHL6CXN/jkF85LZI4sqXJCr20mAeedh1dvc9+HIOC7B/AnvSlXEIpzjRPIOshM5zsEwQKBgQCiT0oZIN0wPdTqQW8dnt29VN/8w8AHU7OIEnMBID0NJmwc45jbCkBkzNdOWAAZs1HOztLZsCgEXkSkAtkWuM/0e5tD7V1lrZYlV97EapJD0ADXDQRoJwKEl5iEpR8JBCWrprTRDUwvoFXQK4ceULJznJthzGsatUWTiSFROHGrQQKBgQDCswAbA5XTRZqW2l9n4gE8Jaa1SihkYkZonPiCqasryNWj1cxG2H1qgcdqt2EcU79ifsh9l6Y1ym3i4ExFEhRvE7sG6jhjSCaXyGzPLE3u0UzI1PyuCdBpAyeS+CsezJasutS7h6QPP2P0Ex+eamISGNPelSTqiPKIzsvGT8vXwQKBgCCbaTlvHsCIS3PcPWRn/AgDOxRehv9x00ls22nIfjtcErAjERxADPuzIzX7+9kt6ytu5XESMJfgEE4avF4SNsTY6DJXR0IcA2PxKTGwbz3sVZ7eYJpD6/+TLPLI8VkwWhkH3p942mte/J5bgEOY1qDfP2AAXyv4asfe7rCQdFWBAoGANtz6clweodb6YQ0fYpZs5WXDyN3A23dgPPA2LgdofbiBdbHB3t7MwyJrxuPBVsAQZSWWkpJZy67gZqp1BtofOzfDUuzR0usDyDWtkhYQIukztShGRZWNj7nLhqQenO+5YJx47NgFZVADYLx1+bp4Ft8Wk5a0xftFUFK9B8G5AmI= ALIPAY_PRIVATE_KEY=MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCMAEco0Ev98cCPxPtsSIEVrPa9828K112l4hG2Nk+G2CnFgku9EuIQUTP2wf6YJKAR1F5mfXnEcX2LURjhuvaudhIq8Eh4veiaKvGhVOdOc2w5GIhYptaV4VKopJNgOVmn7EMl0TGIkAP31sBJpXph7maS/lk+q86uE+tW5CfnQG3s2Znt8sNA/3vaArSbndENgDsWxNAwDERBxxaQ0A4MLTF4dNJ5ignfJ+dPCf9hl/dH2rNofrorLBNrCxuuzZUa2hx5Iq+Btbrfimx/RpT7L4Dqo8Fymo7uh5tZTpKYlpNfjuVoPR0buGGmW18wzCbFKYtieW5JimgUOvHdgCDbAgMBAAECggEAVhotqYpB0lKGbWVmg/gre5s+vSAkYPSHYeghoIDSdEoplpFF52jfo81tOguhewy7bXvA+yOcahaqca5UsS99W1q+Xa4dxDR4A6j5ppFDGNqf6pWN9YfWXaOQZKujAAEFhOMngPChmC2KYziuVhzxoZ0vdKP9Wy/rEuCpUm1LpUrstOxwhxDcwFviPXeinWYq8OU4K7xCcNU5P6tBTwhagA44rdZfJr9uP4/gXC4lDzY/vHD14H0qgAKm/mWW+2E3MqUnbOMAzig8cVK3rIWA0lwcRtqELpDczMGE1dXKhhU1u7iDFhnse/vGVwPErJmUs41gKGQjG2d7ZjFj8XAhcQKBgQDfpYPldV4JwgVJKt9HJXXRYaf+ppVAvObglcKiV61PD3HYOxrGYiMW+g9r1E0aZjl4cp05CEsVFufrOH8xnLD8Z6axvDam0HI15Am6nOWhulXBb7FSNyWKMl0rE+Fzzv6+GRKby2thfq1YCNhlr7rqm03tyMgUGM8eDaH/P4/D3wKBgQCgQQ1kKrquidWPKjEBoidjBqf4pl+QLfs3J9QgUbfEDZV6EDmCTzo0ANZ6nYPWlLwVdWsXg2HGdGgWQSAsRY6QAxyw7vsqO7SIXTsaOujwJ5qpZYmnsH6JdOAhMAFcJJXKA8TKRoxIZkESxN1BbNsC11b//3dHNxrL7UnVa6xihQKBgQCKJxCHGi1xEa16OUWcCYPyR8UjBXyFdSuZ6GlHJ6ojgILu8/PiQJU0iFwmXAsVF7jAsux0Yq8e4/t3znqkBws9oDnU6VNJUNJ8f9WStYEUmqqGx5xeETrbV6k+BxXqGCA9Bff8zXgTzdD+5NfoWNm6Ox20mace4wRuqDU+G+GPOQKBgHDigiFeLBSIyWPIz66b3+zUonv4DncMvNp0duuxRKaY/wN17FzLnG9Ha84BqP391aO0C5ULmlNmam/KvnQRJ0RwvMQyA8ETP6+TJO/sMWwCKeNLwDTckbYYG02leD/FEbK1BumJ2oWhahNjk4vjtz8AG6vG8+m5emnOI+VvrIXVAoGAZk4TT1aKYr+I949Txot19x4cum9BLJnVIst7BqY3xFRcR35TS/x3mvZ0Ui75QwgeeU9I6Ns65y0g/MRz8VjJ5XQeI5PAK575sy2UTMClt3ep1X6vgLdl12g9qkiljN7mWUv4su+X+k+8zYDUcWm17KsGVNg+WrUAdRoWbkZUGW8=
#ALIPAY_APPID=2016100100641990 #ALIPAY_APPID=2016100100641990
#ALIPAY_PID=2088102178153042 #ALIPAY_PID=2088102178153042
#ALIPAY_PUBLIC_KEY=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA47AID6hZLPRBUZ9sZT6PYuif6ii+W6OptEMhDCWaDNZsknK8eW2w3I3b57+/vtV8WMulBopvjIpOgIVooDLxZCiiDtymauNvGu7WkqTu1TSJ/brPphMjU0sWl5XyE4NcMpLZoQALCXd3b7AQP3K4vco8wcxBwdjj9Es6LB19iLnUPXK5LPPTvPR+nVihtnP6Bw2gFQZWCAALti6q9HT7c77agsPO6CGyx6dLoO9IFLFME+E2BvVVKbrdzHBl2yhLLTeT7wWFs35tAlFfX9vj7cFH/cozMJUdw0PyxtpDuBJGwu4XhYWD5O5YcuNGxbuPRMTAPwqCjvQ0q474gi9R6QIDAQAB #ALIPAY_PUBLIC_KEY=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA47AID6hZLPRBUZ9sZT6PYuif6ii+W6OptEMhDCWaDNZsknK8eW2w3I3b57+/vtV8WMulBopvjIpOgIVooDLxZCiiDtymauNvGu7WkqTu1TSJ/brPphMjU0sWl5XyE4NcMpLZoQALCXd3b7AQP3K4vco8wcxBwdjj9Es6LB19iLnUPXK5LPPTvPR+nVihtnP6Bw2gFQZWCAALti6q9HT7c77agsPO6CGyx6dLoO9IFLFME+E2BvVVKbrdzHBl2yhLLTeT7wWFs35tAlFfX9vj7cFH/cozMJUdw0PyxtpDuBJGwu4XhYWD5O5YcuNGxbuPRMTAPwqCjvQ0q474gi9R6QIDAQAB
......
...@@ -26,6 +26,11 @@ ...@@ -26,6 +26,11 @@
<version>2.0-rscp-SNAPSHOT</version> <version>2.0-rscp-SNAPSHOT</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>com.tencentcloudapi</groupId>
<artifactId>tencentcloud-sdk-java</artifactId>
<version>4.0.11</version><!-- 注:这里只是示例版本号,请获取并替换为 最新的版本号 -->
</dependency>
<dependency> <dependency>
<groupId>com.aliyun</groupId> <groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId> <artifactId>aliyun-java-sdk-core</artifactId>
......
...@@ -166,9 +166,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> { ...@@ -166,9 +166,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
orderPay.setStatus(1); orderPay.setStatus(1);
orderPay.setSerialNumber(serialNumber); orderPay.setSerialNumber(serialNumber);
int num = mapper.updateByExampleSelective(orderPay, example); int num = mapper.updateByExampleSelective(orderPay, example);
if (num > 0) { websiteFeign.updateOrderStatus(new OrderInfo(){{setOrderNo(orderPay.getOrderNo());setPayStatus(2);}});
websiteFeign.updateOrderStatus(new OrderInfo(){{setOrderNo(orderPay.getOrderNo());setPayStatus(2);}});
}
} }
/** /**
...@@ -239,7 +237,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> { ...@@ -239,7 +237,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
AlipayClient alipayClient = getAlipayClient(); AlipayClient alipayClient = getAlipayClient();
//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
try { try {
return preCreate(alipayClient, orderPayVo, notifyUrl); return pagePay(alipayClient, orderPayVo, notifyUrl);
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
; ;
...@@ -320,6 +318,117 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> { ...@@ -320,6 +318,117 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
return null; return null;
} }
public String pagePay(AlipayClient alipayClient, OrderPayVo orderPayVo, String notifyUrl) {
AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
request.setBizContent("{" +
"\"out_trade_no\":\"20150320010101001\"," +
"\"product_code\":\"FAST_INSTANT_TRADE_PAY\"," +
"\"total_amount\":88.88," +
"\"subject\":\"Iphone6 16G\"," +
"\"body\":\"Iphone6 16G\"," +
"\"time_expire\":\"2016-12-31 10:05:01\"," +
" \"goods_detail\":[{" +
" \"goods_id\":\"apple-01\"," +
"\"alipay_goods_id\":\"20010001\"," +
"\"goods_name\":\"ipad\"," +
"\"quantity\":1," +
"\"price\":2000," +
"\"goods_category\":\"34543238\"," +
"\"categories_tree\":\"124868003|126232002|126252004\"," +
"\"body\":\"特价手机\"," +
"\"show_url\":\"http://www.alipay.com/xxx.jpg\"" +
" }]," +
"\"passback_params\":\"merchantBizType%3d3C%26merchantBizNo%3d2016010101111\"," +
"\"extend_params\":{" +
"\"sys_service_provider_id\":\"2088511833207846\"," +
"\"hb_fq_num\":\"3\"," +
"\"hb_fq_seller_percent\":\"100\"," +
"\"industry_reflux_info\":\"{\\\\\\\"scene_code\\\\\\\":\\\\\\\"metro_tradeorder\\\\\\\",\\\\\\\"channel\\\\\\\":\\\\\\\"xxxx\\\\\\\",\\\\\\\"scene_data\\\\\\\":{\\\\\\\"asset_name\\\\\\\":\\\\\\\"ALIPAY\\\\\\\"}}\"," +
"\"card_type\":\"S0JP0000\"" +
" }," +
"\"goods_type\":\"0\"," +
"\"timeout_express\":\"90m\"," +
"\"promo_params\":\"{\\\"storeIdType\\\":\\\"1\\\"}\"," +
"\"royalty_info\":{" +
"\"royalty_type\":\"ROYALTY\"," +
" \"royalty_detail_infos\":[{" +
" \"serial_no\":1," +
"\"trans_in_type\":\"userId\"," +
"\"batch_no\":\"123\"," +
"\"out_relation_id\":\"20131124001\"," +
"\"trans_out_type\":\"userId\"," +
"\"trans_out\":\"2088101126765726\"," +
"\"trans_in\":\"2088101126708402\"," +
"\"amount\":0.1," +
"\"desc\":\"分账测试1\"," +
"\"amount_percentage\":\"100\"" +
" }]" +
" }," +
"\"sub_merchant\":{" +
"\"merchant_id\":\"2088000603999128\"," +
"\"merchant_type\":\"alipay: 支付宝分配的间连商户编号, merchant: 商户端的间连商户编号\"" +
" }," +
"\"merchant_order_no\":\"20161008001\"," +
"\"enable_pay_channels\":\"pcredit,moneyFund,debitCardExpress\"," +
"\"store_id\":\"NJ_001\"," +
"\"disable_pay_channels\":\"pcredit,moneyFund,debitCardExpress\"," +
"\"qr_pay_mode\":\"1\"," +
"\"qrcode_width\":100," +
"\"settle_info\":{" +
" \"settle_detail_infos\":[{" +
" \"trans_in_type\":\"cardAliasNo\"," +
"\"trans_in\":\"A0001\"," +
"\"summary_dimension\":\"A0001\"," +
"\"settle_entity_id\":\"2088xxxxx;ST_0001\"," +
"\"settle_entity_type\":\"SecondMerchant、Store\"," +
"\"amount\":0.1" +
" }]," +
"\"settle_period_time\":\"7d\"" +
" }," +
"\"invoice_info\":{" +
"\"key_info\":{" +
"\"is_support_invoice\":true," +
"\"invoice_merchant_name\":\"ABC|003\"," +
"\"tax_num\":\"1464888883494\"" +
" }," +
"\"details\":\"[{\\\"code\\\":\\\"100294400\\\",\\\"name\\\":\\\"服饰\\\",\\\"num\\\":\\\"2\\\",\\\"sumPrice\\\":\\\"200.00\\\",\\\"taxRate\\\":\\\"6%\\\"}]\"" +
" }," +
"\"agreement_sign_params\":{" +
"\"personal_product_code\":\"GENERAL_WITHHOLDING_P\"," +
"\"sign_scene\":\"INDUSTRY|CARRENTAL\"," +
"\"external_agreement_no\":\"test\"," +
"\"external_logon_id\":\"13852852877\"," +
"\"sign_validity_period\":\"2m\"," +
"\"third_party_type\":\"PARTNER\"," +
"\"buckle_app_id\":\"1001164\"," +
"\"buckle_merchant_id\":\"268820000000414397785\"," +
"\"promo_params\":\"{\\\"key\\\",\\\"value\\\"}\"" +
" }," +
"\"integration_type\":\"PCWEB\"," +
"\"request_from_url\":\"https://\"," +
"\"business_params\":\"{\\\"data\\\":\\\"123\\\"}\"," +
"\"ext_user_info\":{" +
"\"name\":\"李明\"," +
"\"mobile\":\"16587658765\"," +
"\"cert_type\":\"IDENTITY_CARD\"," +
"\"cert_no\":\"362334768769238881\"," +
"\"min_age\":\"18\"," +
"\"fix_buyer\":\"F\"," +
"\"need_check_info\":\"F\"" +
" }" +
" }");
try {
log.info("{}", JSONObject.toJSONString(request));
AlipayTradePagePayResponse response = alipayClient.pageExecute(request);
//获取需提交的form表单
log.info("网页支付:{}", response.getBody());
return response.getBody();
} catch (AlipayApiException e) {
log.error(e.getMessage(), e);
}
return null;
}
//预授权冻结 //预授权冻结
public String fundAuthOrderAppFreeze(AlipayClient alipayClient, OrderPayVo orderPayVo, String notifyUrl) throws AlipayApiException { public String fundAuthOrderAppFreeze(AlipayClient alipayClient, OrderPayVo orderPayVo, String notifyUrl) throws AlipayApiException {
...@@ -694,9 +803,11 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> { ...@@ -694,9 +803,11 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
if (orderPay == null) { if (orderPay == null) {
return ObjectRestResponse.paramIsEmpty(); return ObjectRestResponse.paramIsEmpty();
} }
OrderPay old = selectOne(orderPay); Example example = new Example(OrderPay.class);
example.createCriteria().andEqualTo("orderNo", orderPay.getOrderNo());
OrderPay old = mapper.selectOneByExample(example);
if (old == null) { if (old == null) {
return ObjectRestResponse.paramIsEmpty(); return ObjectRestResponse.createDefaultFail();
} }
old.setStatus(1); old.setStatus(1);
updateSelectiveByIdRe(old); updateSelectiveByIdRe(old);
......
...@@ -11,8 +11,14 @@ import com.aliyuncs.profile.IClientProfile; ...@@ -11,8 +11,14 @@ import com.aliyuncs.profile.IClientProfile;
import com.github.wxiaoqi.security.common.util.RandomUtil; import com.github.wxiaoqi.security.common.util.RandomUtil;
import com.github.wxiaoqi.security.common.util.process.SystemConfig; import com.github.wxiaoqi.security.common.util.process.SystemConfig;
import com.github.wxiaoqi.security.common.util.result.JsonResultUtil; import com.github.wxiaoqi.security.common.util.result.JsonResultUtil;
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.sms.v20190711.SmsClient;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.regex.Matcher; import java.util.regex.Matcher;
...@@ -22,6 +28,10 @@ import java.util.regex.Pattern; ...@@ -22,6 +28,10 @@ import java.util.regex.Pattern;
@Service @Service
@Slf4j @Slf4j
public class SmsService { public class SmsService {
@Autowired
TencentSmsService tencentSmsService;
//产品名称:云通信短信API产品,开发者无需替换 //产品名称:云通信短信API产品,开发者无需替换
static final String product = "Dysmsapi"; static final String product = "Dysmsapi";
//产品域名,开发者无需替换 //产品域名,开发者无需替换
...@@ -41,12 +51,9 @@ public class SmsService { ...@@ -41,12 +51,9 @@ public class SmsService {
public JSONObject smsCode(String mobile){ public JSONObject smsCode(String mobile){
String code = RandomUtil.getRandomStr(6);// 6位短信验证码 String code = RandomUtil.getRandomStr(6);// 6位短信验证码
try { try {
if(StringUtils.isNotBlank(mobile)){ tencentSmsService.sendSms(mobile, code);
mobile=mobile.replace(" ", "");
}
code=sendSms(mobile,code);
return JsonResultUtil.createSuccessResultWithObj(code); return JsonResultUtil.createSuccessResultWithObj(code);
} catch (ClientException e) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
return JsonResultUtil.createDefaultFail(); return JsonResultUtil.createDefaultFail();
} }
...@@ -276,42 +283,5 @@ public class SmsService { ...@@ -276,42 +283,5 @@ public class SmsService {
return true; return true;
} }
public static void main(String[] args) throws ClientException, InterruptedException {
SmsService smsService=new SmsService();
//发短信
String[] params={"1","2","3","2019-08-29","【松山湖】"};
SmsService.sendTemplateToJson("13612688539",params,"SMS_169904346");
/*System.out.println("短信接口返回的数据----------------");
System.out.println("Code=" + response.getCode());
System.out.println("Message=" + response.getMessage());
System.out.println("RequestId=" + response.getRequestId());
System.out.println("BizId=" + response.getBizId());*//*
Thread.sleep(3000L);
/*
//查明细
if(response.getCode() != null && response.getCode().equals("OK")) {
QuerySendDetailsResponse querySendDetailsResponse = querySendDetails(response.getBizId());
System.out.println("短信明细查询接口返回数据----------------");
System.out.println("Code=" + querySendDetailsResponse.getCode());
System.out.println("Message=" + querySendDetailsResponse.getMessage());
int i = 0;
for(QuerySendDetailsResponse.SmsSendDetailDTO smsSendDetailDTO : querySendDetailsResponse.getSmsSendDetailDTOs())
{
System.out.println("SmsSendDetailDTO["+i+"]:");
System.out.println("Content=" + smsSendDetailDTO.getContent());
System.out.println("ErrCode=" + smsSendDetailDTO.getErrCode());
System.out.println("OutId=" + smsSendDetailDTO.getOutId());
System.out.println("PhoneNum=" + smsSendDetailDTO.getPhoneNum());
System.out.println("ReceiveDate=" + smsSendDetailDTO.getReceiveDate());
System.out.println("SendDate=" + smsSendDetailDTO.getSendDate());
System.out.println("SendStatus=" + smsSendDetailDTO.getSendStatus());
System.out.println("Template=" + smsSendDetailDTO.getTemplateCode());
}
System.out.println("TotalCount=" + querySendDetailsResponse.getTotalCount());
System.out.println("RequestId=" + querySendDetailsResponse.getRequestId());
}*/
}
} }
package com.upyuns.platform.rs.universal.service;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.sms.v20190711.SmsClient;
import com.tencentcloudapi.sms.v20190711.models.SendSmsRequest;
import com.tencentcloudapi.sms.v20190711.models.SendSmsResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* @ClassName : TencentSmsService
* @Description : 腾讯云短信服务
* @Author : jiaoruizhen
* @Date: 2020-12-29 14:39
*/
@Service
@Slf4j
public class TencentSmsService {
public ObjectRestResponse sendSms(String phone, String message) {
try{
Credential cred = new Credential("AKIDkfPxIRmqxlgOuDv2XVKgqtlII6waAzPe", "FZhqmqjOQGtJl1PehXD8uhJ1ItHSTH7o");
HttpProfile httpProfile = new HttpProfile();
httpProfile.setEndpoint("sms.tencentcloudapi.com");
ClientProfile clientProfile = new ClientProfile();
clientProfile.setHttpProfile(httpProfile);
SmsClient client = new SmsClient(cred, "", clientProfile);
String params = "{\"PhoneNumberSet\":[\"+86"+ phone +"\"],\"TemplateID\":\"365123\",\"Sign\":\"中科光启\",\"TemplateParamSet\":[\""+message+"\"],\"SmsSdkAppid\":\"1400227859\"}";
SendSmsRequest req = SendSmsRequest.fromJsonString(params, SendSmsRequest.class);
SendSmsResponse resp = client.SendSms(req);
return ObjectRestResponse.succ(resp);
} catch (TencentCloudSDKException e) {
System.out.println(e.toString());
}
return ObjectRestResponse.succ();
}
public static void main(String [] args) {
}
}
package com.upyuns.platform.rs.website.dto;
import com.github.wxiaoqi.security.common.vo.PageParam;
import lombok.Data;
/**
* @ClassName : NoticeInfoDto
* @Description : 通知信息
* @Author : jiaoruizhen
* @Date: 2020-12-29 09:14
*/
@Data
public class NoticeInfoDto extends PageParam {
Integer userId;
Integer read;
String ids;
}
...@@ -15,6 +15,9 @@ public class UserOrderDto extends PageParam { ...@@ -15,6 +15,9 @@ public class UserOrderDto extends PageParam {
//订单状态:1--创建订单,2--待付款,3--已支付,4--已发货,5--已完成 -1、删除,-2、取消 //订单状态:1--创建订单,2--待付款,3--已支付,4--已发货,5--已完成 -1、删除,-2、取消
Integer status; Integer status;
//订单状态:1--创建订单,2--待付款,3--已支付,4--已发货,5--已完成 -1、删除,-2、取消
Integer newStatus;
//商品名称 //商品名称
String name; String name;
......
package com.upyuns.platform.rs.website.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 通知信息
*
* @author zjw
* @email jiaoruizhen@126.com
* @date 2020-12-28 14:12:25
*/
@Data
@Table(name = "notice_info")
public class NoticeInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@ApiModelProperty("")
private Integer id;
/**
* 消息
*/
@Column(name = "message")
@ApiModelProperty(value = "消息")
private String message;
/**
* 类型
*/
@Column(name = "type")
@ApiModelProperty(value = "类型")
private Integer type;
/**
* 是否已读:1、未读,2、已读
*/
@Column(name = "is_read")
@ApiModelProperty(value = "是否已读:1、未读,2、已读")
private Integer isRead;
/**
* 是否删除:0、否,1、是
*/
@Column(name = "is_del")
@ApiModelProperty(value = "是否删除:0、否,1、是")
private Integer isDel;
/**
* 用户ID
*/
@Column(name = "user_id")
@ApiModelProperty(value = "用户ID")
private Integer userId;
/**
*
*/
@Column(name = "crt_time")
@ApiModelProperty(value = "", hidden = true )
private Date crtTime;
/**
*
*/
@Column(name = "upd_time")
@ApiModelProperty(value = "", hidden = true )
private Date updTime;
/**
* 关联ID
*/
private String relationId;
}
...@@ -232,6 +232,16 @@ public class OrderInfo implements Serializable { ...@@ -232,6 +232,16 @@ public class OrderInfo implements Serializable {
*/ */
String payImg; String payImg;
/**
* 审核状态: 1、审核通过,2、审核拒绝
*/
Integer auditStatus;
/**
* 审核理由
*/
String auditReason;
@Transient @Transient
private List<OrderItem> orderItemList; private List<OrderItem> orderItemList;
......
package com.upyuns.platform.rs.website.type;
/**
* @ClassName : NoticeTypeEnum
* @Description : 通知类型
* @Author : jiaoruizhen
* @Date: 2020-12-24 14:32
*/
public enum NoticeTypeEnum {
ORDER_INFO(1, "订单信息"),
SYSTEM_INFO(2, "系统信息"),
OTHER_INFO(3, "其他信息");
private Integer type;
private String msg;
NoticeTypeEnum(Integer type, String msg) {
this.type = type;
this.msg = msg;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public static <T extends NoticeTypeEnum> String getType(Integer code, Class<T> t) {
for (T item : t.getEnumConstants()) {
if (item.getType().equals(code)) {
return item.getMsg();
}
}
return "";
}
public static NoticeTypeEnum getByCode(Integer code) {
for (NoticeTypeEnum v : values()) {
if (v.getType() == code) {
return v;
}
}
return null;
}
public static String getProductStatusEnum(Integer code) {
return getType(code, NoticeTypeEnum.class);
}
}
...@@ -126,7 +126,14 @@ public class ImageImgStorageBiz extends BaseBiz<ImageImgStorageMapper,ImageImgSt ...@@ -126,7 +126,14 @@ public class ImageImgStorageBiz extends BaseBiz<ImageImgStorageMapper,ImageImgSt
} }
ImageImgStorage imageImgStorage = selectById(id); ImageImgStorage imageImgStorage = selectById(id);
if (imageImgStorage == null) { if (imageImgStorage == null) {
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, ResultCode.getMsg(ResultCode.NOTEXIST_CODE)); ImageInfoRelation imageInfoRelation = imageInfoRelationBiz.selectById(id);
if (imageInfoRelation == null) {
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, ResultCode.getMsg(ResultCode.NOTEXIST_CODE));
}
imageImgStorage = selectById(imageInfoRelation.getRelationId());
if (imageImgStorage == null) {
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, ResultCode.getMsg(ResultCode.NOTEXIST_CODE));
}
} }
List<ImageInfoRelation> imageInfoRelationList = imageInfoRelationBiz.getAllById(id, 1); List<ImageInfoRelation> imageInfoRelationList = imageInfoRelationBiz.getAllById(id, 1);
if (imageInfoRelationList != null) { if (imageInfoRelationList != null) {
......
...@@ -123,6 +123,22 @@ public class IndustryApplicationInfoBiz extends BaseBiz<IndustryApplicationInfoM ...@@ -123,6 +123,22 @@ public class IndustryApplicationInfoBiz extends BaseBiz<IndustryApplicationInfoM
return mapper.selectByExample(example); return mapper.selectByExample(example);
} }
/**
* 根据参数查询行业应用信息
* @param industryApplicationInfo
* @return
*/
public List<IndustryApplicationInfo> getAllByParam(IndustryApplicationInfo industryApplicationInfo) {
Example example = new Example(IndustryApplicationInfo.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("isDel", 0).andEqualTo("status", 1);
if (industryApplicationInfo.getFirstTypeId() != null) {
criteria.andEqualTo("firstTypeId", industryApplicationInfo.getFirstTypeId()).orEqualTo("secondTypeId", industryApplicationInfo.getFirstTypeId());
}
return mapper.selectByExample(example);
}
/** /**
* 获取所有行业应用 * 获取所有行业应用
* @return * @return
......
...@@ -111,9 +111,10 @@ public class IndustryApplicationTypeBiz extends BaseBiz<IndustryApplicationTypeM ...@@ -111,9 +111,10 @@ public class IndustryApplicationTypeBiz extends BaseBiz<IndustryApplicationTypeM
return ObjectRestResponse.succ(industryTypeVo); return ObjectRestResponse.succ(industryTypeVo);
} }
BeanUtil.copyProperties(industryApplicationType, industryTypeVo, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true)); BeanUtil.copyProperties(industryApplicationType, industryTypeVo, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
List<IndustryApplicationInfo> industryApplicationInfoList = industryApplicationInfoBiz.selectList(new IndustryApplicationInfo(){{ List<IndustryApplicationInfo> industryApplicationInfoList = industryApplicationInfoBiz.getAllByParam(new IndustryApplicationInfo(){{
setIsDel(0); setIsDel(0);
setStatus(1); setStatus(1);
setFirstTypeId(industryApplicationType.getId());
}}); }});
if (industryApplicationInfoList != null && industryApplicationInfoList.size() > 0) { if (industryApplicationInfoList != null && industryApplicationInfoList.size() > 0) {
industryTypeVo.setIndustryApplicationInfoList(industryApplicationInfoList); industryTypeVo.setIndustryApplicationInfoList(industryApplicationInfoList);
...@@ -121,4 +122,6 @@ public class IndustryApplicationTypeBiz extends BaseBiz<IndustryApplicationTypeM ...@@ -121,4 +122,6 @@ public class IndustryApplicationTypeBiz extends BaseBiz<IndustryApplicationTypeM
return ObjectRestResponse.succ(industryTypeVo); return ObjectRestResponse.succ(industryTypeVo);
} }
} }
\ No newline at end of file
package com.upyuns.platform.rs.website.biz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.upyuns.platform.rs.website.dto.NoticeInfoDto;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import com.upyuns.platform.rs.website.entity.NoticeInfo;
import com.upyuns.platform.rs.website.mapper.NoticeInfoMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import tk.mybatis.mapper.entity.Example;
import java.util.Date;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
* 通知信息
*
* @author zjw
* @email jiaoruizhen@126.com
* @date 2020-12-28 14:12:25
*/
@Service
public class NoticeInfoBiz extends BaseBiz<NoticeInfoMapper,NoticeInfo> {
public void addObj(String message, Integer type, Integer userId, String relationId) {
insertSelectiveRe(new NoticeInfo(){{setMessage(message); setType(type); setUserId(userId); setRelationId(relationId); setCrtTime(new Date());setUpdTime(new Date());}});
}
/**
* 查询用户所有通知信息
* @param noticeInfoDto
* @return
*/
public ObjectRestResponse getByUserId(NoticeInfoDto noticeInfoDto) {
Example example = new Example(NoticeInfo.class);
Example.Criteria criteria = example.createCriteria();
if (noticeInfoDto.getRead() != null) {
criteria.andEqualTo("isRead", noticeInfoDto.getRead());
}
criteria.andEqualTo("userId", noticeInfoDto.getUserId());
example.orderBy("isRead");
Query query = new Query(noticeInfoDto);
PageDataVO<NoticeInfo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.selectByExample(example));
return ObjectRestResponse.succ(pageDataVO);
}
public ObjectRestResponse deleteOne(Integer id) {
if (id == null) {
return ObjectRestResponse.paramIsEmpty();
}
NoticeInfo noticeInfo = selectById(id);
if (noticeInfo == null || noticeInfo.getIsDel() == 1) {
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, ResultCode.getMsg(ResultCode.NOTEXIST_CODE));
}
noticeInfo.setIsDel(1);
updateSelectiveByIdRe(noticeInfo);
return ObjectRestResponse.succ();
}
/**
* 设置为已读
* @param id
* @return
*/
public ObjectRestResponse updateRead(Integer id) {
if (id == null) {
return ObjectRestResponse.paramIsEmpty();
}
NoticeInfo noticeInfo = selectById(id);
if (noticeInfo == null || noticeInfo.getIsDel() == 1) {
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, ResultCode.getMsg(ResultCode.NOTEXIST_CODE));
}
noticeInfo.setIsRead(2);
updateSelectiveByIdRe(noticeInfo);
return ObjectRestResponse.succ();
}
/**
* 设置为已读
* @param ids
* @return
*/
public ObjectRestResponse updateAllRead(String ids) {
if (StringUtils.isBlank(ids)) {
return ObjectRestResponse.paramIsEmpty();
}
String[] arr = ids.split(",");
if (arr == null) {
return ObjectRestResponse.paramIsEmpty();
}
for (String id : arr) {
updateRead(Integer.parseInt(id));
}
return ObjectRestResponse.succ();
}
public ObjectRestResponse updateAll(NoticeInfoDto noticeInfoDto) {
Example example = new Example(NoticeInfo.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("isRead", 1);
criteria.andEqualTo("userId", noticeInfoDto.getUserId());
List<NoticeInfo> list = mapper.selectByExample(example);
if (list != null && list.size() > 0) {
list.parallelStream().forEach(noticeInfo -> {
noticeInfo.setIsRead(2);
updateSelectiveByIdRe(noticeInfo);
});
}
return ObjectRestResponse.succ();
}
}
\ No newline at end of file
...@@ -28,6 +28,7 @@ import com.upyuns.platform.rs.website.type.*; ...@@ -28,6 +28,7 @@ import com.upyuns.platform.rs.website.type.*;
import com.upyuns.platform.rs.website.vo.ItemInfoVo; import com.upyuns.platform.rs.website.vo.ItemInfoVo;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.regexp.RE; import org.apache.regexp.RE;
import org.joda.time.DateTime;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -89,6 +90,9 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> { ...@@ -89,6 +90,9 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> {
@Autowired @Autowired
CustomFormBiz customFormBiz; CustomFormBiz customFormBiz;
@Autowired
NoticeInfoBiz noticeInfoBiz;
/** /**
* 添加订单 * 添加订单
* *
...@@ -156,6 +160,9 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> { ...@@ -156,6 +160,9 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> {
if (userOrderDto.getStatus() != null) { if (userOrderDto.getStatus() != null) {
orderInfoCriteria.andEqualTo("status", userOrderDto.getStatus()); orderInfoCriteria.andEqualTo("status", userOrderDto.getStatus());
} }
if (userOrderDto.getNewStatus() != null) {
orderInfoCriteria.andEqualTo("status", userOrderDto.getNewStatus());
}
if (userOrderDto.getPayStatus() != null) { if (userOrderDto.getPayStatus() != null) {
orderInfoCriteria.andEqualTo("payStatus", userOrderDto.getPayStatus()); orderInfoCriteria.andEqualTo("payStatus", userOrderDto.getPayStatus());
} }
...@@ -171,6 +178,7 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> { ...@@ -171,6 +178,7 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> {
.orLike("phone", "%" + userOrderDto.getKeywords() + "%") .orLike("phone", "%" + userOrderDto.getKeywords() + "%")
.orLike("orderNo", "%" + userOrderDto.getKeywords() + "%"); .orLike("orderNo", "%" + userOrderDto.getKeywords() + "%");
} }
orderInfoCriteria.andNotEqualTo("status", -1); orderInfoCriteria.andNotEqualTo("status", -1);
example.orderBy("updTime").desc(); example.orderBy("updTime").desc();
PageDataVO<OrderInfo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.selectByExample(example)); PageDataVO<OrderInfo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.selectByExample(example));
...@@ -379,14 +387,7 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> { ...@@ -379,14 +387,7 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> {
orderInfo.setRemark(orderInfoDto.getRemark()); orderInfo.setRemark(orderInfoDto.getRemark());
orderInfo.setAmount(new BigDecimal(amount.get())); orderInfo.setAmount(new BigDecimal(amount.get()));
orderInfo.setNumber(number.get()); orderInfo.setNumber(number.get());
Dictionary dictionary = thirdFeign.findDictionaryByTypeAndCode(DictionaryKey.APP_ORDER, DictionaryKey.SEND_FEE); orderInfo.setTotalAmount(orderInfo.getAmount());
if (dictionary != null && StringUtils.isNotBlank(dictionary.getDetail())) {
orderInfo.setFee(new BigDecimal(dictionary.getDetail()));
}
if (orderInfo.getFee() != null) {
orderInfo.setTotalAmount(orderInfo.getAmount().add(orderInfo.getFee()));
}
//订单发票信息 //订单发票信息
if (orderInfoDto.getUserInvoiceId() != null) { if (orderInfoDto.getUserInvoiceId() != null) {
UserInvoice userInvoice = userInvoiceBiz.selectById(orderInfoDto.getUserInvoiceId()); UserInvoice userInvoice = userInvoiceBiz.selectById(orderInfoDto.getUserInvoiceId());
...@@ -408,6 +409,13 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> { ...@@ -408,6 +409,13 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> {
orderEInvoiceBiz.addUpdate(orderEInvoice); orderEInvoiceBiz.addUpdate(orderEInvoice);
orderInfo.setInvoiceStatus(2); orderInfo.setInvoiceStatus(2);
orderInfo.setInvoiceId(orderEInvoice.getId()); orderInfo.setInvoiceId(orderEInvoice.getId());
Dictionary dictionary = thirdFeign.findDictionaryByTypeAndCode(DictionaryKey.APP_ORDER, DictionaryKey.SEND_FEE);
if (dictionary != null && StringUtils.isNotBlank(dictionary.getDetail())) {
orderInfo.setFee(new BigDecimal(dictionary.getDetail()));
}
if (orderInfo.getFee() != null) {
orderInfo.setTotalAmount(orderInfo.getAmount().add(orderInfo.getFee()));
}
} }
} }
...@@ -424,7 +432,9 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> { ...@@ -424,7 +432,9 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> {
orderItemBiz.insertSelective(orderItem); orderItemBiz.insertSelective(orderItem);
} }
}); });
return ObjectRestResponse.succ(); //添加通知信息
noticeInfoBiz.addObj("订单" + orderInfo.getOrderNo() + "已创建,待支付", NoticeTypeEnum.ORDER_INFO.getType(), appUserDTO.getUserid(), String.valueOf(orderInfo.getOrderId()));
return ObjectRestResponse.succ(orderInfo);
} }
/** /**
...@@ -470,6 +480,8 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> { ...@@ -470,6 +480,8 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> {
orderInfo.setTrackingNumber(confirmReceivedDto.getTrackingNumber()); orderInfo.setTrackingNumber(confirmReceivedDto.getTrackingNumber());
orderInfo.setTrackingImg(confirmReceivedDto.getTrackingImg()); orderInfo.setTrackingImg(confirmReceivedDto.getTrackingImg());
updateSelectiveByIdRe(orderInfo); updateSelectiveByIdRe(orderInfo);
//添加通知信息
noticeInfoBiz.addObj("订单" + orderInfo.getOrderNo() + "已发货", NoticeTypeEnum.ORDER_INFO.getType(), orderInfo.getUserId(), String.valueOf(orderInfo.getOrderId()));
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
...@@ -497,6 +509,9 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> { ...@@ -497,6 +509,9 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> {
orderInfo.setInvoiceStatus(OrderInvoiceStatusEnum.INVOICE_OPEN.getType()); orderInfo.setInvoiceStatus(OrderInvoiceStatusEnum.INVOICE_OPEN.getType());
updateSelectiveByIdRe(orderInfo); updateSelectiveByIdRe(orderInfo);
//添加通知信息
noticeInfoBiz.addObj("订单" + orderInfo.getOrderNo() + "已开票", NoticeTypeEnum.ORDER_INFO.getType(), orderInfo.getUserId(), String.valueOf(orderInfo.getOrderId()));
} else { } else {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "订单未开票"); return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "订单未开票");
} }
...@@ -532,7 +547,8 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> { ...@@ -532,7 +547,8 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> {
orderInfo.setInvoiceStatus(OrderInvoiceStatusEnum.INVOICE_SEND.getType()); orderInfo.setInvoiceStatus(OrderInvoiceStatusEnum.INVOICE_SEND.getType());
updateSelectiveByIdRe(orderInfo); updateSelectiveByIdRe(orderInfo);
//添加通知信息
noticeInfoBiz.addObj("订单" + orderInfo.getOrderNo() + "发票已发货", NoticeTypeEnum.ORDER_INFO.getType(), orderInfo.getUserId(), String.valueOf(orderInfo.getOrderId()));
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
...@@ -656,6 +672,9 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> { ...@@ -656,6 +672,9 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> {
if (StringUtils.isNotBlank(userOrderDto.getName())) { if (StringUtils.isNotBlank(userOrderDto.getName())) {
orderInfoCriteria.andLike("realName", "%" + userOrderDto.getName() + "%"); orderInfoCriteria.andLike("realName", "%" + userOrderDto.getName() + "%");
} }
if (userOrderDto.getNewStatus() != null) {
orderInfoCriteria.andEqualTo("status", userOrderDto.getNewStatus());
}
if (StringUtils.isNotBlank(userOrderDto.getKeywords())) { if (StringUtils.isNotBlank(userOrderDto.getKeywords())) {
orderInfoCriteria.andLike("realName", "%" + userOrderDto.getKeywords() + "%") orderInfoCriteria.andLike("realName", "%" + userOrderDto.getKeywords() + "%")
.orLike("realName", "%" + userOrderDto.getKeywords() + "%") .orLike("realName", "%" + userOrderDto.getKeywords() + "%")
...@@ -714,6 +733,8 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> { ...@@ -714,6 +733,8 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> {
customForm.setAuditStatus(customFormDto.getAuditStatus()); customForm.setAuditStatus(customFormDto.getAuditStatus());
customForm.setAmount(customFormDto.getAmount()); customForm.setAmount(customFormDto.getAmount());
customFormBiz.updateSelectiveByIdRe(customForm); customFormBiz.updateSelectiveByIdRe(customForm);
//添加通知信息
noticeInfoBiz.addObj(DateTime.now().toString("yyyy-MM-dd") + " 有定制需求已被审核确认,生成订单" + orderInfo.getOrderNo() + ",待支付", NoticeTypeEnum.ORDER_INFO.getType(), appUserDTO.getUserid(), String.valueOf(orderInfo.getOrderId()));
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} else { } else {
customForm.setAuditStatus(customFormDto.getAuditStatus()); customForm.setAuditStatus(customFormDto.getAuditStatus());
...@@ -967,10 +988,11 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> { ...@@ -967,10 +988,11 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> {
if (orderInfo == null) { if (orderInfo == null) {
return JsonResultUtil.createFailedResult(ResultCode.ORDER_NOT_EXIST, ResultCode.getMsg(ResultCode.ORDER_NOT_EXIST)); return JsonResultUtil.createFailedResult(ResultCode.ORDER_NOT_EXIST, ResultCode.getMsg(ResultCode.ORDER_NOT_EXIST));
} }
orderInfo.setPayType(orderPayVo.getPayType()); orderInfo.setPayType(orderPayVo.getPayWay());
orderInfo.setPayTime(new Date()); orderInfo.setPayTime(new Date());
orderInfo.setPayStatus(1); orderInfo.setPayStatus(1);
updateSelectiveByIdRe(orderInfo); updateSelectiveByIdRe(orderInfo);
orderPayVo.setAmount(orderInfo.getTotalAmount().multiply(new BigDecimal(100)).intValue());
orderPayVo.setBuyerIp(StringUtils.defaultIfBlank(request.getHeader("userHost"), ClientUtil.getClientIp(request))); orderPayVo.setBuyerIp(StringUtils.defaultIfBlank(request.getHeader("userHost"), ClientUtil.getClientIp(request)));
return thirdFeign.wx(orderPayVo); return thirdFeign.wx(orderPayVo);
} }
...@@ -989,9 +1011,12 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> { ...@@ -989,9 +1011,12 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> {
if (old == null) { if (old == null) {
return ObjectRestResponse.createFailedResult(ResultCode.ORDER_NOT_EXIST, ResultCode.getMsg(ResultCode.ORDER_NOT_EXIST)); return ObjectRestResponse.createFailedResult(ResultCode.ORDER_NOT_EXIST, ResultCode.getMsg(ResultCode.ORDER_NOT_EXIST));
} }
old.setStatus(orderInfo.getPayStatus()); old.setStatus(OrderStatusEnum.ORDER_SEND.getType());
old.setPayStatus(2);
old.setPayTime(new Date()); old.setPayTime(new Date());
updateSelectiveByIdRe(old); updateSelectiveByIdRe(old);
//添加通知信息
noticeInfoBiz.addObj("订单" + orderInfo.getOrderNo() + "已支付,待发货", NoticeTypeEnum.ORDER_INFO.getType(), orderInfo.getUserId(), String.valueOf(orderInfo.getOrderId()));
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
...@@ -1002,16 +1027,18 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> { ...@@ -1002,16 +1027,18 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> {
* @return * @return
*/ */
public ObjectRestResponse payByCompanyBank(OrderInfo orderInfo) { public ObjectRestResponse payByCompanyBank(OrderInfo orderInfo) {
if (orderInfo == null || StringUtils.isBlank(orderInfo.getOrderNo())) { if (orderInfo == null || StringUtils.isBlank(orderInfo.getOrderNo()) || orderInfo.getAuditStatus() == null) {
return ObjectRestResponse.createFailedResult(ResultCode.PARAM_ILLEGAL_CODE, ResultCode.getMsg(ResultCode.PARAM_ILLEGAL_CODE)); return ObjectRestResponse.createFailedResult(ResultCode.PARAM_ILLEGAL_CODE, ResultCode.getMsg(ResultCode.PARAM_ILLEGAL_CODE));
} }
OrderInfo old = getOneByOrderNo(orderInfo.getOrderNo()); OrderInfo old = getOneByOrderNo(orderInfo.getOrderNo());
if (old == null) { if (old == null) {
return ObjectRestResponse.createFailedResult(ResultCode.ORDER_NOT_EXIST, ResultCode.getMsg(ResultCode.ORDER_NOT_EXIST)); return ObjectRestResponse.createFailedResult(ResultCode.ORDER_NOT_EXIST, ResultCode.getMsg(ResultCode.ORDER_NOT_EXIST));
} }
old.setPayImg(orderInfo.getPayImg()); old.setPayImg(orderInfo.getPayImg());
old.setPayTime(new Date()); old.setPayCode(orderInfo.getPayCode());
updateSelectiveByIdRe(old); old.setPayType(3);
old.setPayTime(new Date());
updateSelectiveByIdRe(old);
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
...@@ -1029,13 +1056,20 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> { ...@@ -1029,13 +1056,20 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> {
if (old == null) { if (old == null) {
return ObjectRestResponse.createFailedResult(ResultCode.ORDER_NOT_EXIST, ResultCode.getMsg(ResultCode.ORDER_NOT_EXIST)); return ObjectRestResponse.createFailedResult(ResultCode.ORDER_NOT_EXIST, ResultCode.getMsg(ResultCode.ORDER_NOT_EXIST));
} }
old.setStatus(OrderStatusEnum.ORDER_PAID.getType()); if (orderInfo.getAuditStatus() == 1) {
old.setPayStatus(2); old.setPayImg(orderInfo.getPayImg());
old.setPayTime(new Date()); old.setPayCode(orderInfo.getPayCode());
updateSelectiveByIdRe(old); old.setPayType(3);
return thirdFeign.updateStatus(new OrderPay() {{ old.setPayTime(new Date());
old.getOrderNo(); old.setAuditStatus(1);
}}); old.setStatus(OrderStatusEnum.ORDER_SEND.getType());
updateSelectiveByIdRe(old);
} else {
old.setAuditStatus(2);
old.setAuditReason(orderInfo.getAuditReason());
updateSelectiveByIdRe(old);
}
return ObjectRestResponse.succ();
} }
} }
\ No newline at end of file
...@@ -14,6 +14,7 @@ import com.upyuns.platform.rs.datacenter.pojo.ImageDataVO; ...@@ -14,6 +14,7 @@ import com.upyuns.platform.rs.datacenter.pojo.ImageDataVO;
import com.upyuns.platform.rs.website.dto.CartOrderDto; import com.upyuns.platform.rs.website.dto.CartOrderDto;
import com.upyuns.platform.rs.website.dto.OrderInfoDto; import com.upyuns.platform.rs.website.dto.OrderInfoDto;
import com.upyuns.platform.rs.website.entity.*; import com.upyuns.platform.rs.website.entity.*;
import com.upyuns.platform.rs.website.type.NoticeTypeEnum;
import com.upyuns.platform.rs.website.type.OrderTypeEnum; import com.upyuns.platform.rs.website.type.OrderTypeEnum;
import com.upyuns.platform.rs.website.vo.ItemInfoVo; import com.upyuns.platform.rs.website.vo.ItemInfoVo;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -62,6 +63,9 @@ public class ShoppingCartInfoBiz extends BaseBiz<ShoppingCartInfoMapper, Shoppin ...@@ -62,6 +63,9 @@ public class ShoppingCartInfoBiz extends BaseBiz<ShoppingCartInfoMapper, Shoppin
@Autowired @Autowired
DatacenterFeign datacenterFeign; DatacenterFeign datacenterFeign;
@Autowired
NoticeInfoBiz noticeInfoBiz;
/** /**
* 添加购物车 * 添加购物车
* *
...@@ -140,6 +144,8 @@ public class ShoppingCartInfoBiz extends BaseBiz<ShoppingCartInfoMapper, Shoppin ...@@ -140,6 +144,8 @@ public class ShoppingCartInfoBiz extends BaseBiz<ShoppingCartInfoMapper, Shoppin
shoppingCartInfo.setPhone(appUserDTO.getUsername()); shoppingCartInfo.setPhone(appUserDTO.getUsername());
shoppingCartInfo.setUserId(appUserDTO.getUserid()); shoppingCartInfo.setUserId(appUserDTO.getUserid());
addUpdate(shoppingCartInfo); addUpdate(shoppingCartInfo);
//添加通知信息
noticeInfoBiz.addObj("商品" + shoppingCartInfo.getName() + "已添加购物车", NoticeTypeEnum.ORDER_INFO.getType(), shoppingCartInfo.getUserId(), String.valueOf(shoppingCartInfo.getCartId()));
} }
} else { } else {
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, ResultCode.getMsg(ResultCode.NOTEXIST_CODE)); return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, ResultCode.getMsg(ResultCode.NOTEXIST_CODE));
...@@ -171,6 +177,9 @@ public class ShoppingCartInfoBiz extends BaseBiz<ShoppingCartInfoMapper, Shoppin ...@@ -171,6 +177,9 @@ public class ShoppingCartInfoBiz extends BaseBiz<ShoppingCartInfoMapper, Shoppin
shoppingCartInfo.setPhone(appUserDTO.getUsername()); shoppingCartInfo.setPhone(appUserDTO.getUsername());
shoppingCartInfo.setUserId(appUserDTO.getUserid()); shoppingCartInfo.setUserId(appUserDTO.getUserid());
addUpdate(shoppingCartInfo); addUpdate(shoppingCartInfo);
//添加通知信息
noticeInfoBiz.addObj("商品" + shoppingCartInfo.getName() + "已添加购物车", NoticeTypeEnum.ORDER_INFO.getType(), shoppingCartInfo.getUserId(), String.valueOf(shoppingCartInfo.getCartId()));
} }
} else { } else {
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, ResultCode.getMsg(ResultCode.NOTEXIST_CODE)); return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, ResultCode.getMsg(ResultCode.NOTEXIST_CODE));
...@@ -202,6 +211,9 @@ public class ShoppingCartInfoBiz extends BaseBiz<ShoppingCartInfoMapper, Shoppin ...@@ -202,6 +211,9 @@ public class ShoppingCartInfoBiz extends BaseBiz<ShoppingCartInfoMapper, Shoppin
shoppingCartInfo.setPhone(appUserDTO.getUsername()); shoppingCartInfo.setPhone(appUserDTO.getUsername());
shoppingCartInfo.setUserId(appUserDTO.getUserid()); shoppingCartInfo.setUserId(appUserDTO.getUserid());
addUpdate(shoppingCartInfo); addUpdate(shoppingCartInfo);
//添加通知信息
noticeInfoBiz.addObj("商品" + shoppingCartInfo.getName() + "已添加购物车", NoticeTypeEnum.ORDER_INFO.getType(), shoppingCartInfo.getUserId(), String.valueOf(shoppingCartInfo.getCartId()));
} }
} else { } else {
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, ResultCode.getMsg(ResultCode.NOTEXIST_CODE)); return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, ResultCode.getMsg(ResultCode.NOTEXIST_CODE));
......
...@@ -62,7 +62,8 @@ public class WebConfiguration implements WebMvcConfigurer { ...@@ -62,7 +62,8 @@ public class WebConfiguration implements WebMvcConfigurer {
"/customForm/**", "/customForm/**",
"/shoppingCartInfo/**", "/shoppingCartInfo/**",
"/orderInfo/**", "/orderInfo/**",
"/feedback/**" "/feedback/**",
"/noticeInfo/**"
}; };
Collections.addAll(list, urls); Collections.addAll(list, urls);
return list; return list;
......
package com.upyuns.platform.rs.website.controller;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.upyuns.platform.rs.website.biz.NoticeInfoBiz;
import com.upyuns.platform.rs.website.entity.NoticeInfo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("noticeInfo")
public class NoticeInfoController extends BaseController<NoticeInfoBiz,NoticeInfo> {
}
\ No newline at end of file
package com.upyuns.platform.rs.website.controller.web;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.upyuns.platform.rs.website.biz.NoticeInfoBiz;
import com.upyuns.platform.rs.website.dto.NoticeInfoDto;
import com.upyuns.platform.rs.website.entity.NoticeInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("noticeInfo/web")
public class NoticeInfoWebController extends BaseController<NoticeInfoBiz,NoticeInfo> implements UserRestInterface {
@Autowired
UserFeign userFeign;
@Override
public UserFeign getUserFeign() {
return userFeign;
}
@GetMapping(value = "getAllByUser")
public ObjectRestResponse getUserList(NoticeInfoDto noticeInfoDto) {
noticeInfoDto.setUserId(Integer.parseInt(getCurrentUserId()));
return baseBiz.getByUserId(noticeInfoDto);
}
@DeleteMapping(value = "deleteOne")
public ObjectRestResponse deleteOne(Integer id) {
return baseBiz.deleteOne(id);
}
@PostMapping(value = "updateRead")
public ObjectRestResponse updateRead(NoticeInfo noticeInfo) {
return baseBiz.updateRead(noticeInfo.getId());
}
@PostMapping(value = "updateAllRead")
public ObjectRestResponse updateAllRead(@RequestBody NoticeInfoDto noticeInfoDto) {
return baseBiz.updateAllRead(noticeInfoDto.getIds());
}
@PostMapping(value = "updateAll")
public ObjectRestResponse updateAll(@RequestBody NoticeInfoDto noticeInfoDto) {
noticeInfoDto.setUserId(Integer.parseInt(getCurrentUserId()));
return baseBiz.updateAll(noticeInfoDto);
}
}
\ No newline at end of file
...@@ -40,8 +40,8 @@ public class OrderInfoWebController extends BaseController<OrderInfoBiz,OrderInf ...@@ -40,8 +40,8 @@ public class OrderInfoWebController extends BaseController<OrderInfoBiz,OrderInf
} }
@GetMapping(value = "detail") @GetMapping(value = "detail")
public ObjectRestResponse getDetail(Long id) { public ObjectRestResponse getDetail(Long orderId) {
return ObjectRestResponse.succ(baseBiz.getOrderDetail(id)); return ObjectRestResponse.succ(baseBiz.getOrderDetail(orderId));
} }
@GetMapping(value = "confirmReceived") @GetMapping(value = "confirmReceived")
......
package com.upyuns.platform.rs.website.mapper;
import com.upyuns.platform.rs.website.entity.NoticeInfo;
import tk.mybatis.mapper.common.Mapper;
/**
* 通知信息
*
* @author zjw
* @email jiaoruizhen@126.com
* @date 2020-12-28 14:12:25
*/
public interface NoticeInfoMapper extends Mapper<NoticeInfo> {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.upyuns.platform.rs.website.mapper.NoticeInfoMapper">
</mapper>
\ No newline at end of file
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