SysUserAccountController.java 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349
  1. package com.ydtech.modules.admin.controller;
  2. import com.ydtech.core.page.HttpResult;
  3. import com.ydtech.modules.admin.model.dto.*;
  4. import com.ydtech.modules.admin.model.po.SysUserAccount;
  5. import com.ydtech.modules.admin.model.po.SysUserBankCard;
  6. import com.ydtech.modules.admin.model.vo.MyIncomeAndExpensesNewPageVo;
  7. import com.ydtech.modules.admin.model.vo.SubOrder;
  8. import com.ydtech.modules.admin.model.vo.SysUserAccountVo;
  9. import com.ydtech.modules.admin.service.SysUserAccountService;
  10. import com.ydtech.modules.base.controller.BaseController;
  11. import com.ydtech.modules.order.entity.BasePageResult;
  12. import com.ydtech.utils.ExcelUtils;
  13. import io.swagger.annotations.Api;
  14. import io.swagger.annotations.ApiOperation;
  15. import org.apache.commons.lang3.StringUtils;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.beans.factory.annotation.Value;
  18. import org.springframework.web.bind.annotation.*;
  19. import javax.validation.Valid;
  20. import java.math.BigDecimal;
  21. import java.util.List;
  22. @Api(tags = "账户余额")
  23. @RequestMapping("/sysUserAccount")
  24. @RestController
  25. public class SysUserAccountController extends BaseController {
  26. @Autowired
  27. private SysUserAccountService sysUserAccountService;
  28. @Value("${upload.file.path}")
  29. private String uploadPath;
  30. private String EXCEL_PATH = "excel//";
  31. private String UPLOAD_PATH = "/upload//excel//";
  32. @PostMapping("/queryPage")
  33. @ApiOperation(value = "用户账户表分页")
  34. public HttpResult<BasePageResult<SysUserAccount>> queryPageOrder(@RequestBody @Valid SysUserAccountVo sysUserAccountVo) {
  35. BasePageResult<SysUserAccount> result = sysUserAccountService.queryByVo(sysUserAccountVo);
  36. return HttpResult.ok("success", result);
  37. }
  38. @PostMapping("/queryPageList")
  39. @ApiOperation(value = "用户账户表分页2")
  40. public HttpResult<BasePageResult<SysUserAccount>> queryPageList(@RequestBody SysUserAccountVo sysUserAccountVo) {
  41. BasePageResult<SysUserAccount> result = sysUserAccountService.queryByVo1(sysUserAccountVo);
  42. return HttpResult.ok("success", result);
  43. }
  44. @PostMapping("/querySum")
  45. @ApiOperation(value = "用户账户统计")
  46. public HttpResult<SysUserAccount> querySum(@RequestBody SysUserAccountVo sysUserAccountVo) {
  47. SysUserAccount result = sysUserAccountService.querySum(sysUserAccountVo);
  48. return HttpResult.ok("success", result);
  49. }
  50. @PostMapping("/insert")
  51. @ApiOperation("提交")
  52. public HttpResult<Object> submit(@RequestBody SysUserAccountVo sysUserAccountVo) {
  53. return HttpResult.ok("提现功能维护中");
  54. // return sysUserAccountService.inert(sysUserAccountVo);
  55. }
  56. /**
  57. * @version
  58. * @author: hxl
  59. * @Date: 2024/6/19 8:52
  60. * @Description: 提现
  61. */
  62. @PostMapping("/withdraw")
  63. @ApiOperation("提现")
  64. public HttpResult withdraw(@RequestBody SysUserAccountVo sysUserAccountVo) {
  65. return HttpResult.ok("提现功能维护中");
  66. // return sysUserAccountService.withdraw(sysUserAccountVo);
  67. }
  68. @GetMapping(value = "/getSysUserAmount")
  69. @ApiOperation("用户账户余额")
  70. public HttpResult<SysUserAccount> getSysUserAmount(@RequestParam String userid) {
  71. return HttpResult.ok(sysUserAccountService.getSysUserAmount(userid));
  72. }
  73. @GetMapping(value = "/getSysAllAmount")
  74. @ApiOperation("用户余额new")
  75. public HttpResult<SysUserAccountVo> getSysAllAmount() {
  76. String userId = BaseController.getUser().getId();
  77. SysUserAccountVo result = sysUserAccountService.getSysAllAmount(userId);
  78. return HttpResult.ok("success", result);
  79. }
  80. @PostMapping("getInsOrders")
  81. @ApiOperation("获取预收实收列表数据")
  82. public HttpResult<SysUserAccountVo> getInsOrders(@RequestBody SysUserAccountVo sysUserAccountVo) {
  83. if (StringUtils.isBlank(sysUserAccountVo.getAmountType())) {
  84. return HttpResult.error("金额类型(手续费金额1跟单金额2推广金额3)amountType不能为空");
  85. }
  86. //预收实收类型
  87. if (StringUtils.isBlank(sysUserAccountVo.getSearchType())) {
  88. return HttpResult.error("预收实收类型(预收1实收2)searchType不能为空");
  89. }
  90. //查询时间
  91. if (StringUtils.isBlank(sysUserAccountVo.getTimeFiltering())) {
  92. return HttpResult.error("查询时间timeFiltering不能为空");
  93. }
  94. try {
  95. SysUserAccountVo result = sysUserAccountService.getInsOrders(sysUserAccountVo);
  96. return HttpResult.ok("success", result);
  97. } catch (Exception e) {
  98. return HttpResult.error("查询失败" + e.getMessage());
  99. }
  100. }
  101. /**
  102. * @version
  103. * @author: hxl
  104. * @Date: 2024/6/3 15:03
  105. * @Description: 通过子订单编号查询订单的详情页面
  106. */
  107. @GetMapping("getSubOrderDetails")
  108. @ApiOperation("获取推广费订单详情")
  109. public HttpResult<SubOrder> getSubOrderDetails(String subOrderId) {
  110. if (StringUtils.isBlank(subOrderId)) {
  111. return HttpResult.error("订单号subOrderId不能为空");
  112. }
  113. try {
  114. SubOrder subOrder = sysUserAccountService.getSubOrderDetails(subOrderId, BaseController.getUser().getId());
  115. return HttpResult.ok("success", subOrder);
  116. } catch (Exception e) {
  117. return HttpResult.error("操作失败" + e.getMessage());
  118. }
  119. }
  120. /**
  121. * @version
  122. * @author: hxl
  123. * @Date: 2024/6/19 9:00
  124. * @Description: 查询我的账户金额
  125. */
  126. @GetMapping("getUserSumAmountByUserId")
  127. @ApiOperation("查询我的账户总金额")
  128. public HttpResult<BigDecimal> getUserSumAmountByUserId(String userId) {
  129. try {
  130. BigDecimal sumAmount = sysUserAccountService.getUserSumAmountByUserId(userId);
  131. return HttpResult.ok("success", sumAmount);
  132. } catch (Exception e) {
  133. return HttpResult.error("操作失败" + e.getMessage());
  134. }
  135. }
  136. /**
  137. * @version
  138. * @author: hxl
  139. * @Date: 2024/6/19 9:14
  140. * @Description: 查询我的预收明细
  141. */
  142. @PostMapping("findMyCollectInAdvanceByUserId")
  143. @ApiOperation("查询我的预收明细")
  144. public HttpResult<MyCollectInAdvanceAllDto> findMyCollectInAdvanceByUserId(@RequestBody MyCollectInAdvanceQueryDto myCollectInAdvanceQueryDto) {
  145. return HttpResult.ok(sysUserAccountService.findMyCollectInAdvanceByUserId(myCollectInAdvanceQueryDto));
  146. }
  147. /**
  148. * @version
  149. * @author: hxl
  150. * @Date: 2024/6/19 9:14
  151. * @Description: 查询我的预收的数据
  152. */
  153. @PostMapping("findMyIncomeAndExpensesByUserId")
  154. @ApiOperation("查询我的收支明细")
  155. public HttpResult<MyCollectInAdvanceAllDto> findIncomeAndExpensesByUserId(@RequestBody MyIncomeAndExpensesQueryDto myIncomeAndExpensesQueryDto) {
  156. return HttpResult.ok(sysUserAccountService.findIncomeAndExpensesByUserId(myIncomeAndExpensesQueryDto));
  157. }
  158. /**
  159. * @version
  160. * @author: hxl
  161. * @Date: 2024/6/19 9:14
  162. * @Description: 提现中、已提现的详情
  163. */
  164. @GetMapping("findDetailById")
  165. @ApiOperation("提现的详情")
  166. public HttpResult<WithdrawalDetalsDto> findDetailById(String id) {
  167. return HttpResult.ok(sysUserAccountService.findDetailById(id));
  168. }
  169. /**
  170. * @PostMapping("findOrderDetailById")
  171. * @ApiOperation("订单详情") public HttpResult<OrderDetalsDto> findOrderDetailById(String subOrderId){
  172. * return HttpResult.ok(sysUserAccountService.findOrderDetailById(subOrderId));
  173. * }
  174. **/
  175. @GetMapping("findRefundDetailById")
  176. @ApiOperation("退款详情")
  177. public HttpResult<RefundDetalsDto> findRefundDetailById(String id) {
  178. return HttpResult.ok(sysUserAccountService.findRefundDetailById(id));
  179. }
  180. /**
  181. * @version
  182. * @author: hxl
  183. * @Date: 2024/6/30 19:14
  184. * @Description: 查询我的车险明细
  185. */
  186. @PostMapping("findMyInsuranceByUserId")
  187. @ApiOperation("查询我的车险明细")
  188. public HttpResult<MyIncomeAndExpensesNewPageVo<ExportExpenditureTypeDetalsDto>> findMyInsuranceByUserId(@RequestBody MyInsuranceQueryDto myInsuranceQueryDto) {
  189. return HttpResult.ok(sysUserAccountService.findMyInsuranceByUserId(myInsuranceQueryDto));
  190. }
  191. /**
  192. * @version
  193. * @author: hxl
  194. * @Date: 2024/6/30 19:14
  195. * @Description: 查询我的推广费明细
  196. */
  197. @PostMapping("findMyInsuranceTGByUserId")
  198. @ApiOperation("查询我的推广费明细")
  199. public HttpResult<BasePageResult<ExportExpenditureTypeDetalsTGDto>> findMyInsuranceTGByUserId(@RequestBody MyInsuranceTgQueryDto myInsuranceTgQueryDto) {
  200. return HttpResult.ok(sysUserAccountService.findMyInsuranceTGByUserId(myInsuranceTgQueryDto));
  201. }
  202. /**
  203. * @version
  204. * @author: hxl
  205. * @Date: 2024/6/30 19:14
  206. * @Description: 查询导出车险明细
  207. */
  208. @PostMapping("exportMyInsuranceByUserId")
  209. @ApiOperation("查询导出车险明细")
  210. public HttpResult<List<ExportExpenditureTypeDetalsDto>> exportMyInsuranceByUserId(@RequestBody MyInsuranceQueryDto myInsuranceQueryDto) {
  211. List<ExportExpenditureTypeDetalsDto> exportIncomeTypeDetalsList = sysUserAccountService.exportMyInsuranceByUserId(myInsuranceQueryDto);
  212. ExcelUtils<ExportExpenditureTypeDetalsDto> excelUtils = new ExcelUtils<>(ExportExpenditureTypeDetalsDto.class);
  213. String fileName = "车险明细" + System.currentTimeMillis() + ".xlsx";
  214. String saveFilePath = uploadPath + "//" + EXCEL_PATH + fileName;
  215. String resultPath = UPLOAD_PATH + fileName;
  216. String sheetName = "车险明细表";
  217. try {
  218. excelUtils.writeExcelNew(saveFilePath, sheetName, exportIncomeTypeDetalsList);
  219. return HttpResult.ok(resultPath);
  220. } catch (Exception e) {
  221. return HttpResult.error("导出车险明细表失败:" + e.getMessage());
  222. }
  223. }
  224. /**
  225. * @version
  226. * @author: hxl
  227. * @Date: 2024/6/30 19:14
  228. * @Description: 查询导出推广费明细
  229. */
  230. @PostMapping("expeortMyInsuranceTGByUserId")
  231. @ApiOperation("查询导出推广费明细")
  232. public HttpResult<List<ExportExpenditureTypeDetalsTGDto>> expeortMyInsuranceTGByUserId(@RequestBody MyInsuranceTgQueryDto myInsuranceTgQueryDto) {
  233. List<ExportExpenditureTypeDetalsTGDto> exportIncomeTypeDetalsList = sysUserAccountService.exportMyInsuranceTGByUserId(myInsuranceTgQueryDto);
  234. ExcelUtils<ExportExpenditureTypeDetalsTGDto> excelUtils = new ExcelUtils<>(ExportExpenditureTypeDetalsTGDto.class);
  235. String fileName = "推广费明细" + System.currentTimeMillis() + ".xlsx";
  236. String saveFilePath = uploadPath + "//" + EXCEL_PATH + fileName;
  237. String resultPath = UPLOAD_PATH + fileName;
  238. String sheetName = "推广费明细表";
  239. try {
  240. excelUtils.writeExcelNew(saveFilePath, sheetName, exportIncomeTypeDetalsList);
  241. return HttpResult.ok(resultPath);
  242. } catch (Exception e) {
  243. return HttpResult.error("导出推广费明细表失败:" + e.getMessage());
  244. }
  245. }
  246. /**
  247. * @version
  248. * @author: hxl
  249. * @Date: 2024/6/30 19:14
  250. * @Description: 收支明细
  251. */
  252. @PostMapping("findMyIncomeAndExpensesNewByUserId")
  253. @ApiOperation("查询收支明细新")
  254. public HttpResult<MyIncomeAndExpensesNewPageVo<ExportExpenditureTypeDetalsSZDto>> findMyIncomeAndExpensesNewByUserId(@RequestBody MyCollectInAdvanceQueryNewDto myCollectInAdvanceQueryNewDto) {
  255. return HttpResult.ok(sysUserAccountService.findMyIncomeAndExpensesNewByUserId(myCollectInAdvanceQueryNewDto));
  256. }
  257. /**
  258. * @version
  259. * @author: hxl
  260. * @Date: 2024/7/1 8:57
  261. * @Description: 导出收支明细新
  262. */
  263. @PostMapping("exportMyIncomeAndExpensesNewByUserId")
  264. @ApiOperation("导出收支明细新")
  265. public HttpResult<MyCollectInAdvanceAllDto> exportMyIncomeAndExpensesNewByUserId(@RequestBody MyCollectInAdvanceQueryNewDto myCollectInAdvanceQueryNewDto) {
  266. List<ExportExpenditureTypeDetalsSZDto> exportIncomeTypeDetalsList = sysUserAccountService.exportMyIncomeAndExpensesNewByUserId(myCollectInAdvanceQueryNewDto);
  267. ExcelUtils<ExportExpenditureTypeDetalsSZDto> excelUtils = new ExcelUtils<>(ExportExpenditureTypeDetalsSZDto.class);
  268. String fileName = "收支明细" + System.currentTimeMillis() + ".xlsx";
  269. String saveFilePath = uploadPath + "//" + EXCEL_PATH + fileName;
  270. String resultPath = UPLOAD_PATH + fileName;
  271. String sheetName = "收支明细表";
  272. try {
  273. excelUtils.writeExcelNew(saveFilePath, sheetName, exportIncomeTypeDetalsList);
  274. return HttpResult.ok(resultPath);
  275. } catch (Exception e) {
  276. return HttpResult.error("导出收支明细表失败:" + e.getMessage());
  277. }
  278. }
  279. /**
  280. * @version
  281. * @author: hxl
  282. * @Date: 2024/6/30 18:43
  283. * @Description: 我的账户页面的数据
  284. */
  285. @PostMapping("findMyAmount")
  286. @ApiOperation("我的账户页面的数据")
  287. public HttpResult<MySumAmountDto> findMyAmount(@RequestBody MySumAmountQueryDto mySumAmountQueryDto) {
  288. MySumAmountDto amountDto = sysUserAccountService.findMyAmount(mySumAmountQueryDto);
  289. return HttpResult.ok(amountDto);
  290. }
  291. /**
  292. * @version
  293. * @author: hxl
  294. * @Date: 2025/1/6 18:14
  295. * @Description: 查询用户的提现总金额去除电销组员的金额(电销组员通过逻辑累加到组长上了)
  296. */
  297. @GetMapping("/queryCount")
  298. @ApiOperation(value = "查询所有的账户的数据金额")
  299. public HttpResult<BigDecimal> queryCount() {
  300. BigDecimal bigDecimal = sysUserAccountService.queryCount();
  301. return HttpResult.ok("success", bigDecimal);
  302. }
  303. /**
  304. * @version
  305. * @author: hxl
  306. * @Date: 2025/1/6 18:15
  307. * @Description: 查询用户的银行卡信息
  308. */
  309. @GetMapping("/queryCardListByUserId")
  310. @ApiOperation(value = "查询用户的银行卡信息")
  311. public HttpResult<List> queryCardListByUserId(String userId) {
  312. List<SysUserBankCard> cardList = sysUserAccountService.queryCardListByUserId(userId);
  313. return HttpResult.ok("success", cardList);
  314. }
  315. }