| package com.matrix; | 
|   | 
| import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
| import com.matrix.component.rabbitmq.RabiitMqTemplate; | 
| import com.matrix.component.wechat.externalInterface.weixinUtil.WeixinServiceUtil; | 
| import com.matrix.config.RabbitMqConfig; | 
| import com.matrix.core.tools.StringUtils; | 
| import com.matrix.system.fenxiao.dao.ShopSalesmanApplyDao; | 
| import com.matrix.system.hive.bean.*; | 
| import com.matrix.system.hive.dao.*; | 
| import com.matrix.system.hive.service.CodeService; | 
| import com.matrix.system.shopXcx.mqTask.MQTaskRouting; | 
| import com.matrix.system.shopXcx.vo.SalesmanVo; | 
| import org.junit.Test; | 
| import org.junit.runner.RunWith; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.boot.test.context.SpringBootTest; | 
| import org.springframework.test.annotation.Rollback; | 
| import org.springframework.test.context.junit4.SpringRunner; | 
| import org.springframework.transaction.annotation.Transactional; | 
|   | 
| import javax.sql.DataSource; | 
| import java.math.BigDecimal; | 
| import java.util.List; | 
|   | 
| /** | 
|  * 测试类示例 | 
|  *  | 
|  * @author jiangyouyao | 
|  * @email 512061637@qq.com | 
|  * @date 2019年2月25日 | 
|  */ | 
| @RunWith(SpringRunner.class) | 
| @SpringBootTest(classes = {ZqErpApplication.class},webEnvironment =SpringBootTest.WebEnvironment.RANDOM_PORT) | 
| public class SourceFlowTests { | 
|   | 
|     @Autowired | 
|     DataSource dataSource; | 
|   | 
|     @Test | 
|     public void contextLoads() { | 
|         System.out.println(dataSource.getClass()); | 
|     } | 
|   | 
|   | 
|     @Autowired | 
|     private SysSourceFlowDao sysSourceFlowDao; | 
|   | 
|     @Autowired | 
|     private ShoppingGoodsDao shoppingGoodsDao; | 
|   | 
|   | 
|     @Autowired | 
|     private SysVipInfoDao vipInfoDao; | 
|   | 
|     @Autowired | 
|     RabiitMqTemplate rabiitMqTemplate; | 
| @Autowired | 
| WeixinServiceUtil weixinServiceUtil; | 
|   | 
|     /** | 
|      * 企业付款到个人 | 
|      * @throws InterruptedException | 
|      */ | 
|     @Test | 
|     public void testPay() throws InterruptedException { | 
|         weixinServiceUtil.comPay("提现","TX123",1,"oJkRK4yelehsY4S7I6Ee1ydWtQMI",36L); | 
|     } | 
|   | 
|   | 
|   | 
|     /** | 
|      * 发送订阅消息 | 
|      * @throws InterruptedException | 
|      */ | 
|     @Test | 
|     public void testTopic() throws InterruptedException { | 
|         rabiitMqTemplate.sendTopicMsg(RabbitMqConfig.MQ_EXCHANGE_TOPIC +"dev", MQTaskRouting.CREATE_ORDER+"dev", "123"); | 
|         Thread.sleep(10000); | 
|     } | 
|   | 
|     @Test | 
|     @Transactional | 
|     @Rollback | 
|     public void insertFlow() { | 
|         SysSourceFlow sysSourceFlow=new SysSourceFlow(); | 
|         sysSourceFlow.setCreateBy("1"); | 
|         sysSourceFlow.setUpdateBy("2"); | 
|   | 
|         sysSourceFlowDao.insert(sysSourceFlow); | 
|     } | 
|   | 
|   | 
|     @Test | 
|     @Transactional | 
|     @Rollback(false) | 
|     public void initGoodsPingyin() { | 
|   | 
|         List<ShoppingGoods> shoppingGoods = shoppingGoodsDao.selectByModel(null); | 
|         shoppingGoods.forEach(shoppingGood -> { | 
|             shoppingGood.setZjm(StringUtils.toHanyuPinyin(shoppingGood.getName())+","+StringUtils.toHeadWordHanyuPinyin(shoppingGood.getName())); | 
|             ShoppingGoods s=new ShoppingGoods(); | 
|             s.setId(shoppingGood.getId()); | 
|             s.setZjm(shoppingGood.getZjm()); | 
|             shoppingGoodsDao.update(s); | 
|         }); | 
|   | 
|     } | 
|   | 
|   | 
|     @Test | 
|     @Transactional | 
|     @Rollback(false) | 
|     public void initVipInfoPingyin() { | 
|   | 
|         List<SysVipInfo> vipInfoList = vipInfoDao.selectByModel(null); | 
|         vipInfoList.forEach(sysVipInfo -> { | 
|             if(StringUtils.isNotBlank(sysVipInfo.getVipName())){ | 
|                 String name=  sysVipInfo.getVipName().replaceAll("[\\x{10000}-\\x{10FFFF}]", ""); | 
|                 sysVipInfo.setZjm(StringUtils.toHanyuPinyin(name)+","+StringUtils.toHeadWordHanyuPinyin(name)); | 
|                 SysVipInfo s=new SysVipInfo(); | 
|                 s.setId(sysVipInfo.getId()); | 
|                 s.setZjm(sysVipInfo.getZjm()); | 
|                 vipInfoDao.update(s); | 
|             } | 
|   | 
|         }); | 
|   | 
|     } | 
|   | 
|     @Autowired | 
|     private SysOrderDao sysOrderDao; | 
|   | 
|     @Autowired | 
|     private CodeService codeService; | 
|   | 
|     @Autowired | 
|     private SysOrderItemDao sysOrderItemDao; | 
|   | 
|     @Autowired | 
|     private SysOrderFlowDao sysOrderFlowDao; | 
|   | 
|     /** | 
|      * sysOrderFlowDao.xml insert语句需将createTime和updateTime修改 | 
|      * SysOrderDao.xml insert语句需将update语句中cashPay加上 or cashPay == 0 | 
|      * | 
|      */ | 
|     @Test | 
|     public void orderTransfer() { | 
|         SysOrder query = new SysOrder(); | 
|         query.setStatu("已付款"); | 
|         List<SysOrder> sysOrders = sysOrderDao.selectByModel(query); | 
|   | 
|         for (SysOrder sysOrder : sysOrders) { | 
|             sysOrder.setCashPay(sysOrder.getZkTotal()); | 
|             sysOrder.setCardPay(0D); | 
|             sysOrderDao.update(sysOrder); | 
|   | 
|             List<SysOrderItem> items = sysOrderItemDao.selectByOrderId(sysOrder.getId()); | 
|   | 
|             SysOrderFlow flow = new SysOrderFlow(); | 
|             flow.setFlowNo("F" + sysOrder.getOrderNo().substring(1) + "-" + 1); | 
|             if (items.size() <= 0) { | 
|                 continue; | 
|             } | 
|             Long goodsId = items.get(0).getGoodsId(); | 
|             ShoppingGoods goods = shoppingGoodsDao.selectById(goodsId); | 
|   | 
|             int j = 1; | 
|             boolean flag = false; | 
|             while (goods == null) { | 
|                 if (items.size() <= 1) { | 
|                     flag = true; | 
|                     break; | 
|                 } | 
|                 goodsId = items.get(j).getGoodsId(); | 
|                 goods = shoppingGoodsDao.selectById(goodsId); | 
|                 j++; | 
|                 if (j + 1 >= items.size()) { | 
|                     flag = true; | 
|                     break; | 
|                 } | 
|             } | 
|   | 
|             if (flag) { | 
|                 continue; | 
|             } | 
|   | 
|             flow.setFlowContent(goods.getName().trim() + "等" + items.size() + "件产品"); | 
|             flow.setOrderId(sysOrder.getId()); | 
|             flow.setAmount(BigDecimal.valueOf(sysOrder.getZkTotal())); | 
|             flow.setVipId(sysOrder.getVipId()); | 
|             flow.setFlowType(SysOrderFlow.FLOW_TYPE_BUY); | 
|             flow.setPayMethod("现金"); | 
|             flow.setShopId(sysOrder.getShopId()); | 
|             flow.setCreateTime(sysOrder.getOrderTime()); | 
|             flow.setUpdateTime(sysOrder.getOrderTime()); | 
|             flow.setCompanyId(sysOrder.getCompanyId()); | 
|             sysOrderFlowDao.insert(flow); | 
|         } | 
|     } | 
|   | 
|     @Autowired | 
|     private ShopSalesmanApplyDao salesmanApplyDao; | 
|   | 
|   | 
|   | 
| } |