发表于: 2018-03-20 21:22:12
1 491
今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin)
按照师兄的建议,抽取出了判断是否为空的通用方法.
package com.ptteng.polyFinance.lgd.utils;
/**
* @author: Arike
* @program: polyFinance-lgd
* @description: 常用工具类
* @create: 2018/3/20 14:35
*/
public class CommonUtil {
/**
* 用于判断字符参数是否为 "" or null.
*
* @param args 可变参数
* @return false为非空
*/
public static boolean isEmpty(Object... args) {
boolean a = false;
for (Object arg : args) {
if (arg instanceof String) {//判断是否是String的实例
if ("".equals(arg)) {//判断是否为空串
a = true;
}
} else {
if (arg == null) {//非String类型,只用判断是否为null
a = true;
}
}
}
return a;
}
}
后台新增管理员接口:
/**
*
* @param admin 需要创建的admin对象
* @param modelMap 回显数据
* @return json-taglib页面
*/
@RequestMapping(value = "/a/u/admin", method = RequestMethod.POST)
public String adminInsert(Admin admin, ModelMap modelMap) {
if (CommonUtil.isEmpty(admin.getLoginName(), admin.getPswd(), admin.getAdminRoleId())) {
modelMap.addAttribute("code", -200000);
} else {
try {
if (adminService.getObjectByLoginName(admin.getLoginName()) != null) {
modelMap.addAttribute("code", 4003);
} else {
admin.setUpdateAt(System.currentTimeMillis());
admin.setUpdateBy(007L);
admin.setCreateBy(007L);
admin.setCreateAt(System.currentTimeMillis());
String salt = SecureUtil.getSalt();
admin.setSalt(salt);
admin.setPswd(SecureUtil.messageDigest(admin.getPswd() + salt));
adminService.insert(admin);
modelMap.addAttribute("code", 0);
}
} catch (Throwable e) {
modelMap.addAttribute("code", -100000);
e.printStackTrace();
}
}
return "polyFinance-lgd-server/admin/json/adminInsert";
}
后台模糊查询产品列表:
/**
*
* @param name 产品名称
* @param interestAmountLine 起投金额
* @param productMark 产品代号
* @param interestDelayed 起息日期
* @param productStatus 产品状态
* @param interestRateStart 年化收益下限
* @param interestRateEnd 年化收益上限
* @param financialPeriodDayStart 期限下限(日)
* @param financialPeriodDayEnd 期限上限(日)
* @param financialPeriodMonthStart 期限下限(月)
* @param financialPeriodMonthEnd 期限上限(月)
* @param page 当前显示第几页
* @param size 每页显示数量
* @param modelMap 用于给前端返回数据.
* @return 返回json-taglib页面.
*/
@RequestMapping(value = "/a/u/productList", method = RequestMethod.GET)
public String getProductList(String name, BigDecimal interestAmountLine, String productMark, Integer interestDelayed, Integer productStatus, BigDecimal interestRateStart, BigDecimal interestRateEnd, Integer financialPeriodDayStart, Integer financialPeriodDayEnd, Integer financialPeriodMonthStart, Integer financialPeriodMonthEnd, Integer page, Integer size, ModelMap modelMap) {
if (page == null) {
page = 1;
}
if (size == null) {
size = 10;
}
int start = (page - 1) * size;
if (start < 0) {
start = 0;
}
log.info("pageList : page= " + start + " , size=" + size);
Map<String, Object> map = DynamicUtil.getProductListSqlMap(name, interestAmountLine, productMark, interestDelayed, productStatus, interestRateStart, interestRateEnd, financialPeriodDayStart, financialPeriodDayEnd, financialPeriodMonthStart, financialPeriodMonthEnd);
try {
List<Long> ids = productService.getIdsByDynamicCondition(Product.class, map, start, size);
List<Long> countIds = productService.getIdsByDynamicCondition(Product.class, map, 0, productService.countProductIds());
System.out.println(SQLUtil.convert2Sql(map, start, size));
List<Product> products = productService.getObjectsByIds(ids);
modelMap.addAttribute("productList", products);
modelMap.addAttribute("total", countIds.size());
modelMap.addAttribute("code", 0);
modelMap.addAttribute("size", size);
} catch (ServiceException | ServiceDaoException e) {
modelMap.addAttribute("code", -100000);
e.printStackTrace();
}
return "polyFinance-lgd-server/product/json/productListJson";
}
对应的sql拼接
/**
*
* @param name 产品名称
* @param interestAmountLine 起投金额
* @param productMark 产品代号
* @param interestDelayed 起息日期
* @param productStatus 产品状态
* @param interestRateStart 年化收益下限
* @param interestRatrateEnd 年化收益上限
* @param financialPeriodDayStart 期限下限(日)
* @param financialPeriodDayEnd 期限上限(日)
* @param financialPeriodMonthStart 期限下限(月)
* @param financialPeriodMonthEnd 期限上限(月)
* @return 返回用于拼接SQL的Map集合.
*/
public static Map<String, Object> getProductListSqlMap(String name, BigDecimal interestAmountLine, String productMark, Integer interestDelayed, Integer productStatus, BigDecimal interestRateStart, BigDecimal interestRatrateEnd, Integer financialPeriodDayStart, Integer financialPeriodDayEnd, Integer financialPeriodMonthStart, Integer financialPeriodMonthEnd) {
Map<String, Object> param = new HashMap<>();
if (!CommonUtil.isEmpty(name)) {
param.put("name & like", " '%" + name + "%'");
}
if (!CommonUtil.isEmpty(interestAmountLine)) {
param.put("interest_amount_line & >=", interestAmountLine);
}
if (!CommonUtil.isEmpty(productMark)) {
param.put("product_mark & =", " '" + productMark + "'");
}
if (!CommonUtil.isEmpty(interestDelayed)) {
param.put("interest_delayed & =", interestDelayed);
}
if (!CommonUtil.isEmpty(productStatus)) {
param.put("product_status & =", productStatus);
}
if (!CommonUtil.isEmpty(interestRateStart)) {
param.put("interest_rate & >=", interestRateStart);
}
if (!CommonUtil.isEmpty(interestRatrateEnd)) {
param.put("interest_rate & <=", interestRatrateEnd);
}
if (!CommonUtil.isEmpty(financialPeriodDayStart)) {
param.put("financial_period_day & >=", financialPeriodDayStart);
}
if (!CommonUtil.isEmpty(financialPeriodDayEnd)) {
param.put("financial_period_day & <=", financialPeriodDayEnd);
}
if (!CommonUtil.isEmpty(financialPeriodMonthStart)) {
param.put("financial_period_month & >=", financialPeriodMonthStart);
}
if (!CommonUtil.isEmpty(financialPeriodMonthEnd)) {
param.put("financial_period_month & <=", financialPeriodMonthEnd);
}
param.put("@table", "product");
param.put("@order", "create_at desc");
return param;
}
产品上下线接口:
/**
*
* @param id 需要更新上下架的产品id
* @param modelMap
* @return
*/
@RequestMapping(value = "/a/u/product/{id}",method = RequestMethod.PUT)
public String changeStatus(@PathVariable Long id, ModelMap modelMap){
try {
Product product = productService.getObjectById(id);
if(product.getProductStatus()==0){
product.setProductStatus(1);
} else {
product.setProductStatus(0);
}
productService.update(product);
modelMap.addAttribute("code", 0);
} catch (ServiceException | ServiceDaoException e) {
modelMap.addAttribute("code", -100000);
e.printStackTrace();
}
return "polyFinance-lgd-server/product/json/productChangeStatus";
}
明天计划的事情:(一定要写非常细致的内容)
前台-精选-前台产品列表-产品详情
前台-我的投资-投资详情
遇到的问题:(遇到什么困难,怎么解决的)
null
收获:(通过今天的学习,学到了什么知识)
公司框架增加SQL总是感觉很蛋疼.
评论