赞
踩
随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,家庭记账本小程序被用户普遍使用,为方便用户能够可以随时进行家庭记账本小程序的数据信息管理,特开发了基于家庭记账本小程序的管理系统。
家庭记账本小程序的设计主要是对系统所要实现的功能进行详细考虑,确定所要实现的功能后进行界面的设计,在这中间还要考虑如何可以更好的将功能及页面进行很好的结合,方便用户可以很容易明了的找到自己所需要的信息,还有系统平台后期的可操作性,通过对信息内容的详细了解进行技术的开发。
家庭记账本小程序的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与家庭记账本小程序管理的实际需求相结合,讨论了基于家庭记账本小程序管理的使用。
关键词:家庭记账本小程序;JAVA
基于ssm家庭记账本系统的微信小程序源码和论文002
演示视频:
基于ssm家庭记账本系统的微信小程序源码和论文
With the rapid development of China's economy, people have more and more demands for mobile phones, and various mobile phone software are also widely used. However, for mobile phones, data information management is also popular with users. The small program of home bookkeeping is widely used by users, so that users can manage the data information of the small program at any time In this paper, the management system based on the small program of household bookkeeping is developed.
The design of the home bookkeeping small program is mainly to consider the functions to be realized in detail, and then design the interface after determining the functions to be realized. In this process, we should consider how to better combine the functions and pages, so that users can easily find the information they need, and the operability of the system platform later, and make it easy for users to find the information they need Through the detailed understanding of information content for technical development.
The development of the family bookkeeping small program uses the existing mature technical reference, takes the source code as the template, analyzes the function adjustment and the actual needs of the family bookkeeping small program management, discusses the use of the family bookkeeping small program management.
Key words: household bookkeeping widget; Java
-
- package com.controller;
-
- import java.io.File;
- import java.math.BigDecimal;
- import java.net.URL;
- import java.text.SimpleDateFormat;
- import com.alibaba.fastjson.JSONObject;
- import java.util.*;
- import org.springframework.beans.BeanUtils;
- import javax.servlet.http.HttpServletRequest;
- import org.springframework.web.context.ContextLoader;
- import javax.servlet.ServletContext;
- import com.service.TokenService;
- import com.utils.*;
- import java.lang.reflect.InvocationTargetException;
-
- import com.service.DictionaryService;
- import org.apache.commons.lang3.StringUtils;
- import com.annotation.IgnoreAuth;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.*;
- import com.baomidou.mybatisplus.mapper.EntityWrapper;
- import com.baomidou.mybatisplus.mapper.Wrapper;
- import com.entity.*;
- import com.entity.view.*;
- import com.service.*;
- import com.utils.PageUtils;
- import com.utils.R;
- import com.alibaba.fastjson.*;
-
- /**
- * 收入详情
- * 后端接口
- * @author
- * @email
- */
- @RestController
- @Controller
- @RequestMapping("/shouruxiangqing")
- public class ShouruxiangqingController {
- private static final Logger logger = LoggerFactory.getLogger(ShouruxiangqingController.class);
-
- @Autowired
- private ShouruxiangqingService shouruxiangqingService;
-
-
- @Autowired
- private TokenService tokenService;
- @Autowired
- private DictionaryService dictionaryService;
-
- //级联表service
- @Autowired
- private YonghuService yonghuService;
-
-
-
- /**
- * 后端列表
- */
- @RequestMapping("/page")
- public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
- logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
- String role = String.valueOf(request.getSession().getAttribute("role"));
- if(false)
- return R.error(511,"永不会进入");
- else if("用户".equals(role))
- params.put("yonghuId",request.getSession().getAttribute("userId"));
- if(params.get("orderBy")==null || params.get("orderBy")==""){
- params.put("orderBy","id");
- }
- PageUtils page = shouruxiangqingService.queryPage(params);
-
- //字典表数据转换
- List<ShouruxiangqingView> list =(List<ShouruxiangqingView>)page.getList();
- for(ShouruxiangqingView c:list){
- //修改对应字典表字段
- dictionaryService.dictionaryConvert(c, request);
- }
- return R.ok().put("data", page);
- }
-
- /**
- * 后端详情
- */
- @RequestMapping("/info/{id}")
- public R info(@PathVariable("id") Long id, HttpServletRequest request){
- logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
- ShouruxiangqingEntity shouruxiangqing = shouruxiangqingService.selectById(id);
- if(shouruxiangqing !=null){
- //entity转view
- ShouruxiangqingView view = new ShouruxiangqingView();
- BeanUtils.copyProperties( shouruxiangqing , view );//把实体数据重构到view中
-
- //级联表
- YonghuEntity yonghu = yonghuService.selectById(shouruxiangqing.getYonghuId());
- if(yonghu != null){
- BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
- view.setYonghuId(yonghu.getId());
- }
- //修改对应字典表字段
- dictionaryService.dictionaryConvert(view, request);
- return R.ok().put("data", view);
- }else {
- return R.error(511,"查不到数据");
- }
-
- }
-
- /**
- * 后端保存
- */
- @RequestMapping("/save")
- public R save(@RequestBody ShouruxiangqingEntity shouruxiangqing, HttpServletRequest request){
- logger.debug("save方法:,,Controller:{},,shouruxiangqing:{}",this.getClass().getName(),shouruxiangqing.toString());
-
- String role = String.valueOf(request.getSession().getAttribute("role"));
- if(false)
- return R.error(511,"永远不会进入");
- else if("用户".equals(role))
- shouruxiangqing.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
-
- Wrapper<ShouruxiangqingEntity> queryWrapper = new EntityWrapper<ShouruxiangqingEntity>()
- .eq("shouruxiangqing_name", shouruxiangqing.getShouruxiangqingName())
- .eq("shouruxiangqing_money", shouruxiangqing.getShouruxiangqingMoney())
- .eq("shouruxiangqing_types", shouruxiangqing.getShouruxiangqingTypes())
- .eq("yonghu_id", shouruxiangqing.getYonghuId())
- .eq("insert_time", new SimpleDateFormat("yyyy-MM-dd").format(new Date()))
- ;
-
- logger.info("sql语句:"+queryWrapper.getSqlSegment());
- ShouruxiangqingEntity shouruxiangqingEntity = shouruxiangqingService.selectOne(queryWrapper);
- if(shouruxiangqingEntity==null){
- shouruxiangqing.setInsertTime(new Date());
- shouruxiangqing.setCreateTime(new Date());
- shouruxiangqingService.insert(shouruxiangqing);
- return R.ok();
- }else {
- return R.error(511,"表中有相同数据");
- }
- }
-
- /**
- * 后端修改
- */
- @RequestMapping("/update")
- public R update(@RequestBody ShouruxiangqingEntity shouruxiangqing, HttpServletRequest request){
- logger.debug("update方法:,,Controller:{},,shouruxiangqing:{}",this.getClass().getName(),shouruxiangqing.toString());
-
- String role = String.valueOf(request.getSession().getAttribute("role"));
- // if(false)
- // return R.error(511,"永远不会进入");
- // else if("用户".equals(role))
- // shouruxiangqing.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
- //根据字段查询是否有相同数据
- Wrapper<ShouruxiangqingEntity> queryWrapper = new EntityWrapper<ShouruxiangqingEntity>()
- .notIn("id",shouruxiangqing.getId())
- .andNew()
- .eq("shouruxiangqing_name", shouruxiangqing.getShouruxiangqingName())
- .eq("shouruxiangqing_money", shouruxiangqing.getShouruxiangqingMoney())
- .eq("shouruxiangqing_types", shouruxiangqing.getShouruxiangqingTypes())
- .eq("yonghu_id", shouruxiangqing.getYonghuId())
- .eq("insert_time", new SimpleDateFormat("yyyy-MM-dd").format(shouruxiangqing.getInsertTime()))
- ;
-
- logger.info("sql语句:"+queryWrapper.getSqlSegment());
- ShouruxiangqingEntity shouruxiangqingEntity = shouruxiangqingService.selectOne(queryWrapper);
- if("".equals(shouruxiangqing.getShouruxiangqingPhoto()) || "null".equals(shouruxiangqing.getShouruxiangqingPhoto())){
- shouruxiangqing.setShouruxiangqingPhoto(null);
- }
- if(shouruxiangqingEntity==null){
- shouruxiangqingService.updateById(shouruxiangqing);//根据id更新
- return R.ok();
- }else {
- return R.error(511,"表中有相同数据");
- }
- }
-
-
-
- /**
- * 删除
- */
- @RequestMapping("/delete")
- public R delete(@RequestBody Integer[] ids){
- logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());
- shouruxiangqingService.deleteBatchIds(Arrays.asList(ids));
- return R.ok();
- }
-
-
- /**
- * 批量上传
- */
- @RequestMapping("/batchInsert")
- public R save( String fileName, HttpServletRequest request){
- logger.debug("batchInsert方法:,,Controller:{},,fileName:{}",this.getClass().getName(),fileName);
- Integer yonghuId = Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId")));
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- try {
- List<ShouruxiangqingEntity> shouruxiangqingList = new ArrayList<>();//上传的东西
- Map<String, List<String>> seachFields= new HashMap<>();//要查询的字段
- Date date = new Date();
- int lastIndexOf = fileName.lastIndexOf(".");
- if(lastIndexOf == -1){
- return R.error(511,"该文件没有后缀");
- }else{
- String suffix = fileName.substring(lastIndexOf);
- if(!".xls".equals(suffix)){
- return R.error(511,"只支持后缀为xls的excel文件");
- }else{
- URL resource = this.getClass().getClassLoader().getResource("../../upload/" + fileName);//获取文件路径
- File file = new File(resource.getFile());
- if(!file.exists()){
- return R.error(511,"找不到上传文件,请联系管理员");
- }else{
- List<List<String>> dataList = PoiUtil.poiImport(file.getPath());//读取xls文件
- dataList.remove(0);//删除第一行,因为第一行是提示
- for(List<String> data:dataList){
- //循环
- ShouruxiangqingEntity shouruxiangqingEntity = new ShouruxiangqingEntity();
- // shouruxiangqingEntity.setShouruxiangqingName(data.get(0)); //标题 要改的
- // shouruxiangqingEntity.setShouruxiangqingPhoto("");//详情和图片
- // shouruxiangqingEntity.setShouruxiangqingMoney(Integer.valueOf(data.get(0))); //收入金额 要改的
- // shouruxiangqingEntity.setShouruxiangqingTypes(Integer.valueOf(data.get(0))); //收入类型 要改的
- // shouruxiangqingEntity.setYonghuId(Integer.valueOf(data.get(0))); //用户 要改的
- // shouruxiangqingEntity.setShouruxiangqingContent("");//详情和图片
- // shouruxiangqingEntity.setInsertTime(date);//时间
- // shouruxiangqingEntity.setCreateTime(date);//时间
- shouruxiangqingList.add(shouruxiangqingEntity);
-
-
- //把要查询是否重复的字段放入map中
- }
-
- //查询是否重复
- shouruxiangqingService.insertBatch(shouruxiangqingList);
- return R.ok();
- }
- }
- }
- }catch (Exception e){
- e.printStackTrace();
- return R.error(511,"批量插入数据异常,请联系管理员");
- }
- }
-
-
-
-
-
- /**
- * 前端列表
- */
- @IgnoreAuth
- @RequestMapping("/list")
- public R list(@RequestParam Map<String, Object> params, HttpServletRequest request){
- logger.debug("list方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
-
- // 没有指定排序字段就默认id倒序
- if(StringUtil.isEmpty(String.valueOf(params.get("orderBy")))){
- params.put("orderBy","id");
- }
- PageUtils page = shouruxiangqingService.queryPage(params);
-
- //字典表数据转换
- List<ShouruxiangqingView> list =(List<ShouruxiangqingView>)page.getList();
- for(ShouruxiangqingView c:list)
- dictionaryService.dictionaryConvert(c, request); //修改对应字典表字段
- return R.ok().put("data", page);
- }
-
- /**
- * 前端详情
- */
- @RequestMapping("/detail/{id}")
- public R detail(@PathVariable("id") Long id, HttpServletRequest request){
- logger.debug("detail方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
- ShouruxiangqingEntity shouruxiangqing = shouruxiangqingService.selectById(id);
- if(shouruxiangqing !=null){
-
-
- //entity转view
- ShouruxiangqingView view = new ShouruxiangqingView();
- BeanUtils.copyProperties( shouruxiangqing , view );//把实体数据重构到view中
-
- //级联表
- YonghuEntity yonghu = yonghuService.selectById(shouruxiangqing.getYonghuId());
- if(yonghu != null){
- BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段
- view.setYonghuId(yonghu.getId());
- }
- //修改对应字典表字段
- dictionaryService.dictionaryConvert(view, request);
- return R.ok().put("data", view);
- }else {
- return R.error(511,"查不到数据");
- }
- }
-
-
- /**
- * 前端保存
- */
- @RequestMapping("/add")
- public R add(@RequestBody ShouruxiangqingEntity shouruxiangqing, HttpServletRequest request){
- logger.debug("add方法:,,Controller:{},,shouruxiangqing:{}",this.getClass().getName(),shouruxiangqing.toString());
- Wrapper<ShouruxiangqingEntity> queryWrapper = new EntityWrapper<ShouruxiangqingEntity>()
- .eq("shouruxiangqing_name", shouruxiangqing.getShouruxiangqingName())
- .eq("shouruxiangqing_money", shouruxiangqing.getShouruxiangqingMoney())
- .eq("shouruxiangqing_types", shouruxiangqing.getShouruxiangqingTypes())
- .eq("yonghu_id", shouruxiangqing.getYonghuId())
- ;
- logger.info("sql语句:"+queryWrapper.getSqlSegment());
- ShouruxiangqingEntity shouruxiangqingEntity = shouruxiangqingService.selectOne(queryWrapper);
- if(shouruxiangqingEntity==null){
- shouruxiangqing.setInsertTime(new Date());
- shouruxiangqing.setCreateTime(new Date());
- shouruxiangqingService.insert(shouruxiangqing);
- return R.ok();
- }else {
- return R.error(511,"表中有相同数据");
- }
- }
-
-
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。