From 58a0fb9a75b732a445c187768855e728d745830d Mon Sep 17 00:00:00 2001 From: winter Date: Sun, 17 Mar 2024 21:13:39 +0800 Subject: [PATCH] fix --- .../market/WxSettleMerchantController.java | 77 ++++++++++ .../db/migration/V20240300001_settle.sql | 46 ++++++ .../src/main/resources/excel/settle.xlsx | Bin 0 -> 12609 bytes .../iformall/domain/po/WxSettleMerchant.java | 111 ++++++++++++++ .../mapper/WxSettleMerchantMapper.java | 16 ++ .../service/WxSettleMerchantService.java | 41 +++++ .../impl/WxSettleMerchantServiceImpl.java | 143 ++++++++++++++++++ .../com/iformall/utils/ExcelExportUtils.java | 86 +++++++++++ .../mapper/WxSettleMerchantMapper.xml | 114 ++++++++++++++ 9 files changed, 634 insertions(+) create mode 100644 mallinkAdmin/src/main/java/com/iformall/controller/market/WxSettleMerchantController.java create mode 100644 mallinkAdmin/src/main/resources/db/migration/V20240300001_settle.sql create mode 100644 mallinkAdmin/src/main/resources/excel/settle.xlsx create mode 100644 mallinkService/src/main/java/com/iformall/domain/po/WxSettleMerchant.java create mode 100644 mallinkService/src/main/java/com/iformall/mapper/WxSettleMerchantMapper.java create mode 100644 mallinkService/src/main/java/com/iformall/service/WxSettleMerchantService.java create mode 100644 mallinkService/src/main/java/com/iformall/service/impl/WxSettleMerchantServiceImpl.java create mode 100644 mallinkService/src/main/java/com/iformall/utils/ExcelExportUtils.java create mode 100644 mallinkService/src/main/resources/mapper/WxSettleMerchantMapper.xml diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxSettleMerchantController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxSettleMerchantController.java new file mode 100644 index 000000000..032a2797c --- /dev/null +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxSettleMerchantController.java @@ -0,0 +1,77 @@ +package com.iformall.controller.market; + +import com.github.pagehelper.PageInfo; +import com.iformall.annotation.SystemControllerLog; +import com.iformall.annotation.TenantIgnore; +import com.iformall.common.ErrorCode; +import com.iformall.common.ResultData; +import com.iformall.controller.base.BaseController; +import com.iformall.domain.po.WxCUserBasicInfo; +import com.iformall.domain.po.WxSettleMerchant; +import com.iformall.domain.po.base.BaseEntity; +import com.iformall.domain.po.base.TenantEntity; +import com.iformall.exception.MallinkException; +import com.iformall.service.WxSettleMerchantService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("wxSettleMerchant") +@Api(description = "结算表") +public class WxSettleMerchantController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private WxSettleMerchantService wxSettleMerchantService; + + @ApiOperation("分页列表接口") + @GetMapping("list") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + public ResultData list(@ModelAttribute WxSettleMerchant wxSettleMerchant, Integer pageNum, Integer pageSize) { + if (null == wxSettleMerchant) wxSettleMerchant = new WxSettleMerchant(); + wxSettleMerchant.updateTenantInfo(getTenantInfo()); + wxSettleMerchant.setSortColumns(BaseEntity.SortField.CreateDate_DESC); + final PageInfo page = wxSettleMerchantService.listAsPage(wxSettleMerchant, pageNum, pageSize); + return new ResultData(page); + } + + @ApiOperation("新增接口") + @PostMapping("saveOrUpdate") + public ResultData add(@RequestBody WxSettleMerchant wxSettleMerchant) { + wxSettleMerchant.updateTenantInfo(getTenantInfo()); + try { + wxSettleMerchantService.saveOrUpdate(wxSettleMerchant,this.getUser()); + return new ResultData(); + } catch (MallinkException e) { + logger.error(e.getMessage()); + return new ResultData(e.getErrorCode(), e.getMessage()); + } + } + + @TenantIgnore + @ApiOperation("导出") + @GetMapping("/exportData") + public void exportData(@ModelAttribute WxSettleMerchant wxSettleMerchant, HttpServletRequest request, HttpServletResponse response) { + if (null == wxSettleMerchant.getId()) { + return; + } + WxSettleMerchant record = wxSettleMerchantService.getById(getTenantInfo(), wxSettleMerchant.getId()); + if (null == record) { + return; + } + wxSettleMerchantService.exportData(record, request, response); + } + +} diff --git a/mallinkAdmin/src/main/resources/db/migration/V20240300001_settle.sql b/mallinkAdmin/src/main/resources/db/migration/V20240300001_settle.sql new file mode 100644 index 000000000..6bcde5c74 --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V20240300001_settle.sql @@ -0,0 +1,46 @@ +CREATE TABLE `wx_settle_merchant` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(5) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '租户ID', + `parent_tenant_id` varchar(5) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '父租户ID', + `merchant_id` bigint(20) NOT NULL COMMENT '商户编号', + `begin_time` datetime NOT NULL COMMENT '开始时间', + `end_time` datetime NOT NULL COMMENT '结束时间', + `confirm_time` datetime NOT NULL COMMENT '对账时间', + `create_date` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_date` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', + `total_money` decimal(10,3) NOT NULL COMMENT '对账金额', + `actual_money` decimal(10,3) DEFAULT NULL COMMENT '实际结算金额', + `card_sale_money` decimal(10,3) DEFAULT NULL COMMENT '储值卡销售金额', + `card_rate` decimal(10,3) DEFAULT NULL COMMENT '储值卡扣款费率', + `card_money` decimal(10,3) DEFAULT NULL COMMENT '储值卡结算金额', + `zfb_sale_money` decimal(10,3) DEFAULT NULL COMMENT '支付宝销售金额', + `zfb_rate` decimal(10,3) DEFAULT NULL COMMENT '支付宝扣款费率', + `zfb_money` decimal(10,3) DEFAULT NULL COMMENT '支付宝结算金额', + `wx_sale_money` decimal(10,3) DEFAULT NULL COMMENT '微信销售金额', + `wx_rate` decimal(10,3) DEFAULT NULL COMMENT '微信扣款费率', + `wx_money` decimal(10,3) DEFAULT NULL COMMENT '微信结算金额', + `erase_zero_sale_money` decimal(10,3) DEFAULT NULL COMMENT '抹零销售金额', + `erase_zero_rate` decimal(10,3) DEFAULT NULL COMMENT '抹零扣款费率', + `erase_zero_money` decimal(10,3) DEFAULT NULL COMMENT '抹零结算金额', + `cash_sale_money` decimal(10,3) DEFAULT NULL COMMENT '现金销售金额', + `cash_rate` decimal(10,3) DEFAULT NULL COMMENT '现金扣款费率', + `cash_money` decimal(10,3) DEFAULT NULL COMMENT '现金结算金额', + `rent_money` decimal(10,3) DEFAULT NULL COMMENT '租金费用', + `rent_contract_money` decimal(10,3) DEFAULT NULL COMMENT '物业管理费', + `employee_manage_money` decimal(10,3) DEFAULT NULL COMMENT '员工管理费', + `sales_slip_money` decimal(10,3) DEFAULT NULL COMMENT '小票费用', + `salary` decimal(10,3) DEFAULT NULL COMMENT '工资', + `earnest_money` decimal(10,3) DEFAULT NULL COMMENT '保证金', + `other_money` decimal(10,3) DEFAULT NULL COMMENT '其他', + `last_remaining` decimal(10,3) DEFAULT NULL COMMENT '上次未结清', + `merchant_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '商户名称', + `merchant_code` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '商户代码', + `merchant_person` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '商户联系人', + `merchant_phone` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '商户联系电话', + `account_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '收款人名称', + `account_bank` varchar(300) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '开户行', + `account_number` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '收款人账户', + `create_by` bigint(20) NOT NULL COMMENT '创建人', + `update_by` bigint(20) NOT NULL COMMENT '修改人', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='卡券'; diff --git a/mallinkAdmin/src/main/resources/excel/settle.xlsx b/mallinkAdmin/src/main/resources/excel/settle.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..b952843f2d9ee10076263e3db8fd80dc2549a2c3 GIT binary patch literal 12609 zcmeHtWmFx@wl2Zl3GVJraCdhJ1a}V*++7y#?hqV;yR&d75Zn{og4=`abGPK4d&Ye~ z-x#lcbgxlsO4V20vu5@D6lK7`VL@J7i2SDD>;1nP%*zjBJ0nF0J9|e)#TPO3mk#J( zVz+Q^&pdBHK0~W?*m6;A&%?88;>k#*7|x?SF#&rD`uaG$9pTs6SG(x+OZ5 z$3~w5rg=X1Qfs*h*%M5oBho+Gz!dZoP0L4@I7d!TO0x8dgK&1_NzU|(sqPro>P3tJ z21oB&PC`7#-~#Jh8Z+YWxPtug_a5JPIg$L}i6SuGI(Cqps}L(z<*2(N+u&wS2fbI~ z4KB1dv0%&K_RL@JkyyeC`i! z1w;b6*=uVA0@=DOD34C_L*8{&W4RelepJo@HbR@B0}LBIiV&`9<7zp2zLZ|;QN$Y* z83!03k$0Zj)8jbLHssS!rN@~hYe*z#k1E@k{{*`K&D4y-3((RpK%@K}Xd^oZlUJm@ zVijb1nXm><{MT}~S1BwqeT0|%hUF2#X~P?1+Lpp?aN^7x(_K$X340^fUE*%J4qGba z(TS5!c~2N8?#T$oM|xVJj4q_fLm|Q4azx1;+2tlpIL?t`&G0qiFcba3>AUg_T3XTI z#zallmsN29Bi-%@Qd$&F{-)y=!8I7HRLuxDA(nkoCep`gWvPZ^{q)(Oh%n!P33m@$|TLb=Aqn zdUoztuH#B&>cW?-a!ajnv`r}cvCW2?%SL9f9q*^m3s4q^0>q?a+3Bo!E`p6P3_thr zWsCCj4Vw22qQLdiZ$id2H2XYx-$DEn{S5>`YMK}HQC`qT`v>};9G&cJUhyxC6;cRb zLI<8uc!v~SPb<>}Kxje&`dlabn#+g_t;y=h>tr#vTpEq#x4I(;^qv?yuRTu4%QU_P ziwb8w3 z5LUARMQpXztl3;JmtS5%3*`H1v-DBPl3yy9t|%}tMPa})ESM3G_aaH+Uc)&5*4oT@ zX=dH2b{owbw4&}qd{1K>hRG1Lh!Yy-Af?^=Bd@AHhV)-KbUYLF>7wAMYIH2YH3|-v=777ie9re}$NTFM#-m zfQy}jm7}?diPP`lC=+BLkq!z3BpnX~1na-a{!(FnU93c{Z&6De=w6JIK1@Femd^Qm zT>Z^O;OYb?o!r!|#{tMo4&-B;d-K=!n2f1mkA~kuLXus$bYxdLpWS%@x>`$fV-~pm zTNZ4F#UE;`6cmhKp5-od zcFv3v&ijS2N%*A%Pc9Re%`;y+j;p>j+Lgf>&OO2FjG9E$U^4PPM_pFhwCvUpo}_Jw zw(Lr{y=!*dfc)cdtv`G9_ny9!G1tkg)#nBd%9yyhB6yBoUR*{NXf0NA%tP1*Nlo zYt~V2qInL%#mkS4kD#)xga3K|sWv!w}zcc52E+_XLAvJo}4PAnfoDH(Ha$iDodcHXfgnl3j!840Zbp%1)!jl z+@XNCBJSLm0E!La0E>=J1?9U13XW>;mmdX(K1da#l9MCI1%ii3#Kj!>){p|c?M-(A zCB=>qE^m-UZ%Q*jmi5MZn|*>>Q4%D3U|_jk332Id(O4L03#O9bH|1wjH)vBVr<+Ix z*4^m^4BMi(H;%zI4%n%tDT8Fb7KSb5D-1!$hS<2tO40-3<#8evJ+a!GVEAVS?QE6H z&0vLbC`L2y5>jM4M(t%oVY>le+CwQ|XRNx2OQ|pUp91x2JS_pD#BLbV zI|h#tv!FvOMsz^r2`q*qD5 zjids_!Ui_k;pw--alND2qeIi9#=(P0A=( z5N?**prm-7kfuXY<~08iAX7>tTAC|cduTv$o!jGFH*y>&nKxUIJ3&heGjHb24|_uw zEf+PhPsaXJt0tJ=L$P~8*6EF=+olQ`@cT&^QZX@c$H^0Z_>LP)GC7AFt%B{oVo7A;x$tC9+Tr@PZTEXop$QKIXQM#dE%ESG`dzA%6DZ>?}fX8#LI+ zMdZbh6%_G79}#Yz_+`F}aQ5tICCH9;xxPM?z9bmZ=h2JmWx63Z7@bT4ny5P_ZEfXz zU#_HdmR#~bTsZX5M6MiftahD$5NeUMj|iDn@=RS<9tB32_S=@O9a3h!bt!<-ZaEZVz70v|f^Hhdg$bE+IKe^h-A zaS2}VOK%uB;66*T#m!7_uq$i%t`$2VZ2%!axm&;4`~1&LXxsCupyeeKvUu66|A!rx z<#mURj32RGVnP*W>KZYm|0sXz@QtUUxlG5f!+6)%1*)aQ2jKNezr;AG)RJW6Tj?iozcqEcHFVND zksohD#rzS-Pr{ZXk#mo`2V-)#I= zv0K*=z-y)v6Vw%a7Wg?F6m+%F7C!IFC0-Sgg%-Bd?6_UAn!U$bdWBV8ST0U#YVn<6 z-taM6K_%PoiItA@(ZC)PTb$_(h5xZouPYw&sKwdJ=De9fG>shYZKfsqBP*?siasH&rg&iKA zdAMHoGxLj|h544AoAX#|wn9P5WZ^!BnMVO<1o^?1w6IPhZ|iosSOK})?kX5U6xUwY zTA9EZgs9pNHJy$+M{<`RLo#CVpRpTc5>mpqNK2kT|F74Z_5ZK;|Lg1h@3ZaKbN@>^ z?qqIaWAfX%Kk)7z{ssaBq~j$9ydH@D6#FIoE5|<48jHqdNADy(69DY49+Qm$o#(9U zZ}){=mek@K_NSyW0Jsyb#yqWK2=x+VWTHYkF-;!@1q;VGsd0+R~VnK&ZqvX-` zN7_e;xqfQB~oJ~SSh&pMet zndyK&=Zq>k%_OM=YI&0Nv*$5r91)_w1l>|!(oMmlkG5;7u7E$H*<6VrgJcm}=sGm> z@(c_c5*-GH5XYdvXJh;+5x*`OPN`YwYuv%U9z!x5pvZ)eG8;ZziZ;=*&{^@vJP6JF z$4vL)uO%3FY#<0B>qRyFQ_b2{b!l8*K~p87kH>ABmp`2*J;_*cxQvVid_G)fAN)~O zzHu;T+Pb;PKDb_Hbt9uhYpIU+h+}+O&+b|L-a?HBQ8&O)dU_9sJAAlao?QYnhB-e( z*R@?`pPT_WcR;{XgSW?bCz-6OMScyyuXV5JeXbxRxLo5xM0WM*TD#H%7 z*gJS<8yswCBPoX&N=%t*9Y|;j4Qo(xId^fQ%jbjB=Ki$(uu*#vB9JBE?(}pDl|O>Q zE4tVB*7J6(*vIoy>GXc4N{|0(IU1AWDfvX;>9%;{L69o1P>iv|_57fglCk4qyU~u& zV;u?)!P+&OOcVUwsg`{N`Fc7cz>16DbUywEFq9LO3UY;D4j-GR3)fN9tBJxnz$HZF z`SeZI*fCGTl_7t8AM3>>=SN>4V2WaE6+}nFQ48gGVmi#nfxq@+BQp2p*otsT{NgxW zK&6x?jW)CMC~q!RqPf2c9oS{09P^c{OEfZNCD3>?|{9=<~z@2mhy7MdVO-z=_d*;2BPuRKktwm6Gt0FCj7ZJ>YQcc5>iT zV4$o5lZlX7V9@E%^7eXF;?ILg{s#+zqKiH;2dN_dOo>ot+;65c>VUY>kfT_(h8n_9 zYDIJiO4+-0;AjQ%C8C?)-hk5@@q*O#mAE}Fcd^ZM9MS#=z{9}}fi6YW9 zF{U7yXG0Mh0LMe>jVzso;+C(RoMTB%Glw1`A=-7;iSs6N7EVV)jn?gwF$~Y1;sh1@+AyIzu{S9y z$ows-$cGd|5fe;`JvPm+{$;uvbyZebA9;(Ap_{k@X?wtSLer3skt9wXsC{^qY}7sK zPaDfKbS^bUaW{h6KJBXU`Z_L@o)m4aE^PLknJ|=ID%VSj?Kv3h>QZ7{&1Hsza25-j zn1T8$CHVRs3}WtDj|8MAXJ`h5y@$2I;Xcq+vI<7Pod+HX592mn$B9pwB%02kK*Ry9 zje}*}SB9-BQ?z+@N2`C((U#EfrC^L~7&5Q)IFFQyg&JHoRC#5u2p*zLE# z=+0yaN#-ir_?xWSrb-hToI#xvG(a0NMw#Wb+Mo+e79D2UZ8nJPyAi6a78{O$(qxu! z^|T-F4{Y8nC>E41G^4j$U5rC)t82lDZ1rC$)QUY<=s!brL0;#M)NKrZ5-()J7Yw+1 z2LEUNFp`ZWj1Lb2BIE!9g7C*i;ppUMZQ}TvH0*q^iC)sgc#7)tsn+R+5~Xn7Y#Wm= za$+&ED1@k(B_V!O$`ZzE6x&xDr7}h*Oye}tl}C~b8Z;+O*GjVkhOaMVU2om$QzT`^ ze}>6dYAR)35Wh(DvwET95UJAYL?w=VYbPYp~)$sz(3JvXBM%)kBmH59sGy*MSH( z>vGidaEHmuEU#cINbC=$LGu}LH!S9DW}+S{=$`aSX`x#e^N17bFTd@e(7C^>x0<%u zV0UR;({7r< z7iNu>3U(iuWP*TOK-4NS8(4`o)njhG=^y!yw5JCA;0PMo_qLp78_$MhJdqS1T1Gy} z2KVY&#UatEf}k2w>5EfOS6rQ1No@2C>lmvQ0e*v+T4Dj8RN^$dODNwMZ)K(9n4n~> zERn-VL;+ceWuD};E8|c~PInQR)R=LJjQJ!2xh;H@OCYs!=>S#|c)W%jx)hhi!Hfv! zUemndkRC}qjL}eiXFbHO2jQRKdEI=iTB@s{kjMrd{QxzfcPFAHn4X6eNkD@29R zZcArg7#vkQwkuX^7rX$P+hkLj(80C4Hto_P%5CXDBPPV889D918g;0aT~%$Nf*N;v zkBJPY!uR&B@`W;R+^gwblgfmM?L6U@iSQg7qsNHLE1GFs>Kl>kcx&7|e!06?wtbTE zv`h2-I$p-k6UH8Z6j^;k_)C7FkF&X8I#oqwmc=561l)u_wmO_kyYUq=5iLic?Un6w z8@Myot>hYLXdWtnUn6mDwWBNK9|e!_%7Jg0@@x3Dp*$+e-G0V@}MSbX$H5w zSr%g@Gk*%svw{02=IP7;4!_5l8b8AorLG$H*c{~=Tp4I7*(VLtd}=DJn>ad#ulIv^ z7gyx%B&$om6}YU9lLP_xv6aWG-NP8rD#A(Eih4{N8+a+H>24iCT2ZASk@GdH{pYdD zO7nM?=7pNgVNGE5G8TgnijrWZU^xoNiJ^;$Az&ej;+j=_<+&ocri9veo zLBZY`%nLB)6;spffgQm`*fG#UqtDpt$pE)*LKn!!iECy2&3b_5fu#Hrk~UrAGy;l` zLxsQd3nU>NL@Z=A9hWr(%zn5`nx+*VP)Oo!{uYE8Dyi%u&4>AU6UrK}3}nhAx&5}X znECq?wL!wvYH9ace=^Tg7&$V$D`GS$FCB*N)jEMQ9wW3>n|5J!^@Ly&_JsF^wm{yJ zqt7>Y>3(rV$Wml7#Hf-f!ep_*(NE$@1^gso#{49HfiHIxuR~mw1>!bNBwzHrsMRsA za@olVO_ZqO8Wt(9NQ*d6o>JI*@I8)fjHN?C|j+DC~O>{acMI|Je-HTYg=dV_a(MsIfD6G(=7J*zHBu@ z*|B@1AMfc4RR~{;0{1XlC@FhcF%DG@u6TUcJD2iVO`q;@84#am(~Ar&_#%$ylDpaq zbEl8yaNl5G*Z3__Jcpz+RlM6uucn(JYp8W#zSB2Afx#ZK?9tmMry=}bG zPw21UquNsA9BT)D#PF!_Lyf_{UGFyIB72NI;TzDPI1M~Sa6&sjkn!4BX>{B#{o*?OEPMVr9?r_5 zZw~cEYQB%6F^HwtDZNQo7TmG+lVUX4>yqZtoNUEp)@0h2d!xSC?N4kA`&rpcox6G( z@hzY(0*emoeK82_k$$%#H-u^lD=p~P^VTy-ddH-&-eDZT+yy)s&OWHH54@B*xu(wH z5A(t=jSgRgl^};d5-UOO>!Z9}6i|d9?;c6~;S>CLg@P}6{G6&9#i~GPV4M~g?qqc7+bhOvKdaaj=CXztIIPPP?6A^AS4DDJ&#c3 z?rp>%h4A8Z=?J!#GH%WihRDMjy1oU~izb#E$KDAh_Ls>6A>%rPv$GJW+ll?1#(s%{nL%UpJywWPIw=}3Z4mr{w&FjaMpc% zg1}0Bo?`{g1c}Ry?$Sv}CAMBm>^ONJ(BMzDr-Fe=ZsRHmxd1T!L3#(u^4#KcdD{Pw z9Q}c(>m8Yqz)v4y_*w=2j<%bJ{i*)4>(yqR1WK!5@1J`CeQ#~XpU=LRUATM*Fuonf z^sPam)Js-)X1kwjy;#edSbL73m3TWFlku4H6QbY(X}pU6A(K|f<&qf1_J%Rr6MTKw zCA<3TATn%f*~eRhbhNgqw<~wS@D8=R&~75c%2YArsp%XNgJskOwEe=%ZCt|kB`YT* zbOMJ^oeUHQ=l#9kyrS_7c!Ztxt6&+mi5#9v%z{k7t?@R(bRN#;`biZ6cfb!f*F#4I zT6ms&x4s3ejUKP1`<$jyj-2Q9$R)_#`qHhqZ+(a3_;hjj^yuk*y;jN9f&>|6&&BTX zu>4YkVqbq_gNIhDz|eM}#i80{-PCd)pFEM}PC|!Cqr))DfB*B`?%H>&wm7QxaPl2H@?&CxZF+!@ z46h2_u}&QM_A02ktKK|{@Y-ck*<->GLaRIR-h>NIK)wN9!;_uPY{R1ukNw5LT=i&> z-MHgypm@Ium_b*GdQ&?oB~1)k>uSuJxrnh!QwGA$tKIUR9qU)ObdDGdjw1P+WqvpM z#Z99-q7YQOq7bSE5IW<*;{6)E4h;kUC1|Cy`>TtkQ9SkFM8Yq(UCf&yhM%tocL}WX zZZU@k|9xW{(o&w!gWTN@rNIuzx%4~y-aMMcmmWyB4r+jk@77|;U1rek_sWaZ!LB7FY__ zTGDC{yKbYIOEe(|nM8t~xacOes30$fk_aq}t394yUuWUcRn`M$M(d{EitUm1{n)#U zqeCat>BfObf0l6i(sZ(X-GhB~3|ThT;`ms=o&M?ZTzaW6HVKz16U_K$w3O1uFUgFB z)F!a@Fk_$H2EzGD(C5w<1nWlV3_%C0EwDqo%h==c#NhJr#*9V*!u#$n*O3W+PI)wG zS|oJ&t8JAu{0X)@l3S*hX3?%N{=Wtc~A9zU!zR#at~?p-Y#qpPVEC_kXNf zT^u;sx>j0f2ssUvhx`PlAP-sV(GV%c;2Dv2p6Na^c242CALd&zb2UjaO$29;7ha)M zZi=z=RhFe(Tf7Yz<^JT}y|x&6GrHK|M^7IO-5T=#JkK@cn1lbGusH9Ot9^d7e=?vX zymQ_@I%>P`-u{{bg)~I9^PF`-OF{p8E{&)|3UK#O`9cLgH5DG?&X<#!Yp6I|to@?U zF2=j64dZbBak!D{kl@&3gq>?y^Q=Lk&E=DK8&)9)t%>f(O_O^6_OwWrw%dty`mCw) zua9b!!=a5kGc#?TqnM>ij#PxkJCKTRvdPI-a|mlv*g}k9rq&ig=<|5s&?s_U6Y(2s zdNNaZJh*uis8CN8w=kGV^y7S=9$cz8Rdbaf^4)ERtg*_3?slzhDLgE~U~84TkCg>O zu>6P1&k@|v0@2$G)lgmK(I?dnUi|9Eyy(#nRu_3ep^o20{O!yI3Tsoz9lg6ne;%t@ zGD+wok9-9wsMpB7q4yCGe3VWH=|x4uJ!rF>iCNnmM8*;v-wgc;syr+ zLHgr$eI;!e+SytCsurkxuv=t8_sXt&*1yHiK$?C-qFO-wzED{$Vd}`@95qB!?r_i< za<1;V;{e>8wv<}o`rzhf+2iQjWiHK>T@hO{N#F5gcW9WZsm`JBgH1gA0G5S_n79nJ zW~g4u!2HETwy8%+mXFjez*q1GGUmXnim=oB>hS&C@>E}G1~oB+KuZay3al}w?vxVg zO|Ef_5-Q9lqm)v9JeCQ!VZ&4o474IrrSbyE?F0XLoCz~7#%~P=&{HiP#TY;M6R;9h z(@h2tMuZPVsICv$QS=MaxGh~_=E6=~Q${D`_^F_+8@0!;?%3@_>b{f2-&1C#lJsSr zMERDEc$s)=VCCR?_!W}cQ7v+Ts9D9Di}5dhYhtpuvJ-;3u^jGJYD~4lW|&;XWxFwR zqJ0KM_>kS)Es+1H{y`g5ikf}~DyZB-OjZY&t_jYQ!ejG30;gZ(ff9Bgc1xkHo9bhH z_h2Sx096YPf=3 z=hqrJ8xAhhiJ>+bJmB52{~mWk1)jn)(hamvjxk^NPy^-Zu6MoGW#20OJAv%Dj`e<; zaLmWEh)ee~quK}W7JpApMNpoQ5RXM(F0cDrf&ZE01Nrhe=sB2J|IXd<;B;<#e)(_h zg<}QxrwqfZWJTPBbRQG)3%BhAdACE(1q0=q6C=r?oUxa0itO_w1zMceQAfLw65VVI zRCMa?Zu*+1aVzc$kuGylRGa@NC4WJ?LFW#oQ%_gT6@SU{_Bk*&Rr?*p&qS} zA31~CZtd(!560K|Qu9S7SZTLaV>3Tl$6x>gJo6VikuSv{A-N_TKJky7xJZYTSD4Zx zi0K5SsDv-?=yZOhO9kr46NZ!LjNJ;(%zW?Zj-Ar38^#=d`narR}?#Cf^DY?yzD{rx@sg>HNNh-L3Y2Kh4CWVn{$*?s^xq@31>3k*wv% zOYMo6X$>pxt?rs>=gM!nmi6i(44S6xYhpnI4dM3Ler`T=HZYD*05P+DoPXSe2Nf+s z(yek0x|8*As18D!9!Z7@>4mtx#|REl*LBRpIv~FXvL9)&^bC2?UAj`pz^AigcX)BC zL=K_>3&rA+WI1G*_96|Y$y2rmn37X|9x|GC{_|UB|ofS0T;_cdKN5dbxjJ*EbO2p6HM z3Nk(sO!o7l{y;eLGT3)2xJgizgRV(g+xEA9!QR7}F|5oGt0&GUO?4E$Fqw*0)f?+D z4$M`;=WPXRR+I!Z#zR}~24ll1_LVe+(Ax=&fW>?#j=%((EgU-OkaxxbX90okyDnWt z$B}twh5p8Lo~{^a*7hbl3)&$W@P$A%#DzLHU1_4o<|1h2&)Vua+)-rRA*kNGgeEcv zxm=#3e zU>R(Q!n25=T2#BX8t1uvsT@IXOdbzs7PYJvycZMPOT{e4*MaoHi(aJ`YnPR=EuB=$ zlM>H8eh+iNBcJ>AvyX({V2UztK+%8Ye1A}me_y4Sg#vj4LiBR|N%L>l><}7eXze3YLo&Fx2UUmL(>hPz|ub1gRIeUFu|7fqyUfbVT)&KPOJFogx z_z!=Se^>h#%ldbSekTk6r5*F~c>n42zo^5%tN+e+{YxG3C7ArB{wMeKKTY~Y<6rG{ z(iSiIz)K|hPYVA;DUJGXq3id7{vP9A9sPk)_utk2Tg3a_&hLkdzwE@2{QINE?-qV9 zbNppN^6eiM{w#X@@8^E=k~#fZSpVJQ?-lsJJQBVD{ioVr_4wZn{GOuyWk7)9mw~^- z_MZm*O3MACy{>ThA1nN-{3k{CpU?L1B;8ltKUS^bzv=!(+5LU^zY~%EvV!$eZhD#j q-$wAu$}d{d|K1Ap%e4NDm0x5RMHz@+fdlPjn}~lIa|+$7_x}TxKv}u~ literal 0 HcmV?d00001 diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxSettleMerchant.java b/mallinkService/src/main/java/com/iformall/domain/po/WxSettleMerchant.java new file mode 100644 index 000000000..547c5a7f6 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxSettleMerchant.java @@ -0,0 +1,111 @@ +package com.iformall.domain.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.iformall.domain.po.base.TenantEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import java.math.BigDecimal; +import java.util.Date; + +@TableName(value = "wx_settle_merchant") +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class WxSettleMerchant extends TenantEntity { + + private Long id; + + @io.swagger.annotations.ApiModelProperty(value = "创建时间", name = "createDate") + private Date createDate; + @io.swagger.annotations.ApiModelProperty(value = "更新时间", name = "updateDate") + private Date updateDate; + @io.swagger.annotations.ApiModelProperty(value = "商户编号", name = "merchantId") + private Long merchantId; + @io.swagger.annotations.ApiModelProperty(value = "开始时间", name = "beginTime") + private Date beginTime; + @io.swagger.annotations.ApiModelProperty(value = "结束时间", name = "endTime") + private Date endTime; + @io.swagger.annotations.ApiModelProperty(value = "对账时间", name = "confirmTime") + private Date confirmTime; + @io.swagger.annotations.ApiModelProperty(value = "对账金额", name = "totalMoney") + private BigDecimal totalMoney; + @io.swagger.annotations.ApiModelProperty(value = "实际结算金额", name = "actualMoney") + private BigDecimal actualMoney; + @io.swagger.annotations.ApiModelProperty(value = "储值卡销售金额", name = "cardSaleMoney") + private BigDecimal cardSaleMoney; + @io.swagger.annotations.ApiModelProperty(value = "储值卡扣款费率", name = "cardRate") + private BigDecimal cardRate; + @io.swagger.annotations.ApiModelProperty(value = "储值卡结算金额", name = "cardMoney") + private BigDecimal cardMoney; + @io.swagger.annotations.ApiModelProperty(value = "支付宝销售金额", name = "zfbSaleMoney") + private BigDecimal zfbSaleMoney; + @io.swagger.annotations.ApiModelProperty(value = "支付宝扣款费率", name = "zfbRate") + private BigDecimal zfbRate; + @io.swagger.annotations.ApiModelProperty(value = "支付宝结算金额", name = "zfbMoney") + private BigDecimal zfbMoney; + @io.swagger.annotations.ApiModelProperty(value = "银联销售金额", name = "unionSaleMoney") + private BigDecimal unionSaleMoney; + @io.swagger.annotations.ApiModelProperty(value = "银联扣款费率", name = "unionRate") + private BigDecimal unionRate; + @io.swagger.annotations.ApiModelProperty(value = "银联结算金额", name = "unionMoney") + private BigDecimal unionMoney; + @io.swagger.annotations.ApiModelProperty(value = "微信销售金额", name = "wxSaleMoney") + private BigDecimal wxSaleMoney; + @io.swagger.annotations.ApiModelProperty(value = "微信扣款费率", name = "wxRate") + private BigDecimal wxRate; + @io.swagger.annotations.ApiModelProperty(value = "微信结算金额", name = "wxMoney") + private BigDecimal wxMoney; + @io.swagger.annotations.ApiModelProperty(value = "抹零销售金额", name = "eraseZeroSaleMoney") + private BigDecimal eraseZeroSaleMoney; + @io.swagger.annotations.ApiModelProperty(value = "抹零扣款费率", name = "eraseZeroRate") + private BigDecimal eraseZeroRate; + @io.swagger.annotations.ApiModelProperty(value = "抹零结算金额", name = "eraseZeroMoney") + private BigDecimal eraseZeroMoney; + @io.swagger.annotations.ApiModelProperty(value = "现金销售金额", name = "cashSaleMoney") + private BigDecimal cashSaleMoney; + @io.swagger.annotations.ApiModelProperty(value = "现金扣款费率", name = "cashRate") + private BigDecimal cashRate; + @io.swagger.annotations.ApiModelProperty(value = "现金结算金额", name = "cashMoney") + private BigDecimal cashMoney; + @io.swagger.annotations.ApiModelProperty(value = "租金费用", name = "rentMoney") + private BigDecimal rentMoney; + @io.swagger.annotations.ApiModelProperty(value = "物业管理费", name = "rentContractMoney") + private BigDecimal rentContractMoney; + @io.swagger.annotations.ApiModelProperty(value = "员工管理费", name = "employeeManageMoney") + private BigDecimal employeeManageMoney; + @io.swagger.annotations.ApiModelProperty(value = "小票费用", name = "salesSlipMoney") + private BigDecimal salesSlipMoney; + @io.swagger.annotations.ApiModelProperty(value = "工资", name = "salary") + private BigDecimal salary; + @io.swagger.annotations.ApiModelProperty(value = "保证金", name = "earnestMoney") + private BigDecimal earnestMoney; + @io.swagger.annotations.ApiModelProperty(value = "其他", name = "otherMoney") + private BigDecimal otherMoney; + @io.swagger.annotations.ApiModelProperty(value = "上次未结清", name = "lastRemaining") + private BigDecimal lastRemaining; + @io.swagger.annotations.ApiModelProperty(value = "商户名称", name = "lastRemaining") + private String merchantName; + @io.swagger.annotations.ApiModelProperty(value = "商户代码", name = "merchantCode") + private String merchantCode; + @io.swagger.annotations.ApiModelProperty(value = "商户联系人", name = "merchantPerson") + private String merchantPerson; + @io.swagger.annotations.ApiModelProperty(value = "商户联系电话", name = "merchantPhone") + private String merchantPhone; + @io.swagger.annotations.ApiModelProperty(value = "收款人名称", name = "accountName") + private String accountName; + @io.swagger.annotations.ApiModelProperty(value = "开户行", name = "accountBank") + private String accountBank; + @io.swagger.annotations.ApiModelProperty(value = "收款人账户", name = "accountNumber") + private String accountNumber; + @io.swagger.annotations.ApiModelProperty(value = "创建人", name = "createBy") + private Long createBy; + @io.swagger.annotations.ApiModelProperty(value = "修改人", name = "updateBy") + private Long updateBy; + + @TableField(exist = false) + private Date begin; + @TableField(exist = false) + private Date end; +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxSettleMerchantMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxSettleMerchantMapper.java new file mode 100644 index 000000000..4bdfc1b60 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/WxSettleMerchantMapper.java @@ -0,0 +1,16 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.WxSettleMerchant; + +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface WxSettleMerchantMapper extends CommonMapper { + + WxSettleMerchant selectById(@Param("id")Long id,@Param("tenantId")String tenantId); + + List findList(WxSettleMerchant wxSettleMerchant); + +} diff --git a/mallinkService/src/main/java/com/iformall/service/WxSettleMerchantService.java b/mallinkService/src/main/java/com/iformall/service/WxSettleMerchantService.java new file mode 100644 index 000000000..0df487aec --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/WxSettleMerchantService.java @@ -0,0 +1,41 @@ +package com.iformall.service; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.github.pagehelper.PageInfo; +import com.iformall.domain.po.MallUserInfo; +import com.iformall.domain.po.WxSettleMerchant; +import com.iformall.domain.po.base.TenantEntity; + +public interface WxSettleMerchantService { + + /** + * 根据实体查询分页列表 + * + * @param record + * @param pageIndex + * @param pageSize + * @return + */ + PageInfo listAsPage(WxSettleMerchant record, Integer pageIndex, Integer pageSize); + + /** + * 根据Id获得实体 + * + * @param id + * @return + */ + WxSettleMerchant getById(TenantEntity tenantEntity,Long id); + + /** + * 保存或更新实体 + * + * @param record + */ + void saveOrUpdate(WxSettleMerchant record,MallUserInfo operator); + + + void exportData(WxSettleMerchant record, HttpServletRequest request, HttpServletResponse response); + +} diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxSettleMerchantServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxSettleMerchantServiceImpl.java new file mode 100644 index 000000000..8995267bb --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxSettleMerchantServiceImpl.java @@ -0,0 +1,143 @@ +package com.iformall.service.impl; + +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.iformall.common.IdWorker; +import com.iformall.domain.po.MallUserInfo; +import com.iformall.domain.po.WxCUserBasicInfo; +import com.iformall.domain.po.WxSettleMerchant; +import com.iformall.domain.po.base.TenantEntity; +import com.iformall.domain.vo.WxCUserBasicInfoVo; +import com.iformall.mapper.WxSettleMerchantMapper; +import com.iformall.service.ExcelService; +import com.iformall.service.WxSettleMerchantService; +import com.iformall.utils.DateUtils; +import com.iformall.utils.ExcelExportUtils; + +import cn.afterturn.easypoi.cache.manager.FileLoaderImpl; +import cn.afterturn.easypoi.cache.manager.POICacheManager; +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.TemplateExportParams; +import cn.afterturn.easypoi.handler.inter.IExcelExportServer; + +import org.apache.poi.ss.usermodel.Workbook; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.*; +import java.util.stream.Collectors; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * @author gongbiao + */ +@Service +public class WxSettleMerchantServiceImpl implements WxSettleMerchantService{ + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + WxSettleMerchantMapper wxSettleMerchantMapper; + + @Override + public PageInfo listAsPage(WxSettleMerchant record, Integer pageIndex, Integer pageSize) { + return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxSettleMerchantMapper.findList(record)); + } + + @Override + public WxSettleMerchant getById(TenantEntity tenantEntity,Long id) { + return wxSettleMerchantMapper.selectById(id, tenantEntity.getTenantId()); + } + + @Override + public void saveOrUpdate(WxSettleMerchant record,MallUserInfo operator) { + Date date = new Date(); + if (record.getId() == null) { + final IdWorker idWorker = IdWorker.get(); + record.setId(idWorker.nextId()); + record.setCreateDate(date); + record.setUpdateDate(date); + record.setCreateBy(operator.getId()); + record.setUpdateBy(operator.getId()); + wxSettleMerchantMapper.insert(record); + } else { + record.setUpdateDate(date); + record.setUpdateBy(operator.getId()); + wxSettleMerchantMapper.updateById(record); + } + } + + @Override + public void exportData(WxSettleMerchant record, HttpServletRequest request, HttpServletResponse response) { + Map valueMap = new HashMap(); + valueMap.put("beginTime", DateUtils.format(record.getBeginTime())); + valueMap.put("endTime", DateUtils.format(record.getEndTime())); + valueMap.put("confirmTime", DateUtils.format(record.getConfirmTime())); + valueMap.put("merchantName", record.getMerchantName()); + valueMap.put("merchantCode", record.getMerchantCode()); + valueMap.put("merchantPerson", record.getMerchantPerson()); + valueMap.put("merchantPhone", record.getMerchantPhone()); + valueMap.put("totalMoney", record.getTotalMoney()); + + + valueMap.put("cardSaleMoney", valueMap); + valueMap.put("cardRate", valueMap); + valueMap.put("cardMoney", valueMap); + valueMap.put("zfbSaleMoney", valueMap); + valueMap.put("zfbRate", valueMap); + valueMap.put("zfbMoney", valueMap); + valueMap.put("unionSaleMoney", valueMap); + valueMap.put("unionRate", valueMap); + valueMap.put("unionMoney", valueMap); + valueMap.put("wxSaleMoney", valueMap); + valueMap.put("wxRate", valueMap); + valueMap.put("wxMoney", valueMap); + valueMap.put("eraseZeroSaleMoney", valueMap); + valueMap.put("eraseZeroRate", valueMap); + valueMap.put("eraseZeroMoney", valueMap); + valueMap.put("cashSaleMoney", valueMap); + valueMap.put("cashRate", valueMap); + valueMap.put("cashMoney", valueMap); + valueMap.put("totalSaleMoney", valueMap); + valueMap.put("totalReduceMoney", valueMap); + + + valueMap.put("rentMoney", valueMap); + valueMap.put("rentContractMoney", valueMap); + valueMap.put("employeeManageMoney", valueMap); + valueMap.put("salesSlipMoney", valueMap); + valueMap.put("salary", valueMap); + valueMap.put("earnestMoney", valueMap); + valueMap.put("otherMoney", valueMap); + valueMap.put("lastRemaining", valueMap); + valueMap.put("totalTempMoney", valueMap); + + valueMap.put("totalMoneyDX", valueMap); + valueMap.put("actualMoneyDX", valueMap); + valueMap.put("actualMoney", valueMap); + + valueMap.put("accountName", valueMap); + valueMap.put("accountBank", valueMap); + valueMap.put("accountNumber", valueMap); + + ExcelExportUtils.exportByModel("excel/settle.xlsx","供应商结算单_"+record.getMerchantName(),"供应商结算单", valueMap,request,response); + + + } + + public List selectListForExcelExport(Object queryParams, int page) { + WxSettleMerchant record = (WxSettleMerchant) queryParams; + WxSettleMerchant _r = wxSettleMerchantMapper.selectById(record.getId(), record.getTenantId()); + if (null == _r) { + return null; + } + List retList = new ArrayList(); + retList.add(_r); + return retList; + } + + + +} diff --git a/mallinkService/src/main/java/com/iformall/utils/ExcelExportUtils.java b/mallinkService/src/main/java/com/iformall/utils/ExcelExportUtils.java new file mode 100644 index 000000000..b362ca77f --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/utils/ExcelExportUtils.java @@ -0,0 +1,86 @@ +package com.iformall.utils; + +import java.io.BufferedInputStream; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.poi.ss.usermodel.Workbook; +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.Resource; + +import cn.afterturn.easypoi.cache.manager.FileLoaderImpl; +import cn.afterturn.easypoi.cache.manager.POICacheManager; +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.TemplateExportParams; +import cn.afterturn.easypoi.view.EasypoiTemplateExcelView; + +public class ExcelExportUtils { + + + public static void exportByModel(String modelPath,String fileName,String sheetName,Map valueMap,HttpServletRequest request, HttpServletResponse response) { + String templateFile = convertTemplatePath(modelPath); + TemplateExportParams exportTemplateParams = new TemplateExportParams(templateFile,sheetName); + exportTemplateParams.setColForEach(true); + POICacheManager.setFileLoader(new FileLoaderImpl()); + Workbook book = ExcelExportUtil.exportExcel(exportTemplateParams, valueMap); + EasypoiTemplateExcelView easypoiTemplateExcelView = new EasypoiTemplateExcelView(); + try { + easypoiTemplateExcelView.out(book, fileName, request, response); + } catch (Exception e) { + e.printStackTrace(); + } + + } + + /** + * 模板路径处理,避免出现NPE + * @param path + * @return + */ + private static String convertTemplatePath(String path) { + if (System.getProperties().getProperty("os.name").contains("Windows")) { + return path; + } + + Resource resource = new ClassPathResource(path); + FileOutputStream fileOutputStream = null; + String folder = System.getProperty("catalina.home"); + File tempFile = new File(folder + File.separator + path); + if (tempFile.exists()) { + return tempFile.getPath(); + } + File parentFile = tempFile.getParentFile(); + if (!parentFile.exists()) { + parentFile.mkdirs(); + } + + try { + BufferedInputStream inputStream = new BufferedInputStream(resource.getInputStream()); + fileOutputStream = new FileOutputStream(tempFile); + byte[] buffer = new byte[10240]; + int len = 0; + while ((len = inputStream.read(buffer)) != -1 ) { + fileOutputStream.write(buffer,0,len); + } + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + }finally { + if (fileOutputStream != null) { + try { + fileOutputStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return tempFile.getPath(); + } +} diff --git a/mallinkService/src/main/resources/mapper/WxSettleMerchantMapper.xml b/mallinkService/src/main/resources/mapper/WxSettleMerchantMapper.xml new file mode 100644 index 000000000..5cd20e361 --- /dev/null +++ b/mallinkService/src/main/resources/mapper/WxSettleMerchantMapper.xml @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + `id`,`tenant_id`,`parent_tenant_id`,`create_date`,`update_date`,`merchant_id`,`begin_time`,`end_time`,`confirm_time`,`total_money`, + `actual_money`,`card_sale_money`,`card_rate`,`card_money`,`zfb_sale_money`,`zfb_rate`,`zfb_money`,`union_sale_money`,`union_rate`, + `union_money`,`wx_sale_money`,`wx_rate`,`wx_money`,`erase_zero_sale_money`,`erase_zero_rate`,`erase_zero_money`,`cash_sale_money`, + `cash_rate`,`cash_money`,`rent_money`,`rent_contract_money`,`employee_manage_money`,`sales_slip_money`,`salary`,`earnest_money`, + `other_money`,`last_remaining`,`merchant_name`,`merchant_code`,`merchant_person`,`merchant_phone`,`account_name`,`account_bank`, + `account_number`,`create_by`,`update_by` + + + + where 1 = 1 + + + and `id` = #{id} + + + + and `tenant_id` = #{tenantId} + + + and `parent_tenant_id` = #{parentTenantId} + + + + and `start_time` >= #{begin} + + + + and `end_time` <= #{end} + + + + and `merchant_name` like concat('%', #{merchantName},'%') + + + + and `merchant_id` = #{merchantId} + + + + and `create_by` = #{createBy} + + + + and id in + + #{idItem} + + + order by ${sortColumns} + + + + + + + \ No newline at end of file