diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentPropertyContractController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentPropertyContractController.java index 866353674..7b919a902 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentPropertyContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentPropertyContractController.java @@ -1,34 +1,20 @@ package com.iformall.controller.contract; import com.iformall.annotation.SystemControllerLog; -import com.iformall.common.ErrorCode; -import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; -import com.iformall.domain.po.MallUserInfo; -import com.iformall.domain.po.WxBillRent; -import com.iformall.domain.po.WxPayAccountBill; import com.iformall.domain.po.WxRentContract; -import com.iformall.enums.EnumRentStartType; -import com.iformall.mapper.WxRentContractMapper; -import com.iformall.service.WxBillRentService; -import com.iformall.service.WxPayAccountBillService; import com.iformall.service.WxRentContractService; -import com.iformall.service.WxShopService; -import com.iformall.utils.DateUtils; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; -import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; import java.util.Map; /** @@ -41,36 +27,14 @@ public class WxRentPropertyContractController extends BaseController { @Autowired private WxRentContractService wxRentContractService; - @Autowired - private WxBillRentService wxBillRentService; - @Autowired - private WxPayAccountBillService payAccountBillService; - @Autowired - private WxShopService wxShopService; - @Autowired - private WxRentContractMapper wxRentContractMapper; - - @GetMapping("getDateDiff") - @ApiImplicitParams({ - @ApiImplicitParam(name = "startDate", value = "开始时间", dataType = "string", paramType = "query", required = true), - @ApiImplicitParam(name = "endtDate", value = "结束时间", dataType = "string", paramType = "query", required = true)}) - @SystemControllerLog(description = "获取两个时间相差,返回n月零n天") - public ResultData getDateDiff(String startDate, String endDate) throws Exception { - SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); - Map map = new HashMap<>(); - int[] array = DateUtils.getDiff(sd.parse(startDate), sd.parse(endDate)); - map.put("month", array[0]); - map.put("day", array[1]); - return new ResultData(map); - } @GetMapping("list") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) - @SystemControllerLog(description = "租赁合同-列表") + @SystemControllerLog(description = "租赁物业合同-列表") public ResultData list(@ModelAttribute WxRentContract wxRentContract, Integer pageNum, Integer pageSize) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::list"); + logger.debug("[" + getIpAddr() + "] wxRentPropertyContract::list"); if (null == wxRentContract) { wxRentContract = new WxRentContract(); } @@ -79,223 +43,6 @@ public class WxRentPropertyContractController extends BaseController { return new ResultData(result); } - @PostMapping("add") - @SystemControllerLog(description = "租赁合同-添加") - public ResultData add(@RequestBody WxRentContract wxRentContract) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::add"); - - MallUserInfo user = getUser(); - wxRentContract.setTenantId(user.getTenantId()); - wxRentContract.setAdjustPeriodHandle(); - Date oldDate = wxRentContract.getRentalStartDate(); - if (wxRentContract.getRentStartType() != null && wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())) { - wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); - } - return wxRentContractService.save(wxRentContract, user.getId(), user.getName(), oldDate); - } - - @PostMapping("updateRentStartTime") - @SystemControllerLog(description = "租赁合同-更新租赁开始日期") - public ResultData updateRentStartTime(@RequestBody WxRentContract wxRentContract) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::updateRentStartTime"); - WxRentContract rentContract = wxRentContractMapper.selectByPrimaryKey(wxRentContract.getId()); - rentContract.setRentalStartDate(wxRentContract.getRentalStartDate()); - Date oldDate = wxRentContract.getRentalStartDate(); - if (wxRentContract.getRentStartType() != null && wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())) { - rentContract.setRentalStartDate(rentContract.getStartDate()); - } - MallUserInfo user = getUser(); - rentContract.setTenantId(user.getTenantId()); - rentContract.setAdjustPeriodHandle(); - rentContract.setRentPriceHandle(); - return wxRentContractService.update(rentContract, user.getId(), user.getName(), 1, oldDate); - } - - @PostMapping("update") - @SystemControllerLog(description = "租赁合同-更新") - public ResultData update(@RequestBody WxRentContract wxRentContract) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::update"); - MallUserInfo user = getUser(); - wxRentContract.setTenantId(user.getTenantId()); - wxRentContract.setAdjustPeriodHandle(); - wxRentContract.setRentPriceHandle(); - Date oldDate = wxRentContract.getRentalStartDate(); - if (wxRentContract.getRentStartType() != null && wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())) { - wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); - } - return wxRentContractService.update(wxRentContract, user.getId(), user.getName(), 0, oldDate); - } - - /** - * 防止前端3秒重复提交 - * - * @param wxRentContract - * @return - */ - @PostMapping("updateMoney") - @SystemControllerLog(description = "租赁合同-更新金额") - public ResultData updateMoney(@RequestBody WxRentContract wxRentContract) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::updateMoney"); - MallUserInfo user = getUser(); - wxRentContract.setTenantId(user.getTenantId()); - wxRentContract.setAdjustPeriodHandle(); - wxRentContract.setRentPriceHandle(); - Date oldDate = wxRentContract.getRentalStartDate(); - if (wxRentContract.getRentStartType() != null && wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())) { - wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); - } - return wxRentContractService.update(wxRentContract, user.getId(), user.getName(), 0, oldDate); - } - - @PostMapping("updateFile") - @SystemControllerLog(description = "租赁合同-更新文件") - public ResultData updateFile(@RequestBody WxRentContract wxRentContract) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::updateFile"); - MallUserInfo user = getUser(); - wxRentContract.setTenantId(user.getTenantId()); - wxRentContract.setAdjustPeriodHandle(); - wxRentContract.setRentPriceHandle(); - Date oldDate = wxRentContract.getRentalStartDate(); - if (wxRentContract.getRentStartType() != null && wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())) { - wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); - } - return wxRentContractService.updateFile(wxRentContract, user.getId(), user.getName(), oldDate); - } - - @GetMapping("/del") - @ApiImplicitParam(name = "id", value = "id", dataType = "String", paramType = "query", required = true) - @SystemControllerLog(description = "租赁合同-删除") - public ResultData delete(String id) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::delete"); - return wxRentContractService.deleteById(id); - } - - @GetMapping("/findById") - @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) - @SystemControllerLog(description = "租赁合同-查找") - public ResultData findById(Long id) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::findById"); - // 同步欠缴状态 - WxBillRent wxBillRent = new WxBillRent(); - wxBillRent.setTenantId(getTenantId()); - wxBillRentService.updateBillStatus(wxBillRent); - return wxRentContractService.getById(id); - } - - @RequestMapping("/download") - public void download(HttpServletRequest request, HttpServletResponse response) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::download"); - wxRentContractService.download(request, response, getTenantId()); - } - - @GetMapping("/getRentContractStatusInfo") - @SystemControllerLog(description = "租赁合同-获取合同状态信息") - public ResultData getRentContractStatusInfo(@ModelAttribute WxRentContract wxRentContract) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::getRentContractStatusInfo"); - wxRentContract.setTenantId(getTenantId()); - return new ResultData(Result.SUCCESS, "查询成功", wxRentContractService.getRentContractStatusInfo(wxRentContract)); - } - - @GetMapping("/endRentContract") - @ApiImplicitParams({ - @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true), - @ApiImplicitParam(name = "status", value = "status", dataType = "int", paramType = "query", required = true)}) - @SystemControllerLog(description = "租赁合同-终结合同") - public ResultData endRentContract(Long id, Integer status) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::endRentContract"); - return wxRentContractService.endRentContract(id, status); - } - - @PostMapping("updateMerchant") - @SystemControllerLog(description = "租赁合同-更新商户") - public ResultData updateMerchant(@RequestBody WxRentContract wxRentContract) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::updateMerchant"); - return wxRentContractService.updateMerchant(wxRentContract); - } - - @GetMapping("getRentContractList") - @ApiImplicitParams({ - @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), - @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) - @SystemControllerLog(description = "租赁合同-列表") - public ResultData getRentContractList(@ModelAttribute WxRentContract wxRentContract, Integer pageNum, Integer pageSize) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::getRentContractList"); - wxRentContract.setTenantId(getTenantId()); - return new ResultData(wxRentContractService.getRentContractList(wxRentContract, pageNum, pageSize)); - } - - @GetMapping("exportContract") - @ApiImplicitParams({ - @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)}) - @SystemControllerLog(description = "租赁合同-导出合同") - public void exportContract(Long id, HttpServletRequest request, HttpServletResponse response) { - wxRentContractService.exportContract(request, response, getTenantId(), id); - } - - @GetMapping("updateRentContractStatus") - @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) - @SystemControllerLog(description = "租赁合同-更新合同状态") - public ResultData updateRentContractStatus(Long id) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::updateRentContractStatus"); - return wxRentContractService.updateRentContractStatus(id); - } - - @GetMapping("getPayAccountInfo") - @SystemControllerLog(description = "租赁合同-获取甲方账户") - public ResultData getPayAccountInfo() { - logger.debug("[" + getIpAddr() + "] WxRentContractController::updateRentContractStatus"); - String tenantId = getTenantId(); - WxPayAccountBill payAccountBill = payAccountBillService.getByTenantId(tenantId); - Map map = new HashMap<>(); - if (StringUtils.isNotBlank(payAccountBill.getBankAccountName()) && StringUtils.isNotBlank(payAccountBill.getBankCardId())) { - map.put("bankAccountName", payAccountBill.getBankAccountName()); - map.put("bankCardId", payAccountBill.getBankCardId()); - } - return new ResultData(map); - } - - @PostMapping("savePayAccountInfo") - @SystemControllerLog(description = "租赁合同-保存甲方账户") - public ResultData savePayAccountInfo(@RequestBody WxPayAccountBill payAccountBill) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::updateRentContractStatus"); - if (StringUtils.isBlank(payAccountBill.getBankAccountName())) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "甲方银行账户名未填写"); - } - if (StringUtils.isBlank(payAccountBill.getBankCardId())) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "甲方银行账户卡号未填写"); - } - String tenantId = getTenantId(); - WxPayAccountBill payAccountBillNew = payAccountBillService.getByTenantId(tenantId); - payAccountBillNew.setBankAccountName(payAccountBill.getBankAccountName()); - payAccountBillNew.setBankCardId(payAccountBill.getBankCardId()); - payAccountBillService.saveOrUpdate(payAccountBillNew); - return new ResultData(); - } - - @GetMapping("/getMerchants") - @SystemControllerLog(description = "租赁合同-获取已签约租赁合同且未有物业的商户") - public ResultData getMerchants(@ModelAttribute WxRentContract wxRentContract) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::getMerchants"); - wxRentContract.setTenantId(getTenantId()); - return new ResultData(Result.SUCCESS, "查询成功", wxRentContractService.getMerchants(wxRentContract)); - } - - @GetMapping("/hasRentStatus") - @SystemControllerLog(description = "查询店铺租赁状态") - public ResultData hasRentStatus(@ModelAttribute WxRentContract wxRentContract) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::hasRentStatus"); - wxRentContract.setTenantId(getTenantId()); - return wxRentContractService.hasRentStatus(wxRentContract); - } - - @GetMapping("/hasContractNumber") - @SystemControllerLog(description = "租赁合同-检查合同编号是否存在") - public ResultData hasContractNumber(@ModelAttribute WxRentContract wxRentContract) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::hasContractNumber"); - wxRentContract.setTenantId(getTenantId()); - return wxRentContractService.hasContractNumber(wxRentContract); - } - } diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxRentPropertyContractVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxRentPropertyContractVo.java new file mode 100644 index 000000000..9b78c87c6 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxRentPropertyContractVo.java @@ -0,0 +1,264 @@ +package com.iformall.domain.vo; + +import com.iformall.common.SortColumn; +import com.iformall.domain.po.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.persistence.Id; +import javax.persistence.Transient; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @author gongbiao + */ +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class WxRentPropertyContractVo extends BaseEntity { + @Id + protected Long id; + + @Transient + protected List ids; + @Transient + protected String sortColumns; + + @Override + public String getSortColumns() { + super.setSortColumns(this.sortColumns); + return super.getSortColumns(); + } + + @Transient + @SortColumn(column = "shopNumber") + private String shopNumber; + + @Transient + private String building; + + @Transient + private String floor; + + @Transient + private String brandName; + + @Transient + private String buildArea; + + @Transient + private String priceStr; + + @Transient + private String depositStr; + + @Transient + @SortColumn(column = "allPeriod") + private Integer allPeriod; + + @Transient + @SortColumn(column = "period") + private Integer period; + + @Transient + @SortColumn(column = "needPay") + private Integer needPay; + + @Transient + @SortColumn(column = "receivePay") + private Integer receivePay; + + @Transient + @SortColumn(column = "owe") + private Integer owe; + + @Transient + @SortColumn(column = "receiveDate") + private String receiveDate; + + @Transient + @SortColumn(column = "latePayPrice") + private Integer latePayPrice; + + @io.swagger.annotations.ApiModelProperty(value = "商户", name = "merchantId") + private Long merchantId; + @io.swagger.annotations.ApiModelProperty(value = "月租金/分成(分)", name = "price") + private Long price; + @io.swagger.annotations.ApiModelProperty(value = "计租开始时间", name = "rentalStartDate") + private Date rentalStartDate; + @io.swagger.annotations.ApiModelProperty(value = "计租结束时间", name = "rentalEndDate") + private Date rentalEndDate; + @io.swagger.annotations.ApiModelProperty(value = "签定合同时间", name = "signDate") + private Date signDate; + @io.swagger.annotations.ApiModelProperty(value = "付款周期", name = "receivePeriod") + private Integer receivePeriod; + @io.swagger.annotations.ApiModelProperty(value = "租户ID", name = "tenantId") + private String tenantId; + @io.swagger.annotations.ApiModelProperty(value = "合同文件路径", name = "filepath") + private String filepath; + @io.swagger.annotations.ApiModelProperty(value = "合同进度状态1待签约2已签约未记租3计租中4提前终止5合同到期", name = "status") + private Integer status; + @io.swagger.annotations.ApiModelProperty(value = "合同编号", name = "contractNumber") + private String contractNumber; + @io.swagger.annotations.ApiModelProperty(value = "押金", name = "deposit") + private Long deposit; + + @io.swagger.annotations.ApiModelProperty(value = "交租日 计租开始时间减去交租日的天数为基数 提前多少日交租", name = "payDate") + @SortColumn(column = "payDate") + private Integer payDate; + @io.swagger.annotations.ApiModelProperty(value = "是否删除1是0否", name = "isDel") + private Integer isDel; + @io.swagger.annotations.ApiModelProperty(value = "商户名称", name = "merchantName") + private String merchantName; + @io.swagger.annotations.ApiModelProperty(value = "经营品牌", name = "brand") + private Long brand; + @io.swagger.annotations.ApiModelProperty(value = "经常业态ID", name = "businessId") + private Integer businessId; + @io.swagger.annotations.ApiModelProperty(value = "店铺类型", name = "shopType") + private Integer shopType; + @io.swagger.annotations.ApiModelProperty(value = "商铺ID", name = "shopId") + private Long shopId; + @io.swagger.annotations.ApiModelProperty(value = "更新时间", name = "updatetime") + private Date updatetime; + + @io.swagger.annotations.ApiModelProperty(value = "创建时间", name = "createtime") + private Date createtime; + + @io.swagger.annotations.ApiModelProperty(value = "计租面积", name = "rentArea") + private String rentArea; + + @io.swagger.annotations.ApiModelProperty(value = "联系人", name = "linkPerson") + private String linkPerson; + + @io.swagger.annotations.ApiModelProperty(value = "联系电话", name = "linkPhone") + private String linkPhone; + + @io.swagger.annotations.ApiModelProperty(value = "付款账号", name = "payAccount") + private String payAccount; + + @io.swagger.annotations.ApiModelProperty(value = "上传文件名", name = "filename") + private String filename; + + @io.swagger.annotations.ApiModelProperty(value = "租期(月)", name = "lease") + private Integer lease; + + @io.swagger.annotations.ApiModelProperty(value = "类型", name = "type") + private Integer type; + + @io.swagger.annotations.ApiModelProperty(value = "调整比例", name = "adjustRatio") + private String adjustRatio; + + @io.swagger.annotations.ApiModelProperty(value = "计租周期 1日2月", name = "adjustPeriod") + private Integer adjustPeriod; + + @io.swagger.annotations.ApiModelProperty(value = "支付比例", name = "payRatio") + private Integer payRatio; + + @io.swagger.annotations.ApiModelProperty(value = "营业额", name = "revenue") + private Long revenue; + + @io.swagger.annotations.ApiModelProperty(value = "起租开始时间", name = "rentalStartDate") + private Date startDate; + + @io.swagger.annotations.ApiModelProperty(value = "起租结束时间", name = "rentalEndDate") + private Date endDate; + + @io.swagger.annotations.ApiModelProperty(value = "审核状态,0未审核 1审核中 2审核通过 3驳回", name = "applyStatus") + private Integer applyStatus; + + @io.swagger.annotations.ApiModelProperty(value = "开户行", name = "bankName") + private String bankName; + + @io.swagger.annotations.ApiModelProperty(value = "租赁商铺类型", name = "rentShopType") + private Integer rentShopType; + + @io.swagger.annotations.ApiModelProperty(value = "装修期开始时间", name = "fixStartDate") + private Date fixStartDate; + + @io.swagger.annotations.ApiModelProperty(value = "装修期结束时间", name = "fixEndDate") + private Date fixEndDate; + + @io.swagger.annotations.ApiModelProperty(value = "租金信息", name = "rentInfo") + private String rentInfo; + + @io.swagger.annotations.ApiModelProperty(value = "上传文件名", name = "fileNames") + private String fileNames; + + @io.swagger.annotations.ApiModelProperty(value = "租金单位1日2月3年", name = "priceUnit") + private Integer priceUnit; + + @io.swagger.annotations.ApiModelProperty(value = "多径租赁单价(其他放rentInfo)", name = "priceUnit") + private String rentPrice; + + @io.swagger.annotations.ApiModelProperty(value = "主体名称", name = "subjectName") + private String subjectName; + + @io.swagger.annotations.ApiModelProperty(value = "1按租赁日生产2按计租日生成账单", name = "rentStartType") + private Integer rentStartType; + + @io.swagger.annotations.ApiModelProperty(value = "租金录入方式1合铺录入2分铺录入", name = "rent_input_way") + private Integer rentInputWay; + + @io.swagger.annotations.ApiModelProperty(value = "年租金调整方式1按比例2按金额", name = "adjust_ratio_way") + private Integer adjustRatioWay; + + public static enum Field { + Id_ASC("`id` ASC"), Id_DESC("`id` DESC"), MerchantId_ASC("`merchant_id` ASC"), MerchantId_DESC("`merchant_id` DESC"), Price_ASC("`price` ASC"), Price_DESC("`price` DESC"), RentalStartDate_ASC("`rental_start_date` ASC"), RentalStartDate_DESC("`rental_start_date` DESC"), RentalEndDate_ASC("`rental_end_date` ASC"), RentalEndDate_DESC("`rental_end_date` DESC"), SignDate_ASC("`sign_date` ASC"), SignDate_DESC("`sign_date` DESC"), ReceivePeriod_ASC("`receive_period` ASC"), ReceivePeriod_DESC("`receive_period` DESC"), TenantId_ASC("`tenant_id` ASC"), TenantId_DESC("`tenant_id` DESC"), Filepath_ASC("`filepath` ASC"), Filepath_DESC("`filepath` DESC"), Status_ASC("`status` ASC"), Status_DESC("`status` DESC"), ContractNumber_ASC("`contract_number` ASC"), ContractNumber_DESC("`contract_number` DESC"), Deposit_ASC("`deposit` ASC"), Deposit_DESC("`deposit` DESC"), PayDate_ASC("`pay_date` ASC"), PayDate_DESC("`pay_date` DESC"), IsDel_ASC("`is_del` ASC"), IsDel_DESC("`is_del` DESC"), MerchantName_ASC("`merchant_name` ASC"), MerchantName_DESC("`merchant_name` DESC"), Brand_ASC("`brand` ASC"), Brand_DESC("`brand` DESC"), BusinessId_ASC("`business_id` ASC"), BusinessId_DESC("`business_id` DESC"), ShopType_ASC("`shop_type` ASC"), ShopType_DESC("`shop_type` DESC"), ShopId_ASC("`shop_id` ASC"), ShopId_DESC("`shop_id` DESC"), Updatetime_ASC("`updatetime` ASC"), Updatetime_DESC("`updatetime` DESC"), Createtime_ASC("`createtime` ASC"), Createtime_DESC("`createtime` DESC"); + private String value; + + Field(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public void setCol(String value) { + this.value = value; + } + + @Override + public String toString() { + return this.getValue(); + } + } + + public void setSortColumns(Field... fields) { + if (fields == null || fields.length == 0) { + return; + } + for (int k = 0; k < fields.length; k++) { + if (fields[k] == null) { + return; + } + } + StringBuilder sb = new StringBuilder(fields[0].toString()); + for (int k = 1; k < fields.length; k++) { + sb.append(","); + sb.append(fields[k].toString()); + } + this.sortColumns = sb.toString(); + } + + public void setSortColumns(String sortColumns) { + if (sortColumns == null || "".equals(sortColumns.trim())) { + return; + } + if (sortColumns.contains(",")) { + String[] cols = sortColumns.split(","); + List fList = new ArrayList(); + for (int k = 0; k < cols.length; k++) { + fList.add(Field.valueOf(cols[k])); + } + this.setSortColumns(fList.toArray(new Field[fList.size()])); + } else { + this.setSortColumns(Field.valueOf(sortColumns)); + } + } + +} +