123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- package com.fuzamei.controller;
- import com.fuzamei.dto.FilterDto;
- import com.fuzamei.entity.Asset;
- import com.fuzamei.enums.CodeEnum;
- import com.fuzamei.service.AssetService;
- import com.fuzamei.service.BillOrderActService;
- import com.fuzamei.util.PageData;
- import com.fuzamei.util.ResponseUtil;
- import com.fuzamei.util.StringDivisionUtil;
- import com.fuzamei.dto.OrderDto;
- import com.fuzamei.service.BillService;
- import com.fuzamei.vo.AssetDetailVo;
- import com.fuzamei.vo.BillDetailVo;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.validation.annotation.Validated;
- import org.springframework.web.bind.annotation.*;
- import java.util.List;
- import java.util.logging.Logger;
- /**
- * @file_name: BillControllerInterface
- * @Description:
- * @author: 刘林杰
- * @date: 五月 2018/5/4 9:50
- * @version:
- */
- @RestController
- @RequestMapping(value = "bill")
- @Component
- public class BillController {
- private final static Logger log = Logger.getLogger(BillController.class.getName());
- @Autowired
- private BillService billService;
- @Autowired
- private AssetService assetService;
- @Autowired
- private BillOrderActService billOrderActService;
- /**
- * 根据筛选类的内部属性 例如状态,企业,时间来进行筛选单据,并且对其进行分页处理后传递前段
- * @param filterDto 界面筛选条件类
- * @return ResponseUtil 所有请求都返回这个类,内部code需使用枚举定义,
- */
- @RequestMapping(value ="/selectBillByFilterVo" ,method = RequestMethod.POST)
- public ResponseUtil selectBillByFilterVo(@RequestBody FilterDto filterDto){
- PageData pageData = billService.getInitiateBillInfo(filterDto);
- if(pageData != null) {
- return ResponseUtil.getResult(CodeEnum.COMMONS_SUCCESS.getCode(),true,null);
- }else {
- return ResponseUtil.getResult(CodeEnum.COMMONS_ERROR.getCode(), true, null);
- }
- }
- /**
- * 获取当前用户的账户余额,包括人民币和单据
- * @return ResponseUtil 错误代码待定,成功返回UserAccountVo
- */
- @GetMapping(value = "/getAccountLeft")
- public ResponseUtil getAccountLeft(){
- AssetDetailVo assetDetailVo = assetService.getCurrentUserAsset("1");
- if(assetDetailVo != null) {
- return ResponseUtil.getResult(CodeEnum.COMMONS_SUCCESS.getCode(),true,assetDetailVo);
- }else {
- return ResponseUtil.getResult(CodeEnum.COMMONS_ERROR.getCode(), true, null);
- }
- }
- /**
- * 获取单据详细信息,
- * @param filterDto
- * @Return ResponseUtil 传入数据为AccountLeftDto
- */
- @PostMapping(value = "/getBill")
- public ResponseUtil getBillDetail(@RequestBody FilterDto filterDto){
- Integer orderId = filterDto.getOrderId();
- BillDetailVo billDetailVo = billService.getBillDetailInfo(Integer.toString(orderId));
- if(billDetailVo != null) {
- return ResponseUtil.getResult(CodeEnum.COMMONS_SUCCESS.getCode(),true,billDetailVo);
- }else {
- return ResponseUtil.getResult(CodeEnum.COMMONS_ERROR.getCode(), true, null);
- }
- }
- /**
- * 用户开单,
- * @param orderDto 开单信息
- * @Return ResponseUtil
- */
- @PostMapping(value = "/makeBill")
- public ResponseUtil makeBill(@Validated(OrderDto.MakeBill.class)@RequestBody OrderDto orderDto){
- System.out.println(orderDto.toString());
- //获取结果值
- int result = billService.insertOrder(orderDto);
- if(result > 0) {
- return ResponseUtil.getResult(207, true, null);
- }else {
- if(result == 0) {
- return ResponseUtil.getResult(507, false, null);
- }
- else if (result == -1) {
- return ResponseUtil.getResult(507, false, null);
- }
- else if (result == -2) {
- return ResponseUtil.getResult(507, false, null);
- }
- else {
- return ResponseUtil.getResult(507, false, null);
- }
- }
- }
- /**
- * 对单据进行签收
- *
- */
- @GetMapping(value = "/confirmBill")
- public ResponseUtil confirmBill(@RequestParam String billId){
- int result = billService.confirmBill(billId);
- if(result > 0) {
- return ResponseUtil.getResult(208, true, null);
- }else {
- if(result == 0) {
- return ResponseUtil.getResult(508, false, null);
- }
- else if (result == -1) {
- return ResponseUtil.getResult(508, false, null);
- }
- else if (result == -2) {
- return ResponseUtil.getResult(508, false, null);
- }
- else {
- return ResponseUtil.getResult(508, false, null);
- }
- }
- }
- /**
- * 用户对未签收的单据进行撤销
- * @param billId 单据编号
- *
- */
- @GetMapping(value = "/cancelBill")
- public ResponseUtil cancelBillController(@RequestParam String billId){
- //TODO订单流转表的billId是自增的,前端传进来的billId是String类型的,这里需要类型转换再交给billService.cancelBill(billId)方法
-
- int result = billService.cancelBill(billId);
- if(result > 0) {
- return ResponseUtil.getResult(209, true, null);
- }else {
- if(result == 0) {
- return ResponseUtil.getResult(509, false, null);
- }
- else if (result == -1) {
- return ResponseUtil.getResult(509, false, null);
- }
- else if (result == -2) {
- return ResponseUtil.getResult(509, false, null);
- }
- else {
- return ResponseUtil.getResult(509, false, null);
- }
- }
- }
- /**
- * 用户重新编辑单据
- * @param orderDto
- * @return
- */
- @PostMapping(value = "/editBill")
- public ResponseUtil editBIllController(@Validated(OrderDto.MakeBill.class)@RequestBody OrderDto orderDto){
-
- int result = billService.editBill(orderDto);
- if(result > 0) {
- return ResponseUtil.getResult(210, true, null);
- }else {
- if(result == 0) {
- return ResponseUtil.getResult(510, false, null);
- }
- else if (result == -1) {
- return ResponseUtil.getResult(510, false, null);
- }
- else if (result == -2) {
- return ResponseUtil.getResult(510, false, null);
- }
- else {
- return ResponseUtil.getResult(510, false, null);
- }
- }
-
- }
- // /**
- // * 用户对单据可兑付余额(不知道用哪)
- // * @param orderId
- // * @return
- // */
- // @GetMapping(value = "/getCashBillInfo")
- // public ResponseUtil getCashBillInfo(@RequestParam String orderId){
- // return ResponseUtil.returnErrorWithData(billService.getCashBillInfo(orderId));
- // }
- /**
- * 用户对单据进行兑付
- */
- @Transactional(rollbackFor = Exception.class)
- @PostMapping(value = "/cashBill")
- public ResponseUtil cashBill(@RequestParam String billOrderActId) {
- //这里需要用户模块获取到用户的id 整合之前使用id 1
- //分割字符串获取流转表idList
- List<Integer> billOrderActIdList = StringDivisionUtil.stringDivision(billOrderActId);
- String userId = null;//用户id用session传递
-
- int result = billService.cashBill(billOrderActIdList,"1");
- if(result > 0) {
- return ResponseUtil.getResult(CodeEnum.COMMONS_SUCCESS.getCode(),true,null);
- }else {
- return ResponseUtil.getResult(CodeEnum.COMMONS_ERROR.getCode(), true, null);
- }
- }
- }
|